summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Vagrantfile4
-rw-r--r--docs/xci-overview.rst13
-rw-r--r--docs/xci-user-guide.rst7
-rw-r--r--xci/README.rst3
-rw-r--r--xci/playbooks/configure-localhost.yml4
-rw-r--r--xci/playbooks/configure-opnfvhost.yml10
-rw-r--r--xci/playbooks/provision-vm-nodes.yml4
-rw-r--r--xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/openstack_user_config.yml256
-rw-r--r--xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/user_variables_os-odl-nofeature-ha.yml22
-rw-r--r--xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/mini/openstack_user_config.yml171
-rw-r--r--xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/noha/openstack_user_config.yml173
-rw-r--r--xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/user_variables_os-odl-nofeature.yml39
-rw-r--r--xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml26
-rw-r--r--xci/scenarios/os-odl-nofeature/xci_overrides7
-rw-r--r--xci/var/Debian.yml1
-rw-r--r--xci/var/RedHat.yml1
-rw-r--r--xci/var/Suse.yml1
-rw-r--r--xci/var/opnfv.yml2
-rwxr-xr-xxci/xci-deploy.sh26
19 files changed, 733 insertions, 37 deletions
diff --git a/Vagrantfile b/Vagrantfile
index 58b6368e..776d09ba 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -45,7 +45,6 @@ Vagrant.configure(2) do |config|
export VM_MEMORY_SIZE=${VM_MEMORY_SIZE:-2048}
export VM_DOMAIN_TYPE=qemu
export PATH=$PATH:$HOME/.local/bin
- export OPNFV_RELENG_DEV_PATH=/vagrant
[[ ! -e ${HOME}/.ssh/id_rsa ]] && ssh-keygen -q -P '' -f ${HOME}/.ssh/id_rsa
cd xci && ./xci-deploy.sh
SHELL
@@ -81,7 +80,6 @@ Vagrant.configure(2) do |config|
export VM_MEMORY_SIZE=${VM_MEMORY_SIZE:-2048}
export VM_DOMAIN_TYPE=qemu
export PATH=$PATH:$HOME/.local/bin
- export OPNFV_RELENG_DEV_PATH=/vagrant
[[ ! -e ${HOME}/.ssh/id_rsa ]] && ssh-keygen -q -P '' -f ${HOME}/.ssh/id_rsa
cd xci && ./xci-deploy.sh
SHELL
@@ -115,7 +113,6 @@ Vagrant.configure(2) do |config|
export VM_MEMORY_SIZE=${VM_MEMORY_SIZE:-2048}
export VM_DOMAIN_TYPE=qemu
export PATH=$PATH:$HOME/.local/bin
- export OPNFV_RELENG_DEV_PATH=/vagrant
[[ ! -e ${HOME}/.ssh/id_rsa ]] && ssh-keygen -q -P '' -f ${HOME}/.ssh/id_rsa
cd xci && ./xci-deploy.sh
SHELL
@@ -143,7 +140,6 @@ Vagrant.configure(2) do |config|
export VM_MEMORY_SIZE=${VM_MEMORY_SIZE:-2048}
export VM_DOMAIN_TYPE=qemu
export PATH=$PATH:$HOME/.local/bin
- export OPNFV_RELENG_DEV_PATH=/vagrant
# workaround for https://github.com/openSUSE/vagrant/pull/22
sudo bash -c 'echo "127.0.0.1 localhost" >> /etc/hosts'
[[ ! -e ${HOME}/.ssh/id_rsa ]] && ssh-keygen -q -P '' -f ${HOME}/.ssh/id_rsa
diff --git a/docs/xci-overview.rst b/docs/xci-overview.rst
index 3f6ba911..575eb37c 100644
--- a/docs/xci-overview.rst
+++ b/docs/xci-overview.rst
@@ -277,3 +277,16 @@ is the scenario itself.
:height: 480px
:align: center
+How to Get Involved
+===================
+
+OPNFV XCI is an initiative driven by OPNFV community and receives contributions from
+various open source communities such as `OpenStack <https://www.openstack.org/>`_ and
+`OpenDaylight <https://www.opendaylight.org/>`_.
+
+Anyone can contribute to XCI by trying the :ref:`XCI Sandbox <xci-user-guide>`, issuing
+bug reports, updating the documentation, or contributing the code.
+
+You can get in touch with XCI developers on ``#opnfv-pharos`` IRC channel
+on Freenode or send mail to ``opnfv-users@lists.opnfv.org`` for any questions
+you might have.
diff --git a/docs/xci-user-guide.rst b/docs/xci-user-guide.rst
index 11321383..7a411257 100644
--- a/docs/xci-user-guide.rst
+++ b/docs/xci-user-guide.rst
@@ -313,13 +313,6 @@ executing the script. The current user variables can be seen from
`user-vars <https://git.opnfv.org/releng-xci/tree/xci/config/user-vars>`_
file located in releng-xci repository.
-The variables can also be set directly within the file before executing
-the sandbox script. If you do this, you need to set ``$OPNFV_RELENG_DEV_PATH``
-environment variable where the releng-xci repo is located on your host which
-you modified the files in.
-
-| ``export OPNFV_RELENG_DEV_PATH=/path/to/releng-xci/``
-
Pinned Versions
---------------
diff --git a/xci/README.rst b/xci/README.rst
index 9ce293cd..d7555d46 100644
--- a/xci/README.rst
+++ b/xci/README.rst
@@ -203,7 +203,6 @@ on each run.
To enable it, you need to export the different DEV_PATH vars:
-- export OPNFV_RELENG_DEV_PATH=/opt/releng-xci/
- export OPENSTACK_BIFROST_DEV_PATH=/opt/bifrost/
- export OPENSTACK_OSA_DEV_PATH=/opt/openstack-ansible/
@@ -226,8 +225,6 @@ dependent roles in ansible-role-requirements.yml file.
If you run into this situation, then your best bet is to replace the XCI
ansible-role-requirements.yml file with the upstream one from
http://git.openstack.org/cgit/openstack/openstack-ansible/plain/ansible-role-requirements.yml.
-You also need to set OPNFV_RELENG_DEV_PATH as explained above in order for this file to be
-used throughout the deployment.
===========================================
Limitations, Known Issues, and Improvements
diff --git a/xci/playbooks/configure-localhost.yml b/xci/playbooks/configure-localhost.yml
index e242a7ee..a0837117 100644
--- a/xci/playbooks/configure-localhost.yml
+++ b/xci/playbooks/configure-localhost.yml
@@ -40,12 +40,10 @@
file: ../var/{{ ansible_os_family }}.yml
- name: Synchronize local development releng-xci repository to XCI paths
synchronize:
- src: "{{ OPNFV_RELENG_DEV_PATH }}"
+ src: "{{ XCI_PATH }}"
dest: "{{ OPNFV_RELENG_PATH }}"
recursive: yes
delete: yes
- when:
- - OPNFV_RELENG_DEV_PATH != ""
- hosts: localhost
connection: local
diff --git a/xci/playbooks/configure-opnfvhost.yml b/xci/playbooks/configure-opnfvhost.yml
index fdf21786..0f288459 100644
--- a/xci/playbooks/configure-opnfvhost.yml
+++ b/xci/playbooks/configure-opnfvhost.yml
@@ -30,12 +30,10 @@
file: ../var/{{ ansible_os_family }}.yml
- name: Synchronize local development releng-xci repository to XCI paths
synchronize:
- src: "{{ OPNFV_RELENG_DEV_PATH }}"
+ src: "{{ XCI_PATH }}"
dest: "{{ OPNFV_RELENG_PATH }}"
recursive: yes
delete: yes
- when:
- - OPNFV_RELENG_DEV_PATH != ""
- name: Synchronize local development openstack-ansible repository to XCI paths
synchronize:
src: "{{ OPENSTACK_OSA_DEV_PATH }}"
@@ -158,6 +156,12 @@
package:
name: "{{ opnfv_required_packages }}"
state: latest
+ # Docker is needed for functest
+ - name: Ensure Docker service is started and enabled
+ service:
+ name: "{{ docker_service_name }}"
+ state: started
+ enabled: yes
- name: install opnfv required pip packages
pip:
name: "{{ opnfv_required_pip }}"
diff --git a/xci/playbooks/provision-vm-nodes.yml b/xci/playbooks/provision-vm-nodes.yml
index b9c13999..aa55f6ce 100644
--- a/xci/playbooks/provision-vm-nodes.yml
+++ b/xci/playbooks/provision-vm-nodes.yml
@@ -44,12 +44,10 @@
- OPENSTACK_BIFROST_DEV_PATH != ""
- name: Synchronize local development releng-xci repository to XCI paths
synchronize:
- src: "{{ OPNFV_RELENG_DEV_PATH }}"
+ src: "{{ XCI_PATH }}"
dest: "{{ OPNFV_RELENG_PATH }}"
recursive: yes
delete: yes
- when:
- - OPNFV_RELENG_DEV_PATH != ""
- name: Copy extra vars to releng-xci and bifrost
synchronize:
src: "{{ XCI_EXTRA_VARS_PATH }}"
diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/openstack_user_config.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/openstack_user_config.yml
new file mode 100644
index 00000000..2ca5a987
--- /dev/null
+++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/openstack_user_config.yml
@@ -0,0 +1,256 @@
+---
+cidr_networks:
+ container: 172.29.236.0/22
+ tunnel: 172.29.240.0/22
+ storage: 172.29.244.0/22
+
+used_ips:
+ - "172.29.236.1,172.29.236.50"
+ - "172.29.240.1,172.29.240.50"
+ - "172.29.244.1,172.29.244.50"
+ - "172.29.248.1,172.29.248.50"
+ - "172.29.236.222"
+
+global_overrides:
+ internal_lb_vip_address: 172.29.236.222
+ external_lb_vip_address: 192.168.122.220
+ tunnel_bridge: "br-vxlan"
+ management_bridge: "br-mgmt"
+ 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: "102:199"
+ net_name: "physnet1"
+ 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
+
+# ##
+# ## Infrastructure
+# ##
+
+# galera, memcache, rabbitmq, utility
+shared-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# repository (apt cache, python packages, etc)
+repo-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# load balancer
+# Ideally the load balancer should not use the Infrastructure hosts.
+# Dedicated hardware is best for improved performance and security.
+haproxy_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# rsyslog server
+# log_hosts:
+# log1:
+# ip: 172.29.236.14
+
+# ##
+# ## OpenStack
+# ##
+
+# keystone
+identity_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# cinder api services
+storage-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# glance
+# The settings here are repeated for each infra host.
+# They could instead be applied as global settings in
+# user_variables, but are left here to illustrate that
+# each container could have different storage targets.
+image_hosts:
+ controller00:
+ ip: 172.29.236.11
+ container_vars:
+ limit_container_types: glance
+ glance_nfs_client:
+ - server: "172.29.244.14"
+ remote_path: "/images"
+ local_path: "/var/lib/glance/images"
+ type: "nfs"
+ options: "_netdev,auto"
+ controller01:
+ ip: 172.29.236.12
+ container_vars:
+ limit_container_types: glance
+ glance_nfs_client:
+ - server: "172.29.244.14"
+ remote_path: "/images"
+ local_path: "/var/lib/glance/images"
+ type: "nfs"
+ options: "_netdev,auto"
+ controller02:
+ ip: 172.29.236.13
+ container_vars:
+ limit_container_types: glance
+ glance_nfs_client:
+ - server: "172.29.244.14"
+ remote_path: "/images"
+ local_path: "/var/lib/glance/images"
+ type: "nfs"
+ options: "_netdev,auto"
+
+# nova api, conductor, etc services
+compute-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# heat
+orchestration_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# horizon
+dashboard_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# neutron server, agents (L3, etc)
+network_hosts:
+ controller00:
+ ip: 172.29.236.11
+ controller01:
+ ip: 172.29.236.12
+ controller02:
+ ip: 172.29.236.13
+
+# nova hypervisors
+compute_hosts:
+ compute00:
+ ip: 172.29.236.14
+ compute01:
+ ip: 172.29.236.15
+
+# cinder volume hosts (NFS-backed)
+# The settings here are repeated for each infra host.
+# They could instead be applied as global settings in
+# user_variables, but are left here to illustrate that
+# each container could have different storage targets.
+storage_hosts:
+ controller00:
+ ip: 172.29.236.11
+ container_vars:
+ cinder_backends:
+ limit_container_types: cinder_volume
+ nfs_volume:
+ volume_backend_name: NFS_VOLUME1
+ volume_driver: cinder.volume.drivers.nfs.NfsDriver
+ nfs_mount_options: "rsize=65535,wsize=65535,timeo=1200,actimeo=120"
+ nfs_shares_config: /etc/cinder/nfs_shares
+ shares:
+ - ip: "172.29.244.14"
+ share: "/volumes"
+ controller01:
+ ip: 172.29.236.12
+ container_vars:
+ cinder_backends:
+ limit_container_types: cinder_volume
+ nfs_volume:
+ volume_backend_name: NFS_VOLUME1
+ volume_driver: cinder.volume.drivers.nfs.NfsDriver
+ nfs_mount_options: "rsize=65535,wsize=65535,timeo=1200,actimeo=120"
+ nfs_shares_config: /etc/cinder/nfs_shares
+ shares:
+ - ip: "172.29.244.14"
+ share: "/volumes"
+ controller02:
+ ip: 172.29.236.13
+ container_vars:
+ cinder_backends:
+ limit_container_types: cinder_volume
+ nfs_volume:
+ volume_backend_name: NFS_VOLUME1
+ volume_driver: cinder.volume.drivers.nfs.NfsDriver
+ nfs_mount_options: "rsize=65535,wsize=65535,timeo=1200,actimeo=120"
+ nfs_shares_config: /etc/cinder/nfs_shares
+ shares:
+ - ip: "172.29.244.14"
+ share: "/volumes"
diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/user_variables_os-odl-nofeature-ha.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/user_variables_os-odl-nofeature-ha.yml
new file mode 100644
index 00000000..25cd6839
--- /dev/null
+++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/ha/user_variables_os-odl-nofeature-ha.yml
@@ -0,0 +1,22 @@
+---
+# Copyright (c) 2017 Ericsson AB and others.
+#
+# 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.
+# ##
+
+# Enable clustering for opendaylight
+cluster: true \ No newline at end of file
diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/mini/openstack_user_config.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/mini/openstack_user_config.yml
new file mode 100644
index 00000000..0f8ccd18
--- /dev/null
+++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/mini/openstack_user_config.yml
@@ -0,0 +1,171 @@
+---
+cidr_networks:
+ container: 172.29.236.0/22
+ tunnel: 172.29.240.0/22
+ storage: 172.29.244.0/22
+
+used_ips:
+ - "172.29.236.1,172.29.236.50"
+ - "172.29.240.1,172.29.240.50"
+ - "172.29.244.1,172.29.244.50"
+ - "172.29.248.1,172.29.248.50"
+
+global_overrides:
+ internal_lb_vip_address: 172.29.236.11
+ external_lb_vip_address: 192.168.122.3
+ tunnel_bridge: "br-vxlan"
+ management_bridge: "br-mgmt"
+ 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: "102:199"
+ net_name: "physnet1"
+ 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
+
+# ##
+# ## Infrastructure
+# ##
+
+# galera, memcache, rabbitmq, utility
+shared-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# repository (apt cache, python packages, etc)
+repo-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# load balancer
+# Ideally the load balancer should not use the Infrastructure hosts.
+# Dedicated hardware is best for improved performance and security.
+haproxy_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# rsyslog server
+# log_hosts:
+# log1:
+# ip: 172.29.236.14
+
+# ##
+# ## OpenStack
+# ##
+
+# keystone
+identity_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# cinder api services
+storage-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# glance
+# The settings here are repeated for each infra host.
+# They could instead be applied as global settings in
+# user_variables, but are left here to illustrate that
+# each container could have different storage targets.
+image_hosts:
+ controller00:
+ ip: 172.29.236.11
+ container_vars:
+ limit_container_types: glance
+ glance_nfs_client:
+ - server: "172.29.244.12"
+ remote_path: "/images"
+ local_path: "/var/lib/glance/images"
+ type: "nfs"
+ options: "_netdev,auto"
+
+# nova api, conductor, etc services
+compute-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# heat
+orchestration_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# horizon
+dashboard_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# neutron server, agents (L3, etc)
+network_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# nova hypervisors
+compute_hosts:
+ compute00:
+ ip: 172.29.236.12
+
+# cinder volume hosts (NFS-backed)
+# The settings here are repeated for each infra host.
+# They could instead be applied as global settings in
+# user_variables, but are left here to illustrate that
+# each container could have different storage targets.
+storage_hosts:
+ controller00:
+ ip: 172.29.236.11
+ container_vars:
+ cinder_backends:
+ limit_container_types: cinder_volume
+ nfs_volume:
+ volume_backend_name: NFS_VOLUME1
+ volume_driver: cinder.volume.drivers.nfs.NfsDriver
+ nfs_mount_options: "rsize=65535,wsize=65535,timeo=1200,actimeo=120"
+ nfs_shares_config: /etc/cinder/nfs_shares
+ shares:
+ - ip: "172.29.244.12"
+ share: "/volumes"
diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/noha/openstack_user_config.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/noha/openstack_user_config.yml
new file mode 100644
index 00000000..7ed9cd32
--- /dev/null
+++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/noha/openstack_user_config.yml
@@ -0,0 +1,173 @@
+---
+cidr_networks:
+ container: 172.29.236.0/22
+ tunnel: 172.29.240.0/22
+ storage: 172.29.244.0/22
+
+used_ips:
+ - "172.29.236.1,172.29.236.50"
+ - "172.29.240.1,172.29.240.50"
+ - "172.29.244.1,172.29.244.50"
+ - "172.29.248.1,172.29.248.50"
+
+global_overrides:
+ internal_lb_vip_address: 172.29.236.11
+ external_lb_vip_address: 192.168.122.3
+ tunnel_bridge: "br-vxlan"
+ management_bridge: "br-mgmt"
+ 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: "102:199"
+ net_name: "physnet1"
+ 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
+
+# ##
+# ## Infrastructure
+# ##
+
+# galera, memcache, rabbitmq, utility
+shared-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# repository (apt cache, python packages, etc)
+repo-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# load balancer
+# Ideally the load balancer should not use the Infrastructure hosts.
+# Dedicated hardware is best for improved performance and security.
+haproxy_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# rsyslog server
+# log_hosts:
+# log1:
+# ip: 172.29.236.14
+
+# ##
+# ## OpenStack
+# ##
+
+# keystone
+identity_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# cinder api services
+storage-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# glance
+# The settings here are repeated for each infra host.
+# They could instead be applied as global settings in
+# user_variables, but are left here to illustrate that
+# each container could have different storage targets.
+image_hosts:
+ controller00:
+ ip: 172.29.236.11
+ container_vars:
+ limit_container_types: glance
+ glance_nfs_client:
+ - server: "172.29.244.12"
+ remote_path: "/images"
+ local_path: "/var/lib/glance/images"
+ type: "nfs"
+ options: "_netdev,auto"
+
+# nova api, conductor, etc services
+compute-infra_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# heat
+orchestration_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# horizon
+dashboard_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# neutron server, agents (L3, etc)
+network_hosts:
+ controller00:
+ ip: 172.29.236.11
+
+# nova hypervisors
+compute_hosts:
+ compute00:
+ ip: 172.29.236.12
+ compute01:
+ ip: 172.29.236.13
+
+# cinder volume hosts (NFS-backed)
+# The settings here are repeated for each infra host.
+# They could instead be applied as global settings in
+# user_variables, but are left here to illustrate that
+# each container could have different storage targets.
+storage_hosts:
+ controller00:
+ ip: 172.29.236.11
+ container_vars:
+ cinder_backends:
+ limit_container_types: cinder_volume
+ nfs_volume:
+ volume_backend_name: NFS_VOLUME1
+ volume_driver: cinder.volume.drivers.nfs.NfsDriver
+ nfs_mount_options: "rsize=65535,wsize=65535,timeo=1200,actimeo=120"
+ nfs_shares_config: /etc/cinder/nfs_shares
+ shares:
+ - ip: "172.29.244.12"
+ share: "/volumes"
diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/user_variables_os-odl-nofeature.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/user_variables_os-odl-nofeature.yml
new file mode 100644
index 00000000..04b1c36e
--- /dev/null
+++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/files/user_variables_os-odl-nofeature.yml
@@ -0,0 +1,39 @@
+---
+# Copyright (c) 2017 Ericsson AB and others.
+#
+# 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.
+# ##
+
+# 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_ml2_drivers_type: "flat,vlan,vxlan"
+
+neutron_plugin_base:
+ - odl-router_v2 \ No newline at end of file
diff --git a/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml
new file mode 100644
index 00000000..61d31a7f
--- /dev/null
+++ b/xci/scenarios/os-odl-nofeature/role/os-odl-nofeature/tasks/main.yml
@@ -0,0 +1,26 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2017 Ericsson AB and others.
+# 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: copy user_variables_os-odl-nofeature.yml
+ copy:
+ src: "user_variables_os-odl-nofeature.yml"
+ dest: "{{OPENSTACK_OSA_ETC_PATH}}/user_variables_os-odl-nofeature.yml"
+
+- name: copy user_variables_os-odl-nofeature-ha.yml
+ copy:
+ src: "{{XCI_FLAVOR}}/user_variables_os-odl-nofeature-ha.yml"
+ dest: "{{OPENSTACK_OSA_ETC_PATH}}/user_variables_os-odl-nofeature-ha.yml"
+ when:
+ - XCI_FLAVOR == "ha"
+
+- name: copy os-odl-nofeature scenario specific openstack_user_config.yml
+ copy:
+ src: "{{XCI_FLAVOR}}/openstack_user_config.yml"
+ dest: "{{OPENSTACK_OSA_ETC_PATH}}/openstack_user_config.yml" \ No newline at end of file
diff --git a/xci/scenarios/os-odl-nofeature/xci_overrides b/xci/scenarios/os-odl-nofeature/xci_overrides
new file mode 100644
index 00000000..ed6c4489
--- /dev/null
+++ b/xci/scenarios/os-odl-nofeature/xci_overrides
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+if [[ $OPNFV_SCENARIO == "os-odl-nofeature" ]] && [[ $XCI_FLAVOR == "ha" ]]; then
+ export VM_MEMORY_SIZE=20480
+elif [[ $OPNFV_SCENARIO == "os-odl-nofeature" ]]; then
+ export VM_MEMORY_SIZE=16384
+fi \ No newline at end of file
diff --git a/xci/var/Debian.yml b/xci/var/Debian.yml
index 16bb879b..bd07473a 100644
--- a/xci/var/Debian.yml
+++ b/xci/var/Debian.yml
@@ -11,3 +11,4 @@
interface: "ens3"
python_crypto_package_name: python-crypto
docker_package_name: docker.io
+docker_service_name: docker
diff --git a/xci/var/RedHat.yml b/xci/var/RedHat.yml
index bcd6d044..8ea2e15a 100644
--- a/xci/var/RedHat.yml
+++ b/xci/var/RedHat.yml
@@ -10,3 +10,4 @@
# this is placeholder and left blank intentionally to complete later on
python_crypto_package_name: python-crypto
docker_package_name: docker
+docker_service_name: docker
diff --git a/xci/var/Suse.yml b/xci/var/Suse.yml
index 6b4c76ec..a041e18b 100644
--- a/xci/var/Suse.yml
+++ b/xci/var/Suse.yml
@@ -11,3 +11,4 @@
interface: "eth0"
python_crypto_package_name: python-pycrypto
docker_package_name: docker
+docker_service_name: docker
diff --git a/xci/var/opnfv.yml b/xci/var/opnfv.yml
index 5378d13e..287f8849 100644
--- a/xci/var/opnfv.yml
+++ b/xci/var/opnfv.yml
@@ -10,7 +10,6 @@
OPNFV_RELENG_GIT_URL: "{{ lookup('env','OPNFV_RELENG_GIT_URL') }}"
OPNFV_RELENG_PATH: "{{ lookup('env','OPNFV_RELENG_PATH') }}"
XCI_DEVEL_ROOT: "{{ lookup('env','XCI_DEVEL_ROOT') }}"
-OPNFV_RELENG_DEV_PATH: "{{ lookup('env','OPNFV_RELENG_DEV_PATH') }}"
OPNFV_RELENG_VERSION: "{{ lookup('env','OPNFV_RELENG_VERSION') }}"
OPENSTACK_BIFROST_GIT_URL: "{{ lookup('env','OPENSTACK_BIFROST_GIT_URL') }}"
OPENSTACK_BIFROST_PATH: "{{ lookup('env','OPENSTACK_BIFROST_PATH') }}"
@@ -27,6 +26,7 @@ XCI_ANSIBLE_PIP_VERSION: "{{ lookup('env','XCI_ANSIBLE_PIP_VERSION') }}"
XCI_FLAVOR: "{{ lookup('env','XCI_FLAVOR') }}"
XCI_FLAVOR_ANSIBLE_FILE_PATH: "{{ lookup('env','XCI_FLAVOR_ANSIBLE_FILE_PATH') }}"
XCI_LOOP: "{{ lookup('env','XCI_LOOP') }}"
+XCI_PATH: "{{ lookup('env', 'XCI_PATH') }}/"
LOG_PATH: "{{ lookup('env','LOG_PATH') }}"
OPNFV_HOST_IP: "{{ lookup('env','OPNFV_HOST_IP') }}"
OPNFV_SSH_HOST_KEYS_PATH: "{{ lookup('env', 'OPNFV_SSH_HOST_KEYS_PATH') }}"
diff --git a/xci/xci-deploy.sh b/xci/xci-deploy.sh
index a7435e75..3a4616ce 100755
--- a/xci/xci-deploy.sh
+++ b/xci/xci-deploy.sh
@@ -50,15 +50,15 @@ fi
# override any of them.
#-------------------------------------------------------------------------------
# find where are we
-export XCI_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+export XCI_PATH="$(git rev-parse --show-toplevel)"
# source user vars
-source $XCI_PATH/config/user-vars
+source $XCI_PATH/xci/config/user-vars
# source pinned versions
-source $XCI_PATH/config/pinned-versions
+source $XCI_PATH/xci/config/pinned-versions
# source flavor configuration
-source "$XCI_PATH/config/${XCI_FLAVOR}-vars"
+source "$XCI_PATH/xci/config/${XCI_FLAVOR}-vars"
# source xci configuration
-source $XCI_PATH/config/env-vars
+source $XCI_PATH/xci/config/env-vars
if [[ -z $(echo $PATH | grep "$HOME/.local/bin") ]]; then
export PATH="$HOME/.local/bin:$PATH"
@@ -67,7 +67,7 @@ fi
#-------------------------------------------------------------------------------
# Sanitize local development environment variables
#-------------------------------------------------------------------------------
-user_local_dev_vars=(OPNFV_RELENG_DEV_PATH OPENSTACK_OSA_DEV_PATH OPENSTACK_BIFROST_DEV_PATH)
+user_local_dev_vars=(OPENSTACK_OSA_DEV_PATH OPENSTACK_BIFROST_DEV_PATH)
for local_user_var in ${user_local_dev_vars[@]}; do
[[ -n ${!local_user_var:-} ]] && export $local_user_var=${!local_user_var%/}/
done
@@ -136,15 +136,15 @@ fi
#-------------------------------------------------------------------------------
echo "Info: Cloning OPNFV scenario repositories"
echo "-------------------------------------------------------------------------"
-cd $XCI_PATH/playbooks
+cd $XCI_PATH/xci/playbooks
ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory get-opnfv-scenario-requirements.yml
echo "-------------------------------------------------------------------------"
#-------------------------------------------------------------------------------
# Get scenario variables overrides
#-------------------------------------------------------------------------------
-if [[ -f $XCI_PATH/scenarios/${OPNFV_SCENARIO:-_no_scenario_}/xci_overrides ]]; then
- source $XCI_PATH/scenarios/$OPNFV_SCENARIO/xci_overrides
+if [[ -f $XCI_PATH/xci/scenarios/${OPNFV_SCENARIO:-_no_scenario_}/xci_overrides ]]; then
+ source $XCI_PATH/xci/scenarios/$OPNFV_SCENARIO/xci_overrides
fi
#-------------------------------------------------------------------------------
@@ -161,9 +161,9 @@ echo "Info: Starting provisining VM nodes using openstack/bifrost"
echo "-------------------------------------------------------------------------"
# We are using sudo so we need to make sure that env_reset is not present
sudo sed -i "s/^Defaults.*env_reset/#&/" /etc/sudoers
-cd $XCI_PATH/../bifrost/
+cd $XCI_PATH/bifrost/
sudo -E bash ./scripts/destroy-env.sh
-cd $XCI_PATH/playbooks
+cd $XCI_PATH/xci/playbooks
ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory provision-vm-nodes.yml
cd ${OPENSTACK_BIFROST_PATH}
bash ./scripts/bifrost-provision.sh
@@ -184,7 +184,7 @@ echo
echo "Info: Configuring localhost for openstack-ansible"
echo "-----------------------------------------------------------------------"
-cd $XCI_PATH/playbooks
+cd $XCI_PATH/xci/playbooks
ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory configure-localhost.yml
echo "-----------------------------------------------------------------------"
echo "Info: Configured localhost host for openstack-ansible"
@@ -324,7 +324,7 @@ echo "Info: OpenStack installation is successfully completed!"
#-------------------------------------------------------------------------------
echo "Info: Openstack login details"
echo "-----------------------------------------------------------------------"
-OS_USER_CONFIG=$XCI_PATH/file/$XCI_FLAVOR/openstack_user_config.yml
+OS_USER_CONFIG=$XCI_PATH/xci/file/$XCI_FLAVOR/openstack_user_config.yml
python -c \
"import yaml
if '$XCI_FLAVOR' is 'aio':