From 70a03eeda1163056dba689f470199c2c84f7123e Mon Sep 17 00:00:00 2001
From: Manuel Buil <mbuil@suse.com>
Date: Mon, 4 Dec 2017 10:07:58 +0100
Subject: Provide support for xci-master

Change-Id: Id4e80be218c51f56324cb43aa27f580ac8c92c47
Signed-off-by: Manuel Buil <mbuil@suse.com>
---
 .../files/ansible-role-requirements-master.yml     | 102 +++++++++---------
 .../files/ha/user_sfc_scenarios_variables.yml      |  63 ++++++++++-
 .../files/ha/user_sfc_scenarios_variables_suse.yml | 117 +++++++++++++++++++++
 .../ha/user_sfc_scenarios_variables_ubuntu.yml     | 115 ++++++++++++++++++++
 .../files/mini/user_sfc_scenarios_variables.yml    |  57 ++++++++++
 .../mini/user_sfc_scenarios_variables_suse.yml     | 116 ++++++++++++++++++++
 .../mini/user_sfc_scenarios_variables_ubuntu.yml   | 114 ++++++++++++++++++++
 .../files/noha/user_sfc_scenarios_variables.yml    |  57 ++++++++++
 .../noha/user_sfc_scenarios_variables_suse.yml     | 116 ++++++++++++++++++++
 .../noha/user_sfc_scenarios_variables_ubuntu.yml   | 114 ++++++++++++++++++++
 .../defaults/repo_packages/opendaylight-master.yml |   4 +-
 .../tacker_files/openstack_services_master.yml     |  72 ++++++-------
 .../tasks/add-sfc-repos-and-inventory-master.yml   |  10 --
 .../os-odl-sfc/tasks/copy-OSA-files-master.yml     |  19 +++-
 14 files changed, 969 insertions(+), 107 deletions(-)
 create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_suse.yml
 create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_ubuntu.yml
 create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_suse.yml
 create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_ubuntu.yml
 create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_suse.yml
 create mode 100644 scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_ubuntu.yml

(limited to 'scenarios')

diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements-master.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements-master.yml
index 17d43b75..efd7ac36 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements-master.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ansible-role-requirements-master.yml
@@ -7,172 +7,172 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
-# these versions are based on the osa commit e319a00aaa50ac204269a0ce3da7a7a6d517ccf2 on 2017-10-31
-# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=e319a00aaa50ac204269a0ce3da7a7a6d517ccf2
+# these versions are based on the osa commit 7b3aac28a0a87e5966527829f6b0abcbc2303cc7 on 2017-12-11
+# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=7b3aac28a0a87e5966527829f6b0abcbc2303cc7
 - name: ansible-hardening
   scm: git
   src: https://git.openstack.org/openstack/ansible-hardening
-  version: b559afac0c4678f6205f79d0e38f39025f00ddd8
+  version: 46a94c72518f83d27b25a5fa960dde7130956215
 - name: apt_package_pinning
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-apt_package_pinning
-  version: 2cbbf782cc0b6bef7b1f8fb4705d1cda287b8fc0
+  version: eba07d7dd7962d90301c49fc088551f9b35f367a
 - name: pip_install
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-pip_install
-  version: 132c6c15e53a7c143fbad78c8eba67d8cb43a3f2
+  version: 32c27505c6e0ee00ea0fb4a1c62240c60f17a0e3
 - name: galera_client
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-galera_client
-  version: 21f1ffff97ef4d04c8470490cc238a0bc168f1f2
+  version: 9a8302cbba24ea4e5907567e5f93e874d30d79df
 - name: galera_server
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-galera_server
-  version: bc21a02e18a253c6a371f87fa6827a30290bdc5b
+  version: aa452989d7295111962f67a3f3a96d96bc408846
 - name: ceph_client
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-ceph_client
-  version: 4bafc9b05efbe88f63c8c94d8c93fe652b648690
+  version: 34a04f7b24c80297866bc5ab56618e2211b1d5f9
 - name: haproxy_server
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-haproxy_server
-  version: 4afbd9cfb078ac60781aa683eafb7bca1cf549d5
+  version: 9966fd96fede46c3b00c9e069e402eae90c66f17
 - name: keepalived
   scm: git
   src: https://github.com/evrardjp/ansible-keepalived
-  version: b13e0840b09154a6d2470f71fea8eaa968525c5b
+  version: 5deafcab39de162ac1550c58246963974e8dcf4e
 - name: lxc_container_create
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-lxc_container_create
-  version: 82c1dfa68fcc0fac58f8df7d09b8de955c8f8bbd
+  version: 68f81c679be88577633f98e8b9252a62bdcef754
 - name: lxc_hosts
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts
-  version: cb395f12b67bff82c6dcf9d7e57cc87e48a2b619
+  version: 84ac3442e542aeedf1396c88e0387b4ea1548eb1
 - name: memcached_server
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-memcached_server
-  version: 731c02797c417c496c05a6498e360443ca74df47
+  version: ae6f721dc0342e1e7b45ff2448ab51f7539dc01f
 - name: openstack_hosts
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-openstack_hosts
-  version: 7a822f2f3c7c2dcb81635f2756701bea72b4d128
+  version: 05c7f09d181de1809fd596cc0d879c49e3f86bbf
 - name: os_keystone
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_keystone
-  version: 6de9abe29e67c94877ca0580ccd90aa9e45d6818
+  version: cd9d4ef7d8614d241fa40ba33c1c205fd2b47fa1
 - name: openstack_openrc
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-openstack_openrc
-  version: df34a4f181002d8242283ecb76373bbf576644c9
+  version: d594c2debc249daa5b7f6f2890f546093efd1ee5
 - name: os_aodh
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_aodh
-  version: 8e8cbcb4ab430cc1043e303a832f0372fc6266ac
+  version: ce871dee75511f94bfd24dde8f97e573cf6d3ead
 - name: os_barbican
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_barbican
-  version: 7486c0af49becf61d0a908d49f8ed686dd4c5a14
+  version: c3e191037d0978479e3cb95a59b2986adab28c69
 - name: os_ceilometer
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_ceilometer
-  version: 43ffd98114669025ffceccdf955a8e4da3c260a0
+  version: 55bb04eaad4dd5c7fdad742b3557dc30dc9d45bf
 - name: os_cinder
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_cinder
-  version: 4e7cb3441e38f71897e46e137e3b85bc92209ae3
+  version: 536dd3446e0fc7fc68ab42b982ac9affc4215787
 - name: os_designate
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_designate
-  version: a508c2986e479a1969f711339f2eb0d2e6f030e7
+  version: a65d7a3394aef340ff94587dd0bb48133ed00763
 - name: os_glance
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_glance
-  version: 45d84bf792bbabd43fc100e37f8ea29504544b1c
+  version: 43aa00424f233a6125f7a9216cec42da1d8ca4c5
 - name: os_gnocchi
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_gnocchi
-  version: 3b8cf82e07eb50997f23f014e41fabfc8b275a11
+  version: b1f7574dc529f8298a983d8d0e09520e90b571a8
 - name: os_heat
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_heat
-  version: 82ddbf569798b9c641f3b3eb942c9e6894261808
+  version: 8fcd29197797eef409254605f0ce73ef8d1bda6b
 - name: os_horizon
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_horizon
-  version: 9e80062a58b4960bc2374dc2cc9ba78861ef84b8
+  version: da72526dc1757688ecec8914344e330aaa0be720
 - name: os_ironic
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_ironic
-  version: ded7f989e0bc515506301929d4ff1a867aa3e73a
+  version: a90558f7a216e5e661c5d1a4048dbe30559542d1
 - name: os_magnum
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_magnum
-  version: ce85f2d38150f4a420cc87b348070c28788e7cb6
+  version: 736d1707339cb99396578018a6bda7af9184fb02
 - name: os_molteniron
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_molteniron
-  version: 840ac7379c7c1eadd37e043b82cbe28a1fb78c5f
+  version: 9b4c104a252c453bcd798fec9dbae7224b3d8001
 - name: os_neutron
   scm: git
-  src: https://git.openstack.org/openstack/openstack-ansible-os_neutron
-  version: a45ca094084c15321bf3b0e52c8d2b307a910ec7
+  src: https://github.com/manuelbuil/openstack-ansible-os_neutron
+  version: testing-ovs-nsh2
 - name: os_nova
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_nova
-  version: a96e6b09ca4718f46305934c344e1ebf36765d8d
+  version: 53df001c9034f198b9349def3c9158f8bbe43ff3
 - name: os_octavia
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_octavia
-  version: 77ff369cb37512376bb879dd8d82ef49c293d94c
+  version: 02ad3c68802287a1ba54cf10de085dcd14c324d8
 - name: os_rally
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_rally
-  version: 5e0cb6b723acd89e475f8bb86eb2c2376a3f7ebf
+  version: bc9075dba204e64d11cb397017d32b0c2297eed0
 - name: os_sahara
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_sahara
-  version: 2ead3c9023481a5f784d65cf19f0ffbae65cee52
+  version: 3c45121050ba21bd284f054d7b82a338f347157f
 - name: os_swift
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_swift
-  version: c0e9362268690fe5f6ab6a6b8f5a45a66045bef1
+  version: f31217bb097519f15755f2337165657d7eb6b014
 - name: os_tacker
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_tacker
-  version: 0fad7f3584969d038c4dc5c512fdd83f72aa8b6d
+  version: d95902891c4e6200510509c066006c921cfff8df
 - name: os_tempest
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_tempest
-  version: 5e1c5a98a8e15363d8ba5c401e81a55b4af71a5d
+  version: 866dedbcba180ca82c3c93823cef3db2d3241d1b
 - name: os_trove
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-os_trove
-  version: 70ff281931bef890f4d19da7fc76d7b39e9e0d5b
+  version: b425fa316999d0863a44126f239a33d8c3fec3a6
 - name: plugins
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-plugins
-  version: 6a64c8e7dbc1d3a6cbb444dbcdefbeb4632c01fa
+  version: d2f60237761646968a4b39b15185fb5c84e7386f
 - name: rabbitmq_server
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-rabbitmq_server
-  version: b68c27140654f5d34bdc0bae3cd0e5af3a4c36a7
+  version: 311f76890c8f99cb0b46958775d84de614609323
 - name: repo_build
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-repo_build
-  version: 1237aa4e0f7de633d28797fe8ff469e314f8a509
+  version: 59a3f444c263235d8f0f584da8768656179fa02a
 - name: repo_server
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-repo_server
-  version: 165a1570caaec0946a14760a52476311c32185cc
+  version: 7889f37cdd2a90b4b98e8ef2e886f1fd4950fc0a
 - name: rsyslog_client
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_client
-  version: 3b917569cda50cbd491b3b86b4313100171962bf
+  version: 310cfe9506d3742be10790533ad0d16100d81498
 - name: rsyslog_server
   scm: git
   src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_server
-  version: a8d87bb4192490128e81639343a2a9e2390267d9
+  version: ba7bb699c0c874c7977add86ca308ca18be8f9a8
 - name: sshd
   scm: git
   src: https://github.com/willshersystems/ansible-sshd
@@ -200,7 +200,7 @@
 - name: ceph-common
   scm: git
   src: https://github.com/ceph/ansible-ceph-common
-  version: 764bde08cac495a17dd238afc7082708840fe9c9
+  version: 08804bd46dff42ebff64e7f27c86f2265fe4d6fc
 - name: ceph-config
   scm: git
   src: https://github.com/ceph/ansible-ceph-config
@@ -208,7 +208,7 @@
 - name: ceph-mon
   scm: git
   src: https://github.com/ceph/ansible-ceph-mon
-  version: b026cda81101205164a523c7eca3db5e2896b13b
+  version: 309b7e339e057d56d9dd38bdd61998b900f45ba8
 - name: ceph-mgr
   scm: git
   src: https://github.com/ceph/ansible-ceph-mgr
@@ -216,16 +216,12 @@
 - name: ceph-osd
   scm: git
   src: https://github.com/ceph/ansible-ceph-osd
-  version: f3adfac8fc50fa8095af82bb44d9f540435b400a
+  version: e022d6773bc827e75ad051b429dec786a75d68f4
 - name: opendaylight
   scm: git
-  src: https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git
-  version: 54aa2162cda2b6f11e95684276184e2eb96569a4
+  src: https://github.com/opendaylight/integration-packaging-ansible-opendaylight
+  version: ef1367ad15ad10ac8cc9416f6fd49fd8b350d377
 - name: haproxy_endpoints
   scm: git
   src: https://github.com/logan2211/ansible-haproxy-endpoints
   version: 49901861b16b8afaa9bccdbc649ac956610ff22b
-- name: os_tacker
-  scm: git
-  src: https://git.openstack.org/openstack/openstack-ansible-os_tacker
-  version: master
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables.yml
index 1f2370eb..f4fd5dc5 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables.yml
@@ -21,8 +21,8 @@
 # # 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_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: ""
@@ -43,9 +43,66 @@ neutron_opendaylight_conf_ini_overrides:
     username: "admin"
     password: "admin"
     port_binding_controller: "pseudo-agentdb-binding"
-    url: "http://{{ internal_lb_vip_address }}:8080/controller/nb/v2/neutron"
+    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
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_suse.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_suse.yml
new file mode 100644
index 00000000..0af72600
--- /dev/null
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_suse.yml
@@ -0,0 +1,117 @@
+---
+# 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
+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://{{ 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
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+user_external_repos_list:
+  - name: 'manuel_repo'
+    repo: 'https://download.opensuse.org/repositories/home:/mosquetero/openSUSE_Leap_42.3/'
+    auto_import_keys: true
+    priority: 98
+
+ovs_nsh_required_metal_packages:
+  - openvswitch-kmp
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_ubuntu.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_ubuntu.yml
new file mode 100644
index 00000000..f58a1794
--- /dev/null
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/ha/user_sfc_scenarios_variables_ubuntu.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.
+
+# ##
+# ## 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
+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://{{ 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
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+user_external_repos_list:
+  - repo: 'ppa:mardim/mardim-ppa'
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+ovs_nsh_required_metal_packages:
+  - linux-headers-{{ ansible_kernel }}
+  - openvswitch-datapath-dkms
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables.yml
index 3111a0f0..ed4c047e 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables.yml
@@ -48,3 +48,60 @@ neutron_plugin_base:
   - metering
   - networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin
   - networking_sfc.services.sfc.plugin.SfcPlugin
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_suse.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_suse.yml
new file mode 100644
index 00000000..0962df7e
--- /dev/null
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_suse.yml
@@ -0,0 +1,116 @@
+---
+# 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
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+user_external_repos_list:
+  - name: 'manuel_repo'
+    repo: 'https://download.opensuse.org/repositories/home:/mosquetero/openSUSE_Leap_42.3/'
+    auto_import_keys: true
+    priority: 98
+
+ovs_nsh_required_metal_packages:
+  - openvswitch-kmp
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_ubuntu.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_ubuntu.yml
new file mode 100644
index 00000000..86529562
--- /dev/null
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/mini/user_sfc_scenarios_variables_ubuntu.yml
@@ -0,0 +1,114 @@
+---
+# 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
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+user_external_repos_list:
+  - repo: 'ppa:mardim/mardim-ppa'
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+ovs_nsh_required_metal_packages:
+  - linux-headers-{{ ansible_kernel }}
+  - openvswitch-datapath-dkms
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables.yml
index 3111a0f0..ed4c047e 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables.yml
@@ -48,3 +48,60 @@ neutron_plugin_base:
   - metering
   - networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin
   - networking_sfc.services.sfc.plugin.SfcPlugin
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_suse.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_suse.yml
new file mode 100644
index 00000000..0962df7e
--- /dev/null
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_suse.yml
@@ -0,0 +1,116 @@
+---
+# 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
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+user_external_repos_list:
+  - name: 'manuel_repo'
+    repo: 'https://download.opensuse.org/repositories/home:/mosquetero/openSUSE_Leap_42.3/'
+    auto_import_keys: true
+    priority: 98
+
+ovs_nsh_required_metal_packages:
+  - openvswitch-kmp
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_ubuntu.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_ubuntu.yml
new file mode 100644
index 00000000..86529562
--- /dev/null
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/noha/user_sfc_scenarios_variables_ubuntu.yml
@@ -0,0 +1,114 @@
+---
+# 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
+provider_networks:
+  - network:
+      container_bridge: "br-mgmt"
+      container_type: "veth"
+      container_interface: "eth1"
+      ip_from_q: "container"
+      type: "raw"
+      group_binds:
+        - all_containers
+        - hosts
+      is_container_address: true
+      is_ssh_address: true
+  - network:
+      container_bridge: "br-vxlan"
+      container_type: "veth"
+      container_interface: "eth10"
+      ip_from_q: "tunnel"
+      type: "vxlan"
+      range: "1:1000"
+      net_name: "vxlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth12"
+      host_bind_override: "eth12"
+      type: "flat"
+      net_name: "flat"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-vlan"
+      container_type: "veth"
+      container_interface: "eth11"
+      host_bind_override: "eth12"
+      type: "vlan"
+      range: "1:1"
+      net_name: "vlan"
+      group_binds:
+        - neutron_openvswitch_agent
+  - network:
+      container_bridge: "br-storage"
+      container_type: "veth"
+      container_interface: "eth2"
+      ip_from_q: "storage"
+      type: "raw"
+      group_binds:
+        - glance_api
+        - cinder_api
+        - cinder_volume
+        - nova_compute
+
+user_external_repos_list:
+  - repo: 'ppa:mardim/mardim-ppa'
+
+openstack_host_specific_kernel_modules:
+  - name: openvswitch
+
+ovs_nsh_required_metal_packages:
+  - linux-headers-{{ ansible_kernel }}
+  - openvswitch-datapath-dkms
+
+openstack_host_metal_distro_packages: "{{ ovs_nsh_required_metal_packages + _openstack_host_metal_distro_packages }}"
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight-master.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight-master.yml
index ded0e0df..f0743fc0 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight-master.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/openstack-ansible/playbooks/defaults/repo_packages/opendaylight-master.yml
@@ -14,9 +14,9 @@
 # limitations under the License.
 
 networking_odl_git_repo: https://git.openstack.org/openstack/networking-odl
-networking_odl_git_install_branch: b304fc9154d81e021d26327b39528ceaa3f0ac72 # HEAD of "master" as of 14.10.2017
+networking_odl_git_install_branch: 7a3c5fee7deb01d9237f5d1cc43a17931999af02 # HEAD of "master" as of 24.11.2017
 networking_odl_project_group: neutron_all
 
 networking_sfc_git_repo: https://git.openstack.org/openstack/networking-sfc
-networking_sfc_git_install_branch: 580faa9bf1a01fd62cb9d0fe4a1c9fd0c40b50b1 # HEAD of "master" as of 14.10.2017
+networking_sfc_git_install_branch: 899038b4d48c469af9f8c4982898478f32ba14a8 # HEAD of "master" as of 24.10.2017
 networking_sfc_project_group: neutron_all
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/files/tacker_files/openstack_services_master.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/files/tacker_files/openstack_services_master.yml
index 7f305ca6..86501634 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/files/tacker_files/openstack_services_master.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/files/tacker_files/openstack_services_master.yml
@@ -31,192 +31,192 @@
 
 ## Global Requirements
 requirements_git_repo: https://git.openstack.org/openstack/requirements
-requirements_git_install_branch: 6d9fe55d3697d46c8e10de829ebbdc8bcddf0111 # HEAD of "master" as of 14.10.2017
+requirements_git_install_branch: 691711c0effddd9cbaaadba3d494c15bc422fdd5 # HEAD of "master" as of 24.11.2017
 
 
 ## Aodh service
 aodh_git_repo: https://git.openstack.org/openstack/aodh
-aodh_git_install_branch: 348ec72208d9fc883eb93ae1b36bd501fe401cbc # HEAD of "master" as of 14.10.2017
+aodh_git_install_branch: 359043dc774be847cb539d18d13e336d40453e72 # HEAD of "master" as of 24.11.2017
 aodh_git_project_group: aodh_all
 
 
 ## Barbican service
 barbican_git_repo: https://git.openstack.org/openstack/barbican
-barbican_git_install_branch: d2ab56c61c0dc215dfbd078d00f4cabceaa2cdd7 # HEAD of "master" as of 14.10.2017
+barbican_git_install_branch: 5617d605f2e12840933e4a9d6417912cdbb811d5 # HEAD of "master" as of 24.11.2017
 barbican_git_project_group: barbican_all
 
 
 ## Ceilometer service
 ceilometer_git_repo: https://git.openstack.org/openstack/ceilometer
-ceilometer_git_install_branch: ecfdcc42a98efddc62838d3f6823a1cd5ff94cac # HEAD of "master" as of 14.10.2017
+ceilometer_git_install_branch: bd464f1f572ba150f52e284de430d13045dc6c18 # HEAD of "master" as of 24.11.2017
 ceilometer_git_project_group: ceilometer_all
 
 
 ## Cinder service
 cinder_git_repo: https://git.openstack.org/openstack/cinder
-cinder_git_install_branch: 625cf70f9690afa34ea717a7b3417890971e4c4a # HEAD of "master" as of 17.10.2017
+cinder_git_install_branch: 80558687d0fa55f2adf699e7369ebe3dbc3591bf # HEAD of "master" as of 24.11.2017
 cinder_git_project_group: cinder_all
 
 
 ## Designate service
 designate_git_repo: https://git.openstack.org/openstack/designate
-designate_git_install_branch: 284cdabe1e82934b05e20fda26423702c2628918 # HEAD of "master" as of 14.10.2017
+designate_git_install_branch: 2f75586379e8d611f37e06d385e79d0bc2c84ca1 # HEAD of "master" as of 24.11.2017
 designate_git_project_group: designate_all
 
 
 ## Horizon Designate dashboard plugin
 designate_dashboard_git_repo: https://git.openstack.org/openstack/designate-dashboard
-designate_dashboard_git_install_branch: 6213e7534f2c197bd2c577bd183d0bd53bf89857 # HEAD of "master" as of 14.10.2017
+designate_dashboard_git_install_branch: 571e127e5f853aa4dbdd377d831e32f8ff81eafe # HEAD of "master" as of 24.11.2017
 designate_dashboard_git_project_group: horizon_all
 
 
 ## Dragonflow service
 dragonflow_git_repo: https://git.openstack.org/openstack/dragonflow
-dragonflow_git_install_branch: 84f1a26ff8e976b753593dc445e09a4c1a675a21 # HEAD of "master" as of 14.10.2017
+dragonflow_git_install_branch: 7bf00cf315659252f03f6c65f6159a924da6f978 # HEAD of "master" as of 24.11.2017
 dragonflow_git_project_group: neutron_all
 
 
 ## Glance service
 glance_git_repo: https://git.openstack.org/openstack/glance
-glance_git_install_branch: 7f9853122252c38ecc536ea523bc8e3094c3adda # HEAD of "master" as of 14.10.2017
+glance_git_install_branch: d88bd2ca8ef95810441dae640d3c6b9e79eca353 # HEAD of "master" as of 24.11.2017
 glance_git_project_group: glance_all
 
 
 ## Heat service
 heat_git_repo: https://git.openstack.org/openstack/heat
-heat_git_install_branch: c5593161d9bcbddde69e38d9136ccb93367b51f8 # HEAD of "master" as of 14.10.2017
+heat_git_install_branch: f4a06c2a92a361dbb401107b4ea1ab60972f473e # HEAD of "master" as of 24.11.2017
 heat_git_project_group: heat_all
 
 
 ## Horizon service
 horizon_git_repo: https://git.openstack.org/openstack/horizon
-horizon_git_install_branch: 80643ca53f7db43eac496829290983126616ea4b # HEAD of "master" as of 14.10.2017
+horizon_git_install_branch: 846d269d90e01e463b510474040e0ad984a5679f # HEAD of "master" as of 24.11.2017
 horizon_git_project_group: horizon_all
 
 ## Horizon Ironic dashboard plugin
 ironic_dashboard_git_repo: https://git.openstack.org/openstack/ironic-ui
-ironic_dashboard_git_install_branch: 70933196786a780d690b11af9995b37942f28e3b # HEAD of "master" as of 14.10.2017
+ironic_dashboard_git_install_branch: d6199d51171e6c8700663b0b0618ee0adf033b4d # HEAD of "master" as of 24.11.2017
 ironic_dashboard_git_project_group: horizon_all
 
 ## Horizon Magnum dashboard plugin
 magnum_dashboard_git_repo: https://git.openstack.org/openstack/magnum-ui
-magnum_dashboard_git_install_branch: 02c2d06bdaebc892d37d5b51fc0555a5469bf017 # HEAD of "master" as of 14.10.2017
+magnum_dashboard_git_install_branch: 6160d903fae9c652b459c93c218e0ea75924a85d # HEAD of "master" as of 24.11.2017
 magnum_dashboard_git_project_group: horizon_all
 
 ## Horizon LBaaS dashboard plugin
 neutron_lbaas_dashboard_git_repo: https://git.openstack.org/openstack/neutron-lbaas-dashboard
-neutron_lbaas_dashboard_git_install_branch: 80a2f0f5c82acb58833c43e158afd974e555f92b # HEAD of "master" as of 14.10.2017
+neutron_lbaas_dashboard_git_install_branch: ef650294bcc7447d441e6a710c39d64e384e1b27 # HEAD of "master" as of 24.11.2017
 neutron_lbaas_dashboard_git_project_group: horizon_all
 
 ## Horizon FWaaS dashboard plugin
 neutron_fwaas_dashboard_git_repo: https://git.openstack.org//openstack/neutron-fwaas-dashboard
-neutron_fwaas_dashboard_git_install_branch: 58cdd72b1398ad7a4d4dcdba2ca9fe37fe9f63f8 # HEAD of "master" as of 14.10.2017
+neutron_fwaas_dashboard_git_install_branch: 6de122d4753a6db24d2dc4c22a71e702ed980e82 # HEAD of "master" as of 24.11.2017
 neutron_fwaas_dashboard_git_project_group: horizon_all
 
 ## Horizon Sahara dashboard plugin
 sahara_dashboard_git_repo: https://git.openstack.org/openstack/sahara-dashboard
-sahara_dashboard_git_install_branch: b8ccdf99971293a388b99d781b70fa0e0fb69d40 # HEAD of "master" as of 14.10.2017
+sahara_dashboard_git_install_branch: 3e5c59e6229dac8b303029058fcee9d61200ebc8 # HEAD of "master" as of 24.11.2017
 sahara_dashboard_git_project_group: horizon_all
 
 
 ## Keystone service
 keystone_git_repo: https://git.openstack.org/openstack/keystone
-keystone_git_install_branch: 47dbd256258d747d95cb5320bd02ae207ecf60d6 # HEAD of "master" as of 14.10.2017
+keystone_git_install_branch: 70fe4ec09b55def21361a32c8fa7f12e7c891ab1 # HEAD of "master" as of 24.11.2017
 keystone_git_project_group: keystone_all
 
 
 ## Neutron service
 neutron_git_repo: https://git.openstack.org/openstack/neutron
-neutron_git_install_branch: 62b788192014705ae1c31bed05fd5f6dbba9a2d9 # HEAD of "master" as of 14.10.2017
+neutron_git_install_branch: d1277c1630570ca45b490c48371e3f7e97be78c3 # HEAD of "master" as of 24.11.2017
 neutron_git_project_group: neutron_all
 
 neutron_lbaas_git_repo: https://git.openstack.org/openstack/neutron-lbaas
-neutron_lbaas_git_install_branch: a5294c1d1149bf3bcb3321937c9223f18b49ed7a # HEAD of "master" as of 14.10.2017
+neutron_lbaas_git_install_branch: b1123e7a759248dfa63afdf8b86aafd692572ebd # HEAD of "master" as of 24.11.2017
 neutron_lbaas_git_project_group: neutron_all
 
 neutron_vpnaas_git_repo: https://git.openstack.org/openstack/neutron-vpnaas
-neutron_vpnaas_git_install_branch: e3da5c10c472ece03828b076a9240b735295a42e # HEAD of "master" as of 14.10.2017
+neutron_vpnaas_git_install_branch: 79e4eb81dd05588bcf68b92d46c62f0d26153542 # HEAD of "master" as of 24.11.2017
 neutron_vpnaas_git_project_group: neutron_all
 
 neutron_fwaas_git_repo: https://git.openstack.org/openstack/neutron-fwaas
-neutron_fwaas_git_install_branch: 43f7ae3493a9e6333f3b9d533271a757de036736 # HEAD of "master" as of 14.10.2017
+neutron_fwaas_git_install_branch: 74eac2ca2980e6162d9c88ee6bd48830386c392a # HEAD of "master" as of 24.11.2017
 neutron_fwaas_git_project_group: neutron_all
 
 neutron_dynamic_routing_git_repo: https://git.openstack.org/openstack/neutron-dynamic-routing
-neutron_dynamic_routing_git_install_branch: 95d2bdfde10ba9622014620738d15e8c5bff0bb4 # HEAD of "master" as of 14.10.2017
+neutron_dynamic_routing_git_install_branch: 183c3fa4840d22be1974534eb9e1b28b552f4a42 # HEAD of "master" as of 24.11.2017
 neutron_dynamic_routing_git_project_group: neutron_all
 
 networking_calico_git_repo: https://git.openstack.org/openstack/networking-calico
-networking_calico_git_install_branch: 9688df1a3d1d8b3fd9ba367e82fe6b0559416728 # HEAD of "master" as of 14.10.2017
+networking_calico_git_install_branch: 9688df1a3d1d8b3fd9ba367e82fe6b0559416728 # HEAD of "master" as of 24.11.2017
 networking_calico_git_project_group: neutron_all
 
 ## Nova service
 nova_git_repo: https://git.openstack.org/openstack/nova
-nova_git_install_branch: c7832f7d9e60a18e95f3cfeef76d55989fbad803 # HEAD of "master" as of 14.10.2017
+nova_git_install_branch: 22a790ef45b0523e8cf2ed97d14e050431c90fd9 # HEAD of "master" as of 24.11.2017
 nova_git_project_group: nova_all
 
 
 ## PowerVM Virt Driver
 nova_powervm_git_repo: https://git.openstack.org/openstack/nova-powervm
-nova_powervm_git_install_branch: a58458507433d970b53e338df199dc8251812c23 # HEAD of "master" as of 14.10.2017
+nova_powervm_git_install_branch: f2de4441e39b0f66cf31f854b228e9e7037f04de # HEAD of "master" as of 24.11.2017
 nova_powervm_git_project_group: nova_all
 
 
 ## LXD Virt Driver
 nova_lxd_git_repo: https://git.openstack.org/openstack/nova-lxd
-nova_lxd_git_install_branch: aaa8b602150623a81432eb8fbad26c2d4d9b42b6 # HEAD of "master" as of 14.10.2017
+nova_lxd_git_install_branch: e498de603b31c189fd32a6067d45a36575b96b0a # HEAD of "master" as of 24.11.2017
 nova_lxd_git_project_group: nova_all
 
 
 ## Sahara service
 sahara_git_repo: https://git.openstack.org/openstack/sahara
-sahara_git_install_branch: cf4cf40eab5a485abb6052b4a9d263be4625dc4e # HEAD of "master" as of 14.10.2017
+sahara_git_install_branch: 395856c513b1efad82db8fa78fb1cbfe0f3a6749 # HEAD of "master" as of 24.11.2017
 sahara_git_project_group: sahara_all
 
 
 ## Swift service
 swift_git_repo: https://git.openstack.org/openstack/swift
-swift_git_install_branch: 98e7014aafbd52bd5e388314f3c2c1e1d2375806 # HEAD of "master" as of 14.10.2017
+swift_git_install_branch: 3135878d2fe9909f49fcadeeb9cc6c6933d06127 # HEAD of "master" as of 24.11.2017
 swift_git_project_group: swift_all
 
 
 ## Swift3 middleware
 swift_swift3_git_repo: https://git.openstack.org/openstack/swift3
-swift_swift3_git_install_branch: 1fb6a30ee59a16cd4b6c49bab963ff9e3f974580 # HEAD of "master" as of 14.10.2017
+swift_swift3_git_install_branch: 1fb6a30ee59a16cd4b6c49bab963ff9e3f974580 # HEAD of "master" as of 24.11.2017
 swift_swift3_git_project_group: swift_all
 
 
 ## Ironic service
 ironic_git_repo: https://git.openstack.org/openstack/ironic
-ironic_git_install_branch: 2d486ca8c0b1ed9251a76945457e0fc28239e7ac # HEAD of "master" as of 14.10.2017
+ironic_git_install_branch: 27ce77142bfb9ac56e85db37e0923a0eb47f2f7a # HEAD of "master" as of 24.11.2017
 ironic_git_project_group: ironic_all
 
 ## Magnum service
 magnum_git_repo: https://git.openstack.org/openstack/magnum
-magnum_git_install_branch: 4b88f7b78010299148fa8878e963c15fe5d5f525 # HEAD of "master" as of 14.10.2017
+magnum_git_install_branch: 4bf3b3263870a4ec81cf372713cacec446b3ee84 # HEAD of "master" as of 24.11.2017
 magnum_git_project_group: magnum_all
 
 ## Trove service
 trove_git_repo: https://git.openstack.org/openstack/trove
-trove_git_install_branch: f6c3c27a49d5cf1c84eec441923f9f4d8c12f3d2 # HEAD of "master" as of 14.10.2017
+trove_git_install_branch: b09d0eb3135047891a369d3c0eb2c6e9ae649f5b # HEAD of "master" as of 24.11.2017
 trove_git_project_group: trove_all
 
 ## Horizon Trove dashboard plugin
 trove_dashboard_git_repo: https://git.openstack.org/openstack/trove-dashboard
-trove_dashboard_git_install_branch: b4ebbbab63501793839d519f35d6d381f0334ca8 # HEAD of "master" as of 14.10.2017
+trove_dashboard_git_install_branch: 14a4609606d42cae827b8fc6b44453caea258976 # HEAD of "master" as of 24.11.2017
 trove_dashboard_git_project_group: horizon_all
 
 ## Octavia service
 octavia_git_repo: https://git.openstack.org/openstack/octavia
-octavia_git_install_branch: 859bb3bae35fb26e3305d4ee691b4d5eba99d1ff # HEAD of "master" as of 14.10.2017
+octavia_git_install_branch: bb9bb2d05b268cff9846e0a09ad3940be5fe5a80 # HEAD of "master" as of 24.11.2017
 octavia_git_project_group: octavia_all
 
 ## Molteniron service
 molteniron_git_repo: https://git.openstack.org/openstack/molteniron
-molteniron_git_install_branch: 094276cda77d814d07ad885e7d63de8d1243750a # HEAD of "master" as of 14.10.2017
+molteniron_git_install_branch: 094276cda77d814d07ad885e7d63de8d1243750a # HEAD of "master" as of 24.11.2017
 molteniron_git_project_group: molteniron_all
 
 ## Tacker service
 tacker_git_repo: https://git.openstack.org/openstack/tacker
-tacker_git_install_branch: 9ca9cf28cec8ae70a7795f7267ddd9909f5e307a # HEAD of "master" as of 14.10.2017
+tacker_git_install_branch: cc03b5d952527b8cad2e2e309a97d55afb1ca559 # HEAD of "master" as of 24.11.2017
 tacker_git_project_group: tacker_all
diff --git a/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory-master.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory-master.yml
index 9e1f6809..1cffdf8e 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory-master.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/add-sfc-repos-and-inventory-master.yml
@@ -4,13 +4,3 @@
   copy:
     src: openstack-ansible/playbooks/defaults/repo_packages/opendaylight-master.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 and OVS-NSH 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-master.yml b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/copy-OSA-files-master.yml
index cc291ef4..f58de4c2 100644
--- a/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/copy-OSA-files-master.yml
+++ b/scenarios/os-odl-sfc/role/os-odl-sfc/tasks/copy-OSA-files-master.yml
@@ -1,10 +1,17 @@
 ---
 #
 
-- name: copy user_sfc_scenarios_variables.yml
+- name: copy user_sfc_scenarios_variables.yml (SUSE)
   copy:
-    src: "{{XCI_FLAVOR}}/user_sfc_scenarios_variables.yml"
+    src: "{{XCI_FLAVOR}}/user_sfc_scenarios_variables_suse.yml"
     dest: "{{OPENSTACK_OSA_ETC_PATH}}/user_sfc_scenarios_variables.yml"
+  when: ansible_pkg_mgr == 'zypper'
+
+- name: copy user_sfc_scenarios_variables.yml (Ubuntu)
+  copy:
+    src: "{{XCI_FLAVOR}}/user_sfc_scenarios_variables_ubuntu.yml"
+    dest: "{{OPENSTACK_OSA_ETC_PATH}}/user_sfc_scenarios_variables.yml"
+  when: ansible_pkg_mgr == 'apt'
 
 - name: copy OPNFV role requirements
   copy:
@@ -13,5 +20,11 @@
 
 - name: copy openstack_services.yml with tacker
   copy:
-    src: "tacker_files/openstack_services-master.yml"
+    src: "tacker_files/openstack_services_master.yml"
     dest: "{{OPENSTACK_OSA_PATH}}/playbooks/defaults/repo_packages/openstack_services.yml"
+
+# To get the mano_host variable (can only be defined here for the inventory)
+- name: copy openstack_user_config.yml
+  copy:
+    src: "tacker_files/{{XCI_FLAVOR}}/openstack_user_config.yml"
+    dest: "{{OPENSTACK_OSA_ETC_PATH}}/openstack_user_config.yml"
-- 
cgit