summaryrefslogtreecommitdiff
path: root/api-ref/regenerate-samples.sh
diff options
context:
space:
mode:
authorVasyl Saienko <vsaienko@mirantis.com>2016-12-26 16:17:25 +0200
committerVasyl Saienko <vsaienko@mirantis.com>2016-12-26 14:21:18 +0000
commite7eb1e63c61f34dc61fe82beee2753ea218f0c2f (patch)
tree7faee5f31cf4f53fd58c620335c0ded709537910 /api-ref/regenerate-samples.sh
parent8dcaf82100e8449d7b529c011da26653edc3a533 (diff)
downloadironic-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-xapi-ref/regenerate-samples.sh35
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