- 1 Packstack
- 1.1 Summary
- 1.2 Example Usage
- 1.3 Development : Getting started
- 1.4 Links
- 1.5 IRC
- 1.6 Packstack Development
/!\ This page is far from complete, help by adding information.
Packstack is a utility that uses Puppet modules to deploy various parts of OpenStack on multiple pre-installed servers over
SSH automatically. Currently only
Red Hat Enterprise Linux (RHEL) and compatible derivatives of both are supported.
All in One
$ packstack --allinone
$ packstack --install-hosts=<local ipaddr> \ --novanetwork-pubif=<dev> \ --novacompute-privif=lo \ --novanetwork-privif=lo \ --os-swift-install=y \ --nagios-install=y
This option can be used to install an all in one OpenStack on this host.
Controller / multiple compute nodes
Swift Proxy / multiple storage devices
Development : Getting started
Installation of Packstack
$ yum install git python-yaml -y $ git clone https://github.com/stackforge/packstack.git $ cd packstack && sudo python setup.py install
Installation of openstack-puppet-modules (Required if running packstack from source)
$ sudo python setup.py install_puppet_modules
Using an answer file
$ packstack --gen-answer-file=answers.txt
answers.txt as appropriate e.g.
CONFIG_SSH_KEYto a public ssh key to be installed to remote machines
- Edit the IP address to anywhere you want to install a piece of opentack on another server
- Edit the 3 network interfaces to whatever makes sense in your setup
- Primary Git Repository
- Open reviews in Gerrit
- Bug Reporting Tool - use only to report bugs found in packages provided in Fedora or EPEL
- Launchpad (core developers)
- Packstack Overview (30 slides, >=~10 minutes, 2013-04-24, CC0)
Developers meet in #packstack-dev on Freenode for discussion.
Making your first contribution
The process you need to follow in order to contribute to packstack is the same as the openstack core projects, documented here http://wiki.openstack.org/HowToContribute the steps to follow look something like this
→ Sign the CLA
→ Get the code
$ git clone https://github.com/stackforge/packstack.git $ cd packstack
→ Make a topic branch:
$ git checkout -b my_topic
→ Make your change
$ hack, hack, hack !! ;-)
→ Commit your change
$ git commit -a
→ Submit your change for review
$ git review
→ Wait for people on gerrit https://review.openstack.org/#/q/status:open+project:stackforge/packstack,n,z to review your change, if it needs to be altered simply amend your commit and submit it for review again
$ git add -p $ git commit --amend $ git review
There is a branch for each openstack major release, this branch starts off is life as master, once development of the next release starts, it will be renamed and then master will be the branch for the next openstack release e.g.
once we start
juno development, master will branch off a
juno branch. Then
juno→ should only accept bug fixes and exceptional approved new features, these should be merged into master first if appropriate
master→ new features for juno and bugs
Note : (be careful to send your changes to the correct branch and also that your basing any commits on a parent from the correct branch)
- To send review request for the master branch
$ git review
- To send review request for the stable branch
$ git review juno
Bugs are tracked in Launchpad (New bug)
All commits should be reviewed and approved by at least one core packstack member (ideally 2 for any commit more then a trivial change) and author of a commit shouldn't approve their own code.
New features go into the master branch. There may be new features committed to a stable branch but these should be the exception and not the norm.
Open review requests https://review.openstack.org/#/q/status:open+project:stackforge/packstack,n,z
You do not need to be a core member to packstack in order to contribute code. Members of packstack-core can approve commits in gerrit to be merged into the code, new members to packstack-core should be actively (and reliably) reviewing commits in gerrit before being considered. New members will be invited to join. Core members can be found here