RETIRED. A utility to run diskimage-builder elements in place on a running host
Go to file
2014-02-09 16:20:04 -05:00
elements/undercloud-install Move a lot of install steps into a new element 2014-02-09 16:07:00 -05:00
instack better handling of stdout 2014-02-04 10:31:47 -05:00
json-files Move a lot of install steps into a new element 2014-02-09 16:07:00 -05:00
scripts still need to install pip 2014-02-09 16:20:04 -05:00
.gitignore Add answers file support 2014-02-06 15:28:06 -05:00
instack.answers.sample add docs 2014-02-07 08:19:12 -05:00
LICENSE add license 2013-08-08 21:30:58 -04:00
README.md enable ssh and add quotes around 2014-02-09 11:48:42 -05:00
setup.py Rename to instack 2014-02-03 13:48:22 -05:00

instack

Execute diskimage-builder[1] elements on the current system. This enables a current running system to have an element applied in the same way that diskimage-builder applies the element to an image build.

[1] https://github.com/stackforge/diskimage-builder

Undercloud Install

  1. Clone this repository

     git clone https://github.com/slagle/instack
    
  2. Create and edit your answers file. The descriptions of the parameters that can be set are in the sample answers file.

     cd instack
     cp instack.answers.sample instack.answers
     # Return back to directory where instack was cloned
     cd ..
    
  3. Run script to install undercloud. The script will produce a lot of output on the sceen. It also logs to ~/.instack/install-undercloud.log. You should see install-undercloud Complete! at the end of a successful run.

     instack/scripts/install-undercloud
    
  4. The install script has to manipulate your $PATH (until we get everything packaged), so you'll need to start a new shell.

     bash
    
  5. Copy the stackrc file to your homedir so that you can use it a normal user.

     sudo cp /root/stackrc .
     sudo chown $USER: stackrc
     source stackrc
    
  6. Add your ssh key pair to nova

     user-config
    
  7. Download the deployment kernel and ramdisk

     curl -L -O http://fedorapeople.org/~slagle/slagle-tripleo-images-fedora-i2/deploy-ramdisk.initramfs
     curl -L -O http://fedorapeople.org/~slagle/slagle-tripleo-images-fedora-i2/deploy-ramdisk.kernel
    
  8. Download overcloud images

     curl -L -O http://fedorapeople.org/~slagle/slagle-tripleo-images-fedora-i2/overcloud-compute.qcow2
     curl -L -O http://fedorapeople.org/~slagle/slagle-tripleo-images-fedora-i2/overcloud-control.qcow2
    
  9. Load images into glance

     load-image overcloud-control.qcow2
     load-image overcloud-compute.qcow2
    
  10. Use the setup-baremetal script to add your baremetal nodes

     # setup-baremetal requires this to be set
     export TRIPLEO_ROOT=.
     # $CPU = cpu count per node
     # $MEM = memory per node in MB
     # $DISK = disk per node in GB
     # $ARCH = architecture of each node, i386 or amd64
     # $MACS = space separated list of node mac addresses
     # $PM_IPS = space separated list of power management IP addresses
     # $PM_USERS = space separated list of power management users
     # $PM_PASSWORDS = space separated list of power management passwords
     # $MACS and $PM_* variables should be in the same node order, e.g., the 
     #   first MAC address should correspond to the first power management
     #   IP, etc.
     setup-baremetal $CPU $MEM $DISK $ARCH "$MACS" undercloud $PM_IPS $PM_USERS $PM_PASSWORDS
    
  11. Create your overcloud heat template. You can adjust COMPUTESCALE to launch more than one compute node if you choose to.

     sudo make -C /opt/stack/tripleo-heat-templates overcloud.yaml COMPUTESCALE=1
    
  12. Create and source the overcloud passwords

     setup-overcloud-passwords
     source tripleo-overcloud-passwords
    
  13. Deploy the overcloud

     # Define the interface that will be bridged onto the Neutron defined
     # network.
     NeutronPublicInterface=eth0
     # Define the overcloud libvirt type for virtualization. kvm for
     # baremetal, qemu for an overcloud running in vm's.
     OVERCLOUD_LIBVIRT_TYPE=kvm
    
     heat stack-create -f /opt/stack/tripleo-heat-templates/overcloud.yaml \
         -P AdminToken=${OVERCLOUD_ADMIN_TOKEN} \
         -P AdminPassword=${OVERCLOUD_ADMIN_PASSWORD} \
         -P CinderPassword=${OVERCLOUD_CINDER_PASSWORD} \
         -P GlancePassword=${OVERCLOUD_GLANCE_PASSWORD} \
         -P HeatPassword=${OVERCLOUD_HEAT_PASSWORD} \
         -P NeutronPassword=${OVERCLOUD_NEUTRON_PASSWORD} \
         -P NovaPassword=${OVERCLOUD_NOVA_PASSWORD} \
         -P NeutronPublicInterface=$NeutronPublicInterface \
         -P SwiftPassword=${OVERCLOUD_SWIFT_PASSWORD} \
         -P SwiftHashSuffix=${OVERCLOUD_SWIFT_HASH} \
         -P NovaComputeLibvirtType=$OVERCLOUD_LIBVIRT_TYPE \
         overcloud