{ "info": { "author": "Kyle Pericak", "author_email": "kyle@breqwatr.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Natural Language :: English", "Programming Language :: Python :: 3" ], "description": "# Breqwatr Deployment Tool\n\nThe Breqwatr deployment tool is a toolkit for deploying Breqwatr OpenStack and\nits accompanying services. The Breqwatr Deployment Tool is accessed from the\ncommand line of an Ubuntu based OS using the command `bwdt`.\n\nBWDT requires Docker, and either a removable drive provided by Breqwatr for\noffline installs or a special key and ID for configuring the tool to pull files\nand images from the upstream servers.\n\n\n## Installation\n\n### From PyPi\n\n```bash\npip install breqwatr-deployment-tool\n```\n\n### From GitHub\n\n```bash\npip install git+https://github.com/breqwatr/breqwatr-deployment-tool.git\n```\n\n### From Offline Media\n\nThe offline media will contain a file named `bwdt.tar.gz`. Unpack it to a\ndirectory off of the removable media, then install with this command:\n\n```bash\npip install --no-index --find-links breqwatr-deployment-tool\n```\n\n---\n\n\n# Features\n\n## Help\n\n```bash\nbwdt --help\n```\n\n\n## Configuration\n\nBreqwatr deployment tool supports both offline and online installations.\n```bash\n# Online Example\nbwdt configure --key-id --key --online\n\n# Offline Example\nbwdt configure --offline --offline-path \n```\n\n\n## Docker Registry\n\n### Start Registry\nLaunch a local Docker registry container\n\n```bash\nbwdt registry start\n```\n\n### Sync Images to Registry\nSync an OpenStack image from Breqwatr's upstream online registry to a locally\nhosted registry.\n\n```bash\nbwdt registry sync-openstack-image \n```\n\nSync all the required images for an OpenStack deployment to a local registry.\n\n```bash\nbwdt registry sync-all-openstack-images \n```\n\n### List Images in Registry\nList the images in a local registry and their tags\n\n```bash\nbwdt registry list-images \n```\n\n\n## Ubuntu Apt\n\nBWDT can deploy an optional private Apt service. This allows servers to run the\n`apt-get` command to install software when they don't have an internet\nconnection.\n\nThe Breqwatr Apt container is not a complete mirror, but it does contain all\nthe required packages to deploy OpenStack along with some other useful ones.\n\nThe private Apt service also provides a mechanism to limit\nOpenStack servers to the Ubuntu packages which Breqwatr has tested, ensuring\nthe stability of Breqwatr clouds.\n\n### Start Apt Container\n\n```bash\nbwdt apt start\n```\n\n\n## Python Pip\n\nSimilar to the Apt container, BWDT can deploy a private Pip service.\n\n\n### Start Pip Container\n\n```bash\nbwdt pip start\n```\n\n\n## PXE\n\nBWDT can launch a PXE service based on DNSMasq and Nginx to enable fast,\noffline installation of Ubuntu 18.04 on remote servers.\n\n### Start PXE Container\n\n```bash\nbwdt pxe start --interface enp0s25 --dhcp-start 10.1.0.90 --dhcp-end 10.1.0.99\n```\n\n\n## Ansible\n\nThe Ansible service is used to deploy OpenStack and supporting tools.\n\n### Start Ansible Container\n\nThe `--kolla-dir` path helps to keep the files generated on the host.\n\n```bash\nmkdir -p /etc/kolla\nbwdt ansible start \\\n --ssh-key-path \\\n --cloud-yml-path \\\n --kolla-dir /etc/kolla\n```\n\n### Deploy Openstack\n\nThe Ansible container leverages some open source Ansible libraries which often\ntake a long time to run. For that reason, these bwdt commands print\n`docker exec` commands which need to be ran. Surrounding the commands with the\n`$()` will make them auto-execute.\n\n\n```bash\n# generate kolla config\n$(bwdt ansible openstack gen-config)\n\n# bootstrap the servers\n$(bwdt ansible openstack bootstrap)\n\n# Deploy openstacl\n$(bwdt ansible openstack deploy)\n\n# Post-deploy\n$(bwdt ansible openstack post-deploy)\n```\n\n\n\n### Arcus\n\nArcus is Breqwatr's custom web UI, API, and cloud management daemon. Among\nother uses, Arcus is a drop-in replacement of OpenStack Horizon.\n\n### Initialize the Datbase\n\n```bash\nbwdt arcus database-init --host --admin-user root --admin-pass --arcus-pass \n```\n\n### Create the Openstack service account\n\n```bash\nbwdt arcus create-service-account --cloud-fqdn --bootstrap-password --sa-password \n```\n\n### Start the Arcus API service\n\n```bash\nbwdt arcus api start \\\n --openstack-fqdn \\\n --sql-ip \\\n --sql-password \\\n --rabbit-ip --rabbit-ip --rabbit-ip \\\n --rabbit-pass \n```\n\n### Start the Arcus Client\n\n```bash\nbwdt arcus client start \\\n --openstack-ip \\\n --glance-https \\\n --api-ip \\\n --arcus-https \\\n --cert-path \n --cert-key-path \n\n```\n\n### Start the Arcus Mgr\n\nThe Arcus Mgr needs Kolla-Ansible's files to do some things like repairing\nMariadb when it goes down. Distribute those files to the control nodes first.\n\nAlso ensure the Arcus Manager has an SSH key which is authorized to each\nOpenStack server.\n\n```bash\n# From the Deployment Server\nbwdt ansible transfer-kolla-dir --server-ip \n\n# On the OpenStack control node\nbwdt arcus mgr start \\\n --kolla-dir \\\n --openstack-ip \\\n --rabbit-ip --rabbit-ip --rabbit-ip \\\n --rabbit-pass \\\n --sql-ip \\\n --sql-password \\\n --ssh-key-path \n```\n\n\n---\n\n# Docker Utilities\n\n## Build Offline Installation Media\n\nTo build your own offline install media on a USB stick for a dark-site cloud:\n\n```bash\nbwdt export-offline-media \n```\n\n## Download Cloud Config Template\n\nTo download a template cloud configuration for use with the Ansible container:\n\n```bash\nbwdt download cloud-yml \n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/breqwatr/breqwatr-deployment-tool/archive/1.03.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/breqwatr/breqwatr-deployment-tool", "keywords": "Breqwatr,Openstack,Kolla", "license": "", "maintainer": "", "maintainer_email": "", "name": "breqwatr-deployment-tool", "package_url": "https://pypi.org/project/breqwatr-deployment-tool/", "platform": "", "project_url": "https://pypi.org/project/breqwatr-deployment-tool/", "project_urls": { "Download": "https://github.com/breqwatr/breqwatr-deployment-tool/archive/1.03.tar.gz", "Homepage": "https://github.com/breqwatr/breqwatr-deployment-tool" }, "release_url": "https://pypi.org/project/breqwatr-deployment-tool/1.3/", "requires_dist": null, "requires_python": "", "summary": "Deploy and manage Breqwatr services", "version": "1.3", "yanked": false, "yanked_reason": null }, "last_serial": 6083164, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "c5f5325fb8735495cdc41b3e4640e1b4", "sha256": "914379ea9c95324b71d64776b945e307d5c71fb0ceac743fa92412ccd1426248" }, "downloads": -1, "filename": "breqwatr-deployment-tool-1.0.tar.gz", "has_sig": false, "md5_digest": "c5f5325fb8735495cdc41b3e4640e1b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14658, "upload_time": "2019-10-02T19:50:10", "upload_time_iso_8601": "2019-10-02T19:50:10.930782Z", "url": "https://files.pythonhosted.org/packages/c8/73/be044cf5b384895ca5ccd5621add5afb343b3cc36d3b58862baa937cbdef/breqwatr-deployment-tool-1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1": [ { "comment_text": "", "digests": { "md5": "1ed24c5220e0dad97af7cc516b8cdd7d", "sha256": "a88b1fc362c8ef743ede85e65c0ff86a26183d8a3e798e350449d0672c510d0d" }, "downloads": -1, "filename": "breqwatr-deployment-tool-1.1.tar.gz", "has_sig": false, "md5_digest": "1ed24c5220e0dad97af7cc516b8cdd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14646, "upload_time": "2019-10-02T20:21:38", "upload_time_iso_8601": "2019-10-02T20:21:38.699804Z", "url": "https://files.pythonhosted.org/packages/b1/d3/596c3a182729aaa5f80271f9d573d1c382f0b466a4d2e1aedab69eb63a6b/breqwatr-deployment-tool-1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2": [ { "comment_text": "", "digests": { "md5": "e34f14c6d5fa73f661d7edbb0a2d6780", "sha256": "63f8f2fec6bf204dd0e3146d9b248d6a0ca5b92b719bb95bb1701eaca9f3d894" }, "downloads": -1, "filename": "breqwatr-deployment-tool-1.2.tar.gz", "has_sig": false, "md5_digest": "e34f14c6d5fa73f661d7edbb0a2d6780", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16196, "upload_time": "2019-10-06T19:41:36", "upload_time_iso_8601": "2019-10-06T19:41:36.078045Z", "url": "https://files.pythonhosted.org/packages/f5/86/6e3fd3eee7095ef105254f4cafaee53b6bd68d4006fdd42b2b2474b6e980/breqwatr-deployment-tool-1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3": [ { "comment_text": "", "digests": { "md5": "cb114869be9a644157ca312c8ffd5b81", "sha256": "5223271276f8ae0d4558ff3baec10213f4a02112a668f68aa2625d37688b1e09" }, "downloads": -1, "filename": "breqwatr-deployment-tool-1.3.tar.gz", "has_sig": false, "md5_digest": "cb114869be9a644157ca312c8ffd5b81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17188, "upload_time": "2019-11-05T21:26:04", "upload_time_iso_8601": "2019-11-05T21:26:04.970857Z", "url": "https://files.pythonhosted.org/packages/ae/b8/e4edcf6a0df463c5937f20fa1043034cc252e9af3176a281a177c8735daf/breqwatr-deployment-tool-1.3.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cb114869be9a644157ca312c8ffd5b81", "sha256": "5223271276f8ae0d4558ff3baec10213f4a02112a668f68aa2625d37688b1e09" }, "downloads": -1, "filename": "breqwatr-deployment-tool-1.3.tar.gz", "has_sig": false, "md5_digest": "cb114869be9a644157ca312c8ffd5b81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17188, "upload_time": "2019-11-05T21:26:04", "upload_time_iso_8601": "2019-11-05T21:26:04.970857Z", "url": "https://files.pythonhosted.org/packages/ae/b8/e4edcf6a0df463c5937f20fa1043034cc252e9af3176a281a177c8735daf/breqwatr-deployment-tool-1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }