summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/network-environment.yaml2
-rw-r--r--build/nics-template.yaml.jinja22
-rwxr-xr-xbuild/overcloud-full.sh31
-rw-r--r--ci/PR_revision.log2
-rwxr-xr-xci/run_smoke_tests.sh5
-rw-r--r--config/deploy/os-nosdn-performance-ha.yaml1
-rw-r--r--docs/release-notes/release-notes.rst3
-rwxr-xr-xlib/post-install-functions.sh12
-rw-r--r--lib/python/apex/deploy_env.py2
-rw-r--r--lib/python/apex/network_environment.py1
-rw-r--r--lib/utility-functions.sh13
-rwxr-xr-xtests/smoke_tests/execute_smoke_tests.sh6
-rw-r--r--tests/smoke_tests/execute_tests.yml9
-rw-r--r--tests/smoke_tests/prepare_undercloud.yml16
-rw-r--r--tests/smoke_tests/smoke_tests.yml3
15 files changed, 100 insertions, 8 deletions
diff --git a/build/network-environment.yaml b/build/network-environment.yaml
index baf8b187..f1503feb 100644
--- a/build/network-environment.yaml
+++ b/build/network-environment.yaml
@@ -41,7 +41,7 @@ resource_registry:
parameter_defaults:
- #NeutronExternalNetworkBridge: "''"
+ NeutronExternalNetworkBridge: 'br-ex'
ControlPlaneSubnetCidr: "24"
ControlPlaneDefaultRoute: 192.0.2.1
ExternalNetCidr: 192.168.37.0/24
diff --git a/build/nics-template.yaml.jinja2 b/build/nics-template.yaml.jinja2
index 53290e4f..0680a26f 100644
--- a/build/nics-template.yaml.jinja2
+++ b/build/nics-template.yaml.jinja2
@@ -85,7 +85,7 @@ resources:
os_net_config:
network_config:
-
- {%- if vlans['private_network'] is number or vlans['storage_network'] is number or vlans['api_network'] is number %}
+ {%- if vlans['private_network'] is number or vlans['storage_network'] is number or vlans['api_network'] is number or vlans['public_network'] is number %}
type: ovs_bridge
name: {get_input: bridge_name}
members:
diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh
index 01f40269..675343db 100755
--- a/build/overcloud-full.sh
+++ b/build/overcloud-full.sh
@@ -58,6 +58,27 @@ pushd puppet-congress > /dev/null
git archive --format=tar.gz --prefix=congress/ origin/stable/mitaka > ../puppet-congress.tar.gz
popd > /dev/null
+# create fd.io yum repo file
+cat > /tmp/fdio-master.repo << EOF
+[fdio-master]
+name=fd.io master branch latest merge
+baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/
+enabled=1
+gpgcheck=0
+EOF
+
+# tar up the fd.io module
+rm -rf puppet-fdio
+git clone https://github.com/radez/puppet-fdio
+pushd puppet-fdio > /dev/null
+git archive --format=tar.gz --prefix=fdio/ HEAD > ../puppet-fdio.tar.gz
+popd > /dev/null
+
+# tar up vsperf
+rm -rf vsperf vsperf.tar.gz
+git clone https://gerrit.opnfv.org/gerrit/vswitchperf vsperf
+tar czf vsperf.tar.gz vsperf
+
# installing forked opnfv-puppet-tripleo
# enable connection tracking for protocal sctp
# upload dpdk rpms but do not install
@@ -65,8 +86,12 @@ popd > /dev/null
# install the congress rpms
# upload and explode the congress puppet module
# install doctor driver ## Can be removed in Newton
+# install fd.io yum repo and packages
+# upload puppet fdio
+# git clone vsperf into the overcloud image
LIBGUESTFS_BACKEND=direct virt-customize \
--upload ../opnfv-puppet-tripleo.tar.gz:/etc/puppet/modules \
+ --run-command "if ! rpm -qa | grep python-redis; then yum install -y python-redis; fi" \
--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 "cd /etc/puppet/modules && rm -rf tripleo && tar xzf opnfv-puppet-tripleo.tar.gz" \
@@ -84,6 +109,12 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "cd /etc/puppet/modules/ && tar xzf puppet-congress.tar.gz" \
--run-command "cd /usr/lib/python2.7/site-packages/congress/datasources && curl -O $doctor_driver" \
--run-command "sed -i \"s/'--detailed-exitcodes',/'--detailed-exitcodes','-l','syslog','-l','console',/g\" /var/lib/heat-config/hooks/puppet" \
+ --upload /tmp/fdio-master.repo:/etc/yum.repos.d/fdio-master.repo \
+ --install unzip,vpp,honeycomb \
+ --upload puppet-fdio.tar.gz:/etc/puppet/modules \
+ --run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \
+ --upload vsperf.tar.gz:/var/opt \
+ --run-command "cd /var/opt && tar xzf vsperf.tar.gz" \
-a overcloud-full_build.qcow2
mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
diff --git a/ci/PR_revision.log b/ci/PR_revision.log
index de62cb6b..73542c8c 100644
--- a/ci/PR_revision.log
+++ b/ci/PR_revision.log
@@ -12,3 +12,5 @@
33,Removes QOS service plugin from Neutron
35,Use nic1 as control plane inteface name instead of default br-ex
38,Fixes nova default floating pool to be 'external'
+39,removing extra whitespace from congress parameter
+40,Move mongo to step 1
diff --git a/ci/run_smoke_tests.sh b/ci/run_smoke_tests.sh
new file mode 100755
index 00000000..b0599527
--- /dev/null
+++ b/ci/run_smoke_tests.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+source ../lib/utility-functions.sh
+
+ansible-playbook -i "$(get_undercloud_ip)," ../tests/smoke_tests/smoke_tests.yml
diff --git a/config/deploy/os-nosdn-performance-ha.yaml b/config/deploy/os-nosdn-performance-ha.yaml
index f7312ad6..9bbbdd2b 100644
--- a/config/deploy/os-nosdn-performance-ha.yaml
+++ b/config/deploy/os-nosdn-performance-ha.yaml
@@ -8,6 +8,7 @@ deploy_options:
congress: false
sfc: false
vpn: false
+ vsperf: false
performance:
Controller:
kernel:
diff --git a/docs/release-notes/release-notes.rst b/docs/release-notes/release-notes.rst
index 9f3ddb5e..a066e075 100644
--- a/docs/release-notes/release-notes.rst
+++ b/docs/release-notes/release-notes.rst
@@ -198,6 +198,9 @@ Known issues
| JIRA: APEX-86 | Compute node count configurable |
| | for virtual deployments |
+--------------------------------------+--------------------------------------+
+| JIRA: APEX-141 | Adding VSPERF support |
+| | |
++--------------------------------------+--------------------------------------+
Workarounds
-----------
diff --git a/lib/post-install-functions.sh b/lib/post-install-functions.sh
index 912a2a11..ec2ca89f 100755
--- a/lib/post-install-functions.sh
+++ b/lib/post-install-functions.sh
@@ -76,7 +76,11 @@ EOI
source overcloudrc
set -o errexit
echo "Configuring Neutron external network"
-neutron net-create external --router:external=True --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }')
+if [[ -n "$public_network_vlan" && "$public_network_vlan" != 'native' ]]; then
+ neutron net-create external --router:external=True --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') --provider:network_type vlan --provider:segmentation_id ${public_network_vlan} --provider:physical_network datacentre
+else
+ neutron net-create external --router:external=True --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }')
+fi
neutron subnet-create --name external-net --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') --disable-dhcp external --gateway ${public_network_gateway} --allocation-pool start=${public_network_floating_ip_range%%,*},end=${public_network_floating_ip_range##*,} ${public_network_cidr}
echo "Removing sahara endpoint and service"
@@ -127,6 +131,12 @@ done
EOI
fi
+ ### VSPERF ###
+ if [[ "${deploy_options_array['vsperf']}" == 'True' ]]; then
+ echo "${blue}\nVSPERF enabled, running build_base_machine.sh\n${reset}"
+ overcloud_connect "compute0" "sudo sh -c 'cd /var/opt/vsperf/systems/ && ./build_base_machine.sh 2>&1 > /var/log/vsperf.log'"
+ fi
+
# Collect deployment logs
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
mkdir -p ~/deploy_logs
diff --git a/lib/python/apex/deploy_env.py b/lib/python/apex/deploy_env.py
index 1fe137e4..816dc114 100644
--- a/lib/python/apex/deploy_env.py
+++ b/lib/python/apex/deploy_env.py
@@ -21,7 +21,7 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller',
'vpn',
'vpp']
-OPT_DEPLOY_SETTINGS = ['performance']
+OPT_DEPLOY_SETTINGS = ['performance', 'vsperf']
VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage']
VALID_PERF_OPTS = ['kernel', 'nova']
diff --git a/lib/python/apex/network_environment.py b/lib/python/apex/network_environment.py
index bf4bdc79..981c8f1c 100644
--- a/lib/python/apex/network_environment.py
+++ b/lib/python/apex/network_environment.py
@@ -84,6 +84,7 @@ class NetworkEnvironment:
public_cidr = net_settings[PUBLIC_NETWORK]['cidr']
self.netenv_obj[param_def]['ExternalNetCidr'] = str(public_cidr)
if net_settings[PUBLIC_NETWORK]['vlan'] != 'native':
+ self.netenv_obj[param_def]['NeutronExternalNetworkBridge'] = '""'
self.netenv_obj[param_def]['ExternalNetworkVlanID'] = \
net_settings[PUBLIC_NETWORK]['vlan']
public_range = \
diff --git a/lib/utility-functions.sh b/lib/utility-functions.sh
index 93050701..f73a2d85 100644
--- a/lib/utility-functions.sh
+++ b/lib/utility-functions.sh
@@ -15,14 +15,19 @@ function undercloud_connect {
fi
if [ -z "$2" ]; then
- ssh ${SSH_OPTIONS[@]} ${user}@$(arp -a | grep $(virsh domiflist undercloud | grep default |\
- awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
+ ssh ${SSH_OPTIONS[@]} ${user}@$(get_undercloud_ip)
else
- ssh ${SSH_OPTIONS[@]} -T ${user}@$(arp -a | grep $(virsh domiflist undercloud | grep default \
- | awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+") "$2"
+ ssh ${SSH_OPTIONS[@]} -T ${user}@$(get_undercloud_ip) "$2"
fi
}
+##outputs the Undercloud's IP address
+##params: none
+function get_undercloud_ip {
+ echo $(arp -a | grep $(virsh domiflist undercloud | grep default |\
+ awk '{print $5}') | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
+}
+
##connects to overcloud nodes
##params: node to login to, command to execute on overcloud (optional)
function overcloud_connect {
diff --git a/tests/smoke_tests/execute_smoke_tests.sh b/tests/smoke_tests/execute_smoke_tests.sh
new file mode 100755
index 00000000..245ccc53
--- /dev/null
+++ b/tests/smoke_tests/execute_smoke_tests.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+cd ~/provisioning/python
+export PYTHONPATH=$PYTHONPATH:$(pwd)
+
+python unit_test_suite.py ~stack/overcloudrc \ No newline at end of file
diff --git a/tests/smoke_tests/execute_tests.yml b/tests/smoke_tests/execute_tests.yml
new file mode 100644
index 00000000..e2326560
--- /dev/null
+++ b/tests/smoke_tests/execute_tests.yml
@@ -0,0 +1,9 @@
+---
+- hosts: all
+ sudo: yes
+
+ tasks:
+ - name: Copy execute_smoke_tests.sh
+ copy: src=execute_smoke_tests.sh dest=~/execute_smoke_tests.sh mode=0755
+ - name: Execute Tests
+ command: sh ~/execute_smoke_tests.sh | tee ~/unit_tests.out \ No newline at end of file
diff --git a/tests/smoke_tests/prepare_undercloud.yml b/tests/smoke_tests/prepare_undercloud.yml
new file mode 100644
index 00000000..8f0cb709
--- /dev/null
+++ b/tests/smoke_tests/prepare_undercloud.yml
@@ -0,0 +1,16 @@
+---
+- hosts: all
+ sudo: yes
+
+ tasks:
+ - yum: name=libffi
+ - yum: name=libffi-devel
+ - pip: name=python-keystoneclient
+ - pip: name=python-glanceclient
+ - pip: name=python-neutronclient
+ - pip: name=python-novaclient
+ - pip: name=scp
+ - pip: name=PyYAML
+ - pip: name=ansible==2.1.0
+
+ - git: repo=https://nougat.cablelabs.com/SNAPS/provisioning.git dest=~/provisioning
diff --git a/tests/smoke_tests/smoke_tests.yml b/tests/smoke_tests/smoke_tests.yml
new file mode 100644
index 00000000..b67c194f
--- /dev/null
+++ b/tests/smoke_tests/smoke_tests.yml
@@ -0,0 +1,3 @@
+---
+- include: prepare_undercloud.yml
+- include: execute_tests.yml \ No newline at end of file