summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile9
-rw-r--r--build/c7-opnfv-x86_64-comps.xml4
-rw-r--r--build/enable_rt_kvm.yaml4
-rw-r--r--build/kvm4nfv-1st-boot.yaml60
-rwxr-xr-xbuild/overcloud-full.sh5
-rwxr-xr-xbuild/overcloud-opendaylight.sh30
-rw-r--r--build/rpm_specs/opnfv-apex-common.spec15
-rwxr-xr-xbuild/undercloud.sh5
-rw-r--r--build/variables.sh5
-rw-r--r--ci/PR_revision.log4
-rw-r--r--config/deploy/deploy_settings.yaml4
-rw-r--r--config/deploy/os-nosdn-kvm-ha.yaml11
-rw-r--r--config/deploy/os-nosdn-kvm-noha.yaml11
-rw-r--r--config/network/network_settings.yaml10
-rw-r--r--contrib/simple_deploy.sh2
-rwxr-xr-xlib/overcloud-deploy-functions.sh30
-rw-r--r--lib/python/apex/deploy_settings.py3
-rw-r--r--lib/python/apex/network_settings.py2
-rw-r--r--tests/test_apex_network_settings.py9
19 files changed, 176 insertions, 47 deletions
diff --git a/build/Makefile b/build/Makefile
index dc63bd3e..0bedd9d6 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -60,14 +60,17 @@ clean:
clean-cache:
rm -rf $(CACHE_DIR)
+# ONOS integration did not get updated for Danube,
+# removing it from the default builds
+
.PHONY: images
-images: undercloud overcloud-full overcloud-opendaylight overcloud-onos
+images: undercloud overcloud-full overcloud-opendaylight # overcloud-onos
.PHONY: rpms
-rpms: common-rpm undercloud-rpm opendaylight-rpm onos-rpm
+rpms: common-rpm undercloud-rpm opendaylight-rpm # onos-rpm
.PHONY: rpms-check
-rpms-check: release-rpm-check common-rpm-check undercloud-rpm-check opendaylight-rpm-check onos-rpm-check
+rpms-check: release-rpm-check common-rpm-check undercloud-rpm-check opendaylight-rpm-check # onos-rpm-check
.PHONY: rpms-clean
rpms-clean:
diff --git a/build/c7-opnfv-x86_64-comps.xml b/build/c7-opnfv-x86_64-comps.xml
index 67a0e511..6387cfb4 100644
--- a/build/c7-opnfv-x86_64-comps.xml
+++ b/build/c7-opnfv-x86_64-comps.xml
@@ -7839,7 +7839,7 @@
<groupid>virtualization-hypervisor</groupid>
<groupid>virtualization-tools</groupid>
<groupid>apex-opendaylight</groupid>
- <groupid>apex-onos</groupid>
+ <!--groupid>apex-onos</groupid-->
</grouplist>
<optionlist>
<groupid>virtualization-platform</groupid>
@@ -7865,7 +7865,7 @@
<groupid>virtualization-hypervisor</groupid>
<groupid>virtualization-tools</groupid>
<groupid>apex-opendaylight</groupid>
- <groupid>apex-onos</groupid>
+ <!--groupid>apex-onos</groupid-->
</grouplist>
<optionlist>
<groupid>kde-desktop</groupid>
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/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh
index edca9e35..cbb2178e 100755
--- a/build/overcloud-opendaylight.sh
+++ b/build/overcloud-opendaylight.sh
@@ -8,6 +8,7 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
set -e
+source ./cache.sh
source ./variables.sh
pushd ${BUILD_DIR} > /dev/null
@@ -52,17 +53,18 @@ pushd puppet-opendaylight > /dev/null
git archive --format=tar.gz --prefix=opendaylight/ HEAD > ${BUILD_DIR}/puppet-opendaylight.tar.gz
popd > /dev/null
-# networking-BGPVPN
-rm -rf networking-bgpvpn
-mkdir networking-bgpvpn
-pushd networking-bgpvpn > /dev/null
-wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python2-networking-bgpvpn-5.0.1-dev6.noarch.rpm
-wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-heat-5.0.1-dev6.noarch.rpm
-wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-dashboard-5.0.1-dev6.noarch.rpm
-wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-doc-5.0.1-dev6.noarch.rpm
-wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-tests-5.0.1-dev6.noarch.rpm
+# cache networking-BGPVPN
+populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python2-networking-bgpvpn-5.0.1-dev6.noarch.rpm
+populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-heat-5.0.1-dev6.noarch.rpm
+populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-dashboard-5.0.1-dev6.noarch.rpm
+populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-doc-5.0.1-dev6.noarch.rpm
+populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-tests-5.0.1-dev6.noarch.rpm
+pushd ${CACHE_DIR}/ > /dev/null
+tar czf ${BUILD_DIR}/networking-bgpvpn.tar.gz *networking-bgpvpn*
popd > /dev/null
-tar czf networking-bgpvpn.tar.gz networking-bgpvpn/
+
+# cache gluon
+populate_cache http://artifacts.opnfv.org/netready/$gluon_rpm
#Gluon puppet module
rm -rf netready
@@ -77,7 +79,6 @@ tar --transform "s/^x86_64/quagga/" -czvf ${BUILD_DIR}/quagga.tar.gz x86_64/
popd > /dev/null
# install ODL packages
-# install Jolokia for ODL HA
# Patch in OPNFV custom puppet-tripleO
# install Honeycomb
# install quagga/zrpc
@@ -88,20 +89,19 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "yum install --downloadonly --downloaddir=/root/master/ opendaylight" \
--upload ${BUILD_DIR}/opendaylight.repo:/etc/yum.repos.d/opendaylight.repo \
--install opendaylight,python-networking-odl \
- --run-command "wget https://github.com/rhuss/jolokia/releases/download/v1.3.3/jolokia-1.3.3-bin.tar.gz -O /tmp/jolokia-1.3.3-bin.tar.gz" \
- --run-command "tar -xvf /tmp/jolokia-1.3.3-bin.tar.gz -C /opt/opendaylight/system/org" \
--install honeycomb \
--upload ${BUILD_DIR}/puppet-opendaylight.tar.gz:/etc/puppet/modules/ \
--run-command "cd /etc/puppet/modules/ && tar xzf puppet-opendaylight.tar.gz" \
--upload ${BUILD_DIR}/networking-bgpvpn.tar.gz:/root/ \
- --run-command "cd /root/ && tar xzf networking-bgpvpn.tar.gz && cd networking-bgpvpn/ && yum localinstall -y *.rpm && rm -rf /root/networking-bgpvpn*" \
+ --run-command "cd /root/ && tar xzf networking-bgpvpn.tar.gz && yum localinstall -y *networking-bgvpn*.rpm" \
--run-command "rm -f /etc/neutron/networking_bgpvpn.conf" \
--run-command "touch /etc/neutron/networking_bgpvpn.conf" \
--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 \
- --install http://artifacts.opnfv.org/netready/gluon-0.0.1-1_20170216.noarch.rpm \
+ --upload ${CACHE_DIR}/$gluon_rpm:/root/\
+ --install /root/$gluon_rpm \
--upload ${BUILD_DIR}/quagga.tar.gz:/root/ \
--run-command "cd /root/ && tar xzf quagga.tar.gz" \
--run-command "yum downgrade -y python-zmq-14.3.1" \
diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec
index ec0735fc..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
@@ -51,8 +53,8 @@ install config/deploy/os-odl_l2-fdio-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-ap
install config/deploy/os-odl_l2-fdio-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-noha.yaml
install config/deploy/os-odl_l3-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-ha.yaml
install config/deploy/os-odl-gluon-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-gluon-noha.yaml
-install config/deploy/os-onos-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml
-install config/deploy/os-onos-sfc-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml
+#install config/deploy/os-onos-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml
+#install config/deploy/os-onos-sfc-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml
install config/deploy/os-ocl-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-ocl-nofeature-ha.yaml
install config/network/network_settings.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/network_settings.yaml
install config/network/network_settings_v6.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/network_settings_v6.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
@@ -128,8 +132,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-ha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-ha.yaml
%{_sysconfdir}/opnfv-apex/os-odl-gluon-noha.yaml
-%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml
-%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml
+#%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml
+#%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml
%{_sysconfdir}/opnfv-apex/os-ocl-nofeature-ha.yaml
%{_sysconfdir}/opnfv-apex/network_settings.yaml
%{_sysconfdir}/opnfv-apex/network_settings_v6.yaml
@@ -145,6 +149,9 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%doc %{_docdir}/opnfv/inventory.yaml.example
%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 0fc3824b..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)}')
@@ -52,3 +55,5 @@ netvpp_repo="https://github.com/openstack/networking-vpp"
netvpp_branch="master"
netvpp_commit=$(git ls-remote ${netvpp_repo} ${netvpp_branch} | awk '{print substr($1,1,7)}')
netvpp_pkg=python-networking-vpp-0.0.1-1.git${NETVPP_COMMIT}$(rpm -E %dist).noarch.rpm
+
+gluon_rpm=gluon-0.0.1-1_20170216.noarch.rpm
diff --git a/ci/PR_revision.log b/ci/PR_revision.log
index 20c5e49e..6bb3f76c 100644
--- a/ci/PR_revision.log
+++ b/ci/PR_revision.log
@@ -9,3 +9,7 @@
109,Adding endpoint url definitions to congress
115,Increases mariadb open files limit for noha deployments
116,Adding notifier topic to ceilometer
+114,Use networking-odl v1 driver in bgpvpn
+119,Fixes missing ':' with setting hieradata for mariadb limit
+19,opnfv-puppet-tripleo, Only increases mariadb limit with noha deployments
+120,Add old openflow port (6633) and karaf ssh port (8101)
diff --git a/config/deploy/deploy_settings.yaml b/config/deploy/deploy_settings.yaml
index b3d3ac2b..73535795 100644
--- a/config/deploy/deploy_settings.yaml
+++ b/config/deploy/deploy_settings.yaml
@@ -41,6 +41,10 @@ deploy_options:
# 'ovs', 'ovs_dpdk' and 'fdio'.
dataplane : ovs
+ # Whether to run the kvm real time kernel (rt_kvm) in the compute node(s) to
+ # reduce the network latencies caused by network function virtualization
+ rt_kvm: false
+
# Whether to install and configure fdio functionality in the overcloud
# The dataplane should be specified as fdio if this is set to true
vpp: false
diff --git a/config/deploy/os-nosdn-kvm-ha.yaml b/config/deploy/os-nosdn-kvm-ha.yaml
new file mode 100644
index 00000000..cb68a313
--- /dev/null
+++ b/config/deploy/os-nosdn-kvm-ha.yaml
@@ -0,0 +1,11 @@
+global_params:
+ ha_enabled: true
+
+deploy_options:
+ sdn_controller: false
+ sdn_l3: false
+ tacker: true
+ congress: true
+ sfc: false
+ vpn: false
+ rt_kvm: true
diff --git a/config/deploy/os-nosdn-kvm-noha.yaml b/config/deploy/os-nosdn-kvm-noha.yaml
new file mode 100644
index 00000000..bf737d71
--- /dev/null
+++ b/config/deploy/os-nosdn-kvm-noha.yaml
@@ -0,0 +1,11 @@
+global_params:
+ ha_enabled: false
+
+deploy_options:
+ sdn_controller: false
+ sdn_l3: false
+ tacker: true
+ congress: true
+ sfc: false
+ vpn: false
+ rt_kvm: true
diff --git a/config/network/network_settings.yaml b/config/network/network_settings.yaml
index 1cba64bb..be0b6836 100644
--- a/config/network/network_settings.yaml
+++ b/config/network/network_settings.yaml
@@ -80,7 +80,7 @@ networks: # Network configurations
compute: # Mapping for compute profile (nodes that will be used as Compute nodes)
phys_type: interface # Physical interface type (interface or bond)
members: # Physical NIC members of this mapping (Single value allowed for interface phys_type)
- - nic1
+ - eth0
controller: # Mapping for controller profile (nodes that will be used as Controller nodes)
phys_type: interface
members:
@@ -99,7 +99,7 @@ networks: # Network configurations
phys_type: interface # Physical interface type (interface or bond)
vlan: native # VLAN tag to use with this NIC
members: # Physical NIC members of this mapping (Single value allowed for interface phys_type)
- - nic2 # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
+ - eth1 # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
controller: # Mapping for controller profile (nodes that will be used as Controller nodes)
phys_type: interface
vlan: native
@@ -130,7 +130,7 @@ networks: # Network configurations
phys_type: interface # Physical interface type (interface or bond)
vlan: native # VLAN tag to use with this NIC
members: # Physical NIC members of this mapping (Single value allowed for interface phys_type)
- - nic3
+ - eth2
controller: # Mapping for controller profile (nodes that will be used as Controller nodes)
phys_type: interface
vlan: native
@@ -163,7 +163,7 @@ networks: # Network configurations
phys_type: interface # Physical interface type (interface or bond)
vlan: 101 # VLAN tag to use with this NIC
members: # Physical NIC members of this mapping (Single value allowed for interface phys_type)
- - nic3 # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
+ - eth2 # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
controller: # Mapping for controller profile (nodes that will be used as Controller nodes)
phys_type: interface
vlan: 101
@@ -184,7 +184,7 @@ networks: # Network configurations
phys_type: interface # Physical interface type (interface or bond)
vlan: native # VLAN tag to use with this NIC
members: # Physical NIC members of this mapping (Single value allowed for interface phys_type)
- - nic4 # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
+ - eth3 # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
controller: # Mapping for controller profile (nodes that will be used as Controller nodes)
phys_type: interface
vlan: native
diff --git a/contrib/simple_deploy.sh b/contrib/simple_deploy.sh
index 6ad727d5..a9d1473a 100644
--- a/contrib/simple_deploy.sh
+++ b/contrib/simple_deploy.sh
@@ -3,7 +3,7 @@ set -e
apex_home=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../
export CONFIG=$apex_home/build
export LIB=$apex_home/lib
-export RESOURCES=$apex_home/.build/images/
+export RESOURCES=$apex_home/.build/
export PYTHONPATH=$PYTHONPATH:$apex_home/lib/python
$apex_home/ci/dev_dep_check.sh || true
$apex_home/ci/clean.sh
diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh
index 60aadd6c..d7e9b7e0 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -14,6 +14,11 @@ function overcloud_deploy {
local num_compute_nodes
local num_control_nodes
+ # OPNFV Default Environment and Network settings
+ DEPLOY_OPTIONS+=" -e ${ENV_FILE}"
+ DEPLOY_OPTIONS+=" -e network-environment.yaml"
+
+ # Custom Deploy Environment Templates
if [[ "${#deploy_options_array[@]}" -eq 0 || "${deploy_options_array['sdn_controller']}" == 'opendaylight' ]]; then
if [ "${deploy_options_array['sfc']}" == 'True' ]; then
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_sfc.yaml"
@@ -32,12 +37,14 @@ function overcloud_deploy {
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight-external.yaml"
SDN_IMAGE=opendaylight
elif [ "${deploy_options_array['sdn_controller']}" == 'onos' ]; then
- if [ "${deploy_options_array['sfc']}" == 'True' ]; then
- DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/onos_sfc.yaml"
- else
- DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/onos.yaml"
- fi
- SDN_IMAGE=onos
+ echo -e "${red}ERROR: ONOS is unsupported in Danube...exiting${reset}"
+ exit 1
+ #if [ "${deploy_options_array['sfc']}" == 'True' ]; then
+ # DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/onos_sfc.yaml"
+ #else
+ # DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/onos.yaml"
+ #fi
+ #SDN_IMAGE=onos
elif [ "${deploy_options_array['sdn_controller']}" == 'opencontrail' ]; then
echo -e "${red}ERROR: OpenContrail is currently unsupported...exiting${reset}"
exit 1
@@ -63,6 +70,11 @@ function overcloud_deploy {
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/enable_congress.yaml"
fi
+ # Enable Real Time Kernel (kvm4nfv)
+ if [ "${deploy_options_array['rt_kvm']}" == 'True' ]; then
+ DEPLOY_OPTIONS+=" -e /home/stack/enable_rt_kvm.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."
@@ -183,10 +195,6 @@ EOI
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml"
fi
- #DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml"
- DEPLOY_OPTIONS+=" -e network-environment.yaml"
-
-
# get number of nodes available in inventory
num_control_nodes=$(ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "grep -c profile:control /home/stack/instackenv.json")
num_compute_nodes=$(ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "grep -c profile:compute /home/stack/instackenv.json")
@@ -223,8 +231,6 @@ EOI
DEPLOY_OPTIONS+=" -e virtual-environment.yaml"
fi
- DEPLOY_OPTIONS+=" -e ${ENV_FILE}"
-
echo -e "${blue}INFO: Deploy options set:\n${DEPLOY_OPTIONS}${reset}"
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
diff --git a/lib/python/apex/deploy_settings.py b/lib/python/apex/deploy_settings.py
index 0d1939a4..566e8bea 100644
--- a/lib/python/apex/deploy_settings.py
+++ b/lib/python/apex/deploy_settings.py
@@ -23,7 +23,8 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller',
'vpn',
'vpp',
'ceph',
- 'gluon']
+ 'gluon',
+ 'rt_kvm']
OPT_DEPLOY_SETTINGS = ['performance',
'vsperf',
diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py
index b04f141a..79b0a9d1 100644
--- a/lib/python/apex/network_settings.py
+++ b/lib/python/apex/network_settings.py
@@ -99,13 +99,13 @@ class NetworkSettings(dict):
logging.info("{} enabled".format(network))
self._config_required_settings(network)
nicmap = _network['nic_mapping']
+ self._validate_overcloud_nic_order(network)
iface = nicmap[CONTROLLER]['members'][0]
self._config_ip_range(network=network,
interface=iface,
ip_range='overcloud_ip_range',
start_offset=21, end_offset=21)
self.enabled_network_list.append(network)
- self._validate_overcloud_nic_order(network)
# TODO self._config_optional_settings(network)
else:
logging.info("{} disabled, will collapse with "
diff --git a/tests/test_apex_network_settings.py b/tests/test_apex_network_settings.py
index 955c0cf7..8f994352 100644
--- a/tests/test_apex_network_settings.py
+++ b/tests/test_apex_network_settings.py
@@ -92,7 +92,10 @@ class TestNetworkSettings(object):
nic_index = 1
print(ns.nics)
for network in ns.enabled_network_list:
- nic = 'nic' + str(nic_index)
+ if role == 'compute':
+ nic = 'eth' + str(nic_index - 1)
+ else:
+ nic = 'nic' + str(nic_index)
assert_equal(ns.nics[role][network], nic)
nic_index += 1
@@ -104,10 +107,10 @@ class TestNetworkSettings(object):
ns = NetworkSettings(files_dir+'network_settings.yaml')
storage_net_nicmap = ns['networks'][STORAGE_NETWORK]['nic_mapping']
# set duplicate nic
- storage_net_nicmap['compute']['members'][0] = 'nic1'
+ storage_net_nicmap['controller']['members'][0] = 'nic1'
assert_raises(NetworkSettingsException, NetworkSettings, ns)
# remove nic members
- storage_net_nicmap['compute']['members'] = []
+ storage_net_nicmap['controller']['members'] = []
assert_raises(NetworkSettingsException, NetworkSettings, ns)
def test_missing_vlan(self):