Install utility to deploy OpenStack on multiple hosts.
Go to file
Javier Pena 82b24fc11a Allow alternate locations for Cirros image
When creating the demo environment, the Cirros image was downloaded
from a hardcoded location. This can create issues in environments
placed behind a proxy or isolated.

This patch adds a new config option (CONFIG_PROVISION_DEMO_CIRROS_URL)
where a local file path or remote URL can be specified. Be aware that
it requires a fix to puppet-glance to work
(https://review.openstack.org/132813).

Change-Id: I2e6a3ba9822624d16c63f88c30d24d26d6d0c3e0
Fixes: bz#1147716
2014-11-07 15:10:02 +01:00
bin Improved versioning 2014-09-02 17:30:28 +02:00
docs Allow alternate locations for Cirros image 2014-11-07 15:10:02 +01:00
packstack Allow alternate locations for Cirros image 2014-11-07 15:10:02 +01:00
spec No longer removing shebang from .sh files 2012-12-06 19:01:51 -05:00
tests Rename process_args to config in processors.py 2014-09-29 17:43:30 +02:00
tools Creating a single unit and pep8 test 2013-01-12 23:06:40 +00:00
.gitignore Revert "Add Automation for generating the packstack man page" 2014-05-30 21:01:01 +02:00
.gitreview Add .gitreview file. 2013-01-11 22:27:22 +00:00
LICENSE Initial Subset of oVirt setup script 2012-08-02 16:50:19 +01:00
MANIFEST.in cleaning up tarball and spec file 2012-11-30 10:52:44 -05:00
README Instructions for development setup 2014-10-29 12:15:42 -04:00
requirements.txt Adds Hiera implementation within Packstack 2014-10-27 14:49:09 +01:00
run_tests.sh Fail when Nova API, Nova network and Swift hosts are not set as IP addresses 2013-02-08 15:39:40 +01:00
setup.py Adds Hiera implementation within Packstack 2014-10-27 14:49:09 +01:00
tox.ini Add docs environment to tox.ini 2014-09-08 13:51:37 -07:00

README

Utility to install OpenStack on Red Hat based operating system.
See other branches for older openstack versions. Details on how to
contribute to Packstack may be found in the Packstack wiki at
https://wiki.openstack.org/wiki/Packstack  Additional information about
involvement in the community around Packstack can be found at
https://openstack.redhat.com/Get_involved


This utility can be used to install openstack on a single or
group of hosts (over ssh)

This utility is still in the early stages, a lot of the configuration
options have yet to be added

Installation of packstack:
$ yum install -y git
$ git clone git://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

Option 1 (using answer file)
$ packstack --gen-answer-file=ans.txt

# then edit ans.txt as appropriate e.g.
o set CONFIG_SSH_KEY to a public ssh key to be installed to remote machines
o Edit the IP address to anywhere you want to install a piece of openstack on another server
o Edit the 3 network interfaces to whatever makes sense in your setup

you'll need to use a icehouse repository for example for RHEL
CONFIG_REPO=http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/


$ packstack --answer-file=ans.txt

Option 2 (prompts for configuration options)
$ packstack

that's it, if everything went well you can now start using openstack
$ cd
$ . keystonerc_admin
$ nova list
$ swift list  # if you have installed swift


Config options
CONFIG_NOVA_COMPUTE_HOSTS :
        a comma seperated list of ip addresses on which to install nova compute
CONFIG_SWIFT_STORAGE_HOSTS :
        a comma seperate list of swift storage devices
        1.1.1.1  : create a testing loopback device and use this for storage
        1.1.1.1/sdb : use /dev/sdb on 1.1.1.1 as a storage device

Logging

The location of the log files and generated puppet manifests are in the
/var/tmp/packstack directory under a directory named by the date in which
packstack was run and a random string (e.g. /var/tmp/packstack/20131022-204316-Bf3Ek2).
Inside, we find a manifest directory and the openstack-setup.log file; puppet
manifests and a log file for each one are found inside the manifest directory.

Debugging

To make packstack write more detailed information into the log file you can use the -d switch:

$ packstack -d --allinone

Developing

!!! Warning: this procedure installs openstack-puppet-modules containing code
!!! that has not been upstreamed and fully tested yet and as such will not be
!!! as robust as the other install procedures.  It is recommended to install
!!! from RPM instead.

To ease development of packstack and openstack-puppet-modules, it can be
useful to install from git such that updates to the git repositories are
immediately effective without reinstallation of packstack and
openstack-puppet-modules.

To do this, start with a minimal fedora20 installation.  Then remove any
relevant packages that might conflict:

# yum -y erase openstack-{packstack*,puppet-modules}

Disable selinux by changing "enforcing" to "permissive" in
/etc/sysconfig/selinux, then reboot to allow service changes to take effect
and swap over networking.  Then install packages:

# yum -y install git python-setuptools

And install RDO:

# yum -y install https://rdo.fedorapeople.org/rdo-release.rpm
# yum -y update

Now we get openstack-puppet-modules.  Because `python setup.py
install_puppet_modules` from packstack copies rather than linking, this is not
entirely straightforward:

# git clone https://github.com/redhat-openstack/openstack-puppet-modules
# cd openstack-puppet-modules
# git checkout master-patches
# mkdir /usr/share/openstack-puppet
# ln -sv /root/openstack-puppet-modules /usr/share/openstack-puppet/modules

Then we get packstack, and perform a similar dance:

# git clone https://github.com/stackforge/packstack
# cd packstack
# python setup.py develop
# cd /usr/share/openstack-puppet/modules
# ln -sv /root/packstack/packstack/puppet/modules/packstack
# ln -sv /root/packstack/packstack/puppet/modules/remote


And we're done.  Changes to the contents of packstack and
openstack-puppet-modules repositories are picked up by the packstack
executable without further intervention, and packstack is ready to install.