Merge "Add test for Ceph Mon node"
diff --git a/checklist.yaml b/checklist.yaml
index 8091d24..7757900 100644
--- a/checklist.yaml
+++ b/checklist.yaml
@@ -140,6 +140,12 @@
status: ProdFailed
defects: PROD-35212
+ - title: tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_from_image_with_decreasing_size[id-5b810c91-0ad1-47ce-aee8-615f789be78f,image,negative]
+ errors:
+ - 502 PUT https://10.6.0.80:9292/v2/images/
+ status: ProdFailed
+ defects: PROD-35212
+
- title: tempest.api.compute.servers.test_delete_server.DeleteServersTestJSON.test_delete_server_while_in_shelved_state[id-bb0cb402-09dd-4947-b6e5-5e7e1cfa61ad]
errors:
- 'tempest.lib.exceptions.TimeoutException: Request timed out'
@@ -166,6 +172,13 @@
status: ProdFailed
defects: PROD-34693
+ - title: tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_create_backup[id-b963d4f1-94b3-4c40-9e97-7b583f46e470,image]
+ errors:
+ - "message': u'No image found with ID"
+ - "u'code': u'404 Not Found'"
+ status: ProdFailed
+ defects: PROD-36275
+
- title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_list[id-6546ef3c-c0e2-46af-b892-f795f4d01119,smoke]
errors:
- show_loadbalancer provisioning_status updated to an invalid state of ERROR
@@ -259,6 +272,13 @@
status: ProdFailed
defects: PROD-25221
+ - title: tempest.api.compute.servers.test_attach_interfaces.AttachInterfacesTestJSON.test_create_list_show_delete_interfaces_by_fixed_ip[id-d290c06c-f5b3-11e7-8ec8-002293781009,network]
+ errors:
+ - 'tempest.lib.exceptions.NotFound: Object not found'
+ - "u'type': u'PortNotFound'"
+ status: ProdFailed
+ defects: PROD-29650
+
## ==================================================
# CVP SANITY
## ==================================================
@@ -483,10 +503,16 @@
status: ProdFailed
- title: test_docker_container_status
- comment: New in 2019.2.12
+ comment: New in 2019.2.14
errors:
- - Container monitoring_alertmanager
- - "has incorrect state 'Ready'. Current state: 'Assigned less than a second ago'"
+ - "Container monitoring_alerta.1 on the node mon01 has incorrect state 'Ready'. Current state: 'Ready 1 second ago'"
+ defects: PROD-35958
+ status: ProdFailed
+
+ - title: test_docker_service_replicas
+ comment: New in 2019.2.14
+ errors:
+ - "Service 'monitoring_alerta' in mode 'replicated' has incorrect count of replicas: 0/1"
defects: PROD-35958
status: ProdFailed
diff --git a/jobs/global.yaml b/jobs/global.yaml
index 87a9d7f..a62bfab 100644
--- a/jobs/global.yaml
+++ b/jobs/global.yaml
@@ -4,5 +4,5 @@
Do not edit this job through the web ! <br>
Please use jenkins-job-builder in git <br>
git clone ssh://gerrit.mcp.mirantis.com:29418/mcp/tcp-qa
- current-version: 2019.2.13
- previous-version: 2019.2.12
\ No newline at end of file
+ current-version: 2019.2.14
+ previous-version: 2019.2.13
\ No newline at end of file
diff --git a/jobs/pipelines/run-test-scenarios.groovy b/jobs/pipelines/run-test-scenarios.groovy
index 877c0c8..f62825f 100644
--- a/jobs/pipelines/run-test-scenarios.groovy
+++ b/jobs/pipelines/run-test-scenarios.groovy
@@ -24,6 +24,7 @@
def steps = env.PASSED_STEPS
def make_snapshot_stages = false
+env.LAB_CONFIG_NAME = env.LAB_CONFIG_NAME ?: env.ENV_NAME
timeout(time: 23, unit: 'HOURS') {
node ("${PARENT_NODE_NAME}") {
diff --git a/jobs/templates/test-scenarios.yml b/jobs/templates/test-scenarios.yml
index 10388e0..730341e 100644
--- a/jobs/templates/test-scenarios.yml
+++ b/jobs/templates/test-scenarios.yml
@@ -72,7 +72,7 @@
- backup-cassandra-queens-contrail-sl:
run-test-opts: '-k TestBackupRestoreCassandra'
- deployment: heat-cicd-queens-contrail-sl
+ deployment: heat-cicd-queens-contrail41-sl
jobs:
- '{test_scenario}'
@@ -92,12 +92,12 @@
--keep-duplicates --maxfail=1 \
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_drivetrain \
tcp_tests/tests/system/test_mcp_update.py::TestOpenstackUpdate \
- tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_galera
+ tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_galera \
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_rabbit \
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_stacklight \
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_ceph \
\
- tcp_tests/tests/system/test_3rdparty_suites.py::Test3rdpartySuites::test_run_tempest \
+ tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_tempest \
tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_func_sanity \
tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_stacklight
test-opt-with-contrail: |-
@@ -105,12 +105,12 @@
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_drivetrain \
tcp_tests/tests/system/test_upgrade_contrail.py::TestUpdateContrail \
tcp_tests/tests/system/test_mcp_update.py::TestOpenstackUpdate \
- tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_galera
+ tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_galera \
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_rabbit \
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_stacklight \
tcp_tests/tests/system/test_mcp_update.py::TestUpdateMcpCluster::test_update_ceph \
\
- tcp_tests/tests/system/test_3rdparty_suites.py::Test3rdpartySuites::test_run_tempest \
+ tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_tempest \
tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_func_sanity \
tcp_tests/tests/system/test_cvp_pipelines.py::TestCvpPipelines::test_run_cvp_stacklight
diff --git a/tcp_tests/managers/jenkins/client.py b/tcp_tests/managers/jenkins/client.py
index 063d400..79b248c 100644
--- a/tcp_tests/managers/jenkins/client.py
+++ b/tcp_tests/managers/jenkins/client.py
@@ -28,22 +28,25 @@
:return: response
:raise ConnectionError after several unsuccessful connections
"""
- err = None
+ err_msg = None
for count in range(max_count):
try:
return func(*args, **kwargs)
except Exception as err:
- print("Try {count}/{max_count} caught Exception: {err}. \
- \n... repeat after {secs} secs".
+ err_msg = err
+ print("Try {count}/{max_count} caught "
+ "Exception in {fn}: {err}."
+ "\n... repeat after {secs} secs".
format(err=err,
count=count+1,
max_count=max_count,
- secs=sleep_before_retry))
+ secs=sleep_before_retry,
+ fn=func.__name__))
time.sleep(sleep_before_retry)
print("Function failed in {total_time} seconds".format(
total_time=max_count*sleep_before_retry)
)
- raise err
+ raise err_msg
return __retry
return _retry
@@ -191,7 +194,11 @@
def building():
try:
- status = not self.build_info(name, build_id)['building']
+ # Nested retry decorator. Need to wait >30 min
+ # During mcp-upgrade job the Jenkins can being upgrading
+ # and can be inaccessible for >20 min
+ status = not retry(max_count=30)(
+ self.build_info)(name, build_id)['building']
except ConnectionError:
status = False
diff --git a/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml b/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml
index 2677238..554a306 100644
--- a/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml
+++ b/tcp_tests/templates/heat-cicd-pike-dvr-sl/salt-context-cookiecutter.yaml
@@ -130,6 +130,7 @@
cookiecutter_template_branch: 'proposed'
cookiecutter_template_credentials: gerrit
cookiecutter_template_url: https://gerrit.mcp.mirantis.com/mk/cookiecutter-templates.git
+ jenkins_slave_type: 'ssh'
deploy_network_gateway: 10.167.5.1
deploy_network_netmask: 255.255.255.0
deploy_network_subnet: 10.167.5.0/24
diff --git a/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml b/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml
index db3b07b..a3b6311 100644
--- a/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml
+++ b/tcp_tests/templates/heat-cicd-queens-contrail41-sl/salt-context-cookiecutter-contrail.yaml
@@ -117,6 +117,7 @@
mcp_docker_registry: docker-prod-local.docker.mirantis.net
mcp_version: proposed
offline_deployment: 'False'
+ openstack_rabbitmq_standalone_mode: 'True'
opencontrail_analytics_address: ==IPV4_NET_CONTROL_PREFIX==.30
opencontrail_analytics_hostname: nal
opencontrail_analytics_node01_address: ==IPV4_NET_CONTROL_PREFIX==.31
diff --git a/tcp_tests/tests/system/conftest.py b/tcp_tests/tests/system/conftest.py
index 0627ede..2ea36cf 100644
--- a/tcp_tests/tests/system/conftest.py
+++ b/tcp_tests/tests/system/conftest.py
@@ -80,3 +80,11 @@
# tempest
'tempest_actions'
])
+
+
+def pytest_addoption(parser):
+ parser.addoption("--dont-switch-to-proposed",
+ action="store_true",
+ help="Skips switching Jenkins on cluster-under-test to "
+ "the proposed branch before the applying "
+ "the MCP updates")
diff --git a/tcp_tests/tests/system/test_mcp_update.py b/tcp_tests/tests/system/test_mcp_update.py
index 12d2aa8..240b481 100644
--- a/tcp_tests/tests/system/test_mcp_update.py
+++ b/tcp_tests/tests/system/test_mcp_update.py
@@ -67,7 +67,16 @@
@pytest.fixture(scope='class')
-def switch_to_proposed_pipelines(reclass_actions, salt_actions):
+def dont_switch_to_proposed(request):
+ return request.config.getoption("--dont-switch-to-proposed")
+
+
+@pytest.fixture(scope='class')
+def switch_to_proposed_pipelines(reclass_actions, salt_actions,
+ dont_switch_to_proposed):
+ if dont_switch_to_proposed:
+ return True
+
reclass = reclass_actions
proposed_repo = "http://mirror.mirantis.com/update/proposed/"
repo_param = "parameters._param.linux_system_repo_update_url"
@@ -111,6 +120,7 @@
reclass_actions.commit(
"[from TCP-QA] Add galera_clustercheck_password")
else:
+
LOG.info("Skipping WA for Galera Clustercheck Password")
@@ -230,7 +240,7 @@
job_name=job_name,
job_parameters=job_parameters,
verbose=True,
- build_timeout=3 * 60 * 60)
+ build_timeout=4 * 60 * 60)
assert job_result == 'SUCCESS', job_description