diff options
30 files changed, 470 insertions, 316 deletions
diff --git a/xci/config/env-vars b/xci/config/env-vars index 36ae97c0..0458f311 100755 --- a/xci/config/env-vars +++ b/xci/config/env-vars @@ -28,6 +28,7 @@ export XCI_PLAYBOOKS=${XCI_PATH}/xci/playbooks # Functest parameters export FUNCTEST_MODE=${FUNCTEST_MODE:-"tier"} export FUNCTEST_SUITE_NAME=${FUNCTEST_SUITE_NAME:-"healthcheck"} +export FUNCTEST_VERSION=${FUNCTEST_VERSION:-"latest"} # CI paremeters export CI_LOOP=${CI_LOOP:-"daily"} @@ -45,15 +46,15 @@ export LOG_PATH=${LOG_PATH:-${XCI_PATH}/xci/logs} # This currently matches to OSA Ansible version but it doesn't really # matter since bifrost and OSA will use the Ansible version they need. # Overall, it's better to use what OSA supports so we can use new features. +# OSA currently has 2.5.5 which breaks due to missing +# https://github.com/ansible/ansible/commit/67859c3476501d5d9839fd904aec55468d09593a +# This was fixed in 2.5.6 so remove the pin when OSA updates to newer version. #export XCI_ANSIBLE_PIP_VERSION=${XCI_ANSIBLE_PIP_VERSION:-$(curl -s https://raw.githubusercontent.com/openstack/openstack-ansible/${OPENSTACK_OSA_VERSION}/scripts/bootstrap-ansible.sh | grep ansible== | sed -n "s/.*ansible==\([0-9.]*\).*/\1/p")} -# bifrost needs 2.4 but OSA is currently on 2.6 -export XCI_ANSIBLE_PIP_VERSION="2.4.6.0" +export XCI_ANSIBLE_PIP_VERSION="2.5.8" export ANSIBLE_HOST_KEY_CHECKING=False -# subject of the certificate -export XCI_SSL_SUBJECT=${XCI_SSL_SUBJECT:-"/C=US/ST=California/L=San Francisco/O=IT/CN=xci.releng.opnfv.org"} export DEPLOY_SCENARIO=${DEPLOY_SCENARIO:-"os-nosdn-nofeature"} -# Kubespray requires that ansible version is 2.4.4 -export XCI_KUBE_ANSIBLE_PIP_VERSION=2.4.4 +# attempt to sync Ansible version used by Kubespray with the rest +export XCI_KUBE_ANSIBLE_PIP_VERSION=$XCI_ANSIBLE_PIP_VERSION # OpenStack global requirements version export OPENSTACK_REQUIREMENTS_VERSION=${OPENSTACK_REQUIREMENTS_VERSION:-$(awk '/requirements_git_install_branch:/ {print $2}' ${XCI_PATH}/xci/installer/osa/files/openstack_services.yml)} diff --git a/xci/config/pinned-versions b/xci/config/pinned-versions index b5f5480d..69892b40 100755 --- a/xci/config/pinned-versions +++ b/xci/config/pinned-versions @@ -25,23 +25,24 @@ #------------------------------------------------------------------------------- # use releng-xci from master until the development work with the sandbox is complete export OPNFV_RELENG_VERSION="master" -# HEAD of bifrost "master" as of 17.08.2018 -export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-"c1c6fb7487d5b967624400623fd35aabf303b917"} -# HEAD of ironic "master" as of 17.08.2018 -export BIFROST_IRONIC_VERSION=${BIFROST_IRONIC_VERSION:-"d792111b46e37181f1447d697f32a6023208df04"} -# HEAD of ironic-client "master" as of 17.08.2018 -export BIFROST_IRONIC_CLIENT_VERSION=${BIFROST_IRONIC_CLIENT_VERSION:-"d30d415684f979fa78c70a738f90dab06b77a046"} -# HEAD of ironic-inspector "master" as of 17.08.2018 -export BIFROST_IRONIC_INSPECTOR_VERSION=${BIFROST_IRONIC_INSPECTOR_VERSION:-"be06e77dabbbd5ffa4ff48a1a676305c4db2f581"} -# HEAD of ironic-inspector-client "master" as of 17.08.2018 -export BIFROST_IRONIC_INSPECTOR_CLIENT_VERSION=${BIFROST_IRONIC_INSPECTOR_CLIENT_VERSION:-"6eed85c38ee63ade0c2720120fbc9d0520c14f55"} -# HEAD of osa "stable/rocky" as of 17.08.2018 -export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"cbfdb7dc295ff702044b807336fab067d84a3f20"} +# HEAD of bifrost "master" as of 30.08.2018 +export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-"0d0cfd908d10a670668619c575fd338d1ff328b7"} +# HEAD of ironic "stable/rocky" as of 30.08.2018 +export BIFROST_IRONIC_VERSION=${BIFROST_IRONIC_VERSION:-"65ab326b449c30887062b4b2a037224c8d3db000"} +# HEAD of ironic-client "stable/rocky" as of 30.08.2018 +export BIFROST_IRONIC_CLIENT_VERSION=${BIFROST_IRONIC_CLIENT_VERSION:-"b29646d0e8db4c534ad7ca495a3fb73882f1ef43"} +# HEAD of ironic-inspector "stable/rocky" as of 30.08.2018 +export BIFROST_IRONIC_INSPECTOR_VERSION=${BIFROST_IRONIC_INSPECTOR_VERSION:-"403888919bc7f40c1c51f32fe23dff44da3cbcca"} +# HEAD of ironic-inspector-client "stable/rocky" as of 30.08.2018 +export BIFROST_IRONIC_INSPECTOR_CLIENT_VERSION=${BIFROST_IRONIC_INSPECTOR_CLIENT_VERSION:-"eb588de8ba69d750223b024b24346c088c023272"} +# HEAD of osa "stable/rocky" as of 07.09.2018 +export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"ff6161e7f08b8ffe9ff6e0552517ea3f10292cf8"} export KEEPALIVED_VERSION=$(grep -E '.*name: keepalived' -A 3 \ ${XCI_PATH}/xci/installer/osa/files/ansible-role-requirements.yml \ | tail -n1 | sed -n 's/\(^.*: \)\([0-9a-z].*$\)/\2/p') export HAPROXY_VERSION=$(grep -E '.*name: haproxy_server' -A 3 \ ${XCI_PATH}/xci/installer/osa/files/ansible-role-requirements.yml \ | tail -n1 | sed -n 's/\(^.*: \)\([0-9a-z].*$\)/\2/p') -# HEAD of kubspray "master" as of 16.05.2018 -export KUBESPRAY_VERSION=${KUBESPRAY_VERSION:-"38e727dbe1bdf5316fae8d645718cc8279fbda20"} +# Kubespray release v2.6.0 dated 10.08.2018 +# didn't bump to the tip of master due to open issues with the k8s v1.11.2 +export KUBESPRAY_VERSION=${KUBESPRAY_VERSION:-"8b3ce6e418ccf48171eb5b3888ee1af84f8d71ba"} diff --git a/xci/files/requirements.yml b/xci/files/requirements.yml index a1b7feb3..1e097b09 100644 --- a/xci/files/requirements.yml +++ b/xci/files/requirements.yml @@ -7,4 +7,4 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -- src: peru.proxy_settings +- src: ruzickap.proxy_settings diff --git a/xci/infra/bifrost/playbooks/opnfv-virtual.yml b/xci/infra/bifrost/playbooks/opnfv-virtual.yml index 68d76cfc..abac7ba2 100644 --- a/xci/infra/bifrost/playbooks/opnfv-virtual.yml +++ b/xci/infra/bifrost/playbooks/opnfv-virtual.yml @@ -128,10 +128,6 @@ setup: delegate_to: opnfv delegate_facts: False - - name: "Override default bifrost DNS if we are behind a proxy" - set_fact: - ipv4_nameserver: "192.168.122.1" - when: lookup('env','http_proxy') != '' - name: Find network interface in the OPNFV node set_fact: network_interface: "{{ ansible_default_ipv4.interface }}" @@ -147,6 +143,8 @@ - import_role: name: bifrost-configdrives-dynamic private: True + vars: + ipv4_namesever: "{{ ipv4_nameserver | ((lookup('env','http_proxy') != '') | ternary('192.168.122.1', '8.8.8.8')) }}" delegate_to: opnfv - import_role: name: bifrost-deploy-nodes-dynamic diff --git a/xci/installer/kubespray/deploy.sh b/xci/installer/kubespray/deploy.sh index bcd7dc1d..98b1dcdb 100755 --- a/xci/installer/kubespray/deploy.sh +++ b/xci/installer/kubespray/deploy.sh @@ -92,15 +92,30 @@ ssh root@$OPNFV_HOST_IP "mkdir -p ~/.kube/;\ cp -f ~/admin.conf ~/.kube/config; \ cp -f ~/kubectl /usr/local/bin || true" +#------------------------------------------------------------------------------- +# Execute post-installation tasks +#------------------------------------------------------------------------------- +# Playbook post.yml is used in order to execute any post-deployment tasks that +# are required for the scenario under test. +#------------------------------------------------------------------------------- +echo "-----------------------------------------------------------------------" +echo "Info: Running post-deployment scenario role" +echo "-----------------------------------------------------------------------" +cd $K8_XCI_PLAYBOOKS +ansible-playbook ${XCI_ANSIBLE_PARAMS} -i ${XCI_PLAYBOOKS}/dynamic_inventory.py \ + post-deployment.yml +echo "-----------------------------------------------------------------------" +echo "Info: Post-deployment scenario role execution done" +echo "-----------------------------------------------------------------------" +echo echo "Login opnfv host ssh root@$OPNFV_HOST_IP according to the user-guide to create a service https://kubernetes.io/docs/user-guide/walkthrough/k8s201/" - echo echo "-----------------------------------------------------------------------" echo "Info: Kubernetes login details" echo "-----------------------------------------------------------------------" - +echo # Get the dashborad URL DASHBOARD_SERVICE=$(ssh root@$OPNFV_HOST_IP "kubectl get service -n kube-system |grep kubernetes-dashboard") DASHBOARD_PORT=$(echo ${DASHBOARD_SERVICE} | awk '{print $5}' |awk -F "[:/]" '{print $2}') diff --git a/xci/installer/kubespray/playbooks/configure-opnfvhost.yml b/xci/installer/kubespray/playbooks/configure-opnfvhost.yml index 00a8053f..82ece961 100644 --- a/xci/installer/kubespray/playbooks/configure-opnfvhost.yml +++ b/xci/installer/kubespray/playbooks/configure-opnfvhost.yml @@ -28,12 +28,29 @@ configure_network: xci_flavor != 'aio' tasks: + - name: Create list of files to copy + shell: | + git ls-tree -r --name-only HEAD > {{ xci_cache }}/releng-xci.files + echo ".git/" >> {{ xci_cache }}/releng-xci.files + echo ".cache/repos/" >> {{ xci_cache }}/releng-xci.files + echo ".cache/xci.env" >> {{ xci_cache }}/releng-xci.files + args: + executable: /bin/bash + chdir: "{{ xci_path }}" + changed_when: False + delegate_to: 127.0.0.1 + tags: + - skip_ansible_lint + - name: Copy releng-xci to remote host synchronize: + archive: yes src: "{{ xci_path }}/" dest: "{{ remote_xci_path }}" - recursive: yes delete: yes + rsync_opts: + - "--recursive" + - "--files-from={{ xci_cache }}/releng-xci.files" - name: delete the opnfv_inventory directory file: @@ -83,9 +100,6 @@ - { name: 'netaddr' } - { name: 'ansible-modules-hashivault' } - - name: Configure SSL certificates - include_tasks: "{{ xci_path }}/xci/playbooks/manage-ssl-certs.yml" - - name: fetch xci environment copy: src: "{{ xci_path }}/.cache/xci.env" diff --git a/xci/installer/kubespray/playbooks/configure-targethosts.yml b/xci/installer/kubespray/playbooks/configure-targethosts.yml index 7989bfb6..859460c6 100644 --- a/xci/installer/kubespray/playbooks/configure-targethosts.yml +++ b/xci/installer/kubespray/playbooks/configure-targethosts.yml @@ -37,6 +37,4 @@ when: xci_flavor == 'ha' - role: "haproxy_server" haproxy_service_configs: "{{ haproxy_default_services}}" - haproxy_user_ssl_cert: "/etc/ssl/certs/xci.crt" - haproxy_user_ssl_key: "/etc/ssl/private/xci.key" when: xci_flavor == 'ha' diff --git a/xci/installer/kubespray/playbooks/post-deployment.yml b/xci/installer/kubespray/playbooks/post-deployment.yml new file mode 100644 index 00000000..5c2f7f36 --- /dev/null +++ b/xci/installer/kubespray/playbooks/post-deployment.yml @@ -0,0 +1,42 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +- hosts: opnfv + remote_user: root + vars_files: + - "{{ xci_path }}/xci/var/opnfv.yml" + + pre_tasks: + - name: Load distribution variables + include_vars: + file: "{{ item }}" + with_items: + - "{{ xci_path }}/xci/var/{{ ansible_os_family }}.yml" + - name: Set facts for remote deployment + set_fact: + remote_xci_scenario_path: "{{ ansible_env.HOME }}/releng-xci/.cache/repos/scenarios/{{ deploy_scenario }}/scenarios/{{ deploy_scenario }}" + + tasks: + - name: Reload XCI deployment host facts + setup: + filter: ansible_local + gather_subset: "!all" + delegate_to: 127.0.0.1 + + - name: Check if any post-deployment task defined for {{ deploy_scenario }} role + stat: + path: "{{ remote_xci_scenario_path }}/role/{{ deploy_scenario }}/tasks/post-deployment.yml" + register: post_deployment_yml + + - name: Execute post-deployment tasks of {{ deploy_scenario }} role + include_role: + name: "{{ hostvars['opnfv'].ansible_local.xci.scenarios.role }}" + tasks_from: post-deployment + when: + - post_deployment_yml.stat.exists diff --git a/xci/installer/osa/files/ansible-role-requirements.yml b/xci/installer/osa/files/ansible-role-requirements.yml index 551afff8..fdc466cc 100644 --- a/xci/installer/osa/files/ansible-role-requirements.yml +++ b/xci/installer/osa/files/ansible-role-requirements.yml @@ -7,201 +7,200 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -# these versions are based on the osa commit cbfdb7dc295ff702044b807336fab067d84a3f20 on 2018-08-17 -# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=cbfdb7dc295ff702044b807336fab067d84a3f20 +# these versions are based on the osa commit ff6161e7f08b8ffe9ff6e0552517ea3f10292cf8 on 2018-09-05 +# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=ff6161e7f08b8ffe9ff6e0552517ea3f10292cf8 - name: ansible-hardening scm: git src: https://git.openstack.org/openstack/ansible-hardening - version: 98ea9c853dd21976bd5aa6d651c7ac4120d378d3 + version: d6d2b22e48f9295522b06bbd6a30b4a7d9168020 - name: apt_package_pinning scm: git src: https://git.openstack.org/openstack/openstack-ansible-apt_package_pinning - version: 0cedf5bd56711cc5970ed19568975ae6580cc275 + version: 4b2584d699c79ac65acfeb2157a97327df6f0fd6 - name: pip_install scm: git src: https://git.openstack.org/openstack/openstack-ansible-pip_install - version: 1c353c2c4df1284dbf074de23bc9169cc1ed5b36 + version: ac497c25107f7e16f8e6a64f16e114706e10eff0 - name: galera_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-galera_client - version: dcb176a80900d6c339e8a47a902c58890aac5f48 + version: 680779b74368a0336987d4f956959118db051716 - name: galera_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-galera_server - version: e31b62bc97f9ec90caf33005a4d3160b31cd5157 + version: 256b7350fff2a0aec2a8921a867c63ecb067d230 - name: ceph_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-ceph_client - version: 69df4e13b4d08935b6db3f8a353d0b7f9125c756 + version: 54301d205b20ee2fb9615addfd6185b62388ab99 - name: haproxy_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-haproxy_server - version: 9458e7595f9eb712ec531745a2f866bf54d19aaf + version: 3dfda4ca5df51f80147730b1922f81942348f5f0 - name: keepalived scm: git src: https://github.com/evrardjp/ansible-keepalived - version: 3.1.3 + version: 64764d25ab868417f1138a7b9605f2eb94cbfd02 - name: lxc_container_create scm: git src: https://git.openstack.org/openstack/openstack-ansible-lxc_container_create - version: ecc66e996d0ab9ee2fb5ba5ef79a03d444748d61 + version: 747c2ecab825347700fb54b07d5324952066188c - name: lxc_hosts scm: git src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts - version: 66e55606b86cfc58a4c75600636c978b8a3e6d16 + version: 1c9384fbe90a0d570cd9fc94606804ccc1e9a3d4 - name: memcached_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-memcached_server - version: e24a3848347b814c7cd60a5a760ffdd947f8a832 + version: df909d23eac28746933526a806b4b9b6f198ca02 - name: openstack_hosts scm: git src: https://git.openstack.org/openstack/openstack-ansible-openstack_hosts - version: 17924f5b375c38bc3e7901d0535050e785af0a4e + version: cc3b2539c1bf448bb9764c0d6e1775373684e458 - name: os_keystone scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_keystone - version: c6223a9b59fe035c59c1a6e154af3cab2c3407d0 + version: 50108f68ecc1c7fcde894fdab1b0f682e6179b5a - name: openstack_openrc scm: git src: https://git.openstack.org/openstack/openstack-ansible-openstack_openrc - version: 5ebb634a3b353798bbad2e86e0e963b8c75ed879 + version: 6c589d69ea4893c35f2d561aa6a18a30486950e2 - name: os_aodh scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_aodh - version: 271174094cf6fc4520b3204b64500fea556be83b + version: af239d4a609efd9d2765e6236b9f1c7c1e11acbd - name: os_barbican scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_barbican - version: c3ecdf093c9b21e1bbcafea3e2407cf1a62766bb + version: 0dbe12c8a4d5296c24edc1c85173fd1338db0cca - name: os_ceilometer scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_ceilometer - version: 49c51519c4d74e0996120cc952aca8af2e4599a8 + version: 325c9741c42356a7275015b77fad1fa7136a55e9 - name: os_cinder scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_cinder - version: 08a6b00dcbb1f0505c03adb81aa9d4bfc7f4be3e + version: fb50ae8d6b2c0f79f3b39515c3cb55cc8061de23 - name: os_congress scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_congress - version: c77967c05f8d1d7c5ec7a43e86bb8ccb020d691f + version: a182cf9cbfc8927d19499b49200671bf85396339 - name: os_designate scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_designate - version: d90a631c358a6234604b3f3de58b73bb19d51f8e + version: dbfcbaae7fbac66142398eb05b37210e48d9eed2 - name: os_glance scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_glance - version: aa8c698d8b10d07b6a4d3472b4b41405fbdc1e72 + version: f65fcba32a1fda29708f2c21b6df74bb74ef8726 - name: os_gnocchi scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_gnocchi - version: d1e6f6cf8a8c891c10ec975ff42d51fc433b4340 + version: 95e09c8617b12ff6378f51bb95efd43d3e7a174a - name: os_heat scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_heat - version: a1c58116d959c214316ec1a5e0e399235ff2fb58 + version: a549d4fc90087c81db02167eec28c6dd02bdd4b0 - name: os_horizon scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_horizon - version: 41291565f82d804aeebc15d0e1c0d719e00c37e1 + version: b9ca21a603345eb4bfe26ad0266d6bcd4a601c00 - name: os_ironic scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_ironic - version: 1d7dba5d1caded7bd0c1b602f1c71ab5196fd096 + version: 635b5cd8316e18b8481c06de513f5db7a02917b9 - name: os_magnum scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_magnum - version: da4c82b94efc50d4702cb37b04f5c1f25c549d09 + version: 9e08a9f84983344f9183e6602f19d133d63b98de - name: os_neutron scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_neutron - version: 337b86d0ad7efc52bdaa43ab6ca142193cfa7ad8 + version: 3db0b9ee91f6e8b99eb4ada99fa5ed75fd826e62 - name: os_nova scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_nova - version: 6dfafc355e587838dba9176ba16713ea78181ee7 + version: 2380b70a2eb88e06af3afbde137bcf6d25dee90a - name: os_octavia scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_octavia - version: 80a2f708c4858580773079fd825b5baf210b434a + version: 756f755b7141dbba1207635da95fbc66f0513fa4 - name: os_rally scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_rally - version: 5719333551b8f4aa0357894b818726fe41e87b14 + version: b362b5fd64ce44cde00e1527a29d505fcc2d5f54 - name: os_sahara scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_sahara - version: 1487d806a2bbe3d6b15556481f7ed495d67260cf + version: 5bf89e2bbd923a2c2854bbe9a7a7ac3e9ea4780b - name: os_swift scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_swift - version: e98404fa9a8357e5a3366caad066b0b99a67390a + version: d4af3504e8dc85981eb748c63e4b4460a7d8cacc - name: os_tacker scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_tacker - version: 366e357b968105f43e95df884fb24d4df0ab1860 + version: 2abe2230c9419072dbea6af3eb879ec989fd5a32 - name: os_tempest scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_tempest - version: 2a253115c3d0b9762b9f1a12052a6b5fd91ff3ff + version: 1d0fa847bfb49eaa259fa7b29f313adbab523371 - name: os_trove scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_trove - version: ea02134d91a0d67e5bc7ee495057e0c814b0ef05 + version: a5fe568345187cae713c6911de64dd38c9b477dc - name: plugins scm: git src: https://git.openstack.org/openstack/openstack-ansible-plugins - version: d95c7ab94ca86d148bcafd27f909e4c3b1016a71 - refspec: refs/changes/72/591672/15 + version: cda51825f822f3c5545b7789029e1d2a06b17ec8 - name: rabbitmq_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-rabbitmq_server - version: c75a1745175918b75c91665c2030b416dac923a9 + version: cbe65114782e0c77bfb168a20043c2e082932059 - name: repo_build scm: git src: https://git.openstack.org/openstack/openstack-ansible-repo_build - version: 20e0162a9f07febe44c0f6a356937e9e6f4faef4 + version: 8a4f9db4b8524f3388995374dc34e1f206581bc8 - name: repo_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-repo_server - version: f6c1d64aa5884f862bcc8958c5285eaea21ca67a + version: 3e9048136ba2eb88c6b14daef07960a93da53695 - name: rsyslog_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_client - version: fcbed2d2e240d807ae8b157c1f3a7cc300eca26b + version: 05ba6715240f1191a0d1f364726786ddf8aaaa96 - name: rsyslog_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_server - version: 6fccdc3d082be93be9e734ef3bfef724a3d7b7c6 + version: e4e527e5a86f1e08599ab04b5ef4b20c076aac4e - name: sshd scm: git src: https://github.com/willshersystems/ansible-sshd - version: v0.6.2 + version: 9575d16dd453f4d25e304bb226f0388b3fb1032a - name: bird scm: git src: https://github.com/logan2211/ansible-bird - version: '1.5' + version: 0fdb4848b5aca949ffade9be5a2ae254979e673e - name: etcd scm: git src: https://github.com/logan2211/ansible-etcd - version: '1.3' + version: 3933355dfe51477822db517d3c07ad561fb61318 - name: unbound scm: git src: https://github.com/logan2211/ansible-unbound - version: '1.6' + version: 3bb7414f46b757e943507b65ca4c9f1080a008b0 - name: resolvconf scm: git src: https://github.com/logan2211/ansible-resolvconf - version: '1.4' + version: a2ff5ba59b47f96ddddcb7a3a67de93687c317a6 - name: ceph-ansible scm: git src: https://github.com/ceph/ceph-ansible - version: v3.2.0beta1 + version: bf8f589958450ce07ec19d01fb98176ab50ab71f - name: opendaylight scm: git src: https://github.com/opendaylight/integration-packaging-ansible-opendaylight - version: b5613b96f2879590b5fe0e16886198b3fc809599 + version: 4e7d96224ad2a5d27eb7a3dcbc03a098bc45c809 - name: haproxy_endpoints scm: git src: https://github.com/logan2211/ansible-haproxy-endpoints @@ -209,24 +208,24 @@ - name: nspawn_container_create scm: git src: https://git.openstack.org/openstack/openstack-ansible-nspawn_container_create - version: 4de3b8e2ac6fe2e47cb9659d841a6c17a42c8756 + version: 74ceba89a64a44080d198d74169fb547beb8a867 - name: nspawn_hosts scm: git src: https://git.openstack.org/openstack/openstack-ansible-nspawn_hosts - version: 596bbd47bf53677f6589f25f04f7cf7b5c978c87 + version: b9183a5f1ee6463411636946feb155b5eb3271ce - name: systemd_service scm: git src: https://git.openstack.org/openstack/ansible-role-systemd_service - version: c809a93f0bb10c3a95eb2cd22aba54c4309bdf45 + version: fcd0651b9d811345bd4c3bffa059ed3c43b7d766 - name: systemd_mount scm: git src: https://git.openstack.org/openstack/ansible-role-systemd_mount - version: b52b1b626739abbebb42ab57f1b316dd71e6a7fb + version: 51e06d3e77328c21f0779ee9c8c3203c31ef0b4f - name: systemd_networkd scm: git src: https://git.openstack.org/openstack/ansible-role-systemd_networkd - version: a70f8b5dfac355c6d517b53eafa0d60052b7f3a5 + version: 3c1c4e43e36e588e4d6525e82066bcae74f9958f - name: python_venv_build scm: git src: https://git.openstack.org/openstack/ansible-role-python_venv_build - version: 78ba1a4423571d413be389f5479eca1c3a7fa718 + version: 9f58362c59c4ef45516be5c1d9341e5cbb36e1b2 diff --git a/xci/installer/osa/files/ha/user_variables.yml b/xci/installer/osa/files/ha/user_variables.yml index c51a6e12..8c2e9f0c 100644 --- a/xci/installer/osa/files/ha/user_variables.yml +++ b/xci/installer/osa/files/ha/user_variables.yml @@ -154,7 +154,7 @@ trove_wsgi_processes: 1 sahara_api_workers_max: 2 sahara_api_workers: 1 -openrc_os_auth_url: "http://192.168.122.220:5000/v3" +openrc_os_auth_url: "https://192.168.122.220:5000/v3" keystone_auth_admin_password: "opnfv-secret-password" openrc_os_password: "opnfv-secret-password" openrc_os_domain_name: "Default" @@ -163,9 +163,6 @@ openrc_nova_endpoint_type: "publicURL" openrc_os_endpoint_type: "publicURL" openrc_clouds_yml_interface: "public" openrc_region_name: RegionOne -haproxy_ssl: false -openstack_service_publicuri_proto: http -haproxy_user_ssl_cert: "/etc/ssl/certs/xci.crt" -haproxy_user_ssl_key: "/etc/ssl/private/xci.key" +openrc_insecure: true keystone_service_adminuri_insecure: true keystone_service_internaluri_insecure: true diff --git a/xci/installer/osa/files/mini/user_variables.yml b/xci/installer/osa/files/mini/user_variables.yml index ef56dd2c..b4d847bc 100644 --- a/xci/installer/osa/files/mini/user_variables.yml +++ b/xci/installer/osa/files/mini/user_variables.yml @@ -154,7 +154,7 @@ trove_wsgi_processes: 1 sahara_api_workers_max: 2 sahara_api_workers: 1 -openrc_os_auth_url: "http://192.168.122.3:5000/v3" +openrc_os_auth_url: "https://192.168.122.3:5000/v3" keystone_auth_admin_password: "opnfv-secret-password" openrc_os_password: "opnfv-secret-password" openrc_os_domain_name: "Default" @@ -163,9 +163,6 @@ openrc_nova_endpoint_type: "publicURL" openrc_os_endpoint_type: "publicURL" openrc_clouds_yml_interface: "public" openrc_region_name: RegionOne -haproxy_ssl: false -openstack_service_publicuri_proto: http -haproxy_user_ssl_cert: "/etc/ssl/certs/xci.crt" -haproxy_user_ssl_key: "/etc/ssl/private/xci.key" +openrc_insecure: true keystone_service_adminuri_insecure: true keystone_service_internaluri_insecure: true diff --git a/xci/installer/osa/files/noha/user_variables.yml b/xci/installer/osa/files/noha/user_variables.yml index 4e578819..5e7ed83c 100644 --- a/xci/installer/osa/files/noha/user_variables.yml +++ b/xci/installer/osa/files/noha/user_variables.yml @@ -154,7 +154,7 @@ trove_wsgi_processes: 1 sahara_api_workers_max: 2 sahara_api_workers: 1 -openrc_os_auth_url: "http://192.168.122.3:5000/v3" +openrc_os_auth_url: "https://192.168.122.3:5000/v3" keystone_auth_admin_password: "opnfv-secret-password" openrc_os_password: "opnfv-secret-password" openrc_os_domain_name: "Default" @@ -163,9 +163,6 @@ openrc_nova_endpoint_type: "publicURL" openrc_os_endpoint_type: "publicURL" openrc_clouds_yml_interface: "public" openrc_region_name: RegionOne -haproxy_ssl: false -openstack_service_publicuri_proto: http -haproxy_user_ssl_cert: "/etc/ssl/certs/xci.crt" -haproxy_user_ssl_key: "/etc/ssl/private/xci.key" +openrc_insecure: true keystone_service_adminuri_insecure: true keystone_service_internaluri_insecure: true diff --git a/xci/installer/osa/files/openstack_services.yml b/xci/installer/osa/files/openstack_services.yml index 7c2f0ab0..2c61cdc9 100644 --- a/xci/installer/osa/files/openstack_services.yml +++ b/xci/installer/osa/files/openstack_services.yml @@ -31,222 +31,272 @@ ## Global Requirements requirements_git_repo: https://git.openstack.org/openstack/requirements -requirements_git_install_branch: f629a2e6f17f2d666d4fe578e6c19518e1e9c0f4 # HEAD of "master" as of 03.07.2018 +requirements_git_install_branch: 42aae93777c9d0216dad52995efcb623e5f05555 # HEAD of "stable/rocky" as of 17.08.2018 +requirements_git_track_branch: stable/rocky ## Aodh service aodh_git_repo: https://git.openstack.org/openstack/aodh -aodh_git_install_branch: 179c8b798c5403f481ee2dd164f59f7477b82ef1 # HEAD of "master" as of 03.07.2018 +aodh_git_install_branch: 86a19d58cc8003cf34549fb3a64fd3fd356b7ad2 # HEAD of "stable/rocky" as of 27.08.2018 aodh_git_project_group: aodh_all +aodh_git_track_branch: stable/rocky ## Barbican service barbican_git_repo: https://git.openstack.org/openstack/barbican -barbican_git_install_branch: 5dea5cec130b59ecfb8d46435cd7eb3212894b4c # HEAD of "master" as of 03.07.2018 +barbican_git_install_branch: 3f6cccae4982e5a8fe1ca5a3fb198e1481a5891c # HEAD of "stable/rocky" as of 27.08.2018 barbican_git_project_group: barbican_all +barbican_git_track_branch: stable/rocky ## Ceilometer service ceilometer_git_repo: https://git.openstack.org/openstack/ceilometer -ceilometer_git_install_branch: c721cffb01c3903f20aa7d019e62f932208fbcb3 # HEAD of "master" as of 03.07.2018 +ceilometer_git_install_branch: 786f90c314ff89f23ebc1227c800bedbeaec204b # HEAD of "stable/rocky" as of 27.08.2018 ceilometer_git_project_group: ceilometer_all +ceilometer_git_track_branch: stable/rocky ## Cinder service cinder_git_repo: https://git.openstack.org/openstack/cinder -cinder_git_install_branch: 4bc1e5f6a33f66945b5a01e6d5b3d3688ae647d5 # HEAD of "master" as of 03.07.2018 +cinder_git_install_branch: 707b449c47a86dd40f8d264f012061549172389e # HEAD of "stable/rocky" as of 27.08.2018 cinder_git_project_group: cinder_all +cinder_git_track_branch: stable/rocky ## Designate service designate_git_repo: https://git.openstack.org/openstack/designate -designate_git_install_branch: fa9ae37ca7c369ee0af4ac300ab1acc06e0efb10 # HEAD of "master" as of 03.07.2018 +designate_git_install_branch: 3a33ca85eafc5310afe6578f7c0a1ed8235cd477 # HEAD of "stable/rocky" as of 27.08.2018 designate_git_project_group: designate_all +designate_git_track_branch: stable/rocky ## Horizon Designate dashboard plugin designate_dashboard_git_repo: https://git.openstack.org/openstack/designate-dashboard -designate_dashboard_git_install_branch: 5f713170e6926ec92bfbca0f3bbd255b9fd93933 # HEAD of "master" as of 03.07.2018 +designate_dashboard_git_install_branch: 630cc303cfd25458fc0a8bc68b0438e2b3721616 # HEAD of "stable/rocky" as of 27.08.2018 designate_dashboard_git_project_group: horizon_all +designate_dashboard_git_track_branch: stable/rocky ## Dragonflow service +# please update the branch (sha and update the comment) when stable/rocky is branched on this repo. dragonflow_git_repo: https://git.openstack.org/openstack/dragonflow -dragonflow_git_install_branch: 1d0bb1761d1a5425ef8bb62504351aec02695474 # HEAD of "master" as of 03.07.2018 +dragonflow_git_install_branch: 945b1e368c651ffa3655f42df724d9f13a7b6b96 # FROZEN HEAD of "master" as of 17.08.2018 dragonflow_git_project_group: neutron_all +dragonflow_git_track_branch: None ## Glance service glance_git_repo: https://git.openstack.org/openstack/glance -glance_git_install_branch: 9a893e80c2a5ee665487ce73845a88946d65ade4 # HEAD of "master" as of 03.07.2018 +glance_git_install_branch: 488d2e4fccc399234fd62c127c8ece262111fe93 # HEAD of "stable/rocky" as of 27.08.2018 glance_git_project_group: glance_all +glance_git_track_branch: stable/rocky ## Heat service heat_git_repo: https://git.openstack.org/openstack/heat -heat_git_install_branch: 9e463f4af77513980b1fd215d5d2ad3bf7b979f9 # HEAD of "master" as of 03.07.2018 +heat_git_install_branch: 207498dea1e9ca23485511cadbbdda85079e391f # HEAD of "stable/rocky" as of 27.08.2018 heat_git_project_group: heat_all +heat_git_track_branch: stable/rocky ## Horizon Heat dashboard plugin +# please update the branch (sha and update the comment) when stable/rocky is branched on this repo. heat_dashboard_git_repo: https://git.openstack.org/openstack/heat-dashboard -heat_dashboard_git_install_branch: 9cc6e6112b183b9628181766359aa653b17bddc9 # HEAD of "master" as of 03.07.2018 +heat_dashboard_git_install_branch: bc7f5068bbb6f7974eaffa2d865a859ff0fd0069 # FROZEN HEAD of "master" as of 17.08.2018 heat_dashboard_git_project_group: horizon_all +heat_dashboard_git_track_branch: None ## Horizon service horizon_git_repo: https://git.openstack.org/openstack/horizon -horizon_git_install_branch: e45811cc52d06e544db71dee60a4e68f7824729c # HEAD of "master" as of 03.07.2018 +horizon_git_install_branch: 9ced2fff0449d02bf1a5210c36b8635cc981d79e # HEAD of "stable/rocky" as of 27.08.2018 horizon_git_project_group: horizon_all +horizon_git_track_branch: stable/rocky ## Horizon Ironic dashboard plugin ironic_dashboard_git_repo: https://git.openstack.org/openstack/ironic-ui -ironic_dashboard_git_install_branch: 4823b8d76345897affa4d874a96aaa6e8b275c14 # HEAD of "master" as of 03.07.2018 +ironic_dashboard_git_install_branch: 36840aaa0da8053d2e4032c060a6a45af224572b # HEAD of "stable/rocky" as of 27.08.2018 ironic_dashboard_git_project_group: horizon_all +ironic_dashboard_git_track_branch: stable/rocky ## Horizon Magnum dashboard plugin magnum_dashboard_git_repo: https://git.openstack.org/openstack/magnum-ui -magnum_dashboard_git_install_branch: afd0cb6c8cc2477bad274b0d7c4635a24f4222b9 # HEAD of "master" as of 03.07.2018 +magnum_dashboard_git_install_branch: cfd93ba5bce986903af3ce113f3ce969390f9d37 # HEAD of "stable/rocky" as of 17.08.2018 magnum_dashboard_git_project_group: horizon_all +magnum_dashboard_git_track_branch: stable/rocky ## Horizon LBaaS dashboard plugin neutron_lbaas_dashboard_git_repo: https://git.openstack.org/openstack/neutron-lbaas-dashboard -neutron_lbaas_dashboard_git_install_branch: dde6dfb2eba8eb2f1d9cd61986032b512330b281 # HEAD of "master" as of 03.07.2018 +neutron_lbaas_dashboard_git_install_branch: 0d73ac97ac3fb19d13fc0d0981f005a94cfed224 # HEAD of "stable/rocky" as of 27.08.2018 neutron_lbaas_dashboard_git_project_group: horizon_all +neutron_lbaas_dashboard_git_track_branch: stable/rocky ## Horizon FWaaS dashboard plugin neutron_fwaas_dashboard_git_repo: https://git.openstack.org//openstack/neutron-fwaas-dashboard -neutron_fwaas_dashboard_git_install_branch: df7e11ff377c85486f44168975269b70fda5a3b2 # HEAD of "master" as of 03.07.2018 +neutron_fwaas_dashboard_git_install_branch: e7d3433fe8b671dd6ede65e81e831a0abe1bc859 # HEAD of "stable/rocky" as of 27.08.2018 neutron_fwaas_dashboard_git_project_group: horizon_all +neutron_fwaas_dashboard_git_track_branch: stable/rocky ## Horizon Sahara dashboard plugin sahara_dashboard_git_repo: https://git.openstack.org/openstack/sahara-dashboard -sahara_dashboard_git_install_branch: 0c10d0825f0d90505960fa72ffbafc4b8110b08d # HEAD of "master" as of 03.07.2018 +sahara_dashboard_git_install_branch: db8283502a9fe1d3b540dbacf9e607255d81a110 # HEAD of "stable/rocky" as of 27.08.2018 sahara_dashboard_git_project_group: horizon_all +sahara_dashboard_git_track_branch: stable/rocky ## Keystone service keystone_git_repo: https://git.openstack.org/openstack/keystone -keystone_git_install_branch: bc7eeff0dd6cd9329c66c8ef07e5ea63f5356397 # HEAD of "master" as of 03.07.2018 +keystone_git_install_branch: c767e254979c96858a81cc4bbe8d9773d4dd539b # HEAD of "stable/rocky" as of 27.08.2018 keystone_git_project_group: keystone_all +keystone_git_track_branch: stable/rocky ## Neutron service neutron_git_repo: https://git.openstack.org/openstack/neutron -neutron_git_install_branch: 878ac9b4633849cafa28d6e2df538d3df5b4ba88 # HEAD of "master" as of 03.07.2018 +neutron_git_install_branch: b6314ea6c3df11c6b27cd39844c53b65be0d9060 # HEAD of "stable/rocky" as of 27.08.2018 neutron_git_project_group: neutron_all +neutron_git_track_branch: stable/rocky neutron_lbaas_git_repo: https://git.openstack.org/openstack/neutron-lbaas -neutron_lbaas_git_install_branch: fd55125641c9458369842f72e1fc65060468ef5f # HEAD of "master" as of 03.07.2018 +neutron_lbaas_git_install_branch: 594ccd122bb2e4750392d92427fe1b151c269403 # HEAD of "stable/rocky" as of 27.08.2018 neutron_lbaas_git_project_group: neutron_all +neutron_lbaas_git_track_branch: stable/rocky neutron_vpnaas_git_repo: https://git.openstack.org/openstack/neutron-vpnaas -neutron_vpnaas_git_install_branch: 83db537dc68716954d25cf528bb076381563afa1 # HEAD of "master" as of 03.07.2018 +neutron_vpnaas_git_install_branch: 1f7708beb71ad371b47a3ee8e552c4f22d96b272 # HEAD of "stable/rocky" as of 27.08.2018 neutron_vpnaas_git_project_group: neutron_all +neutron_vpnaas_git_track_branch: stable/rocky neutron_fwaas_git_repo: https://git.openstack.org/openstack/neutron-fwaas -neutron_fwaas_git_install_branch: 4b4db7e98c469bc513ed3d0f3dfd1c4c99271dc6 # HEAD of "master" as of 03.07.2018 +neutron_fwaas_git_install_branch: 7567c42e99b298201b30593699d1e180e5bfa759 # HEAD of "stable/rocky" as of 27.08.2018 neutron_fwaas_git_project_group: neutron_all +neutron_fwaas_git_track_branch: stable/rocky neutron_dynamic_routing_git_repo: https://git.openstack.org/openstack/neutron-dynamic-routing -neutron_dynamic_routing_git_install_branch: 93a8b15840c945a497eb886a16e2dbdd88e76f59 # HEAD of "master" as of 03.07.2018 +neutron_dynamic_routing_git_install_branch: ac63f126c6bd0ab12d6cd80077023c3e5c264e98 # HEAD of "stable/rocky" as of 27.08.2018 neutron_dynamic_routing_git_project_group: neutron_all +neutron_dynamic_routing_git_track_branch: stable/rocky +# Networking Calico is following master networking_calico_git_repo: https://git.openstack.org/openstack/networking-calico -networking_calico_git_install_branch: cc24d10f5af45a1b7b39d8176bd0c7819d52bb9e # HEAD of "master" as of 03.07.2018 +networking_calico_git_install_branch: 501fc98c428b8dd6b9dd7bf6908dbcd7b94ead5c # HEAD of "master" as of 27.08.2018 networking_calico_git_project_group: neutron_all +networking_calico_git_track_branch: stable/rocky # ODL is frozen until further notice due to # https://github.com/openstack/networking-odl/commit/391c1d89ef2b8133d3aafbe7612c7908be106e73#diff-b4ef698db8ca845e5845c4618278f29a networking_odl_git_repo: https://git.openstack.org/openstack/networking-odl -networking_odl_git_install_branch: 53ff740b2a78626d5b077278997bdcec6b1b0892 # FROZEN HEAD of "master" as of 31.03.2018 +networking_odl_git_install_branch: 53ff740b2a78626d5b077278997bdcec6b1b0892 # FROZEN HEAD of "stable/rocky" as of 31.03.2018 networking_odl_git_project_group: neutron_all +networking_odl_git_track_branch: None + +networking_ovn_git_repo: https://git.openstack.org/openstack/networking-ovn +networking_ovn_git_install_branch: 44dcb509be15a805e00684cce2fabfc4c5265ad7 # HEAD of "stable/rocky" as of 17.08.2018 +networking_ovn_git_project_group: neutron_all # BGPVPN is frozen until further notice due to # https://github.com/openstack/networking-bgpvpn/commit/e9a0ea199b47f76f69545e04bdb4db44869c388b#diff-b4ef698db8ca845e5845c4618278f29a networking_bgpvpn_git_repo: https://git.openstack.org/openstack/networking-bgpvpn -networking_bgpvpn_git_install_branch: 3b93ddacd390d92fb144e5660324d4da064ad9a4 # FROZEN HEAD of "master" as of 31.03.2018 +networking_bgpvpn_git_install_branch: 3b93ddacd390d92fb144e5660324d4da064ad9a4 # FROZEN HEAD of "stable/rocky" as of 31.03.2018 networking_bgpvpn_git_project_group: neutron_all +networking_bgpvpn_git_track_branch: None networking_sfc_git_repo: https://git.openstack.org/openstack/networking-sfc -networking_sfc_git_install_branch: 379fcd5cfcb7a71e7dbbe969da0255bc3ff09a33 # HEAD of "master" as of 03.07.2018 +networking_sfc_git_install_branch: 4c38303620c8a3f38d7261a64ce8532979bf7560 # HEAD of "stable/rocky" as of 27.08.2018 networking_sfc_git_project_group: neutron_all +networking_sfc_git_track_branch: stable/rocky ## Nova service nova_git_repo: https://git.openstack.org/openstack/nova -nova_git_install_branch: df5c253b58f82dcca7f59ac34fc8b8b51e824ca4 # HEAD of "master" as of 03.07.2018 +nova_git_install_branch: 5bff489231c16e62f081267a5b433745dba12ded # HEAD of "stable/rocky" as of 27.08.2018 nova_git_project_group: nova_all +nova_git_track_branch: stable/rocky ## PowerVM Virt Driver nova_powervm_git_repo: https://git.openstack.org/openstack/nova-powervm -nova_powervm_git_install_branch: 4db7cda136bbbc93f1c278c17bdd8b63af3b17d7 # HEAD of "master" as of 03.07.2018 +nova_powervm_git_install_branch: 984b122668161703eee33918d570c61ae9c5b1ca # HEAD of "stable/rocky" as of 27.08.2018 nova_powervm_git_project_group: nova_all +nova_powervm_git_track_branch: stable/rocky ## LXD Virt Driver +# please update the branch (sha and update the comment) when stable/rocky is branched on this repo. nova_lxd_git_repo: https://git.openstack.org/openstack/nova-lxd -nova_lxd_git_install_branch: a02fce0d312fa5c22ea684b54fb29895fcd8267d # HEAD of "master" as of 03.07.2018 +nova_lxd_git_install_branch: bc8d540c95b3209321658000fd74b0e5065a7ee2 # FROZEN HEAD of "master" as of 17.08.2018 nova_lxd_git_project_group: nova_all +nova_lxd_git_track_branch: None ## Sahara service sahara_git_repo: https://git.openstack.org/openstack/sahara -sahara_git_install_branch: b23abe2f96b591db5f6d8fe1c1f08bbd22c7666d # HEAD of "master" as of 03.07.2018 +sahara_git_install_branch: 7d9483b21c1e45ef4834f3d3d9973d95d181df3c # HEAD of "stable/rocky" as of 27.08.2018 sahara_git_project_group: sahara_all +sahara_git_track_branch: stable/rocky ## Swift service swift_git_repo: https://git.openstack.org/openstack/swift -swift_git_install_branch: 3378a487339d894d7c751e911132fdd094663da5 # HEAD of "master" as of 03.07.2018 +swift_git_install_branch: cfc4f30d633dd962cd8d38e0f208b867131082fc # HEAD of "stable/rocky" as of 17.08.2018 swift_git_project_group: swift_all +swift_git_track_branch: stable/rocky ## Swift3 middleware +# please remove this when swift role is configured without this middleware (and uses swift code only) swift_swift3_git_repo: https://git.openstack.org/openstack/swift3 -swift_swift3_git_install_branch: 90db5d1510b2a770387961e7bf0fbeae8101ba45 # HEAD of "master" as of 03.07.2018 +swift_swift3_git_install_branch: 90db5d1510b2a770387961e7bf0fbeae8101ba45 # FROZEN HEAD of "master" as of 17.08.2018 swift_swift3_git_project_group: swift_all +swift_swift3_git_track_branch: None ## Ironic service ironic_git_repo: https://git.openstack.org/openstack/ironic -ironic_git_install_branch: 08e70c45288f1ec8a5ecc661f8bbef91d3b257c6 # HEAD of "master" as of 03.07.2018 +ironic_git_install_branch: 9ceb015a0a1aef961358953839a71dd3be57753e # HEAD of "stable/rocky" as of 27.08.2018 ironic_git_project_group: ironic_all +ironic_git_track_branch: stable/rocky ## Magnum service magnum_git_repo: https://git.openstack.org/openstack/magnum -magnum_git_install_branch: efe1fabd378c9e23e5ec6c492ac47b034839b244 # HEAD of "master" as of 03.07.2018 +magnum_git_install_branch: 0dbe6806ed51fdc08e7b118ac10eedd53d365b5b # HEAD of "stable/rocky" as of 27.08.2018 magnum_git_project_group: magnum_all +magnum_git_track_branch: stable/rocky ## Trove service trove_git_repo: https://git.openstack.org/openstack/trove -trove_git_install_branch: f025cf78d0e227cbcc8baec3a2d39a61ac4ac6c9 # HEAD of "master" as of 03.07.2018 +trove_git_install_branch: 50a27fafa16918d95eb49b0057b8eaf8593a6357 # HEAD of "stable/rocky" as of 27.08.2018 trove_git_project_group: trove_all +trove_git_track_branch: stable/rocky ## Horizon Trove dashboard plugin trove_dashboard_git_repo: https://git.openstack.org/openstack/trove-dashboard -trove_dashboard_git_install_branch: 06d17bc5fb683823326c81aeb2056a81af19d084 # HEAD of "master" as of 03.07.2018 +trove_dashboard_git_install_branch: 68dda48e33d54346d529c67b4a3d039ab79a8c4a # HEAD of "stable/rocky" as of 27.08.2018 trove_dashboard_git_project_group: horizon_all +trove_dashboard_git_track_branch: stable/rocky ## Octavia service octavia_git_repo: https://git.openstack.org/openstack/octavia -octavia_git_install_branch: a52d7c6ef930133efde9d5a22ecca5f26e4cfc92 # HEAD of "master" as of 03.07.2018 +octavia_git_install_branch: 4ba1ee5ee017b06c58c8f92a7977adfb73304ef7 # HEAD of "stable/rocky" as of 27.08.2018 octavia_git_project_group: octavia_all +octavia_git_track_branch: stable/rocky ## Tacker service tacker_git_repo: https://git.openstack.org/openstack/tacker -tacker_git_install_branch: 7d0c22524ac8352a50af2e017eed4b5be28d4c31 # HEAD of "master" as of 03.07.2018 +tacker_git_install_branch: 0779335868b03f328a267794daac6e1817f74136 # HEAD of "stable/rocky" as of 27.08.2018 tacker_git_project_group: tacker_all +tacker_git_track_branch: stable/rocky ## Congress service congress_git_repo: https://git.openstack.org/openstack/congress -congress_git_install_branch: 270db006cc6cde99a2ad66ff40e05927ce217d92 # HEAD of "master" as of 03.07.2018 +congress_git_install_branch: 9f2ae72854fbf1c83bb30a37d24303840340f95b # HEAD of "stable/rocky" as of 27.08.2018 congress_git_project_group: congress_all +congress_git_track_branch: stable/rocky ## Horizon Octavia dashboard plugin octavia_dashboard_git_repo: https://git.openstack.org/openstack/octavia-dashboard -octavia_dashboard_git_install_branch: 4f7a5591ae8dd61b25af7f746f20d8f058aa991c # HEAD of "master" as of 03.07.2018 +octavia_dashboard_git_install_branch: 4e013a00b2ffa003bdaee019b3aac3df80fb13bf # HEAD of "stable/rocky" as of 27.08.2018 octavia_dashboard_git_project_group: horizon_all +octavia_dashboard_git_track_branch: stable/rocky diff --git a/xci/installer/osa/playbooks/configure-opnfvhost.yml b/xci/installer/osa/playbooks/configure-opnfvhost.yml index c92abd97..4fc966a3 100644 --- a/xci/installer/osa/playbooks/configure-opnfvhost.yml +++ b/xci/installer/osa/playbooks/configure-opnfvhost.yml @@ -35,19 +35,36 @@ roles: - role: bootstrap-host configure_network: xci_flavor != 'aio' - - role: peru.proxy_settings + - role: ruzickap.proxy_settings proxy_settings_http_proxy: "{{ lookup('env','http_proxy') }}" proxy_settings_https_proxy: "{{ lookup('env','https_proxy') }}" proxy_settings_ftp_proxy: "{{ lookup('env','ftp_proxy') }}" proxy_settings_no_proxy: "{{ lookup('env','no_proxy') }}" tasks: + - name: Create list of files to copy + shell: | + git ls-tree -r --name-only HEAD > {{ xci_cache }}/releng-xci.files + echo ".git/" >> {{ xci_cache }}/releng-xci.files + echo ".cache/repos/" >> {{ xci_cache }}/releng-xci.files + echo ".cache/xci.env" >> {{ xci_cache }}/releng-xci.files + args: + executable: /bin/bash + chdir: "{{ xci_path }}" + changed_when: False + delegate_to: 127.0.0.1 + tags: + - skip_ansible_lint + - name: Copy releng-xci to remote host synchronize: + archive: yes src: "{{ xci_path }}/" dest: "{{ remote_xci_path }}" - recursive: yes delete: yes + rsync_opts: + - "--recursive" + - "--files-from={{ xci_cache }}/releng-xci.files" - name: Re-create OpenStack-Ansible /etc directory file: @@ -158,11 +175,6 @@ chdir: "{{openstack_osa_path}}/scripts" changed_when: True - - name: Configure SSL certificates - include_tasks: "{{ xci_path }}/xci/playbooks/manage-ssl-certs.yml" - vars: - extra_args: "-c https://raw.githubusercontent.com/openstack/requirements/{{ requirements_git_install_branch }}/upper-constraints.txt" - - name: fetch xci environment copy: src: "{{ xci_path }}/.cache/xci.env" @@ -176,12 +188,6 @@ include_role: name: "openstack-ansible-openstack_openrc" - - name: add extra insecure flag to generated openrc - blockinfile: - dest: "{{ ansible_env.HOME }}/openrc" - block: | - export OS_INSECURE=true - - name: fetch generated openrc fetch: src: "{{ ansible_env.HOME }}/openrc" diff --git a/xci/installer/osa/playbooks/configure-targethosts.yml b/xci/installer/osa/playbooks/configure-targethosts.yml index a5d2923c..dfa17696 100644 --- a/xci/installer/osa/playbooks/configure-targethosts.yml +++ b/xci/installer/osa/playbooks/configure-targethosts.yml @@ -18,7 +18,7 @@ with_items: - "{{ xci_path }}/xci/var/{{ ansible_os_family }}.yml" roles: - - role: peru.proxy_settings + - role: ruzickap.proxy_settings proxy_settings_http_proxy: "{{ lookup('env','http_proxy') }}" proxy_settings_https_proxy: "{{ lookup('env','https_proxy') }}" proxy_settings_ftp_proxy: "{{ lookup('env','ftp_proxy') }}" diff --git a/xci/installer/osa/playbooks/post-deployment.yml b/xci/installer/osa/playbooks/post-deployment.yml index c0cd0171..9f2fec38 100644 --- a/xci/installer/osa/playbooks/post-deployment.yml +++ b/xci/installer/osa/playbooks/post-deployment.yml @@ -31,7 +31,7 @@ remote_xci_scenario_path: "{{ ansible_env.HOME }}/releng-xci/.cache/repos/scenarios/{{ deploy_scenario }}/scenarios/{{ deploy_scenario }}" roles: - - role: peru.proxy_settings + - role: ruzickap.proxy_settings proxy_settings_http_proxy: "{{ lookup('env','http_proxy') }}" proxy_settings_https_proxy: "{{ lookup('env','https_proxy') }}" proxy_settings_ftp_proxy: "{{ lookup('env','ftp_proxy') }}" diff --git a/xci/playbooks/manage-ssl-certs.yml b/xci/playbooks/manage-ssl-certs.yml deleted file mode 100644 index d0c5c518..00000000 --- a/xci/playbooks/manage-ssl-certs.yml +++ /dev/null @@ -1,32 +0,0 @@ -# SPDX-license-identifier: Apache-2.0 -############################################################################## -# Copyright (c) 2018 SUSE Linux GmbH 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: Install required pip packages for SSL - pip: - name: pyOpenSSL - state: present - extra_args: "{{ extra_args | default(omit) }}" - -- name: Generate XCI private key - openssl_privatekey: - path: /etc/ssl/private/xci.key - size: 2048 - -- name: Generate XCI certificate request - openssl_csr: - privatekey_path: /etc/ssl/private/xci.key - path: /etc/ssl/private/xci.csr - common_name: "{{ xci_ssl_subject }}" - -- name: Generate XCI self signed certificate - openssl_certificate: - path: /etc/ssl/certs/xci.crt - privatekey_path: /etc/ssl/private/xci.key - csr_path: /etc/ssl/private/xci.csr - provider: selfsigned - selfsigned_not_after: 20800101000000Z diff --git a/xci/playbooks/prepare-functest.yml b/xci/playbooks/prepare-tests.yml index a4cb664b..1a1935aa 100644 --- a/xci/playbooks/prepare-functest.yml +++ b/xci/playbooks/prepare-tests.yml @@ -13,11 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: Prepare the environment for functest +- name: Prepare the environment for testing hosts: opnfv user: root vars_files: - ../var/opnfv.yml - ../installer/osa/files/openstack_services.yml roles: - - role: "prepare-functest" + - role: "prepare-tests" diff --git a/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml b/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml index 008e5531..700c6c72 100644 --- a/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml +++ b/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml @@ -1,13 +1,8 @@ --- -# Create a VM and volume for it, save its MAC address -- shell: "sudo virsh list --all | grep 'shut off' | wc -l" - register: num_vms - - name: "Creating VM" block: - # NOTE(pas-ha) item here refers to name of the vm - set_fact: - vm_name: "{{ node_names[num_vms.stdout | int] }}" + vm_name: "{{ node_names[item.0 | int] }}" - set_fact: vm_log_file: "{{ node_logdir }}/{{ vm_name }}_console.log" @@ -41,7 +36,7 @@ register: _vm_volume_prepared - name: Resize opnfv VM image to {{ item.disks[0].disk_capacity }} - command: "qemu-img resize {{ opnfv_image_path }}/opnfv.qcow2 {{ item.disks[0].disk_capacity }}" + command: "qemu-img resize {{ opnfv_image_path }}/opnfv.qcow2 {{ item.1.disks[0].disk_capacity }}" when: - vm_name == 'opnfv' - _vm_volume_prepared.stat.exists @@ -52,7 +47,7 @@ command: > virsh --connect {{ vm_libvirt_uri }} vol-create-as {{ node_storage_pool }} {{ vm_name }}.qcow2 - {{ item.disks[0].disk_capacity }} + {{ item.1.disks[0].disk_capacity }} --format qcow2 {{ prealloc|default("") }} when: - not _vm_volume_prepared.stat.exists @@ -115,7 +110,7 @@ when: vbmc_list.stdout.find(vm_name) != -1 - set_fact: - virtual_ipmi_port: "{{ (vm_ipmi_port_start|default(623) | int ) + (num_vms.stdout | int ) }}" + virtual_ipmi_port: "{{ (vm_ipmi_port_start|default(623) | int ) + (item.0 | int) }}" - name: plug vm into vbmc command: vbmc add {{ vm_name }} --libvirt-uri {{ vm_libvirt_uri }} --port {{ virtual_ipmi_port }} @@ -135,7 +130,7 @@ - name: Fetch the ip set_fact: - vm_ip: "{%- for interface in item.interfaces %}{%- if 'native' in (interface.vlan | string) %}{{ interface.address }}{%- endif %}{%- endfor %}" + vm_ip: "{%- for interface in item.1.interfaces %}{%- if 'native' in (interface.vlan | string) %}{{ interface.address }}{%- endif %}{%- endfor %}" # Assumes there is only a single NIC per VM - name: get MAC from vm XML @@ -155,17 +150,17 @@ power: ipmi_address: "192.168.122.1" ipmi_port: "{{ virtual_ipmi_port }}" - ipmi_username: "{{ item.remote_management.user }}" - ipmi_password: "{{ item.remote_management.pass }}" + ipmi_username: "{{ item.1.remote_management.user }}" + ipmi_password: "{{ item.1.remote_management.pass }}" nics: - mac: "{{ vm_mac }}" ansible_ssh_host: "{{ vm_ip }}" ipv4_address: "{{ vm_ip }}" properties: - cpu_arch: "{{ item.node.arch }}" - ram: "{{ item.node.memory.rstrip('G') }}" - cpus: "{{ item.node.cpus }}" - disk_size: "{{ item.disks[0].disk_capacity.rstrip('G') }}" + cpu_arch: "{{ item.1.node.arch }}" + ram: "{{ item.1.node.memory.rstrip('G') }}" + cpus: "{{ item.1.node.cpus }}" + disk_size: "{{ item.1.disks[0].disk_capacity.rstrip('G') }}" - name: add created vm info set_fact: @@ -177,4 +172,4 @@ opnfv_vm_ip: "{{ vm_ip }}" when: vm_name == 'opnfv' - when: (num_nodes | int) > (num_vms.stdout | int) + when: (num_nodes | int) > (item.0 | int) diff --git a/xci/playbooks/roles/create-vm-nodes/tasks/main.yml b/xci/playbooks/roles/create-vm-nodes/tasks/main.yml index 7e0090e4..c1cee6dc 100644 --- a/xci/playbooks/roles/create-vm-nodes/tasks/main.yml +++ b/xci/playbooks/roles/create-vm-nodes/tasks/main.yml @@ -18,7 +18,7 @@ # First we create the opnfv_vm - include_tasks: create_vm.yml - with_items: "{{ [opnfv_vm] + nodes }}" + with_indexed_items: "{{ [opnfv_vm] + nodes }}" - name: Start the opnfv vm virt: diff --git a/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 b/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 index c44fa6aa..5c235f55 100644 --- a/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 +++ b/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 @@ -1,9 +1,9 @@ <domain type='{{ vm_domain_type }}'> <name>{{ vm_name }}</name> - <memory unit='GiB'>{{ item.node.memory.rstrip('G') }}</memory> - <vcpu>{{ item.node.cpus }}</vcpu> + <memory unit='GiB'>{{ item.1.node.memory.rstrip('G') }}</memory> + <vcpu>{{ item.1.node.cpus }}</vcpu> <os> - <type arch='{{ item.node.arch }}' machine='{{ item.node.model }}'>hvm</type> + <type arch='{{ item.1.node.arch }}' machine='{{ item.1.node.model }}'>hvm</type> {%- if 'opnfv' in vm_name -%} <boot dev='hd'/> {%- else -%} @@ -17,7 +17,7 @@ <apic/> <pae/> </features> - <cpu mode='{{ item.node.cpu_cflags }}'> + <cpu mode='{{ item.1.node.cpu_cflags }}'> <model fallback='allow'/> </cpu> <clock offset='utc'/> @@ -36,7 +36,7 @@ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> {% set native_interfaces = [] %} - {%- for interface in item.interfaces %} + {%- for interface in item.1.interfaces %} {%- if 'native' in (interface.vlan | string) %} {%- set _ = native_interfaces.append(interface) %} {%- endif %} diff --git a/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2 b/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2 deleted file mode 100644 index 6e62a3bb..00000000 --- a/xci/playbooks/roles/prepare-functest/templates/run-functest.sh.j2 +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash - -# Variables that we need to pass from XCI to functest -XCI_ENV=(INSTALLER_TYPE XCI_FLAVOR OPENSTACK_OSA_VERSION CI_LOOP BUILD_TAG NODE_NAME FUNCTEST_MODE FUNCTEST_SUITE_NAME OPNFV_FUNCTEST_HEALTHCHECK_DOCKER_IMAGE_DIGEST) - -# Create directory to store functest logs -mkdir -p ~/results/ - -# Extract variables from xci.env file -if [[ -e /root/xci.env ]]; then - for x in ${XCI_ENV[@]}; do - grep "^${x}=" /root/xci.env >> /root/env - done - # Parse the XCI's DEPLOY_SCENARIO and XCI_FLAVOR variables and - # set the functest container's DEPLOY_SCENARIO variable in the - # following format <scenario>-<flavor>. But the XCI's mini flavor - # is converted into noha. - DEPLOY_SCENARIO=`grep -Po '(?<=DEPLOY_SCENARIO=).*' /root/xci.env` - XCI_FLAVOR=`grep -Po '(?<=XCI_FLAVOR=).*' /root/xci.env` - XCI_FLAVOR=${XCI_FLAVOR/mini/noha} - echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO-$XCI_FLAVOR" >> /root/env -fi - -# Dump the env file -echo "------------------------------------------------------" -echo "------------- functest environment file --------------" -cat /root/env -echo "------------------------------------------------------" - -# we need to ensure the necessary environment variables are sourced -source /root/env - -{% if 'os-' in deploy_scenario %} -{# stuff needed for OpenStack based scenarios #} -source /root/openrc - -openstack --insecure network create --external \ - --provider-physical-network flat \ - --provider-network-type flat {{ external_network }} - -openstack --insecure subnet create --network {{ external_network }} \ - --allocation-pool {{ allocation_pool }} \ - --subnet-range {{ subnet_cidr }} --gateway {{ gateway_ip }} \ - --no-dhcp {{ subnet_name }} - -# the needed images differ between the suites so avoid downloading unnecessary images -if [[ "$FUNCTEST_SUITE_NAME" =~ "healthcheck" ]]; then - mkdir ~/images && cd ~/images && wget -q http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img && cd ~ -elif [[ "$FUNCTEST_SUITE_NAME" =~ "smoke" ]]; then - mkdir -p images && wget -q -O- https://git.opnfv.org/functest/plain/functest/ci/download_images.sh | bash -s -- images && ls -1 images/* -else - echo "Unsupported test suite for functest" - exit 1 -fi - -# docker image to use will be different for healthcheck and smoke test -DOCKER_IMAGE_NAME="ollivier/functest-${FUNCTEST_SUITE_NAME}" - -sudo docker run --env-file env \ - -v $(pwd)/openrc:/home/opnfv/functest/conf/env_file \ - -v $(pwd)/images:/home/opnfv/functest/images \ - -v $(pwd)/results:/home/opnfv/functest/results \ - ${DOCKER_IMAGE_NAME} -{% else %} -{# stuff needed for Kubernetes based scenarios #} -# Create k8s.creds file for functest -KUBE_MASTER_URL=$(grep -r server ~/.kube/config | awk '{print $2}') -KUBE_MASTER_IP=$(echo $KUBE_MASTER_URL | awk -F "[:/]" '{print $4}') -cat << EOF > ~/k8s.creds -KUBERNETES_PROVIDER=local -KUBE_MASTER_URL=$KUBE_MASTER_URL -KUBE_MASTER_IP=$KUBE_MASTER_IP -EOF - -# docker image to use will be different for healthcheck and smoke test -DOCKER_IMAGE_NAME="opnfv/functest-kubernetes-${FUNCTEST_SUITE_NAME}" - -sudo docker run --env-file env \ - -v $(pwd)/k8s.creds:/home/opnfv/functest/conf/env_file \ - -v $(pwd)/.kube/config:/root/.kube/config \ - -v $(pwd)/results:/home/opnfv/functest/results \ - $DOCKER_IMAGE_NAME -{% endif %} - diff --git a/xci/playbooks/roles/prepare-functest/defaults/main.yml b/xci/playbooks/roles/prepare-tests/defaults/main.yml index a3638302..a3638302 100644 --- a/xci/playbooks/roles/prepare-functest/defaults/main.yml +++ b/xci/playbooks/roles/prepare-tests/defaults/main.yml diff --git a/xci/playbooks/roles/prepare-functest/tasks/main.yml b/xci/playbooks/roles/prepare-tests/tasks/main.yml index c29baca9..1512bbab 100644 --- a/xci/playbooks/roles/prepare-functest/tasks/main.yml +++ b/xci/playbooks/roles/prepare-tests/tasks/main.yml @@ -8,25 +8,25 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -- name: install functest required packages +- name: install required packages package: - name: "{{ functest_required_packages[ansible_pkg_mgr] }}" + name: "{{ required_packages[ansible_pkg_mgr] }}" state: present -# Docker is needed for functest +# Docker is needed for test frameworks - name: Ensure Docker service is started and enabled service: name: docker state: started enabled: yes -- name: install functest required pip packages +- name: install required pip packages pip: - name: "{{ functest_required_pip }}" + name: "{{ required_pip }}" state: present extra_args: '-c https://raw.githubusercontent.com/openstack/requirements/{{ requirements_git_install_branch }}/upper-constraints.txt' -- name: create public network gateway for functest +- name: create public network gateway for testing block: - name: check if the gateway was already set shell: "ip a | grep {{ gateway_ip }}" @@ -40,14 +40,26 @@ when: gateway_ip_result|failed when: deploy_scenario is match("os-.*") -- name: prepare environment file for functest +- name: prepare environment file for tests template: src: env.j2 dest: /root/env mode: 0755 -- name: prepare the script to create networks and run functest +- name: create the script to prepare for testing + template: + src: prepare-tests.sh.j2 + dest: /root/prepare-tests.sh + mode: 0755 + +- name: create the script to run functest template: src: run-functest.sh.j2 dest: /root/run-functest.sh mode: 0755 + +- name: create the script to run yardstick + template: + src: run-yardstick.sh.j2 + dest: /root/run-yardstick.sh + mode: 0755 diff --git a/xci/playbooks/roles/prepare-functest/templates/env.j2 b/xci/playbooks/roles/prepare-tests/templates/env.j2 index d9a3bf32..d9a3bf32 100644 --- a/xci/playbooks/roles/prepare-functest/templates/env.j2 +++ b/xci/playbooks/roles/prepare-tests/templates/env.j2 diff --git a/xci/playbooks/roles/prepare-tests/templates/prepare-tests.sh.j2 b/xci/playbooks/roles/prepare-tests/templates/prepare-tests.sh.j2 new file mode 100644 index 00000000..1b779cb9 --- /dev/null +++ b/xci/playbooks/roles/prepare-tests/templates/prepare-tests.sh.j2 @@ -0,0 +1,46 @@ +#!/bin/bash + +# Variables that we need to pass from XCI to testing +XCI_ENV=(INSTALLER_TYPE XCI_FLAVOR OPENSTACK_OSA_VERSION CI_LOOP BUILD_TAG NODE_NAME FUNCTEST_MODE FUNCTEST_SUITE_NAME FUNCTEST_VERSION) + +# Extract variables from xci.env file +if [[ -e /root/xci.env ]]; then + for x in ${XCI_ENV[@]}; do + grep "^${x}=" /root/xci.env >> /root/env + done + # Parse the XCI's DEPLOY_SCENARIO and XCI_FLAVOR variables and + # set the functest container's DEPLOY_SCENARIO variable in the + # following format <scenario>-<flavor>. But the XCI's mini flavor + # is converted into noha. + DEPLOY_SCENARIO=`grep -Po '(?<=DEPLOY_SCENARIO=).*' /root/xci.env` + XCI_FLAVOR=`grep -Po '(?<=XCI_FLAVOR=).*' /root/xci.env` + XCI_FLAVOR=${XCI_FLAVOR/mini/noha} + echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO-$XCI_FLAVOR" >> /root/env +fi + +# we need to ensure the necessary environment variables are sourced +source /root/env + +{% if 'os-' in deploy_scenario %} +{# stuff needed for OpenStack based scenarios #} +source /root/openrc + +openstack --insecure network create --external \ + --provider-physical-network flat \ + --provider-network-type flat {{ external_network }} + +openstack --insecure subnet create --network {{ external_network }} \ + --allocation-pool {{ allocation_pool }} \ + --subnet-range {{ subnet_cidr }} --gateway {{ gateway_ip }} \ + --no-dhcp {{ subnet_name }} +{% else %} +{# stuff needed for Kubernetes based scenarios #} +# Create k8s.creds file for testing +KUBE_MASTER_URL=$(grep -r server ~/.kube/config | awk '{print $2}') +KUBE_MASTER_IP=$(echo $KUBE_MASTER_URL | awk -F "[:/]" '{print $4}') +cat << EOF > ~/k8s.creds +KUBERNETES_PROVIDER=local +KUBE_MASTER_URL=$KUBE_MASTER_URL +KUBE_MASTER_IP=$KUBE_MASTER_IP +EOF +{% endif %} diff --git a/xci/playbooks/roles/prepare-tests/templates/run-functest.sh.j2 b/xci/playbooks/roles/prepare-tests/templates/run-functest.sh.j2 new file mode 100644 index 00000000..b4cf46d7 --- /dev/null +++ b/xci/playbooks/roles/prepare-tests/templates/run-functest.sh.j2 @@ -0,0 +1,52 @@ +#!/bin/bash + +# Create directory to store functest logs +mkdir -p /root/functest-results/ + +# Dump the env file +echo "------------------------------------------------------" +echo "------------- functest environment file --------------" +cat /root/env +echo "------------------------------------------------------" + +# we need to ensure the necessary environment variables are sourced +source /root/env + +{% if 'os-' in deploy_scenario %} +{# stuff needed for OpenStack based scenarios #} +# the needed images differ between the suites so avoid downloading unnecessary images +echo "Downloading the images needed for functest-$FUNCTEST_SUITE_NAME" +mkdir ~/images && cd ~/images +if [[ "$FUNCTEST_SUITE_NAME" =~ "healthcheck" ]]; then + wget -q http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img +elif [[ "$FUNCTEST_SUITE_NAME" =~ "smoke" ]]; then + wget -q http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img \ + http://testresults.opnfv.org/functest/shaker-image.qcow2 \ + https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img +else + echo "Unsupported test suite for functest" + exit 1 +fi +echo "------------------------------------------------------" +ls -al . && cd ~ +echo "------------------------------------------------------" + +# docker image to use will be different for healthcheck and smoke test +DOCKER_IMAGE_NAME="opnfv/functest-${FUNCTEST_SUITE_NAME}:${FUNCTEST_VERSION}" + +sudo docker run --env-file env \ + -v $(pwd)/openrc:/home/opnfv/functest/conf/env_file \ + -v $(pwd)/images:/home/opnfv/functest/images \ + -v $(pwd)/functest-results:/home/opnfv/functest/results \ + ${DOCKER_IMAGE_NAME} +{% else %} +{# stuff needed for Kubernetes based scenarios #} +# docker image to use will be different for healthcheck and smoke test +DOCKER_IMAGE_NAME="opnfv/functest-kubernetes-${FUNCTEST_SUITE_NAME}" + +sudo docker run --env-file env \ + -v $(pwd)/k8s.creds:/home/opnfv/functest/conf/env_file \ + -v $(pwd)/.kube/config:/root/.kube/config \ + -v $(pwd)/functest-results:/home/opnfv/functest/results \ + $DOCKER_IMAGE_NAME +{% endif %} diff --git a/xci/playbooks/roles/prepare-tests/templates/run-yardstick.sh.j2 b/xci/playbooks/roles/prepare-tests/templates/run-yardstick.sh.j2 new file mode 100644 index 00000000..6a7fd8be --- /dev/null +++ b/xci/playbooks/roles/prepare-tests/templates/run-yardstick.sh.j2 @@ -0,0 +1,47 @@ +#!/bin/bash + +# Create directory to store yardstick logs +mkdir -p /root/yardstick-results/ + +# Dump the env file +echo "------------------------------------------------------" +echo "------------- yardstick environment file --------------" +cat /root/env +echo "------------------------------------------------------" + +# we need to ensure the necessary environment variables are sourced +source /root/env + +{% if 'os-' in deploy_scenario %} +{# stuff needed for OpenStack based scenarios #} +rc_file_vol="-v /root/openrc:/etc/yardstick/openstack.creds" +{% else %} +{# k8 scenario name is hardcoded for the timebeing until we clarify #} +{# which suite name we should use for the scenarios without yardstick suites #} +DEPLOY_SCENARIO="k8-nosdn-nofeature-noha" +rc_file_vol="-v /root/admin.conf:/etc/yardstick/admin.conf" +{% endif %} + +OS_CACERT="/etc/ssl/certs/haproxy.cert" +DOCKER_IMAGE_NAME="opnfv/yardstick" +YARDSTICK_SCENARIO_SUITE_NAME="opnfv_${DEPLOY_SCENARIO}_daily.yaml" + +# add OS_CACERT to openrc +echo "export OS_CACERT=/etc/yardstick/os_cacert" >> ~/openrc + +opts="--privileged=true --rm" +envs="-e INSTALLER_TYPE=$INSTALLER_TYPE -e INSTALLER_IP=$INSTALLER_IP \ + -e NODE_NAME=$NODE_NAME -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \ + -e YARDSTICK_BRANCH=master -e BRANCH=master \ + -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO -e CI_DEBUG=true" +cacert_file_vol="-v $OS_CACERT:/etc/yardstick/os_cacert" +map_log_dir="-v /root/yardstick-results:/tmp/yardstick" +sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" +cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} \ + ${map_log_dir} ${sshkey} ${DOCKER_IMAGE_NAME} \ + exec_tests.sh ${YARDSTICK_SCENARIO_SUITE_NAME}" +echo "Running yardstick with the command" +echo "------------------------------------------------------" +echo $cmd +echo "------------------------------------------------------" +$cmd diff --git a/xci/playbooks/roles/prepare-functest/vars/main.yml b/xci/playbooks/roles/prepare-tests/vars/main.yml index 3a6c8a4d..83638466 100644 --- a/xci/playbooks/roles/prepare-functest/vars/main.yml +++ b/xci/playbooks/roles/prepare-tests/vars/main.yml @@ -1,14 +1,17 @@ --- -functest_required_packages: +required_packages: apt: - docker.io - wget + - xz-utils zypper: - docker - wget + - xz yum: - docker - wget + - xz -functest_required_pip: +required_pip: - docker-py diff --git a/xci/scripts/update-osa-version-files.sh b/xci/scripts/update-osa-version-files.sh index 42405a3f..bb0d82ab 100755 --- a/xci/scripts/update-osa-version-files.sh +++ b/xci/scripts/update-osa-version-files.sh @@ -76,20 +76,20 @@ cat $tempdir/openstack-ansible/ansible-role-requirements.yml >> $releng_xci_base # Update the pinned OSA version sed -i -e "/^export OPENSTACK_OSA_VERSION/s@:-\"[a-z0-9]*@:-\"${1}@" \ - -e "s/\(^# HEAD of osa.*of \).*/\1$(date +%d\.%m\.%Y)/" $releng_xci_base/config/pinned-versions + -e "s@\(^# HEAD of osa \).*@\1\"${OPENSTACK_OSA_VERSION:-master}\" as of $(date +%d\.%m\.%Y)@" $releng_xci_base/config/pinned-versions # Update the pinned bifrost version if [[ -n ${2:-} ]]; then echo "Updating bifrost..." sed -i -e "/^export OPENSTACK_BIFROST_VERSION/s@:-\"[a-z0-9]*@:-\"${2}@" \ - -e "s/\(^# HEAD of bifrost.*of \).*/\1$(date +%d\.%m\.%Y)/" $releng_xci_base/config/pinned-versions + -e "s/\(^# HEAD of bifrost \).*/\1\"${OPENSTACK_OSA_VERSION:-master}\" as of $(date +%d\.%m\.%Y)/" $releng_xci_base/config/pinned-versions # Get ironic shas for ironic in ironic_git_url ironic_client_git_url ironic_inspector_git_url ironic_inspector_client_git_url; do - ironic_sha=$(git ls-remote ${!ironic} | grep master | awk '{print $1}') + ironic_sha=$(git ls-remote ${!ironic} | grep "${OPENSTACK_OSA_VERSION:-master}" | awk '{print $1}') ironic=${ironic/_git*/} echo "... updating ${ironic}" sed -i -e "/^export BIFROST_${ironic^^}_VERSION/s@:-\"[a-z0-9]*@:-\"${ironic_sha}@" \ - -e "s/\(^# HEAD of ${ironic/_/-}.*of \).*/\1$(date +%d\.%m\.%Y)/" $releng_xci_base/config/pinned-versions + -e "s/\(^# HEAD of ${ironic/_/-} \).*/\1\"${OPENSTACK_OSA_VERSION:-master}\" as of $(date +%d\.%m\.%Y)/" $releng_xci_base/config/pinned-versions done fi |