Add telemetry gabbits tests to smoke
these tests were originally removed in upstream,
add them back and make them smoke tests.
Related-prod: PRODX-8123
Change-Id: I87bb8f315c0b22257d13ca3bd1a2184575d783e2
diff --git a/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/autoscaling_smoke.yaml b/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/autoscaling_smoke.yaml
new file mode 100644
index 0000000..900aa76
--- /dev/null
+++ b/telemetry_tempest_plugin/scenario/telemetry_integration_gabbits/autoscaling_smoke.yaml
@@ -0,0 +1,140 @@
+defaults:
+ request_headers:
+ x-auth-token: $ENVIRON['USER_TOKEN']
+
+tests:
+ - name: list alarms none
+ desc: Lists alarms, none yet exist
+ url: $ENVIRON['AODH_SERVICE_URL']/v2/alarms
+ method: GET
+ response_strings:
+ - "[]"
+
+ - name: list servers none
+ desc: List servers, none yet exists
+ url: $ENVIRON['NOVA_SERVICE_URL']/servers
+ method: GET
+ response_strings:
+ - "[]"
+
+ - name: create stack
+ desc: Create an autoscaling stack
+ url: $ENVIRON['HEAT_SERVICE_URL']/stacks
+ method: POST
+ request_headers:
+ content-type: application/json
+ data: <@create_stack.json
+ status: 201
+
+ - name: control stack status
+ desc: Checks the stack have been created successfully
+ url: $ENVIRON['HEAT_SERVICE_URL']/stacks/$ENVIRON['STACK_NAME']
+ redirects: true
+ method: GET
+ status: 200
+ poll:
+ count: 300
+ delay: 1
+ response_json_paths:
+ $.stack.stack_status: "CREATE_COMPLETE"
+
+ - name: list servers grow
+ desc: Wait the autoscaling stack grow to two servers
+ 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[1].metadata.'metering.server_group': $RESPONSE['$.stack.id']
+ $.servers[0].status: ACTIVE
+ $.servers[1].status: ACTIVE
+ $.servers.`len`: 2
+
+ - name: check gnocchi resources
+ desc: Check the gnocchi resources for this two servers exists
+ url: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/search/resource/instance
+ method: POST
+ request_headers:
+ content-type: application/json
+ data:
+ =:
+ server_group: $RESPONSE['$.servers[0].metadata."metering.server_group"']
+ poll:
+ count: 30
+ delay: 1
+ response_json_paths:
+ $.`len`: 2
+
+ - name: check event
+ desc: Check panko for new instance.create.end event
+ url: $ENVIRON['PANKO_SERVICE_URL']/v2/events
+ method: GET
+ request_headers:
+ content-type: application/json
+ data:
+ q:
+ - field: event_type
+ op: eq
+ type: string
+ value: compute.instance.create.end
+ - field: resource_id
+ op: eq
+ type: string
+ value: $HISTORY['list servers grow'].$RESPONSE['$.servers[0].id']
+ poll:
+ count: 30
+ delay: 1
+ response_json_paths:
+ $.`len`: 1
+ $[0].event_type: compute.instance.create.end
+ $[0].traits[?(@.name='resource_id')].value: $HISTORY['list servers grow'].$RESPONSE['$.servers[0].id']
+
+ - name: check alarm
+ desc: Check the aodh alarm and its state
+ url: $ENVIRON['AODH_SERVICE_URL']/v2/alarms
+ method: GET
+ poll:
+ count: 30
+ delay: 1
+ response_strings:
+ - "$ENVIRON['STACK_NAME']-cpu_alarm_high-"
+ response_json_paths:
+ $[0].state: alarm
+
+ - name: get stack location
+ desc: Get the stack location
+ url: $ENVIRON['HEAT_SERVICE_URL']/stacks/$ENVIRON['STACK_NAME']
+ method: GET
+ status: 302
+
+ - name: delete stack
+ desc: Delete the stack
+ url: $LOCATION
+ method: DELETE
+ status: 204
+
+ - name: get deleted stack
+ desc: Check the stack have been deleted
+ url: $ENVIRON['HEAT_SERVICE_URL']/stacks/$ENVIRON['STACK_NAME']
+ redirects: true
+ method: GET
+ poll:
+ count: 300
+ delay: 1
+ status: 404
+
+ - name: list alarms deleted
+ desc: List alarms, no more exist
+ url: $ENVIRON['AODH_SERVICE_URL']/v2/alarms
+ method: GET
+ response_strings:
+ - "[]"
+
+ - name: list servers deleted
+ desc: List servers, no more exists
+ url: $ENVIRON['NOVA_SERVICE_URL']/servers
+ method: GET
+ response_strings:
+ - "[]"