name: nic1
# force the MAC address of the bridge to this interface
primary: true
- {%- if 'public_network' in enabled_networks and vlans['private_network'] is number %}
+ {%- if 'public_network' in enabled_networks and vlans['public_network'] is number %}
-
type: vlan
vlan_id: {get_param: ExternalNetworkVlanID}
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-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
%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-ha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-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
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
+
# installing forked opnfv-puppet-tripleo
# enable connection tracking for protocal sctp
# upload dpdk rpms but do not install
# 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
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 "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" \
-a overcloud-full_build.qcow2
mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
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
--- /dev/null
+#!/usr/bin/env bash
+
+source ../lib/utility-functions.sh
+
+ansible-playbook -i "$(get_undercloud_ip)," ../tests/smoke_tests/smoke_tests.yml
}
display_usage() {
- echo -e "Usage:\n$0 [arguments] \n"
- echo -e " undercloud <user> <command> : Connect to Undercloud VM as <user> and execute command <command>\n"
- echo -e " <user> Optional: Defaults to 'stack', <command> Optional: Defaults to none\n"
- echo -e " overcloud <node> <command> : Connect to an Overcloud <node> and execute command <command>\n"
- echo -e " <node> Required in format controller|compute<number>. Example: controller0\n"
- echo -e " <command> Optional: Defaults to none\n"
- echo -e " debug-stack : Print parsed deployment failures to stdout \n"
+ echo -e "Usage:\n$0 subcommand [ arguments ]\n"
+ echo -e "Arguments:\n"
+ echo -e " undercloud [ user [ command ] ] Connect to Undercloud VM as user and optionally execute a command\n"
+ echo -e " user Optional: Defaults to 'stack'\n"
+ echo -e " command Optional: Defaults to none\n"
+ echo -e ""
+ echo -e " overcloud [ node [ command ] ] Connect to an Overcloud node and optionally execute a command\n"
+ echo -e " node Required: in format controller|compute<number>. Example: controller0\n"
+ echo -e " command Optional: Defaults to none\n"
+ echo -e ""
+ echo -e " debug-stack Print parsed deployment failures to stdout \n"
+ echo -e ""
+ echo -e " mock-detached on | off Add firewall rules to the jump host to mock a detached deployment \n"
}
##translates the command line argument
undercloud_connect stack "$(typeset -f debug_stack); debug_stack"
exit 0
;;
+ mock-detached)
+ if [ "$2" == "on" ]; then
+ echo "Blocking output http and https traffic"
+ iptables -A OUTPUT -p tcp --dport 80 -j REJECT
+ iptables -A OUTPUT -p tcp --dport 443 -j REJECT
+ elif [ "$2" == "off" ]; then
+ echo "Allowing output http and https traffic"
+ iptables -D OUTPUT -p tcp --dport 80 -j REJECT
+ iptables -D OUTPUT -p tcp --dport 443 -j REJECT
+ else
+ display_usage
+ fi
+ exit 0
+ ;;
*)
echo -e "\n\nThis script is used to interact with Apex deployments\n\n"
echo "Use -h to display help"
--- /dev/null
+global_params:
+ ha_enabled: true
+
+deploy_options:
+ sdn_controller: onos
+ sdn_l3: true
+ tacker: false
+ congress: false
+ sfc: true
+ vpn: false
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight-external.yaml"
SDN_IMAGE=opendaylight
elif [ "${deploy_options_array['sdn_controller']}" == 'onos' ]; then
- DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/onos.yaml"
+ 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}"
import yaml
import re
-from .common.constants import ADMIN_NETWORK
-from .common.constants import PRIVATE_NETWORK
-from .common.constants import STORAGE_NETWORK
-from .common.constants import PUBLIC_NETWORK
-from .common.constants import API_NETWORK
+from .common.constants import (
+ ADMIN_NETWORK,
+ PRIVATE_NETWORK,
+ STORAGE_NETWORK,
+ PUBLIC_NETWORK,
+ API_NETWORK,
+)
PORTS = '/ports'
# Resources defined by <resource name>: <prefix>
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 {
--- /dev/null
+#!/usr/bin/env bash
+
+cd ~/provisioning/python
+export PYTHONPATH=$PYTHONPATH:$(pwd)
+
+python unit_test_suite.py ~stack/overcloudrc
\ No newline at end of file
--- /dev/null
+---
+- 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
--- /dev/null
+---
+- 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
--- /dev/null
+---
+- include: prepare_undercloud.yml
+- include: execute_tests.yml
\ No newline at end of file
'os-nosdn-performance-ha.yaml',
'os-odl_l2-nofeature-ha.yaml',
'os-odl_l2-sfc-noha.yaml',
- 'os-onos-nofeature-ha.yaml')
+ 'os-onos-nofeature-ha.yaml',
+ 'os-onos-sfc-ha.yaml')
test_deploy_content = (
'global_params:',