diff options
author | Vasyl Saienko <vsaienko@mirantis.com> | 2016-12-26 16:17:25 +0200 |
---|---|---|
committer | Vasyl Saienko <vsaienko@mirantis.com> | 2016-12-26 14:21:18 +0000 |
commit | e7eb1e63c61f34dc61fe82beee2753ea218f0c2f (patch) | |
tree | 7faee5f31cf4f53fd58c620335c0ded709537910 /api-ref/regenerate-samples.sh | |
parent | 8dcaf82100e8449d7b529c011da26653edc3a533 (diff) | |
download | ironic-e7eb1e63c61f34dc61fe82beee2753ea218f0c2f.tar.gz |
Update regenerate-samples.sh api-ref script
When regenerate-samples.sh called values like uuid, created_at,
updated_at, provision_state, power_state are updated automatically.
This patch ensures that they restored to original values to minimize
commit diff, as they are not related to change itself.
Add a waiter to wait for node state after update request to make sure
it was applied.
Removed unused anywhere files:
* node-set-power-state.json
* node-states-show-response.json
Change-Id: Iccff575990c9c06b6cc2cb60e93dd962bde46347
Diffstat (limited to 'api-ref/regenerate-samples.sh')
-rwxr-xr-x | api-ref/regenerate-samples.sh | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/api-ref/regenerate-samples.sh b/api-ref/regenerate-samples.sh index b17807740..6196886aa 100755 --- a/api-ref/regenerate-samples.sh +++ b/api-ref/regenerate-samples.sh @@ -18,7 +18,11 @@ export OS_AUTH_TOKEN IRONIC_URL DOC_CHASSIS_UUID="dff29d23-1ded-43b4-8ae1-5eebb3e30de1" DOC_NODE_UUID="6d85703a-565d-469a-96ce-30b6de53079d" DOC_PORT_UUID="d2b30520-907d-46c8-bfee-c5586e6fb3a1" -DOC_PORTGROUP_UUID="e059deab-6e86-40d1-9e70-62d525f16728" +DOC_PORTGROUP_UUID="e43c722c-248e-4c6e-8ce8-0d8ff129387a" +DOC_PROVISION_UPDATED_AT="2016-08-18T22:28:49.946416+00:00" +DOC_CREATED_AT="2016-08-18T22:28:48.643434+11:11" +DOC_UPDATED_AT="2016-08-18T22:28:49.653974+00:00" +DOC_IRONIC_CONDUCTOR_HOSTNAME="897ab1dad809" function GET { # GET $RESOURCE @@ -54,6 +58,27 @@ function PUT { ${IRONIC_URL}/$1 } +function wait_for_node_state { + local node="$1" + local field="$2" + local target_state="$3" + local attempt=10 + + while [[ $attempt -gt 0 ]]; do + res=$(openstack baremetal node show "$node" -f value -c "$field") + if [[ "$res" == "$target_state" ]]; then + break + fi + sleep 1 + attempt=$((attempt - 1)) + echo "Failed to get node $field == $target_state in $attempt attempts." + done + + if [[ $attempt == 0 ]]; then + exit 1 + fi +} + pushd source/samples ########### @@ -116,10 +141,14 @@ GET v1/nodes/$NID/vendor_passthru/methods > node-vendor-passthru-response.json PATCH v1/nodes/$NID node-update-driver.json PUT v1/nodes/$NID/states/provision node-set-manage-state.json PUT v1/nodes/$NID/states/provision node-set-available-state.json +# Wait node to become available +wait_for_node_state $NID provision_state available GET v1/nodes/$NID/validate > node-validate-response.json PUT v1/nodes/$NID/states/power node-set-power-off.json +# Wait node to reach power off state +wait_for_node_state $NID power_state "power off" GET v1/nodes/$NID/states > node-get-state-response.json GET v1/nodes > nodes-list-response.json @@ -216,3 +245,7 @@ sed -i "s/$CID/$DOC_CHASSIS_UUID/" *.json sed -i "s/$NID/$DOC_NODE_UUID/" *.json sed -i "s/$PID/$DOC_PORT_UUID/" *.json sed -i "s/$PGID/$DOC_PORTGROUP_UUID/" *.json +sed -i "s/$(hostname)/$DOC_IRONIC_CONDUCTOR_HOSTNAME/" *.json +sed -i "s/created_at\": \".*\"/created_at\": \"$DOC_CREATED_AT\"/" *.json +sed -i "s/updated_at\": \".*\"/updated_at\": \"$DOC_UPDATED_AT\"/" *.json +sed -i "s/provision_updated_at\": \".*\"/provision_updated_at\": \"$DOC_PROVISION_UPDATED_AT\"/" *.json |