blob: b4428ab97a9b90fb5f94b9fddeac8220ff424f7b [file] [log] [blame]
Mehdi Abaakouk80081512015-07-29 19:03:26 +02001defaults:
2 request_headers:
3 x-auth-token: $ENVIRON['ADMIN_TOKEN']
4
5tests:
6 - name: list alarms none
7 desc: Lists alarms, none yet exist
8 url: $ENVIRON['AODH_SERVICE_URL']/v2/alarms
9 method: GET
10 response_strings:
11 - "[]"
12
13 - name: list servers none
14 desc: List servers, none yet exists
15 url: $ENVIRON['NOVA_SERVICE_URL']/servers
16 method: GET
17 response_strings:
18 - "[]"
19
20 - name: create stack
21 desc: Create an autoscaling stack
22 url: $ENVIRON['HEAT_SERVICE_URL']/stacks
23 method: POST
24 request_headers:
25 content-type: application/json
Mehdi Abaakouk7f089ac2015-08-05 08:49:45 +020026 data: <@create_stack.json
Mehdi Abaakouk80081512015-07-29 19:03:26 +020027 status: 201
28
29 - name: waiting for stack creation
30 desc: Wait for the second event on the stack resource, it can be a success or failure
31 url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test/events?resource_name=integration_test
32 redirects: true
33 method: GET
34 status: 200
35 poll:
36 count: 300
37 delay: 1
38 response_json_paths:
39 $.events[1].resource_name: integration_test
40
41 - name: control stack status
42 desc: Checks the stack have been created successfully
43 url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
44 redirects: true
45 method: GET
46 status: 200
Mehdi Abaakouk383becb2015-08-21 08:16:29 +000047 poll:
48 count: 5
49 delay: 1
Mehdi Abaakouk80081512015-07-29 19:03:26 +020050 response_json_paths:
51 $.stack.stack_status: "CREATE_COMPLETE"
52
53 - name: list servers
Mehdi Abaakouk6f1e34e2015-08-28 10:10:51 +020054 desc: Wait the autoscaling stack grow to two servers
Mehdi Abaakouk80081512015-07-29 19:03:26 +020055 url: $ENVIRON['NOVA_SERVICE_URL']/servers/detail
56 method: GET
57 poll:
Mehdi Abaakouk383becb2015-08-21 08:16:29 +000058 count: 600
Mehdi Abaakouk80081512015-07-29 19:03:26 +020059 delay: 1
60 response_json_paths:
61 $.servers[0].metadata.'metering.server_group': $RESPONSE['$.stack.id']
62 $.servers[1].metadata.'metering.server_group': $RESPONSE['$.stack.id']
Mehdi Abaakouk80081512015-07-29 19:03:26 +020063 $.servers[0].status: ACTIVE
64 $.servers[1].status: ACTIVE
Mehdi Abaakouk7f089ac2015-08-05 08:49:45 +020065 $.servers.`len`: 2
Mehdi Abaakouk80081512015-07-29 19:03:26 +020066
67 - name: check gnocchi resources
Mehdi Abaakouk6f1e34e2015-08-28 10:10:51 +020068 desc: Check the gnocchi resources for this two servers exists
Mehdi Abaakouk80081512015-07-29 19:03:26 +020069 url: $ENVIRON['GNOCCHI_SERVICE_URL']/v1/resource/instance
70 method: GET
Mehdi Abaakouk383becb2015-08-21 08:16:29 +000071 poll:
72 count: 30
73 delay: 1
Mehdi Abaakouk80081512015-07-29 19:03:26 +020074 response_strings:
75 - '"id": "$RESPONSE["$.servers[0].id"]"'
76 - '"id": "$RESPONSE["$.servers[1].id"]"'
Mehdi Abaakouk80081512015-07-29 19:03:26 +020077
gord chung7014db62017-01-10 21:41:58 +000078 - name: list servers again
79 desc: grab servers to check for events
80 url: $ENVIRON['NOVA_SERVICE_URL']/servers/detail
81 method: GET
82 poll:
83 count: 5
84 delay: 1
85 response_json_paths:
86 $.servers.`len`: 2
87
88 - name: check event
89 desc: Check panko for new instance.create.end event
90 url: $ENVIRON['PANKO_SERVICE_URL']/v2/events
91 method: GET
92 request_headers:
93 content-type: application/json
94 data:
95 q:
96 - field: event_type
97 op: eq
98 type: string
99 value: compute.instance.create.end
100 - field: resource_id
101 op: eq
102 type: string
103 value: $RESPONSE['$.servers[0].id']
104 poll:
105 count: 30
106 delay: 1
107 response_json_paths:
108 $.`len`: 1
109 $[0].event_type: compute.instance.create.end
110 $[0].traits[?(@.name='resource_id')].value: $RESPONSE['$.servers[0].id']
111
Mehdi Abaakouk80081512015-07-29 19:03:26 +0200112 - name: check alarm
113 desc: Check the aodh alarm and its state
114 url: $ENVIRON['AODH_SERVICE_URL']/v2/alarms
115 method: GET
Mehdi Abaakouk7f089ac2015-08-05 08:49:45 +0200116 poll:
117 count: 30
118 delay: 1
Mehdi Abaakouk80081512015-07-29 19:03:26 +0200119 response_strings:
120 - "integration_test-cpu_alarm_high-"
121 response_json_paths:
122 $[0].state: alarm
123
Mehdi Abaakouk7f089ac2015-08-05 08:49:45 +0200124 - name: get stack location for update
125 desc: Get the stack location
126 url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
127 method: GET
128 status: 302
129
130 - name: update stack
131 desc: Update an autoscaling stack
132 url: $LOCATION
133 method: PUT
134 request_headers:
135 content-type: application/json
136 data: <@update_stack.json
137 status: 202
138
139 - name: waiting for stack update
140 desc: Wait for the third event on the stack resource, it can be a success or failure
141 url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test/events?resource_name=integration_test
142 redirects: true
143 method: GET
144 status: 200
145 poll:
146 count: 300
147 delay: 1
148 response_json_paths:
149 $.events[3].resource_name: integration_test
150
151 - name: control stack status
152 desc: Checks the stack have been created successfully
153 url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
154 redirects: true
155 method: GET
156 status: 200
157 poll:
158 count: 5
159 delay: 1
160 response_json_paths:
161 $.stack.stack_status: "UPDATE_COMPLETE"
162
163 - name: list servers
Mehdi Abaakouk6f1e34e2015-08-28 10:10:51 +0200164 desc: Wait the autoscaling stack shrink to one server
Mehdi Abaakouk7f089ac2015-08-05 08:49:45 +0200165 url: $ENVIRON['NOVA_SERVICE_URL']/servers/detail
166 method: GET
167 poll:
168 count: 600
169 delay: 1
170 response_json_paths:
171 $.servers[0].metadata.'metering.server_group': $RESPONSE['$.stack.id']
172 $.servers[0].status: ACTIVE
173 $.servers.`len`: 1
174
Mehdi Abaakouk80081512015-07-29 19:03:26 +0200175 - name: get stack location
176 desc: Get the stack location
177 url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
178 method: GET
179 status: 302
180
181 - name: delete stack
182 desc: Delete the stack
183 url: $LOCATION
184 method: DELETE
185 status: 204
186
187 - name: get deleted stack
188 desc: Check the stack have been deleted
189 url: $ENVIRON['HEAT_SERVICE_URL']/stacks/integration_test
190 redirects: true
191 method: GET
192 poll:
Mehdi Abaakouke3a1aca2016-12-16 10:53:22 +0100193 count: 300
Mehdi Abaakouk80081512015-07-29 19:03:26 +0200194 delay: 1
195 status: 404
196
197 - name: list alarms deleted
198 desc: List alarms, no more exist
199 url: $ENVIRON['AODH_SERVICE_URL']/v2/alarms
200 method: GET
201 response_strings:
202 - "[]"
203
204 - name: list servers deleted
205 desc: List servers, no more exists
206 url: $ENVIRON['NOVA_SERVICE_URL']/servers
207 method: GET
208 response_strings:
209 - "[]"