Support to wait for node deployment to complete
The original os_ironic_node module, nor bifrost as a whole lacks a concept of waiting for a node deployment to reach an active state where the conductor no longer has to take any additional action upon the node. In order to allow users to utilize the Ansible serial option, we need to support the ability to wait so the conductor is not overloaded by the user in specific edge cases. Change-Id: I1fe3353a56a54ecde25f9f237b85ca009813f541 Depends-On: I69eee2d254cde2fffcf0c1ac7679a623fa7f97a5
This commit is contained in:
parent
e490f27ada
commit
697bb2d2b3
@ -42,3 +42,10 @@ testing_user: root
|
||||
# will be generated using diskimage-builder.
|
||||
# deploy_image_filename: "deployment_image.qcow2"
|
||||
# deploy_image: "{{http_boot_folder}}/{{deploy_image_filename}}"
|
||||
|
||||
# Under normal circumstances, the os_ironic_node module does not wait for
|
||||
# the node to reach active state before continuing with the deployment
|
||||
# process. This means we may have to timeout, to figure out a deployment
|
||||
# failed. Change wait_for_node_deploy to true to cause bifrost to wait for
|
||||
# Ironic to show the instance in Active state.
|
||||
wait_for_node_deploy: false
|
||||
|
@ -14,3 +14,11 @@ inventory_dhcp_static_ip: true
|
||||
inventory_dns: false
|
||||
deploy_url_protocol: "http"
|
||||
noauth_mode: true
|
||||
|
||||
# Under normal circumstances, the os_ironic_node module does not wait for
|
||||
# the node to reach active state before continuing with the deployment
|
||||
# process. This means we may have to timeout, to figure out a deployment
|
||||
# failed. Change wait_for_node_deploy to true to cause bifrost to wait for
|
||||
# Ironic to show the instance in Active state.
|
||||
wait_for_node_deploy: false
|
||||
wait_timeout: 1800
|
||||
|
@ -95,5 +95,7 @@
|
||||
image_checksum: "{{ test_deploy_image.stat.md5 }}"
|
||||
image_disk_format: "qcow2"
|
||||
root_gb: 10
|
||||
wait: "{{ wait_for_node_deploy }}"
|
||||
timeout: " {{ wait_timeout | default(1800) }}"
|
||||
delegate_to: localhost
|
||||
when: instance_info is not defined or ( instance_info is defined and instance_info | to_json == '{}' )
|
||||
|
@ -39,6 +39,7 @@ PROVISION_WAIT_TIMEOUT=${PROVISION_WAIT_TIMEOUT:-900}
|
||||
NOAUTH_MODE=true
|
||||
ENABLE_KEYSTONE=false
|
||||
CLOUD_CONFIG=""
|
||||
WAIT_FOR_DEPLOY=true
|
||||
|
||||
# NOTE(cinerama): We could remove this if we change the CI job to use
|
||||
# USE_DHCP, BUILD_IMAGE, etc.
|
||||
@ -148,6 +149,7 @@ ${ANSIBLE} -vvvv \
|
||||
-e wait_timeout=${PROVISION_WAIT_TIMEOUT} \
|
||||
-e noauth_mode=${NOAUTH_MODE} \
|
||||
-e enable_keystone=${ENABLE_KEYSTONE} \
|
||||
-e wait_for_node_deploy=${WAIT_FOR_DEPLOY} \
|
||||
${CLOUD_CONFIG}
|
||||
EXITCODE=$?
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user