{"id":13572356,"url":"https://github.com/redhat-openstack/packstack","last_synced_at":"2025-12-17T02:16:40.937Z","repository":{"id":6332617,"uuid":"7568146","full_name":"redhat-openstack/packstack","owner":"redhat-openstack","description":"Install utility to deploy OpenStack on multiple hosts. This is the GitHub mirror for https://opendev.org/x/packstack.","archived":false,"fork":false,"pushed_at":"2025-04-01T12:23:09.000Z","size":5919,"stargazers_count":443,"open_issues_count":0,"forks_count":177,"subscribers_count":68,"default_branch":"master","last_synced_at":"2025-04-03T11:07:18.603Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.rdoproject.org/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redhat-openstack.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-01-11T22:25:09.000Z","updated_at":"2025-04-01T12:23:13.000Z","dependencies_parsed_at":"2023-01-13T13:56:42.103Z","dependency_job_id":"f2207967-514c-41c0-b1cf-bc136f462033","html_url":"https://github.com/redhat-openstack/packstack","commit_stats":{"total_commits":1645,"total_committers":145,"mean_commits":"11.344827586206897","dds":0.8486322188449849,"last_synced_commit":"bd1e892301bfbb392c870a314dcbbb404d5a1e99"},"previous_names":["openstack/packstack"],"tags_count":86,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-openstack%2Fpackstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-openstack%2Fpackstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-openstack%2Fpackstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-openstack%2Fpackstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redhat-openstack","download_url":"https://codeload.github.com/redhat-openstack/packstack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248388983,"owners_count":21095490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T14:01:20.961Z","updated_at":"2025-12-17T02:16:35.902Z","avatar_url":"https://github.com/redhat-openstack.png","language":"Python","readme":"Packstack\n=========\n\nUtility to install **OpenStack** on **Red Hat** based operating system.\nSee other branches for older **OpenStack** versions. Details on how to\ncontribute to **Packstack** may be found in the **Packstack** wiki at\nhttps://wiki.openstack.org/wiki/Packstack Additional information about\ninvolvement in the community around **Packstack** can be found at\nhttps://openstack.redhat.com/Get_involved\n\nThis utility can be used to install **OpenStack** on a single or group\nof hosts (over ``ssh``).\n\nThis utility is still in the early stages, a lot of the configuration\noptions have yet to be added.\n\nInstallation of packstack:\n--------------------------\n\n::\n\n   $ yum install -y git\n   $ git clone git://github.com/openstack/packstack.git\n   $ cd packstack \u0026\u0026 sudo python setup.py install\n\nInstallation of Puppet modules (REQUIRED if running packstack from source):\n---------------------------------------------------------------------------\n\n::\n\n   $ export GEM_HOME=/tmp/somedir\n   $ gem install r10k\n   $ sudo -E /tmp/somedir/bin/r10k puppetfile install -v\n   $ sudo cp -r packstack/puppet/modules/packstack /usr/share/openstack-puppet/modules\n\nOption 1 (all-in-one)\n~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n   $ packstack --allinone\n\nThis will install all **OpenStack** services on a single host without\nprompting for any configuration information. This will generate an\n“answers” file (``packstack-answers-\u003cdate\u003e-\u003ctime\u003e.txt``) containing all\nthe values used for the install.\n\nIf you need to re-run packstack, you must use the ``--answer-file``\noption in order for packstack to use the correct values for passwords\nand other authentication credentials:\n\n::\n\n   $ packstack --answer-file packstack-answers-\u003cdate\u003e-\u003ctime\u003e.txt\n\nOption 2 (using answer file)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n   $ packstack --gen-answer-file=ans.txt\n\nThen edit ``ans.txt`` as appropriate e.g.\n\n-  set ``CONFIG_SSH_KEY`` to a public ssh key to be installed to remote\n   machines\n-  Edit the IP address to anywhere you want to install a piece of\n   OpenStack on another server\n-  Edit the 3 network interfaces to whatever makes sense in your setup\n\n   $ packstack –answer-file=ans.txt\n\nOption 3 (prompts for configuration options)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n   $ packstack\n\nthat’s it, if everything went well you can now start using OpenStack\n\n::\n\n   $ cd\n   $ . keystonerc_admin\n   $ nova list\n   $ swift list  # if you have installed swift\n\nConfig options\n--------------\n\n-  ``CONFIG_NOVA_COMPUTE_HOSTS`` :\n\n   -  A comma separated list of ip addresses on which to install nova\n      compute\n\n-  ``CONFIG_SWIFT_STORAGE_HOSTS`` :\n\n   -  A comma separated list of swift storage devices\n\n      -  ``1.1.1.1``: create a testing loopback device and use this for\n         storage\n      -  ``1.1.1.1/sdb``: use ``/dev/sdb`` on ``1.1.1.1`` as a storage\n         device\n\nLogging\n-------\n\nThe location of the log files and generated puppet manifests are in the\n``/var/tmp/packstack`` directory under a directory named by the date in\nwhich **Packstack** was run and a random string\n(e.g. ``/var/tmp/packstack/20131022-204316-Bf3Ek2``). Inside, we find a\nmanifest directory and the ``openstack-setup.log`` file; puppet\nmanifests and a log file for each one are found inside the manifest\ndirectory.\n\nDebugging\n---------\n\nTo make **Packstack** write more detailed information into the log file\nyou can use the ``-d`` switch:\n\n::\n\n   $ packstack -d --allinone\n\nWhen upgrading to a new OpenStack release and reusing old answerfile it\nis useful to know if any **Packstack** option was removed. If answerfile\nis written by hand it is possible to make a mistake. The\n``--validate-answer-file`` switch allows checking if any provided option\nis not recognized by **Packstack**.\n\n::\n\n   $ packstack --validate-answer-file=ans.txt\n\nDeveloping\n----------\n\nTo ease development of **Packstack**, it can be useful to install from\n*git* such that updates to the git repositories are immediately\neffective without reinstallation.\n\nTo do this, start with a minimal **CentOS 7** installation. Then remove\nany relevant packages that might conflict:\n\n::\n\n   $ yum -y erase openstack-packstack*,puppet-*\n\nDisable **SELinux** by changing “``enforcing``” to “``permissive``” in\n``/etc/sysconfig/selinux``, then reboot to allow service changes to take\neffect and swap over networking. Then install packages:\n\n::\n\n   $ yum -y install git python-setuptools\n\nAnd install **RDO**:\n\n::\n\n   $ yum -y install https://www.rdoproject.org/repos/rdo-release.rpm\n   $ yum -y update\n\nInstall Puppet modules as described\n`above \u003cREADME.md#installation-of-puppet-modules-required-if-running-packstack-from-source\u003e`__.\n\nThen we get **Packstack**:\n\n::\n\n   $ yum install -y python-crypto python-devel libffi-devel openssl-devel gcc-c++\n   $ git clone https://github.com/openstack/packstack\n   $ cd packstack\n   $ python setup.py develop\n\nAnd we’re done. Changes to the contents of **Packstack** source\nrepository are picked up by the **Packstack** executable without further\nintervention, and **Packstack** is ready to install.\n\nPuppet Style Guide\n------------------\n\n**IMPORTANT** https://docs.puppetlabs.com/guides/style_guide.html\n\nPlease, respect the Puppet Style Guide as much as possible !\n\nRunning local Puppet-lint tests\n-------------------------------\n\nIt assumes that both ``bundler`` as well as ``rubygems`` (and ``ruby``)\nare already installed on the system. If not, run this command:\n\n::\n\n   $ sudo yum install rubygems rubygem-bundler ruby ruby-devel -y\n\nGo into the **Packstack** root directory.\n\n::\n\n   $ cd packstack/\n\nA ``Rakefile`` contains all you need to run puppet-lint task\nautomatically over all the puppet manifests included in the\n**Packstack** project.\n\n::\n\n   $ ls -l packstack/puppet/templates/\n\nand\n\n::\n\n   $ ls -l packstack/puppet/modules/\n\nThe default puppet-lint pattern for ``.pp`` files is ``**/*.pp``. So\nthere is no need to go inside those directories to run puppet-lint !\n\n::\n\n   $ mkdir vendor\n   $ export GEM_HOME=vendor\n   $ bundle install\n   $ bundle exec rake lint\n\nPackstack integration tests\n---------------------------\n\nPackstack is integration tested in the OpenStack gate and provides the\nmeans to reproduce these tests on your environment if you wish.\n\nScenario000 installs packstack allinone only and doesn’t run any tests.\nThis is the current matrix of available tests:\n\n============== =========== =========== =========== ===========\n-              scenario000 scenario001 scenario002 scenario003\n============== =========== =========== =========== ===========\nkeystone       FERNET      FERNET      FERNET      FERNET\nglance                     file        swift       file\nnova           X           X           X           X\nneutron        X           X           X           X\nneutron plugin ovn         ovn         ovs         ovn\nvpnaas                                            \ncinder         X           X                      \nceilometer     X                                   X\naodh           X                                   X\ngnocchi        X                                   X\nheat                                               X\nswift          X                       X          \ntrove                                  X          \nhorizon                    X                      \nmanila                     X                      \nSSL                        X                      \n============== =========== =========== =========== ===========\n\nTo run these tests:\n\n::\n\n   export SCENARIO=\"scenario001\"\n   ./run_tests.sh\n\nrun_tests.sh will take care of installing the required dependencies,\nconfigure packstack to run according to the above matrix and run the\ncomplete installation process. If the installation is successful,\ntempest will also run smoke tests.\n\nBy default, run_tests.sh will set up delorean (RDO Trunk) repositories.\nThere are two ways of overriding default repositories:\n\n::\n\n   export DELOREAN=\"http://someotherdomain.tld/delorean.repo\"\n   export DELOREAN_DEPS=\"http://someotherdomain.tld/delorean-deps.repo\"\n   ./run_tests.sh\n\nYou can also choose to disable repository management entirely:\n\n::\n\n   \u003csetup your own custom repositories here\u003e\n   export MANAGE_REPOS=\"false\"\n   ./run_tests.sh\n\nReporting Bugs\n--------------\n\nBugs for packstack are tracked in the \"packstack\" component of the [RDO Jira board](https://issues.redhat.com/issues/?jql=project+%3D+RDO+AND+component+%3D+packstack).\nIf you find issues, you can create an issue on that board and provide the relevant information to describe your problem.\n\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-openstack%2Fpackstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredhat-openstack%2Fpackstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-openstack%2Fpackstack/lists"}