- OS::TripleO::Services::Etcd
# - OS::TripleO::Services::Gluon
- OS::TripleO::Services::Tacker
-# - OS::TripleO::Services::NeutronHoneycombAgent
+ - OS::TripleO::Services::NeutronHoneycombAgent
- OS::TripleO::Services::Congress
-# - OS::TripleO::Services::NeutronVppAgent
+ - OS::TripleO::Services::NeutronVppAgent
- OS::TripleO::Services::OVNDBs
-# - OS::TripleO::Services::Vpp
+ - OS::TripleO::Services::Vpp
ComputeServices:
+ - OS::TripleO::Services::Barometer
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephClient
- OS::TripleO::Services::CephOSD
# - OS::TripleO::Services::ONOSOvs
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
-# - OS::TripleO::Services::NeutronHoneycombAgent
-# - OS::TripleO::Services::NeutronVppAgent
-# - OS::TripleO::Services::Vpp
+ - OS::TripleO::Services::NeutronHoneycombAgent
+ - OS::TripleO::Services::NeutronVppAgent
+ - OS::TripleO::Services::Vpp
set -xe
source ./cache.sh
source ./variables.sh
+ source ./barometer-install.sh
populate_cache "$rdo_images_uri/overcloud-full.tar"
--upload ${BUILD_DIR}/apex-os-net-config.tar.gz:/usr/lib/python2.7/site-packages \
--run-command "cd /usr/lib/python2.7/site-packages/ && rm -rf os_net_config && tar xzf apex-os-net-config.tar.gz" \
--run-command "if ! rpm -qa | grep python-redis; then yum install -y python-redis; fi" \
+ --install epel-release \
--run-command "sed -i 's/^#UseDNS.*$/UseDNS no/' /etc/ssh/sshd_config" \
--run-command "sed -i 's/^GSSAPIAuthentication.*$/GSSAPIAuthentication no/' /etc/ssh/sshd_config" \
- --run-command "yum install -y etcd" \
- --install python-etcd \
- --run-command "puppet module install cristifalcas/etcd" \
--run-command "rm -f /etc/sysctl.d/80-vpp.conf" \
--install unzip \
--upload ${BUILD_DIR}/vsperf.tar.gz:/var/opt \
rm -rf puppet-fdio
git clone https://git.fd.io/puppet-fdio
pushd puppet-fdio > /dev/null
+#TODO: Remove this when we update to 17.07
+git revert a6e575c8f0af17e62990653bcf4a12c688c21aad --no-edit
git archive --format=tar.gz --prefix=fdio/ HEAD > ${BUILD_DIR}/puppet-fdio.tar.gz
popd > /dev/null
--upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/fdio \
$fdio_pkg_str \
--run-command "yum install -y /root/fdio/*.rpm" \
- --upload ${BUILD_DIR}/puppet-fdio.tar.gz:/etc/puppet/modules \
- --run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \
--run-command "curl -f https://copr.fedorainfracloud.org/coprs/leifmadsen/ovs-master/repo/epel-7/leifmadsen-ovs-master-epel-7.repo > /etc/yum.repos.d/leifmadsen-ovs-master-epel-7.repo" \
--run-command "mkdir /root/ovs27" \
--run-command "yumdownloader --destdir=/root/ovs27 openvswitch*2.7* python-openvswitch-2.7*" \
--upload ${CACHE_DIR}/$kvmfornfv_kernel_rpm:/root/ \
--install python2-networking-sfc \
+ --install python-etcd,puppet-etcd \
+ --install patch \
+ --upload ${BUILD_ROOT}/patches/puppet-neutron-ml2-ip-version-fix.patch:/usr/share/openstack-puppet/modules/neutron/ \
+ --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-ml2-ip-version-fix.patch" \
+ --upload ${BUILD_ROOT}/patches/puppet-neutron-vpp-ml2-type_drivers-setting.patch:/usr/share/openstack-puppet/modules/neutron/ \
+ --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-vpp-ml2-type_drivers-setting.patch" \
-a overcloud-full_build.qcow2
fi
+ # upload and install barometer packages
+ if [ "$(uname -i)" == 'x86_64' ]; then
+ barometer_pkgs overcloud-full_build.qcow2
+ fi
+
mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
popd > /dev/null
# Download ODL netvirt for VPP
populate_cache http://artifacts.opnfv.org/apex/danube/fdio_netvirt/opendaylight-7.0.0-0.1.20170531snap665.el7.noarch.rpm
+# Download ODL for fdio scenarios
+populate_cache http://artifacts.opnfv.org/apex/danube/fdio_odls/fdio_odl_carbon.tar.gz
+
# install ODL packages
# Patch in OPNFV custom puppet-tripleO
# install Honeycomb
--upload ${BUILD_DIR}/puppet-opendaylight-carbon.tar.gz:/root/ \
--upload ${BUILD_DIR}/puppet-gluon.tar.gz:/etc/puppet/modules/ \
--run-command "cd /etc/puppet/modules/ && tar xzf puppet-gluon.tar.gz" \
- --install epel-release \
--install python-click \
--upload ${CACHE_DIR}/$gluon_rpm:/root/\
--install /root/$gluon_rpm \
--install capnproto-libs,capnproto \
--upload ${BUILD_ROOT}/patches/neutron-patch-NSDriver.patch:/usr/lib/python2.7/site-packages/ \
--upload ${CACHE_DIR}/opendaylight-7.0.0-0.1.20170531snap665.el7.noarch.rpm:/root/ \
+ --upload ${CACHE_DIR}/fdio_odl_carbon.tar.gz:/root/ \
-a overcloud-full-opendaylight_build.qcow2
# Arch dependent on x86
# Download quagga/zrpc rpms
populate_cache http://artifacts.opnfv.org/apex/danube/quagga/quagga-3.tar.gz
# Download Honeycomb
-populate_cache https://nexus.fd.io/content/repositories/fd.io.stable.1704.centos7/io/fd/hc2vpp/honeycomb/1.17.04-2048.noarch/honeycomb-1.17.04-2048.noarch.rpm
+populate_cache $honeycomb_pkg
LIBGUESTFS_BACKEND=direct virt-customize \
- --upload ${CACHE_DIR}/honeycomb-1.17.04-2048.noarch.rpm:/root/fdio/ \
- --run-command "yum install -y /root/fdio/honeycomb-1.17.04-2048.noarch.rpm" \
+ --upload ${CACHE_DIR}/${honeycomb_pkg##*/}:/root/fdio/ \
+ --run-command "yum install -y /root/fdio/${honeycomb_pkg##*/}" \
--install zeromq-4.1.4 \
--upload ${CACHE_DIR}/quagga-3.tar.gz:/root/ \
--run-command "cd /root/ && tar xzf quagga-3.tar.gz" \
DEPLOY_OPTIONS+=" -e /home/stack/enable_rt_kvm.yaml"
fi
- # Make sure the correct overcloud image is available
+ # Enable Barometer service
+ if [ "${deploy_options_array['barometer']}" == 'True' ]; then
+ DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/enable_barometer.yaml"
+ fi
+
+ # Make sure the correct overcloud image is available
if [ ! -f $IMAGES/overcloud-full-${SDN_IMAGE}.qcow2 ]; then
echo "${red} $IMAGES/overcloud-full-${SDN_IMAGE}.qcow2 is required to execute your deployment."
echo "Please install the opnfv-apex package to provide this overcloud image for deployment.${reset}"
EOI
# Configure routing node and interface role mapping for odl-fdio
- if [[ "${deploy_options_array['sdn_l3']}" == 'True' ]]; then
+ if [[ "${deploy_options_array['sdn_controller']}" == 'opendaylight' && "${deploy_options_array['odl_vpp_routing_node']}" != 'dvr' ]]; then
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
sed -i "/opendaylight::vpp_routing_node:/c\ opendaylight::vpp_routing_node: ${deploy_options_array['odl_vpp_routing_node']}.${domain_name}" ${ENV_FILE}
- sed -i "/ControllerExtraConfig:/ c\ ControllerExtraConfig:\n tripleo::profile::base::neutron::agents::honeycomb::interface_role_mapping: \"['${tenant_nic_mapping_controller_members}:tenant-interface']\"" ${ENV_FILE}
- sed -i "/NovaComputeExtraConfig:/ c\ NovaComputeExtraConfig:\n tripleo::profile::base::neutron::agents::honeycomb::interface_role_mapping: \"['${tenant_nic_mapping_compute_members}:tenant-interface','${external_nic_mapping_compute_members}:public-interface']\"" ${ENV_FILE}
+ sed -i "/ControllerExtraConfig:/ c\ ControllerExtraConfig:\n tripleo::profile::base::neutron::agents::honeycomb::interface_role_mapping: ['${tenant_nic_mapping_controller_members}:tenant-interface']" ${ENV_FILE}
+ sed -i "/NovaComputeExtraConfig:/ c\ NovaComputeExtraConfig:\n tripleo::profile::base::neutron::agents::honeycomb::interface_role_mapping: ['${tenant_nic_mapping_compute_members}:tenant-interface','${external_nic_mapping_compute_members}:public-interface']" ${ENV_FILE}
EOI
fi
fi
fi
if [ "${arr[2]}" == "main-core" ]; then
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
- sed -i "/${role}ExtraConfig:/ c\ ${role}ExtraConfig:\n fdio::vpp_cpu_main_core: \"'${arr[3]}'\"" ${ENV_FILE}
+ sed -i "/${role}ExtraConfig:/ c\ ${role}ExtraConfig:\n fdio::vpp_cpu_main_core: '${arr[3]}'" ${ENV_FILE}
EOI
elif [ "${arr[2]}" == "corelist-workers" ]; then
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
- sed -i "/${role}ExtraConfig:/ c\ ${role}ExtraConfig:\n fdio::vpp_cpu_corelist_workers: \"'${arr[3]}'\"" ${ENV_FILE}
+ sed -i "/${role}ExtraConfig:/ c\ ${role}ExtraConfig:\n fdio::vpp_cpu_corelist_workers: '${arr[3]}'" ${ENV_FILE}
EOI
fi
fi
fi
fi
- # Override ODL if we enable netvirt for fdio
+ # Override ODL for fdio scenarios
if [[ "${deploy_options_array['odl_vpp_netvirt']}" == 'True' && "${deploy_options_array['sdn_controller']}" == 'opendaylight' ]]; then
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
LIBGUESTFS_BACKEND=direct virt-customize --run-command "yum -y remove opendaylight" \
--run-command "yum -y install /root/opendaylight-7.0.0-0.1.20170531snap665.el7.noarch.rpm" \
-a overcloud-full.qcow2
EOI
+# elif [[ "${deploy_options_array['sdn_controller']}" == 'opendaylight' && "${deploy_options_array['dataplane']}" == 'fdio' ]]; then
+# if [[ "${deploy_options_array['odl_vpp_routing_node']}" != 'dvr' ]]; then
+# ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
+# LIBGUESTFS_BACKEND=direct virt-customize --run-command "rm -rf /opt/opendaylight/*" \
+# --run-command "tar zxvf /root/fdio_odl_carbon.tar.gz -C /opt/opendaylight/ --strip-components=1" \
+# --run-command "chown odl:odl -R /opt/opendaylight" \
+# -a overcloud-full.qcow2
+#EOI
+# fi
fi
# check if ceph should be enabled