From 93be25b50c49c45b6913202ff5fb009d430f37c6 Mon Sep 17 00:00:00 2001 From: Manuel Buil Date: Tue, 26 Sep 2017 13:26:32 +0200 Subject: Create a scenario role As discussed with the releng-xci team, each project should have the scenario in its repo Change-Id: I2cb407892edeeccabf396c7b1c341c78fba2828e Signed-off-by: Manuel Buil Signed-off-by: Trevor Bramwell (cherry picked from commit 90b3ef7c16d604e53cce22169822878438ced78a) --- .yamllint | 4 + scenarios/os-odl-sfc/role/os-odl-sfc/README | 61 +++++++ .../os-odl-sfc/files/ansible-role-requirements.yml | 193 +++++++++++++++++++++ .../role/os-odl-sfc/files/ha/user_variables.yml | 51 ++++++ .../role/os-odl-sfc/files/mini/user_variables.yml | 50 ++++++ .../role/os-odl-sfc/files/noha/user_variables.yml | 50 ++++++ .../defaults/repo_packages/opendaylight.yml | 22 +++ .../playbooks/inventory_odl/env.d/neutron.yml | 97 +++++++++++ .../playbooks/inventory_odl/env.d/nova.yml | 115 ++++++++++++ .../tasks/add-sfc-repos-and-inventory.yml | 16 ++ .../role/os-odl-sfc/tasks/copy-OSA-files.yml | 12 ++ .../os-odl-sfc/role/os-odl-sfc/tasks/main.yml | 15 ++ 12 files changed, 686 insertions(+) create mode 100644 .yamllint create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/README create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_variables.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_variables.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_variables.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/neutron.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/nova.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/tasks/copy-OSA-files.yml create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/tasks/main.yml diff --git a/.yamllint b/.yamllint new file mode 100644 index 00000000..a10bfe92 --- /dev/null +++ b/.yamllint @@ -0,0 +1,4 @@ +extends: default + +ignore: + scenarios/ diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/README b/scenarios/os-odl-sfc/role/os-odl-sfc/README new file mode 100644 index 00000000..1104b339 --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/README @@ -0,0 +1,61 @@ +This is the role which deploys the os-odl-sfc scenarios in xci. + +This role currently works with: + +- OpenStack stable/ocata +- ODL Nitrogen RC1 +- OVS+NSH patch + +# SCENARIOS # + +## os-odl-sfc-noha ## + +To run os-odl-sfc-noha you should export the following variables before +running xci-deploy.sh: + +export XCI_FLAVOR=noha +export OPNFV_SCENARIO=os-odl-sfc +export OPENSTACK_OSA_VERSION=stable/ocata +export VM_MEMORY_SIZE=16384 + +## os-odl-sfc-ha ## + +To run os-odl-sfc-ha you should export the following variables before +running xci-deploy.sh: + +export XCI_FLAVOR=ha +export OPNFV_SCENARIO=os-odl-sfc +export OPENSTACK_OSA_VERSION=stable/ocata +export VM_MEMORY_SIZE=20480 + + +# LIMITATIONS # + +1 - It is using a private branch for the os-neutron role. This is because +there are several patches pending to be upstreamed. This is the branch we +are using: + +https://github.com/mardim91/openstack-ansible-os_neutron/tree/ocata-backport-automated-twentyfourth-august + +We will stop doing this as soon as the patches are merged upstream. For example: + +https://review.openstack.org/#/c/496231/ +https://review.openstack.org/#/c/497458/ + +2 - Tacker is missing in this integration. Hopefully, it will be added in the +following days + + +# IN PROGRESS/FUTURE # + +1 - Adding tacker to the scenarios + +https://gerrit.opnfv.org/gerrit/#/c/39511/ + +2 - Supporting stable/Pike + +Waiting for the release to be ready + +3 - Supporting ODL Nitrogen SR1 + +Waiting for the release to be ready (7th of September) diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements.yml new file mode 100644 index 00000000..61848f82 --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements.yml @@ -0,0 +1,193 @@ +--- +- name: ansible-hardening + scm: git + src: https://git.openstack.org/openstack/ansible-hardening + version: f9299c59730b0c5332e80ec88c0296ccc5c207f4 +- name: apt_package_pinning + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-apt_package_pinning + version: d5c0d7e8d21fc1539cc043097e23851296e2dd95 +- name: pip_install + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-pip_install + version: 2bc7e27c2b36e8cd0265053b446ee5f5cc4f4f1d +- name: galera_client + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-galera_client + version: 1d3cdcd33c75a668ac3be046ac53fe1842780058 +- name: galera_server + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-galera_server + version: c6d36689655586971fbd4be8a6cba2f54b5f44b3 +- name: ceph_client + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-ceph_client + version: 029abd28ded1e52300cfd3093060e1fc5e9574fd +- name: haproxy_server + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-haproxy_server + version: 4874ef7e218e0bc29f5ccca3c16f704a85f0c0b0 +- name: keepalived + scm: git + src: https://github.com/evrardjp/ansible-keepalived + version: 3.0.1 +- name: lxc_container_create + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-lxc_container_create + version: 05ed7dfa57b7ead13f63edb72918241e8ef1916e +- name: lxc_hosts + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts + version: d22208afede2fdf1b070f3236016ea3f1e3fa49c +- name: memcached_server + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-memcached_server + version: 5363432f58334823f7e6c6c88617bb908ca48359 +- name: openstack_hosts + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-openstack_hosts + version: 8a9dd8cf281f5d1199fc3cbaa635dde91b1037a0 +- name: os_keystone + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_keystone + version: 4ed06e106a83160d76b56edda09c7ced1caf104a +- name: openstack_openrc + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-openstack_openrc + version: dfdf65b3db7c6240fa173a3a62af4e5028023626 +- name: os_aodh + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_aodh + version: aebf86ae0dafae3876a6faab7a0c55010c055f53 +- name: os_barbican + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_barbican + version: 91c62d5d2815bc53940e0048f7c9b65bd31e1a7d +- name: os_ceilometer + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_ceilometer + version: 1d709bd6eace68bfd7fb7d1e52df8d5b6f28810b +- name: os_cinder + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_cinder + version: 3e8a5bb467fbef16cc2ea3ac5217b4dd0a0e0a8c +- name: os_glance + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_glance + version: 802c3dcad5b9f578fdac969e327bfece75509ef2 +- name: os_gnocchi + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_gnocchi + version: 6c3ffedc0e523163042cf167b1077ddc11136b4c +- name: os_heat + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_heat + version: 300f15ee65d2e157a0304caa10fcac279fbd5f18 +- name: os_horizon + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_horizon + version: e2e28afd60f92238be9d42abaa08260ade5c60eb +- name: os_ironic + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_ironic + version: b217195f8ae7a5a39eba7d633e625b0c3b0c63b1 +- name: os_magnum + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_magnum + version: dfb38385242c9e7f8c04b4485d793055f892ee17 +- name: os_trove + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_trove + version: 93913b6af52bbf55d224b1b0b8ce53e3a8c84398 +- name: os_neutron + scm: git + src: https://github.com/mardim91/openstack-ansible-os_neutron + version: ocata-backport-automated-twentyfourth-august +- name: os_nova + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_nova + version: 991d3295fc2f8ecb3cfd46f680ceb1816c763291 +- name: os_rally + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_rally + version: 190522159369ddfec4c8df72bb2a3da351cb841d +- name: os_sahara + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_sahara + version: 4a224f899fbbb68be31824a265fabcb92aa873a4 +- name: os_swift + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_swift + version: 5233a587f242ae5ccab7d7563a33a9f96556a9d6 +- name: os_tempest + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_tempest + version: de52855d1215a96fde4c060725502fd172c3d949 +- name: plugins + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-plugins + version: 9c26a443a977e73524d9e4c30e018596ce5e48bd +- name: rabbitmq_server + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-rabbitmq_server + version: b7247285e563e24ca31be1decb6f5b3bf88de69d +- name: repo_build + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-repo_build + version: ad719d992b366be8fad11493edcb92e644d92ecc +- name: repo_server + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-repo_server + version: 96739ea44eeb8153676433311fc1824e2a763c72 +- name: rsyslog_client + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_client + version: 5f5275720d13bd22945348751131c39877b731ab +- name: rsyslog_server + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_server + version: a7d4b0df2e9ed3c2a1414613e96c7c9db0f2db60 +- name: sshd + scm: git + src: https://github.com/willshersystems/ansible-sshd + version: 0.4.5 +- name: bird + scm: git + src: https://github.com/logan2211/ansible-bird + version: '1.2' +- name: etcd + scm: git + src: https://github.com/logan2211/ansible-etcd + version: '1.2' +- name: unbound + scm: git + src: https://github.com/logan2211/ansible-unbound + version: '1.3' +- name: resolvconf + scm: git + src: https://github.com/logan2211/ansible-resolvconf + version: '1.2' +- name: os_designate + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_designate + version: 2d1d0a75fb30b95588b943cfa3e7c830004999f4 +- name: ceph.ceph-common + scm: git + src: https://github.com/ceph/ansible-ceph-common + version: v2.2.4 +- name: ceph.ceph-docker-common + scm: git + src: https://github.com/ceph/ansible-ceph-docker-common + version: ca86fd0ef6d24aa2c750a625acdcb8012c374aa0 +- name: ceph-mon + scm: git + src: https://github.com/ceph/ansible-ceph-mon + version: v2.2.4 +- name: ceph-osd + scm: git + src: https://github.com/ceph/ansible-ceph-osd + version: v2.2.4 +- name: opendaylight + scm: git + src: https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git + version: cf095a4f71ff054f305f14ffdef7cdd7233e3d71 diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_variables.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_variables.yml new file mode 100644 index 00000000..1f2370eb --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_variables.yml @@ -0,0 +1,51 @@ +--- +# Copyright 2014, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ## +# ## This file contains commonly used overrides for convenience. Please inspect +# ## the defaults for each role to find additional override options. +# ## + +# # Debug and Verbose options. +debug: false + +haproxy_keepalived_external_vip_cidr: "192.168.122.220/32" +haproxy_keepalived_internal_vip_cidr: "172.29.236.222/32" +haproxy_keepalived_external_interface: br-vlan +haproxy_keepalived_internal_interface: br-mgmt +gnocchi_db_sync_options: "" + +ovs_nsh_support: true +cluster: true + +# Ensure the openvswitch kernel module is loaded +# openstack_host_specific_kernel_modules: +# - name: "openvswitch" +# pattern: "CONFIG_OPENVSWITCH" +# group: "network_hosts" + +# Use OpenDaylight SDN Controller +neutron_plugin_type: "ml2.opendaylight" +neutron_opendaylight_conf_ini_overrides: + ml2_odl: + username: "admin" + password: "admin" + port_binding_controller: "pseudo-agentdb-binding" + url: "http://{{ internal_lb_vip_address }}:8080/controller/nb/v2/neutron" +neutron_plugin_base: + - odl-router_v2 + - metering + - networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin + - networking_sfc.services.sfc.plugin.SfcPlugin diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_variables.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_variables.yml new file mode 100644 index 00000000..3111a0f0 --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_variables.yml @@ -0,0 +1,50 @@ +--- +# Copyright 2014, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ## +# ## This file contains commonly used overrides for convenience. Please inspect +# ## the defaults for each role to find additional override options. +# ## + +# # Debug and Verbose options. +debug: false + +haproxy_keepalived_external_vip_cidr: "192.168.122.3/32" +haproxy_keepalived_internal_vip_cidr: "172.29.236.11/32" +haproxy_keepalived_external_interface: br-vlan +haproxy_keepalived_internal_interface: br-mgmt +gnocchi_db_sync_options: "" + +ovs_nsh_support: true + +# Ensure the openvswitch kernel module is loaded +# openstack_host_specific_kernel_modules: +# - name: "openvswitch" +# pattern: "CONFIG_OPENVSWITCH" +# group: "network_hosts" + +# Use OpenDaylight SDN Controller +neutron_plugin_type: "ml2.opendaylight" +neutron_opendaylight_conf_ini_overrides: + ml2_odl: + username: "admin" + password: "admin" + port_binding_controller: "pseudo-agentdb-binding" + url: "http://{{ hostvars[groups['neutron_server'][0]]['ansible_eth1']['ipv4']['address'] }}:8080/controller/nb/v2/neutron" +neutron_plugin_base: + - odl-router_v2 + - metering + - networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin + - networking_sfc.services.sfc.plugin.SfcPlugin diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_variables.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_variables.yml new file mode 100644 index 00000000..e37d6906 --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_variables.yml @@ -0,0 +1,50 @@ +--- +# Copyright 2014, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ## +# ## This file contains commonly used overrides for convenience. Please inspect +# ## the defaults for each role to find additional override options. +# ## + +# # Debug and Verbose options. +debug: false + +haproxy_keepalived_external_vip_cidr: "192.168.122.3/32" +haproxy_keepalived_internal_vip_cidr: "172.29.236.11/32" +haproxy_keepalived_external_interface: br-vlan +haproxy_keepalived_internal_interface: br-mgmt +gnocchi_db_sync_options: "" + +ovs_nsh_support: true + +# Ensure the openvswitch kernel module is loaded +#openstack_host_specific_kernel_modules: +# - name: "openvswitch" +# pattern: "CONFIG_OPENVSWITCH" +# group: "network_hosts" + +# Use OpenDaylight SDN Controller +neutron_plugin_type: "ml2.opendaylight" +neutron_opendaylight_conf_ini_overrides: + ml2_odl: + username: "admin" + password: "admin" + port_binding_controller: "pseudo-agentdb-binding" + url: "http://{{ hostvars[groups['neutron_server'][0]]['ansible_eth1']['ipv4']['address'] }}:8080/controller/nb/v2/neutron" +neutron_plugin_base: + - odl-router_v2 + - metering + - networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin + - networking_sfc.services.sfc.plugin.SfcPlugin diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight.yml new file mode 100644 index 00000000..2e1a542f --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight.yml @@ -0,0 +1,22 @@ +--- +# Copyright 2017, Ericsson AB +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +networking_odl_git_repo: https://git.openstack.org/openstack/networking-odl +networking_odl_git_install_branch: stable/ocata +networking_odl_project_group: neutron_all + +networking_sfc_git_repo: https://git.openstack.org/openstack/networking-sfc +networking_sfc_git_install_branch: stable/ocata +networking_sfc_project_group: neutron_all diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/neutron.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/neutron.yml new file mode 100644 index 00000000..fd74d8ac --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/neutron.yml @@ -0,0 +1,97 @@ +--- +# Copyright 2014, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +component_skel: + neutron_agent: + belongs_to: + - neutron_all + neutron_dhcp_agent: + belongs_to: + - neutron_all + neutron_linuxbridge_agent: + belongs_to: + - neutron_all + neutron_openvswitch_agent: + belongs_to: + - neutron_all + neutron_metering_agent: + belongs_to: + - neutron_all + neutron_l3_agent: + belongs_to: + - neutron_all + neutron_lbaas_agent: + belongs_to: + - neutron_all + neutron_bgp_dragent: + belongs_to: + - neutron_all + neutron_metadata_agent: + belongs_to: + - neutron_all + neutron_sriov_nic_agent: + belongs_to: + - neutron_all + neutron_server: + belongs_to: + - neutron_all + opendaylight: + belongs_to: + - neutron_all + openvswitch_nsh: + belongs_to: + - neutron_all + +container_skel: + neutron_agents_container: + belongs_to: + - network_containers + contains: + - neutron_agent + - neutron_metadata_agent + - neutron_metering_agent + - neutron_linuxbridge_agent + - neutron_openvswitch_agent + - openvswitch_nsh + - neutron_l3_agent + - neutron_dhcp_agent + - neutron_lbaas_agent + - neutron_bgp_dragent + properties: + service_name: neutron + neutron_server_container: + belongs_to: + - network_containers + contains: + - neutron_server + - opendaylight + properties: + service_name: neutron + neutron_networking_container: + belongs_to: + - network_containers + contains: + - openvswitch_nsh + properties: + is_metal: true + + +physical_skel: + network_containers: + belongs_to: + - all_containers + network_hosts: + belongs_to: + - hosts diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/nova.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/nova.yml new file mode 100644 index 00000000..1aee092e --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/inventory_odl/env.d/nova.yml @@ -0,0 +1,115 @@ +--- +# Copyright 2014, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +component_skel: + nova_api_metadata: + belongs_to: + - nova_all + nova_api_os_compute: + belongs_to: + - nova_all + nova_api_placement: + belongs_to: + - nova_all + nova_compute: + belongs_to: + - nova_all + nova_conductor: + belongs_to: + - nova_all + nova_scheduler: + belongs_to: + - nova_all + nova_console: + belongs_to: + - nova_all + + +container_skel: + nova_api_metadata_container: + belongs_to: + - compute-infra_containers + - os-infra_containers + contains: + - nova_api_metadata + properties: + service_name: nova + nova_api_os_compute_container: + belongs_to: + - compute-infra_containers + - os-infra_containers + contains: + - nova_api_os_compute + properties: + service_name: nova + nova_api_placement_container: + belongs_to: + - compute-infra_containers + - os-infra_containers + contains: + - nova_api_placement + properties: + service_name: nova + nova_compute_container: + belongs_to: + - compute_containers + contains: + - neutron_linuxbridge_agent + - neutron_openvswitch_agent + - openvswitch_nsh + - neutron_sriov_nic_agent + - nova_compute + properties: + is_metal: true + service_name: nova + nova_conductor_container: + belongs_to: + - compute-infra_containers + - os-infra_containers + contains: + - nova_conductor + properties: + service_name: nova + nova_scheduler_container: + belongs_to: + - compute-infra_containers + - os-infra_containers + contains: + - nova_scheduler + properties: + service_name: nova + nova_console_container: + belongs_to: + - compute-infra_containers + - os-infra_containers + contains: + - nova_console + properties: + service_name: nova + + +physical_skel: + compute-infra_containers: + belongs_to: + - all_containers + compute-infra_hosts: + belongs_to: + - hosts + compute_containers: + belongs_to: + - all_containers + compute_hosts: + belongs_to: + - hosts diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory.yml new file mode 100644 index 00000000..1a70c388 --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory.yml @@ -0,0 +1,16 @@ +--- + +- name: Add networking-odl and networking-sfc repos + copy: + src: openstack-ansible/playbooks/defaults/repo_packages/opendaylight.yml + dest: "{{OPENSTACK_OSA_PATH}}/playbooks/defaults/repo_packages/opendaylight.yml" + +- name: Provide nova inventory which adds OVS-NSH hosts + copy: + src: openstack-ansible/playbooks/inventory_odl/env.d/nova.yml + dest: "{{OPENSTACK_OSA_PATH}}/playbooks/inventory/env.d/nova.yml" + +- name: Provide neutron inventory which adds ODL hosts + copy: + src: openstack-ansible/playbooks/inventory_odl/env.d/neutron.yml + dest: "{{OPENSTACK_OSA_PATH}}/playbooks/inventory/env.d/neutron.yml" diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/copy-OSA-files.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/copy-OSA-files.yml new file mode 100644 index 00000000..3821d9d6 --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/copy-OSA-files.yml @@ -0,0 +1,12 @@ +--- +# + +- name: copy user_variables.yml + copy: + src: "{{XCI_FLAVOR}}/user_variables.yml" + dest: "{{OPENSTACK_OSA_ETC_PATH}}/user_variables.yml" + +- name: copy OPNFV role requirements + copy: + src: "ansible-role-requirements.yml" + dest: "{{OPENSTACK_OSA_PATH}}/ansible-role-requirements.yml" diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/main.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/main.yml new file mode 100644 index 00000000..f1fdcf2a --- /dev/null +++ b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/main.yml @@ -0,0 +1,15 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2017 SUSE Linux GmbH +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +- name: Add SFC repos and inventory + include: add-sfc-repos-and-inventory.yml + +- name: Copy the OSA not-yet-upstreamed files + include: copy-OSA-files.yml -- cgit 1.2.3-korg