From 67566f2f8c700f8c4b78bfac557f70721a243834 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Wed, 2 Mar 2016 13:05:17 -0500 Subject: Adds OpenDaylight HA (OVSDB Clustering) OVSDB Clustering changes include: - Modifications to create an OpenDaylight VIP for communication between Neutron SB <-> ODL NB. - OpenDaylight configured in HA mode in THT via puppet-opendaylight - OVS instances configured with managers pointing to all 3 ODL instances for HA mode - Build now points to latest Beryllium release - Modified puppet-neutron in build to pull latest stable/liberty JIRA: APEX-107 Change-Id: Iab510db922dfcd2fbd4962b9751cd2f7e5724f44 Signed-off-by: Tim Rozet --- build/instack.sh | 51 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 18 deletions(-) (limited to 'build/instack.sh') diff --git a/build/instack.sh b/build/instack.sh index b03348db..2ba18b5a 100755 --- a/build/instack.sh +++ b/build/instack.sh @@ -12,14 +12,16 @@ declare -i CNT #rdo_images_uri=https://repos.fedorapeople.org/repos/openstack-m/rdo-images-centos-liberty-opnfv rdo_images_uri=file:///stable-images +rdo_images_cache=/stable-images onos_artifacts_uri=file:///stable-images/onos +odl_artifacts_cache=/stable-images/odl vm_index=4 RDO_RELEASE=liberty SSH_OPTIONS=(-o StrictHostKeyChecking=no -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null) OPNFV_NETWORK_TYPES="admin_network private_network public_network storage_network" -# check for dependancy packages +# check for dependency packages for i in rpm-build createrepo libguestfs-tools python-docutils bsdtar; do if ! rpm -q $i > /dev/null; then sudo yum install -y $i @@ -276,14 +278,14 @@ LIBGUESTFS_BACKEND=direct virt-customize \ cat > /tmp/opendaylight.repo << EOF [opendaylight] name=OpenDaylight \$releasever - \$basearch -baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-4-testing/\$basearch/os/ +baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-40-release/\$basearch/os/ enabled=1 gpgcheck=0 EOF -odlrpm=opendaylight-4.0.0-1.rc3.1.el7.noarch.rpm -if [ -f ${rdo_images_uri}/$odlrpm ]; then - LIBGUESTFS_BACKEND=direct virt-customize --upload ${rdo_images_uri}/$odlrpm:/tmp/ +odlrpm=opendaylight-4.0.0-1.el7.noarch.rpm +if [ -f ${rdo_images_cache}/$odlrpm ]; then + LIBGUESTFS_BACKEND=direct virt-customize --upload ${rdo_images_cache}/$odlrpm:/tmp/ opendaylight=/tmp/$odlrpm else opendaylight=opendaylight @@ -295,23 +297,35 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --install ${opendaylight},python-networking-odl \ -a overcloud-full-opendaylight.qcow2 +# install Jolokia for ODL HA +LIBGUESTFS_BACKEND=direct virt-customize \ + --upload ${odl_artifacts_cache}/jolokia.tar.gz:/tmp/ \ + --run-command "tar -xvf /tmp/jolokia.tar.gz -C /opt/opendaylight/system/org" \ + -a overcloud-full-opendaylight.qcow2 + ## WORK AROUND ## when OpenDaylight lands in upstream RDO manager this can be removed # upload the opendaylight puppet module rm -rf puppet-opendaylight -if [ -f ${rdo_images_uri}/puppet-opendaylight-3.2.2.tar.gz ]; then - cp ${rdo_images_uri}/puppet-opendaylight-3.2.2.tar.gz puppet-opendaylight.tar.gz -else - git clone -b opnfv_integration https://github.com/dfarrell07/puppet-opendaylight - pushd puppet-opendaylight - git archive --format=tar.gz --prefix=opendaylight/ HEAD > ../puppet-opendaylight.tar.gz - popd -fi +# TMP FIX to see if this works +git clone -b odl_ha_proxy_fix https://github.com/trozet/puppet-opendaylight +pushd puppet-opendaylight +git archive --format=tar.gz --prefix=opendaylight/ HEAD > ../puppet-opendaylight.tar.gz +popd + +# grab latest puppet-neutron module +rm -rf puppet-neutron +git clone -b stable/liberty https://github.com/openstack/puppet-neutron.git +pushd puppet-neutron +git archive --format=tar.gz --prefix=neutron/ HEAD > ../puppet-neutron.tar.gz +popd + LIBGUESTFS_BACKEND=direct virt-customize --upload puppet-opendaylight.tar.gz:/etc/puppet/modules/ \ --run-command "cd /etc/puppet/modules/ && tar xzf puppet-opendaylight.tar.gz" \ - --upload ../opendaylight-puppet-neutron.patch:/tmp \ - --run-command "cd /etc/puppet/modules/neutron && patch -Np1 < /tmp/opendaylight-puppet-neutron.patch" \ + --run-command "rm -rf /etc/puppet/modules/neutron" \ + --upload puppet-neutron.tar.gz:/etc/puppet/modules/ \ + --run-command "cd /etc/puppet/modules/ && tar xzf puppet-neutron.tar.gz" \ -a overcloud-full-opendaylight.qcow2 # Patch in OpenDaylight installation and configuration @@ -319,11 +333,12 @@ LIBGUESTFS_BACKEND=direct virt-customize --upload ../opnfv-tripleo-heat-template --run-command "cd /usr/share/openstack-tripleo-heat-templates/ && patch -Np1 < /tmp/opnfv-tripleo-heat-templates.patch" \ -a instack.qcow2 -# REMOVE ME AFTER Brahmaputra -LIBGUESTFS_BACKEND=direct virt-customize --upload ../puppet-neutron-force-metadata.patch:/tmp \ - --run-command "cd /etc/puppet/modules/neutron && patch -Np1 < /tmp/puppet-neutron-force-metadata.patch" \ +# Patch in OPNFV custom puppet-tripleO +LIBGUESTFS_BACKEND=direct virt-customize --upload ../opnfv-puppet-tripleo.patch:/tmp \ + --run-command "cd /etc/puppet/modules/tripleo && patch -Np1 < /tmp/opnfv-puppet-tripleo.patch" \ -a overcloud-full-opendaylight.qcow2 +# REMOVE ME AFTER Brahmaputra LIBGUESTFS_BACKEND=direct virt-customize --upload ../puppet-cinder-quota-fix.patch:/tmp \ --run-command "cd /etc/puppet/modules/cinder && patch -Np1 < /tmp/puppet-cinder-quota-fix.patch" \ -a overcloud-full-opendaylight.qcow2 -- cgit 1.2.3-korg