diff options
Diffstat (limited to 'xci')
20 files changed, 778 insertions, 75 deletions
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/config/pinned-versions b/xci/config/pinned-versions index 94a6215f..e3bfc8db 100755 --- a/xci/config/pinned-versions +++ b/xci/config/pinned-versions @@ -27,5 +27,5 @@ export OPNFV_RELENG_VERSION="master" # HEAD of bifrost "master" as of 20.11.2017 export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-"cc46b9280cb0f65e8903af1b15994021018de27e"} -# HEAD of osa "master" as of 17.11.2017 -export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"56eefa2f66aa7c77df831ef3332bdfa0802d9a04"} +# HEAD of osa "master" as of 28.11.2017 +export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"746330cc858ad2c419571e56248f6ee82280a3da"} diff --git a/xci/file/ansible-role-requirements.yml b/xci/file/ansible-role-requirements.yml index 9ddf35dc..210d30a9 100644 --- a/xci/file/ansible-role-requirements.yml +++ b/xci/file/ansible-role-requirements.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 56eefa2f66aa7c77df831ef3332bdfa0802d9a04 on 2017-11-16 -# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=56eefa2f66aa7c77df831ef3332bdfa0802d9a04 +# these versions are based on the osa commit 746330cc858ad2c419571e56248f6ee82280a3da on 2017-11-27 +# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=746330cc858ad2c419571e56248f6ee82280a3da - name: ansible-hardening scm: git src: https://git.openstack.org/openstack/ansible-hardening - version: 422b793b804bcac6fa4059d70ce368c5beab9d5d + version: a327782cbac314842b674a1d3430d3ce50c56372 - name: apt_package_pinning scm: git src: https://git.openstack.org/openstack/openstack-ansible-apt_package_pinning - version: f418e57df4bcef7f8c45ee1b144ec9a36f0c3763 + version: 75bdbb43da0cee6576b675b71ef1de05e00ebd03 - name: pip_install scm: git src: https://git.openstack.org/openstack/openstack-ansible-pip_install - version: 58c5209b7092f17336aa976a7aed9f5a779ba5ab + version: 4e7e23f6e99d542468774cc4708522f330972908 - name: galera_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-galera_client - version: b46c4041ab9613cc1e74d8d1e3fa7da10acac90a + version: 1da9865aab0fd4c5236195cf0aaec89c119c1632 - name: galera_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-galera_server - version: bc21a02e18a253c6a371f87fa6827a30290bdc5b + version: e9d7ab177e8b9b0ac17c76732c9c7bd560bd332d - name: ceph_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-ceph_client - version: b8435286464252cafb1fbf3b66e9d77bcb5c5182 + version: 626d1d3e6d19c782630f81b68332e37b0dc0a27a - name: haproxy_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-haproxy_server - version: d37a83f829d6d24d5b1f5bfd605fce9b4476b3a2 + version: b6144485c6cb214345175ff67138805fa6b76507 - 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: f2da60b3ff5433ffb805a5782c06d905e8a0b360 + version: 299213ba23fb7e6b8ab064201dc977f0ed50df23 - name: lxc_hosts scm: git src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts - version: 69ab10bee5386dbef6ca328743e669400cd9b65e + version: 925e42afe7dd8457d74ddd2f969f81704393659f - name: memcached_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-memcached_server - version: 25c230d78d710b091a8d7f6d5299b4e79321c7af + version: dff6aeda0497eb04877515ea9885dc7bd6470c23 - name: openstack_hosts scm: git src: https://git.openstack.org/openstack/openstack-ansible-openstack_hosts - version: 4852c5c84dcfc23b0d67df58b164bd8b933cabba + version: 1016c0446b1da5310db42ec2fff3250a3c39be55 - name: os_keystone scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_keystone - version: b2d3e2b9caa8dad5e507d777804153914f2bdc49 + version: ada86843ee6744d5e21a76050afd7f96d79671a1 - name: openstack_openrc scm: git src: https://git.openstack.org/openstack/openstack-ansible-openstack_openrc - version: abeb9ff2851567d724e58837a09abaa49ad48cf8 + version: a2fe8347c5c5a0bb0613ba50be04248b8b2556da - name: os_aodh scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_aodh - version: eb17064d0e78b1f94782aeebc1336f93704e903a + version: d99bbee0b126a2471b714308267abee429f08ccb - name: os_barbican scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_barbican - version: ae6546fe33e83ceacc201680da3cb83549e7448f + version: df193705ebfe525bb043a605a5a1137b22d8a046 - 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: 066c95e65601eb606c5063053a735c14ee5b52e3 + version: 536dd3446e0fc7fc68ab42b982ac9affc4215787 - name: os_designate scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_designate - version: 7f26efbcd7772e86412851bc4fcde5309d9ccee5 + version: 20230cae327087601320610c4168d0187cd1c31a - name: os_glance scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_glance - version: 1f16d86fb077f3976e24c0b2d4e7e97853da300d + version: 118a11009bcb44ac8958e96628fc5321906e37ab - name: os_gnocchi scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_gnocchi - version: ca853886f317d2100d903af823d5ea9b08f3fc2e + version: b1f7574dc529f8298a983d8d0e09520e90b571a8 - name: os_heat scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_heat - version: 3a7cde39fd61135871682753ae1fd822d9e13762 + version: 903ebc7eb1254bbdd0dd5d29244cd619388dfb80 - name: os_horizon scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_horizon - version: b04249ad8980b220d1322660a352c705406ea25f + version: 8aef684fdd6aa2492855bc0ac27f8a9fab37bb47 - name: os_ironic scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_ironic - version: 4ab463b9f265486c11f30be94678030e4c116341 + version: d43068c4b5757f96b8c74659bd3320e92df1475d - name: os_magnum scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_magnum - version: ce85f2d38150f4a420cc87b348070c28788e7cb6 + version: 487c5011b64eb87d9375824d5df9585d1ee98677 - name: os_molteniron scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_molteniron - version: d11473d2ad74dfa3e8eccdca24ede0b540fd0686 + version: 61685668a8230c8f32ae7713f323814aa39dbc3e - name: os_neutron scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_neutron - version: c03c932c9b172c2fc4d9033684d124e2a3141081 + version: a41809c81fbd1bc3538282cb569f6a4d4243c6dd - name: os_nova scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_nova - version: 503045e090e0e139158ad4c805f75bdaea12aa0a + version: 0a976790b975def34b4aad1964e2c769fff97b41 - name: os_octavia scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_octavia - version: 69d8775996ee1575c13fa88045fa93fda7fac688 + version: 51b2e89ae6694f9392811d3ae3332cbd010c0c91 - name: os_rally scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_rally - version: 93c60fccd69c2f491ca0e57fbedb80d737bfbf83 + version: 6fd0163fdac16867cb1fe93278ed0fb8acf9d743 - name: os_sahara scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_sahara - version: f25a80c6f7d0cffbe9cf2a80a8fd142106beed0b + version: 073b3b2a90aca8c4bde076dfe427ca4d13f5d3ae - name: os_swift scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_swift - version: 4858c02c14803f2537dc32d64ca8dee5cb4b191d + version: 7edad7c2b48f5dc68146a95aacd4c4105c2e4e61 - name: os_tacker scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_tacker - version: 7a3628e3ed9eafbf6cb20e73f63992d8997695fb + version: 2b6927602aee911bfdf5137f4768878a19e2d57a - name: os_tempest scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_tempest - version: 5e1c5a98a8e15363d8ba5c401e81a55b4af71a5d + version: 9cb630feacd7d5a55c79ff23a2cd78a2c566e050 - name: os_trove scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_trove - version: 2bea79fb9d37ec75b7e1fbd5b3d864ccf6300f7e + version: 2701e37f780c6524ac8954a7a3d03b1e292fcff8 - name: plugins scm: git src: https://git.openstack.org/openstack/openstack-ansible-plugins - version: 2091a0bc609ca33e6a1c38d6a690b7aaa5bd42ab + version: 8ead9b26853dfe8a23053059d94c3b6839347ebb - name: rabbitmq_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-rabbitmq_server - version: b44bd832084c01ab18dac212ab6d911b20600ef1 + version: 555015e3ca61c56f96d13d33fbb4ccad63b26daf - name: repo_build scm: git src: https://git.openstack.org/openstack/openstack-ansible-repo_build - version: e4814269677f0482278b14e91049aa35b6c8db79 + version: 8bf88ee08568454269537394f5fce8fa04d87eaf - name: repo_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-repo_server - version: 1fd7a55b71d8397d98e63947224714610ac175fa + version: 956a942e5b0fd2ee2439d7d77ee6c6930d01467f - name: rsyslog_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_client - version: 9a453072c693e20ba26e7682f11ca3e7cf2a8abe + version: 1dedc323ca44e98ee2a7a5e75ded3164ec9b5cf5 - name: rsyslog_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_server - version: 8bbf07b66739f50bacd94860d04abafaa70d941e + version: c6edf56dd21c530fa0aa0490ef7c012db3105e45 - name: sshd scm: git src: https://github.com/willshersystems/ansible-sshd @@ -219,7 +219,7 @@ version: f3adfac8fc50fa8095af82bb44d9f540435b400a - name: opendaylight scm: git - src: https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git + src: https://github.com/opendaylight/integration-packaging-ansible-opendaylight version: 2af197bd13f77d2a07878b160c00f8ceeebb3c34 - name: haproxy_endpoints scm: git diff --git a/xci/opnfv-scenario-requirements.yml b/xci/opnfv-scenario-requirements.yml index cde6467d..664b020a 100644 --- a/xci/opnfv-scenario-requirements.yml +++ b/xci/opnfv-scenario-requirements.yml @@ -21,4 +21,9 @@ src: https://git.opnfv.org/releng-xci version: master role: xci/scenarios/os-nosdn-ovs/role/os-nosdn-ovs +- scenario: os-odl-nofeature + scm: git + src: https://git.opnfv.org/releng-xci + version: master + role: xci/scenarios/os-odl-nofeature/role/os-odl-nofeature diff --git a/xci/playbooks/bootstrap-scenarios.yml b/xci/playbooks/bootstrap-scenarios.yml index da5baf0f..d7b43dd6 100644 --- a/xci/playbooks/bootstrap-scenarios.yml +++ b/xci/playbooks/bootstrap-scenarios.yml @@ -13,3 +13,7 @@ include_role: name: "os-nosdn-ovs" when: OPNFV_SCENARIO == 'os-nosdn-ovs' +- name: Prepare everything to run the os-odl-nofeature scenario + include_role: + name: "os-odl-nofeature" + when: OPNFV_SCENARIO == 'os-odl-nofeature' 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..fde2944e 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,18 +324,18 @@ 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': - print 'Horizon UI is available at https://192.168.122.2' + print 'Horizon UI is available at https://$OPNFV_HOST_IP' else: host_info = open('$OS_USER_CONFIG', 'r') net_config = yaml.safe_load(host_info) print 'Info: Horizon UI is available at https://{}' \ .format(net_config['global_overrides']['external_lb_vip_address'])" -USERNAME=$(ssh -q root@192.168.122.2 awk "/OS_USERNAME=./" openrc) -PASSWORD=$(ssh -q root@192.168.122.2 awk "/OS_PASSWORD=./" openrc) +USERNAME=$(ssh -q root@$OPNFV_HOST_IP awk "/OS_USERNAME=./" openrc) +PASSWORD=$(ssh -q root@$OPNFV_HOST_IP awk "/OS_PASSWORD=./" openrc) echo "Info: Admin username - ${USERNAME##*=}" echo "Info: Admin password - ${PASSWORD##*=}" echo "Info: It is recommended to change the default password." |