diff options
author | Zuul <zuul@review.opendev.org> | 2022-03-03 12:39:40 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-03-03 12:39:40 +0000 |
commit | 4e6a3d52edc42b490c10c110dee5ea9e64fc3467 (patch) | |
tree | 7b7fa3ef329b6a9fcdb7b385cfb35cb8b31b6c76 /ironic/drivers/modules | |
parent | 8eec87bbe42637ec234ef07b96327998bf2195ab (diff) | |
parent | 06cc5d47dcdc49193e5e4e748471eb0b9ae97bbb (diff) | |
download | ironic-4e6a3d52edc42b490c10c110dee5ea9e64fc3467.tar.gz |
Merge "More fixes for anaconda deploy interface"
Diffstat (limited to 'ironic/drivers/modules')
-rw-r--r-- | ironic/drivers/modules/ks.cfg.template | 6 | ||||
-rw-r--r-- | ironic/drivers/modules/pxe.py | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/ironic/drivers/modules/ks.cfg.template b/ironic/drivers/modules/ks.cfg.template index 40552377b..f7ef75e1c 100644 --- a/ironic/drivers/modules/ks.cfg.template +++ b/ironic/drivers/modules/ks.cfg.template @@ -18,7 +18,7 @@ autopart # Downloading and installing OS image using liveimg section is mandatory liveimg --url {{ ks_options.liveimg_url }} -# Following %pre, %onerror and %trackback sections are mandatory +# Following %pre and %onerror sections are mandatory %pre /usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-OpenStack-Ironic-API-Version: 1.72' -d '{"callback_url": "", "agent_token": "{{ ks_options.agent_token }}", "agent_status": "start", "agent_status_message": "Deployment starting. Running pre-installation scripts."}' {{ ks_options.heartbeat_url }} %end @@ -27,10 +27,6 @@ liveimg --url {{ ks_options.liveimg_url }} /usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-OpenStack-Ironic-API-Version: 1.72' -d '{"callback_url": "", "agent_token": "{{ ks_options.agent_token }}", "agent_status": "error", "agent_status_message": "Error: Deploying using anaconda. Check console for more information."}' {{ ks_options.heartbeat_url }} %end -%traceback -/usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-OpenStack-Ironic-API-Version: 1.72' -d '{"callback_url": "", "agent_token": "{{ ks_options.agent_token }}", "agent_status": "error", "agent_status_message": "Error: Installer crashed unexpectedly."}' {{ ks_options.heartbeat_url }} -%end - # Sending callback after the installation is mandatory %post /usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-OpenStack-Ironic-API-Version: 1.72' -d '{"callback_url": "", "agent_token": "{{ ks_options.agent_token }}", "agent_status": "end", "agent_status_message": "Deployment completed successfully."}' {{ ks_options.heartbeat_url }} diff --git a/ironic/drivers/modules/pxe.py b/ironic/drivers/modules/pxe.py index 50d962fcf..6eccc1938 100644 --- a/ironic/drivers/modules/pxe.py +++ b/ironic/drivers/modules/pxe.py @@ -85,6 +85,9 @@ class PXEAnacondaDeploy(agent_base.AgentBaseMixin, agent_base.HeartbeatMixin, # NOTE(TheJulia): If this was any other interface, we would # unconfigure tenant networks, add provisioning networks, etc. task.driver.storage.attach_volumes(task) + node.instance_info = deploy_utils.build_instance_info_for_deploy( + task) + node.save() if node.provision_state in (states.ACTIVE, states.UNRESCUING): # In the event of takeover or unrescue. task.driver.boot.prepare_instance(task) @@ -123,13 +126,13 @@ class PXEAnacondaDeploy(agent_base.AgentBaseMixin, agent_base.HeartbeatMixin, agent_base.log_and_raise_deployment_error(task, msg) try: + task.process_event('resume') self.clean_up(task) manager_utils.node_power_action(task, states.POWER_OFF) task.driver.network.remove_provisioning_network(task) task.driver.network.configure_tenant_networks(task) manager_utils.node_power_action(task, states.POWER_ON) - node.provision_state = states.ACTIVE - node.save() + task.process_event('done') except Exception as e: msg = (_('Error rebooting node %(node)s after deploy. ' 'Error: %(error)s') % |