Merge "add mitaka-dvr-ceph in templates for patching-ci"
diff --git a/src/com/mirantis/system_qa/SharedPipeline.groovy b/src/com/mirantis/system_qa/SharedPipeline.groovy
index 58da420..92b43b2 100644
--- a/src/com/mirantis/system_qa/SharedPipeline.groovy
+++ b/src/com/mirantis/system_qa/SharedPipeline.groovy
@@ -76,10 +76,23 @@
parameters: parameters,
propagate: false
+ def build_number = job_info.getNumber()
+ def build_url = job_info.getAbsoluteUrl()
+ def build_status = job_info.getResult()
+ try {
+ // Try to grab 'tar.gz' articacts from the shell job'
+ step($class: 'hudson.plugins.copyartifact.CopyArtifact',
+ projectName: job_name,
+ selector: specific("${build_number}"),
+ filter: "**/*.tar.gz",
+ target: '.',
+ flatten: true,
+ fingerprintArtifacts: true)
+ } catch (none) {
+ common.printMsg("No *.tar.gz files found in artifacts of the build ${build_url}", "purple")
+ }
+
if (job_info.getResult() != "SUCCESS") {
- def build_status = job_info.getResult()
- def build_number = job_info.getNumber()
- def build_url = job_info.getAbsoluteUrl()
def job_url = "${build_url}"
currentBuild.result = build_status
if (junit_report_filename) {
diff --git a/tcp_tests/fixtures/k8s_fixtures.py b/tcp_tests/fixtures/k8s_fixtures.py
index 50c69ee..409034e 100644
--- a/tcp_tests/fixtures/k8s_fixtures.py
+++ b/tcp_tests/fixtures/k8s_fixtures.py
@@ -180,8 +180,11 @@
if hasattr(request.node, 'rep_call') and \
(request.node.rep_call.passed or request.node.rep_call.failed)\
and cncf_publisher:
+ LOG.info("Waiting 60 sec for sonobuoy to generate results archive")
+ time.sleep(60)
+ LOG.info("Downloading sonobuoy results archive")
files = utils.extract_name_from_mark(cncf_publisher) \
- or "{}".format(func_name)
+ or "{}".format(func_name)
k8s_deployed.extract_file_to_node(
system='k8s', file_path='tmp/sonobuoy',
pod_name='sonobuoy', pod_namespace='heptio-sonobuoy'
diff --git a/tcp_tests/managers/k8smanager.py b/tcp_tests/managers/k8smanager.py
index 5e8ea56..79974d3 100644
--- a/tcp_tests/managers/k8smanager.py
+++ b/tcp_tests/managers/k8smanager.py
@@ -263,7 +263,7 @@
LOG.info("Test results stderr: {}".format(stderr))
return result
- def start_k8s_cncf_verification(self, timeout=60 * 90):
+ def start_k8s_cncf_verification(self, timeout=60 * 180):
"""
Build sonobuoy using golang docker image and install it in system
Then generate sonobuoy verification manifest using gen command
@@ -295,7 +295,7 @@
LOG.info("Waiting for CNCF to complete")
helpers.wait(
lambda: sonobuoy_status() == 'complete',
- interval=30, timeout=timeout,
+ interval=120, timeout=timeout,
timeout_msg="Timeout for CNCF reached."
)
diff --git a/tcp_tests/templates/cookied-cicd-pike-dpdk/cookiecutter-context-pike-ovs-dpdk.yaml b/tcp_tests/templates/cookied-cicd-pike-dpdk/cookiecutter-context-pike-ovs-dpdk.yaml
index e4c5fbd..53c9687 100644
--- a/tcp_tests/templates/cookied-cicd-pike-dpdk/cookiecutter-context-pike-ovs-dpdk.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-dpdk/cookiecutter-context-pike-ovs-dpdk.yaml
@@ -144,7 +144,8 @@
openstack_nova_cpu_pinning: '4,5,8,9,10,11'
openstack_ovs_dvr_enabled: 'False'
openstack_ovs_encapsulation_type: vxlan
- openstack_proxy_address: 10.167.4.80
+ openstack_proxy_address: 172.17.16.80 # external network endpoint
+ openstack_proxy_vip_interface: ens5
openstack_proxy_hostname: prx
openstack_proxy_node01_address: 10.167.4.121
openstack_proxy_node01_hostname: prx01
diff --git a/tcp_tests/templates/cookied-cicd-pike-dpdk/environment-context.yaml b/tcp_tests/templates/cookied-cicd-pike-dpdk/environment-context.yaml
index 467680e..8e0ecb6 100644
--- a/tcp_tests/templates/cookied-cicd-pike-dpdk/environment-context.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-dpdk/environment-context.yaml
@@ -181,13 +181,17 @@
prx01:
reclass_storage_name: openstack_proxy_node01
roles:
- - openstack_proxy
+ #- openstack_proxy # another VIP interface used
- linux_system_codename_xenial
interfaces:
ens3:
role: single_dhcp
ens4:
role: single_ctl
+ ens5:
+ role: single_external
+ external_address: 172.17.16.121
+ external_network_netmask: 255.255.255.0
# Generator-based computes. For compatibility only
cmp<<count>>:
diff --git a/tcp_tests/templates/cookied-cicd-pike-dpdk/underlay.yaml b/tcp_tests/templates/cookied-cicd-pike-dpdk/underlay.yaml
index d4e5d4d..c114631 100644
--- a/tcp_tests/templates/cookied-cicd-pike-dpdk/underlay.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-dpdk/underlay.yaml
@@ -514,9 +514,26 @@
cloudinit_meta_data: *cloudinit_meta_data
cloudinit_user_data: *cloudinit_user_data_1604_swp
- interfaces: *interfaces
- network_config: *network_config
-
+ interfaces:
+ - label: ens3
+ l2_network_device: admin
+ interface_model: *interface_model
+ - label: ens4
+ l2_network_device: private
+ interface_model: *interface_model
+ - label: ens5
+ l2_network_device: external
+ interface_model: *interface_model
+ network_config:
+ ens3:
+ networks:
+ - admin
+ ens4:
+ networks:
+ - private
+ ens5:
+ networks:
+ - external
- name: {{ HOSTNAME_CMP01 }}
role: salt_minion
diff --git a/tcp_tests/templates/cookied-cicd-pike-dvr-sl/cookiecutter-context-pike-dvr-sl.yaml b/tcp_tests/templates/cookied-cicd-pike-dvr-sl/cookiecutter-context-pike-dvr-sl.yaml
index 298fd81..b0c69e8 100644
--- a/tcp_tests/templates/cookied-cicd-pike-dvr-sl/cookiecutter-context-pike-dvr-sl.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-dvr-sl/cookiecutter-context-pike-dvr-sl.yaml
@@ -142,7 +142,8 @@
openstack_nova_compute_nfv_req_enabled: 'False'
openstack_ovs_dvr_enabled: 'True'
openstack_ovs_encapsulation_type: vxlan
- openstack_proxy_address: 10.167.4.80
+ openstack_proxy_address: 172.17.16.80 # external network endpoint
+ openstack_proxy_vip_interface: ens5
openstack_proxy_hostname: prx
openstack_proxy_node01_address: 10.167.4.121
openstack_proxy_node01_hostname: prx01
diff --git a/tcp_tests/templates/cookied-cicd-pike-dvr-sl/environment_context.yaml b/tcp_tests/templates/cookied-cicd-pike-dvr-sl/environment_context.yaml
index 24c36e5..4025792 100644
--- a/tcp_tests/templates/cookied-cicd-pike-dvr-sl/environment_context.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-dvr-sl/environment_context.yaml
@@ -123,13 +123,17 @@
prx01:
reclass_storage_name: openstack_proxy_node01
roles:
- - openstack_proxy
+ #- openstack_proxy # another VIP interface used
- linux_system_codename_xenial
interfaces:
ens3:
role: single_dhcp
ens4:
role: single_ctl
+ ens5:
+ role: single_external
+ external_address: 172.17.16.121
+ external_network_netmask: 255.255.255.0
mon01:
reclass_storage_name: stacklight_server_node01
diff --git a/tcp_tests/templates/cookied-cicd-pike-dvr-sl/underlay.yaml b/tcp_tests/templates/cookied-cicd-pike-dvr-sl/underlay.yaml
index 5b871d7..2cbbce6 100644
--- a/tcp_tests/templates/cookied-cicd-pike-dvr-sl/underlay.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-dvr-sl/underlay.yaml
@@ -597,9 +597,26 @@
cloudinit_meta_data: *cloudinit_meta_data
cloudinit_user_data: *cloudinit_user_data_1604_swp
- interfaces: *interfaces
- network_config: *network_config
-
+ interfaces:
+ - label: ens3
+ l2_network_device: admin
+ interface_model: *interface_model
+ - label: ens4
+ l2_network_device: private
+ interface_model: *interface_model
+ - label: ens5
+ l2_network_device: external
+ interface_model: *interface_model
+ network_config:
+ ens3:
+ networks:
+ - admin
+ ens4:
+ networks:
+ - private
+ ens5:
+ networks:
+ - external
- name: {{ HOSTNAME_CMP01 }}
role: salt_minion
diff --git a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml
index 94b6549..a5a862b 100644
--- a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/cookiecutter-context-pike-ovs-sl.yaml
@@ -142,7 +142,8 @@
openstack_nova_compute_nfv_req_enabled: 'False'
openstack_ovs_dvr_enabled: 'False'
openstack_ovs_encapsulation_type: vxlan
- openstack_proxy_address: 10.167.4.80
+ openstack_proxy_address: 172.17.16.80 # external network endpoint
+ openstack_proxy_vip_interface: ens5
openstack_proxy_hostname: prx
openstack_proxy_node01_address: 10.167.4.121
openstack_proxy_node01_hostname: prx01
diff --git a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/environment-context.yaml b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/environment-context.yaml
index adcfe0c..28a1115 100644
--- a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/environment-context.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/environment-context.yaml
@@ -121,13 +121,17 @@
prx01:
reclass_storage_name: openstack_proxy_node01
roles:
- - openstack_proxy
+ #- openstack_proxy # another VIP interface used
- linux_system_codename_xenial
interfaces:
ens3:
role: single_dhcp
ens4:
role: single_ctl
+ ens5:
+ role: single_external
+ external_address: 172.17.16.121
+ external_network_netmask: 255.255.255.0
mon01:
reclass_storage_name: stacklight_server_node01
diff --git a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/underlay.yaml b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/underlay.yaml
index b1efeb1..a7b966c 100644
--- a/tcp_tests/templates/cookied-cicd-pike-ovs-sl/underlay.yaml
+++ b/tcp_tests/templates/cookied-cicd-pike-ovs-sl/underlay.yaml
@@ -598,8 +598,26 @@
cloudinit_meta_data: *cloudinit_meta_data
cloudinit_user_data: *cloudinit_user_data_1604_swp
- interfaces: *interfaces
- network_config: *network_config
+ interfaces:
+ - label: ens3
+ l2_network_device: admin
+ interface_model: *interface_model
+ - label: ens4
+ l2_network_device: private
+ interface_model: *interface_model
+ - label: ens5
+ l2_network_device: external
+ interface_model: *interface_model
+ network_config:
+ ens3:
+ networks:
+ - admin
+ ens4:
+ networks:
+ - private
+ ens5:
+ networks:
+ - external
- name: {{ HOSTNAME_CMP01 }}
role: salt_minion
diff --git a/tcp_tests/templates/shared-core.yaml b/tcp_tests/templates/shared-core.yaml
index ae47e03..3b1a716 100644
--- a/tcp_tests/templates/shared-core.yaml
+++ b/tcp_tests/templates/shared-core.yaml
@@ -192,7 +192,7 @@
cmd: salt --hard-crash --state-output=mixed --state-verbose=False
-C 'I@nginx:server' state.sls salt.minion.cert
node_name: {{ HOSTNAME_CFG01 }}
- retry: {count: 1, delay: 15}
+ retry: {count: 3, delay: 15}
skip_fail: false
- description: Install nginx server
diff --git a/tcp_tests/templates/shared-salt.yaml b/tcp_tests/templates/shared-salt.yaml
index ab5feb5..dcbf3af 100644
--- a/tcp_tests/templates/shared-salt.yaml
+++ b/tcp_tests/templates/shared-salt.yaml
@@ -532,6 +532,29 @@
node_name: {{ HOSTNAME_CFG01 }}
{%- endfor %}
+- description: "Replace template addresses to actual environment addresses"
+ cmd: |
+ set -ex;
+ # Replace firstly to an intermediate value to avoid intersection between
+ # already replaced and replacing networks.
+ # For example, if generated IPV4_NET_ADMIN_PREFIX=10.16.0 , then there is a risk of replacing twice:
+ # 192.168.10 -> 10.16.0 (generated network for admin)
+ # 10.16.0 -> <external network>
+ # So let's replace constant networks to the keywords, and then keywords to the desired networks.
+ export REPLACE_DIRS="/root/environment/"
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/10\.167\.5/==IPV4_NET_ADMIN_PREFIX==/g' {} +
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/10\.167\.4/==IPV4_NET_CONTROL_PREFIX==/g' {} +
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/10\.167\.6/==IPV4_NET_TENANT_PREFIX==/g' {} +
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/172\.17\.16/==IPV4_NET_EXTERNAL_PREFIX==/g' {} +
+
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/==IPV4_NET_ADMIN_PREFIX==/{{ IPV4_NET_ADMIN_PREFIX }}/g' {} +
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/==IPV4_NET_CONTROL_PREFIX==/{{ IPV4_NET_CONTROL_PREFIX }}/g' {} +
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/==IPV4_NET_TENANT_PREFIX==/{{ IPV4_NET_TENANT_PREFIX }}/g' {} +
+ find ${REPLACE_DIRS} -type f -exec sed -i 's/==IPV4_NET_EXTERNAL_PREFIX==/{{ IPV4_NET_EXTERNAL_PREFIX }}/g' {} +
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
- description: "[EXPERIMENTAL] Remove linux.network.interface object from the cluster/system models and use fixed 'environment' model instead"
cmd: |
set -e;