placement/placement/tests/functional/gabbits/resource-provider-bug-17798...

124 lines
5.2 KiB
YAML

# Test launchpad bug https://bugs.launchpad.net/nova/+bug/1779818
fixtures:
- APIFixture
defaults:
request_headers:
x-auth-token: admin
accept: application/json
openstack-api-version: placement latest
tests:
- name: post a resource provider as alt_parent
POST: /resource_providers
request_headers:
content-type: application/json
data:
name: alt_parent
uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
status: 200
response_json_paths:
$.uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.name: alt_parent
$.parent_provider_uuid: null
$.generation: 0
- name: post another resource provider as parent
POST: /resource_providers
request_headers:
content-type: application/json
data:
name: parent
uuid: $ENVIRON['PARENT_PROVIDER_UUID']
status: 200
response_json_paths:
$.uuid: $ENVIRON['PARENT_PROVIDER_UUID']
$.name: parent
$.parent_provider_uuid: null
$.generation: 0
- name: post a child resource provider of the parent
POST: /resource_providers
request_headers:
content-type: application/json
data:
name: child
uuid: $ENVIRON['RP_UUID']
parent_provider_uuid: $ENVIRON['PARENT_PROVIDER_UUID']
status: 200
response_json_paths:
$.uuid: $ENVIRON['RP_UUID']
$.name: child
$.parent_provider_uuid: $ENVIRON['PARENT_PROVIDER_UUID']
$.generation: 0
# Let's validate that now we have two tree structures
# * alt_parent
# * parent
# |
# +-- child
- name: list all resource providers
GET: /resource_providers
response_json_paths:
$.resource_providers.`len`: 3
$.resource_providers[?uuid="$ENVIRON['ALT_PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['ALT_PARENT_PROVIDER_UUID']"].parent_provider_uuid: null
$.resource_providers[?uuid="$ENVIRON['PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['PARENT_PROVIDER_UUID']"].parent_provider_uuid: null
$.resource_providers[?uuid="$ENVIRON['RP_UUID']"].root_provider_uuid: $ENVIRON['PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['RP_UUID']"].parent_provider_uuid: $ENVIRON['PARENT_PROVIDER_UUID']
# Let's re-parent the parent to the alternative parent
# so that we have only one tree.
# * alt_parent
# |
# +-- parent
# |
# +-- child
- name: update a parent of the parent
PUT: /resource_providers/$ENVIRON['PARENT_PROVIDER_UUID']
request_headers:
content-type: application/json
data:
name: parent
parent_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
status: 200
# Let's validate that we have only one root provider now
- name: list all resource providers updated
GET: /resource_providers
response_json_paths:
$.resource_providers.`len`: 3
$.resource_providers[?uuid="$ENVIRON['ALT_PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['ALT_PARENT_PROVIDER_UUID']"].parent_provider_uuid: null
$.resource_providers[?uuid="$ENVIRON['PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['PARENT_PROVIDER_UUID']"].parent_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['RP_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['RP_UUID']"].parent_provider_uuid: $ENVIRON['PARENT_PROVIDER_UUID']
- name: list all resource providers in a tree with the child
GET: /resource_providers?in_tree=$ENVIRON['RP_UUID']
response_json_paths:
$.resource_providers.`len`: 3
$.resource_providers[?uuid="$ENVIRON['RP_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['ALT_PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
- name: list all resource providers in a tree with the parent
GET: /resource_providers?in_tree=$ENVIRON['PARENT_PROVIDER_UUID']
response_json_paths:
$.resource_providers.`len`: 3
$.resource_providers[?uuid="$ENVIRON['RP_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['ALT_PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
- name: list all resource providers in a tree with the alternative parent
GET: /resource_providers?in_tree=$ENVIRON['ALT_PARENT_PROVIDER_UUID']
response_json_paths:
$.resource_providers.`len`: 3
$.resource_providers[?uuid="$ENVIRON['RP_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['ALT_PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']
$.resource_providers[?uuid="$ENVIRON['PARENT_PROVIDER_UUID']"].root_provider_uuid: $ENVIRON['ALT_PARENT_PROVIDER_UUID']