Fix gabbi tests
When the tests have been migrated to this repository, the gabbi test
generates have never raise error...
This change fixes that.
It also fixes tests that doesn't pass anymore.
It removes useless stack downscaling, because it takes too many times
for no additional value (alarm update/metric update are tested by other
tests).
Change-Id: I09cd0569f90e873cf4b7f05ec9c14496c9551fcc
diff --git a/.zuul.yaml b/.zuul.yaml
index d3181ba..a78b751 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -11,6 +11,7 @@
- openstack/panko
- openstack/telemetry-tempest-plugin
- openstack/heat
+ - openstack/heat-tempest-plugin
# following are required when DEVSTACK_GATE_HEAT, which this
# job turns on
- openstack/dib-utils
diff --git a/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post_test_hook.sh b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post_test_hook.sh
index 1507bd3..c9cbea7 100755
--- a/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post_test_hook.sh
+++ b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/post_test_hook.sh
@@ -31,7 +31,7 @@
}
function generate_telemetry_report(){
- set +x
+ set -x
set +e
echo "* Message queue status:"
@@ -54,7 +54,6 @@
echo "* Gnocchi instance detail:"
gnocchi resource show -t instance $instance_id
echo "* Gnocchi measures for instance ${instance_id}:"
- gnocchi measures show -r $instance_id cpu_util
gnocchi metric show -r $instance_id cpu
gnocchi --debug measures show -r $instance_id --aggregation rate:mean cpu
done
@@ -94,6 +93,7 @@
sudo chown -R tempest:stack $BASE/data/tempest
cd $BASE/new/tempest
sudo -H -u tempest tox -evenv-tempest -- pip install /opt/stack/new/telemetry-tempest-plugin
+sudo -H -u tempest tox -evenv-tempest -- pip install /opt/stack/new/heat-tempest-plugin
echo "Checking installed Tempest plugins:"
sudo -H -u tempest tox -evenv-tempest -- tempest list-plugins
set +e
diff --git a/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml
index 8453716..3378e11 100644
--- a/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml
+++ b/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/run.yaml
@@ -35,15 +35,15 @@
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
- export PROJECTS="openstack/ceilometer openstack/aodh openstack/panko openstack/telemetry-tempest-plugin openstack/heat"
+ export PROJECTS="openstack/ceilometer openstack/aodh openstack/panko openstack/telemetry-tempest-plugin openstack/heat openstack/heat-tempest-plugin"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin panko git://git.openstack.org/openstack/panko"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat-tempest-plugin git://git.openstack.org/openstack/heat-tempest-plugin"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"INSTALL_TEMPEST='False'"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"CEILOMETER_BACKEND=gnocchi"
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"GNOCCHI_ARCHIVE_POLICY=high"
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"GNOCCHI_ARCHIVE_POLICY_TEMPEST=ceilometer-high"
+ export DEVSTACK_LOCAL_CONFIG+=$'\n'"GNOCCHI_ARCHIVE_POLICY_TEMPEST=ceilometer-high-rate"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"CEILOMETER_PIPELINE_INTERVAL=15"
function post_test_hook {
cd /opt/stack/new/telemetry-tempest-plugin/playbooks/legacy/telemetry-dsvm-integration-tempest-plugin/
diff --git a/telemetry_tempest_plugin/scenario/gnocchi_gabbits/live.yaml b/telemetry_tempest_plugin/scenario/gnocchi_gabbits/live.yaml
index 6d15d61..9dd7347 100644
--- a/telemetry_tempest_plugin/scenario/gnocchi_gabbits/live.yaml
+++ b/telemetry_tempest_plugin/scenario/gnocchi_gabbits/live.yaml
@@ -51,7 +51,7 @@
cowsay: moo
status: 400
response_strings:
- - "Invalid input: extra keys not allowed"
+ - "extra keys not allowed"
- name: missing definition
desc: archive policy is missing 'definition' keyword
@@ -62,7 +62,7 @@
name: medium
status: 400
response_strings:
- - "Invalid input: required key not provided"
+ - "required key not provided"
- name: empty definition
desc: empty definition for archive policy
@@ -74,7 +74,7 @@
definition: []
status: 400
response_strings:
- - "Invalid input: length of value must be at least 1"
+ - "length of value must be at least 1"
- name: wrong value definition
desc: invalid type of 'definition' key
@@ -86,7 +86,7 @@
definition: foobar
status: 400
response_strings:
- - "Invalid input: expected a list"
+ - "expected a list"
- name: useless definition
desc: invalid archive policy definition
@@ -99,7 +99,7 @@
- cowsay: moo
status: 400
response_strings:
- - "Invalid input: extra keys not allowed"
+ - "extra keys not allowed"
#
# Create archive policy
@@ -125,7 +125,7 @@
- min
- max
response_headers:
- location: $SCHEME://$NETLOC/v1/archive_policy/gabbilive
+ location: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/archive_policy/gabbilive
status: 201
# Retrieve it correctly and then poorly
@@ -134,7 +134,7 @@
desc: retrieve archive policy 'gabbilive' and asster its values
GET: $LOCATION
response_headers:
- content-type: $ENVIRON['GNOCCHI_SERVICE_URL']/application/json/
+ content-type: application/json
response_json_paths:
$.name: gabbilive
$.back_window: 0
@@ -198,7 +198,7 @@
points: 20
status: 201
response_headers:
- location: $SCHEME://$NETLOC/v1/archive_policy/%E2%9C%94%C3%A9%C3%B1%E2%98%83
+ location: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/archive_policy/%E2%9C%94%C3%A9%C3%B1%E2%98%83
response_json_paths:
name: ✔éñ☃
@@ -325,7 +325,7 @@
whaa: foobar
status: 400
response_strings:
- - "Invalid input: extra keys not allowed"
+ - "extra keys not allowed"
# get an archive policy rules
@@ -461,7 +461,7 @@
- name: root of resource
GET: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/resource
response_json_paths:
- $.generic: $SCHEME://$NETLOC/v1/resource/generic
+ $.generic: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/resource/generic
- name: typo of resource
GET: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/resoue
@@ -489,7 +489,7 @@
min_length: 2
status: 201
response_headers:
- location: $SCHEME://$NETLOC/v1/resource_type/myresource
+ location: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/resource_type/myresource
- name: add an attribute
PATCH: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/resource_type/myresource
diff --git a/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/autoscaling.yaml b/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/autoscaling.yaml
index 8eac9d0..ca53bfb 100644
--- a/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/autoscaling.yaml
+++ b/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/autoscaling.yaml
@@ -99,45 +99,6 @@
response_json_paths:
$[0].state: alarm
- - name: get stack location for update
- desc: Get the stack location
- url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
- method: GET
- status: 302
-
- - name: update stack
- desc: Update an autoscaling stack
- url: $LOCATION
- method: PUT
- request_headers:
- content-type: application/json
- data: <@update_stack.json
- status: 202
-
- - name: control stack status
- desc: Checks the stack have been created successfully
- url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
- redirects: true
- method: GET
- status: 200
- poll:
- count: 300
- delay: 1
- response_json_paths:
- $.stack.stack_status: "UPDATE_COMPLETE"
-
- - name: list servers shrink
- desc: Wait the autoscaling stack shrink to one server
- url: $ENVIRON['NOVA_SERVICE_URL']/servers/detail
- method: GET
- poll:
- count: 600
- delay: 1
- response_json_paths:
- $.servers[0].metadata.'metering.server_group': $RESPONSE['$.stack.id']
- $.servers[0].status: ACTIVE
- $.servers.`len`: 1
-
- name: get stack location
desc: Get the stack location
url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
diff --git a/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/update_stack.json b/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/update_stack.json
deleted file mode 100644
index a107f4b..0000000
--- a/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/update_stack.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "template": {
- "heat_template_version": "2013-05-23",
- "description": "Integration Test AutoScaling with heat+ceilometer+gnocchi+aodh",
- "resources": {
- "asg": {
- "type": "OS::Heat::AutoScalingGroup",
- "properties": {
- "min_size": 1,
- "max_size": 2,
- "resource": {
- "type": "OS::Nova::Server",
- "properties": {
- "networks": [{ "network": "$ENVIRON['NEUTRON_NETWORK']" }],
- "flavor": "$ENVIRON['NOVA_FLAVOR_REF']",
- "image": "$ENVIRON['GLANCE_IMAGE_NAME']",
- "metadata": {
- "metering.server_group": { "get_param": "OS::stack_id" }
- },
- "user_data_format": "RAW",
- "user_data": {"Fn::Join": ["", [
- "#!/bin/sh\n",
- "echo 'Loading CPU'\n",
- "set -v\n",
- "cat /dev/urandom > /dev/null\n"
- ]]}
- }
- }
- }
- },
- "web_server_scaledown_policy": {
- "type": "OS::Heat::ScalingPolicy",
- "properties": {
- "adjustment_type": "change_in_capacity",
- "auto_scaling_group_id": { "get_resource": "asg" },
- "cooldown": 2,
- "scaling_adjustment": -1
- }
- },
- "cpu_alarm_high": {
- "type": "OS::Ceilometer::GnocchiAggregationByResourcesAlarm",
- "properties": {
- "description": "Scale-down if the mean CPU > 10% on 1 minute",
- "metric": "$ENVIRON["CEILOMETER_METRIC_NAME"]",
- "aggregation_method": "$ENVIRON["GNOCCHI_AGGREGATION_METHOD"]",
- "granularity": $ENVIRON["AODH_GRANULARITY"],
- "evaluation_periods": 1,
- "threshold": $ENVIRON["AODH_THRESHOLD"],
- "comparison_operator": "gt",
- "alarm_actions": [
- {
- "str_replace": {
- "template": "trust+url",
- "params": {
- "url": { "get_attr": [ "web_server_scaledown_policy", "signal_url" ] }
- }
- }
- }
- ],
- "resource_type": "instance",
- "query": {
- "str_replace": {
- "template": "{\"and\": [{\"=\": {\"server_group\": \"stack_id\"}}, {\"=\": {\"ended_at\": null}}]}",
- "params": {
- "stack_id": { "get_param": "OS::stack_id" }
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
index f6634f5..2fded9f 100644
--- a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
+++ b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
@@ -29,7 +29,7 @@
@classmethod
def skip_checks(cls):
super(TestTelemetryIntegration, cls).skip_checks()
- for name in ["aodh", "gnocchi", "nova", "heat_plugin",
+ for name in ["aodh", "gnocchi", "nova", "heat",
"panko", "ceilometer", "glance"]:
cls._check_service(name)
diff --git a/telemetry_tempest_plugin/scenario/utils.py b/telemetry_tempest_plugin/scenario/utils.py
index 90b4d6b..f3a4fa6 100644
--- a/telemetry_tempest_plugin/scenario/utils.py
+++ b/telemetry_tempest_plugin/scenario/utils.py
@@ -43,8 +43,6 @@
stream=stream, verbosity=0, failfast=True,
).run(test_suite)
- return
-
if not result.wasSuccessful():
failures = (result.errors + result.failures +
result.unexpectedSuccesses)