diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/enable_rt_kvm.yaml | 4 | ||||
-rw-r--r-- | build/kvm4nfv-1st-boot.yaml | 60 | ||||
-rwxr-xr-x | build/overcloud-full.sh | 5 | ||||
-rw-r--r-- | build/rpm_specs/opnfv-apex-common.spec | 5 | ||||
-rwxr-xr-x | build/undercloud.sh | 5 | ||||
-rw-r--r-- | build/variables.sh | 3 |
6 files changed, 82 insertions, 0 deletions
diff --git a/build/enable_rt_kvm.yaml b/build/enable_rt_kvm.yaml new file mode 100644 index 00000000..0059021c --- /dev/null +++ b/build/enable_rt_kvm.yaml @@ -0,0 +1,4 @@ +parameter_defaults: + ComputeKernelArgs: 'kvmfornfv_kernel.rpm' +resource_registry: + OS::TripleO::NodeUserData: kvm4nfv-1st-boot.yaml diff --git a/build/kvm4nfv-1st-boot.yaml b/build/kvm4nfv-1st-boot.yaml new file mode 100644 index 00000000..0dad3e3b --- /dev/null +++ b/build/kvm4nfv-1st-boot.yaml @@ -0,0 +1,60 @@ +heat_template_version: 2014-10-16 + +description: > + This is the firstboot configuration for kvmfornfv kernel of the compute nodes + via cloud-init. To enable this, replace the default + mapping of OS::TripleO::NodeUserData in ../overcloud_resource_registry* + +parameters: + ComputeKernelArgs: + description: > + Name of the kvmfornfv kernel rpm. + Example: "kvmfornfv_kernel.rpm" + type: string + default: "" + ComputeHostnameFormat: + type: string + default: "" + +resources: + userdata: + type: OS::Heat::MultipartMime + properties: + parts: + - config: {get_resource: compute_kernel_args} + + # Verify the logs on /var/log/cloud-init.log on the overcloud node + compute_kernel_args: + type: OS::Heat::SoftwareConfig + properties: + config: + str_replace: + template: | + #!/bin/bash + set -x + FORMAT=$COMPUTE_HOSTNAME_FORMAT + if [[ -z $FORMAT ]] ; then + FORMAT="compute" ; + else + # Assumption: only %index% and %stackname% are the variables in Host name format + FORMAT=$(echo $FORMAT | sed 's/\%index\%//g' | sed 's/\%stackname\%//g') ; + fi + if [[ $(hostname) == *$FORMAT* ]] ; then + yum install -y /root/$KVMFORNFV_KERNEL_RPM + grub2-mkconfig -o /etc/grub2.cfg + sleep 5 + reboot + fi + params: + $KVMFORNFV_KERNEL_RPM: {get_param: ComputeKernelArgs} + $COMPUTE_HOSTNAME_FORMAT: {get_param: ComputeHostnameFormat} + +outputs: + # This means get_resource from the parent template will get the userdata, see: + # http://docs.openstack.org/developer/heat/template_guide/composition.html#making-your-template-resource-more-transparent + # Note this is new-for-kilo, an alternative is returning a value then using + # get_attr in the parent template instead. + OS::stack_id: + value: {get_resource: userdata} + + diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh index c4c31c8a..b94c0cb0 100755 --- a/build/overcloud-full.sh +++ b/build/overcloud-full.sh @@ -77,6 +77,9 @@ enabled=1 gpgcheck=0 EOF +# Get Real Time Kernel from kvm4nfv +populate_cache $kvmfornfv_uri_base/$kvmfornfv_kernel_rpm + # Increase disk size by 500MB to accommodate more packages qemu-img resize overcloud-full_build.qcow2 +500MB @@ -90,6 +93,7 @@ qemu-img resize overcloud-full_build.qcow2 +500MB # git clone vsperf into the overcloud image # upload the tacker puppet module and untar it # install tacker +# upload the rt_kvm kernel LIBGUESTFS_BACKEND=direct virt-customize \ --run-command "xfs_growfs /dev/sda" \ --upload ${BUILD_DIR}/opnfv-puppet-tripleo.tar.gz:/etc/puppet/modules \ @@ -136,6 +140,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron-patch-NSDriver.patch" \ --upload ${BUILD_ROOT}/patches/puppet-neutron-add-odl-settings.patch:/usr/share/openstack-puppet/modules/neutron/ \ --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-add-odl-settings.patch" \ + --upload ${CACHE_DIR}/$kvmfornfv_kernel_rpm:/root/ \ -a overcloud-full_build.qcow2 mv -f overcloud-full_build.qcow2 overcloud-full.qcow2 diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec index 40b25290..a004542b 100644 --- a/build/rpm_specs/opnfv-apex-common.spec +++ b/build/rpm_specs/opnfv-apex-common.spec @@ -43,6 +43,8 @@ install config/deploy/os-nosdn-ovs-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-ap install config/deploy/os-nosdn-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-nosdn-nofeature-ha.yaml install config/deploy/os-nosdn-performance-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-nosdn-performance-ha.yaml install config/deploy/os-nosdn-ovs-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-nosdn-ovs-ha.yaml +install config/deploy/os-nosdn-kvm-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-nosdn-kvm-ha.yaml +install config/deploy/os-nosdn-kvm-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-nosdn-kvm-noha.yaml install config/deploy/os-odl_l2-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-nofeature-ha.yaml install config/deploy/os-odl_l2-sfc-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-sfc-noha.yaml install config/deploy/os-odl-bgpvpn-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-bgpvpn-ha.yaml @@ -120,6 +122,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/ %{_sysconfdir}/opnfv-apex/os-nosdn-nofeature-ha.yaml %{_sysconfdir}/opnfv-apex/os-nosdn-performance-ha.yaml %{_sysconfdir}/opnfv-apex/os-nosdn-ovs-ha.yaml +%{_sysconfdir}/opnfv-apex/os-nosdn-kvm-ha.yaml +%{_sysconfdir}/opnfv-apex/os-nosdn-kvm-noha.yaml %{_sysconfdir}/opnfv-apex/os-odl_l2-nofeature-ha.yaml %{_sysconfdir}/opnfv-apex/os-odl_l2-sfc-noha.yaml %{_sysconfdir}/opnfv-apex/os-odl-bgpvpn-ha.yaml @@ -147,6 +151,7 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/ %changelog * Wed Mar 08 2017 Dan Radez <dradez@redhat.com> - 4.0-5 - Commenting out ONOS, unsupported in Danube +- Adding kvm4nfv files * Tue Feb 14 2017 Feng Pan <fpan@redhat.com> - 4.0-4 - Add network_settings_vpp.yaml * Fri Feb 3 2017 Nikolas Hermanns <nikolas.hermanns@ericsson.com> - 4.0-3 diff --git a/build/undercloud.sh b/build/undercloud.sh index 1101da87..4e1b963a 100755 --- a/build/undercloud.sh +++ b/build/undercloud.sh @@ -24,6 +24,9 @@ pushd opnfv-tht > /dev/null git archive --format=tar.gz --prefix=openstack-tripleo-heat-templates/ HEAD > ${BUILD_DIR}/opnfv-tht.tar.gz popd > /dev/null +# inject rt_kvm kernel rpm name into the enable file +sed -i "s/kvmfornfv_kernel.rpm/$kvmfornfv_kernel_rpm/" ${BUILD_ROOT}/enable_rt_kvm.yaml + # installing forked opnfv-tht # enabling ceph OSDs to live on the controller # OpenWSMan package update supports the AMT Ironic driver for the TealBox @@ -48,6 +51,8 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --run-command "cp /usr/share/instack-undercloud/undercloud.conf.sample /home/stack/undercloud.conf && chown stack:stack /home/stack/undercloud.conf" \ --upload ${BUILD_ROOT}/opnfv-environment.yaml:/home/stack/ \ --upload ${BUILD_ROOT}/first-boot.yaml:/home/stack/ \ + --upload ${BUILD_ROOT}/kvm4nfv-1st-boot.yaml:/home/stack/ \ + --upload ${BUILD_ROOT}/enable_rt_kvm.yaml:/home/stack/ \ --upload ${BUILD_ROOT}/csit-environment.yaml:/home/stack/ \ --upload ${BUILD_ROOT}/virtual-environment.yaml:/home/stack/ \ --install "python2-congressclient" \ diff --git a/build/variables.sh b/build/variables.sh index 93ae83df..4ba591c4 100644 --- a/build/variables.sh +++ b/build/variables.sh @@ -33,6 +33,9 @@ dpdk_rpms=( 'ovs4opnfv-e8acab14-openvswitch-2.5.90-0.12032.gitc61e93d6.1.el7.centos.x86_64.rpm' ) +kvmfornfv_uri_base="http://artifacts.opnfv.org/kvmfornfv" +kvmfornfv_kernel_rpm="kernel-4.4.6_rt14_1703030237nfv-1.x86_64.rpm" + tacker_repo="http://github.com/openstack/tacker" tacker_branch="stable/newton" tacker_commit=$(git ls-remote ${tacker_repo} ${tacker_branch} | awk '{print substr($1,1,7)}') |