Merge "Adds Barometer service"
authorTim Rozet <trozet@redhat.com>
Tue, 1 Aug 2017 20:13:54 +0000 (20:13 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Tue, 1 Aug 2017 20:13:54 +0000 (20:13 +0000)
1  2 
build/opnfv-environment.yaml
build/overcloud-full.sh
build/overcloud-opendaylight.sh
lib/overcloud-deploy-functions.sh

@@@ -122,12 -122,13 +122,13 @@@ parameter_defaults
      - 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
diff --combined build/overcloud-full.sh
@@@ -10,6 -10,7 +10,7 @@@
  set -xe
  source ./cache.sh
  source ./variables.sh
+ source ./barometer-install.sh
  
  populate_cache "$rdo_images_uri/overcloud-full.tar"
  
@@@ -53,8 -54,12 +54,9 @@@ LIBGUESTFS_BACKEND=direct virt-customiz
      --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 \
@@@ -90,8 -95,6 +92,8 @@@ don
  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
  
@@@ -131,19 -134,20 +133,24 @@@ LIBGUESTFS_BACKEND=direct virt-customiz
      --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
@@@ -49,9 -49,6 +49,9 @@@ popd > /dev/nul
  # 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
@@@ -65,7 -62,6 +65,6 @@@ LIBGUESTFS_BACKEND=direct virt-customiz
      --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 \
@@@ -73,7 -69,6 +72,7 @@@
      --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
@@@ -82,11 -77,11 +81,11 @@@ if [ "$(uname -i)" == 'x86_64' ]; the
  # 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" \
@@@ -94,7 -94,12 +94,12 @@@ function overcloud_deploy 
      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}"
@@@ -180,11 -185,11 +185,11 @@@ EO
  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
@@@ -278,22 -283,13 +283,22 @@@ EO
      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