#!/bin/bash set -eux export INSTACK_ROOT=${INSTACK_ROOT:-$(pwd)} export ELEMENTS_PATH="$INSTACK_ROOT/tripleo-image-elements/elements:$INSTACK_ROOT/diskimage-builder/elements:$INSTACK_ROOT/instack-undercloud/elements" export JSONFILE=${JSONFILE:-$INSTACK_ROOT/instack-undercloud/json-files/fedora-20-undercloud-source.json} if [ "$DELOREAN" = "1" ]; then sudo curl -o /etc/yum.repos.d/delorean.repo $DELOREAN_REPO sudo curl -o /etc/yum.repos.d/delorean-alt.repo $DELOREAN_REPO_ALT sudo sed -i "s/delorean/delorean-alt/g" /etc/yum.repos.d/delorean-alt.repo export JSONFILE=$INSTACK_ROOT/instack-undercloud/json-files/fedora-20-undercloud-delorean.json fi sudo yum -y install git python-pip ccache source /etc/profile.d/ccache.sh mkdir -p $PIP_DOWNLOAD_CACHE git config --global user.email "instack@example.com" git config --global user.name "instack" if [ ! -d $INSTACK_ROOT/tripleo-image-elements/elements ]; then git clone https://git.openstack.org/openstack/tripleo-image-elements pushd tripleo-image-elements if [ "$LKG" = "1" ]; then git fetch origin $DIB_REPOREF_tripleo_image_elements git reset --hard FETCH_HEAD fi popd fi if [ ! -d $INSTACK_ROOT/diskimage-builder ]; then git clone https://git.openstack.org/openstack/diskimage-builder pushd diskimage-builder if [ "$LKG" = "1" ]; then git fetch origin $DIB_REPOREF_diskimage_builder git reset --hard FETCH_HEAD fi popd fi if [ ! -d "$INSTACK_ROOT/dib-utils" ]; then git clone https://git.openstack.org/openstack/dib-utils fi if [ ! -d $INSTACK_ROOT/instack-undercloud ]; then git clone https://github.com/agroup/instack-undercloud fi if [ ! -d $INSTACK_ROOT/instack ]; then git clone https://github.com/agroup/instack fi if [ ! -d $INSTACK_ROOT/os-cloud-config ]; then git clone https://git.openstack.org/openstack/os-cloud-config pushd os-cloud-config if [ "$LKG" = "1" ]; then git fetch origin $DIB_REPOREF_os_cloud_config git reset --hard FETCH_HEAD fi # Reset to before requirements.txt update from # https://review.openstack.org/#/c/106589/ # Not yet sure why this is failing to install. git reset --hard 4a03e6b129c91a7269b6103a1f85fd011ec92c91 popd fi if [ ! -d $INSTACK_ROOT/tripleo-incubator ]; then git clone https://git.openstack.org/openstack/tripleo-incubator pushd tripleo-incubator if [ "$LKG" = "1" ]; then git fetch origin $DIB_REPOREF_tripleo_incubator git reset --hard FETCH_HEAD fi ## create-nodes x86_64 support # # https://review.openstack.org/#/c/123803/ git fetch https://review.openstack.org/openstack/tripleo-incubator refs/changes/03/123803/2 && git cherry-pick FETCH_HEAD popd fi if [ ! -d $INSTACK_ROOT/tripleo-heat-templates ]; then git clone https://git.openstack.org/openstack/tripleo-heat-templates # Create an unpatched copy for non-Tuskar testing cp -r $INSTACK_ROOT/tripleo-heat-templates $INSTACK_ROOT/tripleo-heat-templates-instack pushd tripleo-heat-templates ## No merge.py for the overcloud # # https://review.openstack.org/#/c/123100 git fetch https://review.openstack.org/openstack/tripleo-heat-templates refs/changes/00/123100/2 && git cherry-pick FETCH_HEAD popd fi export DIB_REPOLOCATION_tripleo_heat_templates=$INSTACK_ROOT/tripleo-heat-templates if [ ! -d $INSTACK_ROOT/tuskar-ui ]; then git clone https://git.openstack.org/openstack/tuskar-ui export DIB_REPOLOCATION_tuskar_ui=$INSTACK_ROOT/tuskar-ui fi export DIB_REPOLOCATION_tuskar_ui=$INSTACK_ROOT/tuskar-ui pushd $INSTACK_ROOT/dib-utils sudo pip install -U . popd pushd $INSTACK_ROOT/diskimage-builder sudo pip install -U . popd pushd $INSTACK_ROOT/instack sudo pip install -e . popd # Needed to compile os-cloud-config sudo yum install -y libffi-devel gcc python-devel openssl-devel libxml2-devel libxslt-devel pushd $INSTACK_ROOT/os-cloud-config sudo pip install -e . popd # tar is required if we want to run diskimage-builder sudo yum install -y tar # needed for semanage sudo yum install -y policycoreutils-python # ensure latest policy sudo yum install -y selinux-policy if [ "$RUN_INSTACK" -eq 0 ]; then echo "Exiting without running instack." exit 0 fi $INSTACK_ROOT/instack-undercloud/scripts/instack-install-undercloud-packages if [ "$DELOREAN" -eq 1 ]; then sudo yum -y install \ https://athomas.fedorapeople.org/ironic/fedora20/openstack-ironic-api-2014.0923-2.noarch.rpm \ https://athomas.fedorapeople.org/ironic/fedora20/openstack-ironic-common-2014.0923-2.noarch.rpm \ https://athomas.fedorapeople.org/ironic/fedora20/openstack-ironic-conductor-2014.0923-2.noarch.rpm # No update for python-paramiko yet, so update it via pip. # https://bugzilla.redhat.com/show_bug.cgi?id=1139319 sudo pip install -U paramiko # We also need newer eventlet. This is already packaged upstream in Juno, # so no need to file a bug on this one. sudo pip install -U eventlet # This has been fixed in Delorean, just need to wait for a new Ironic build. sudo /bin/bash -c " cat > /etc/sudoers.d/ironic <