1、用户调用Nova的rescue函数

nova/virt/ironic/driver.py
class IronicDriver(virt_driver.ComputeDriver):
        ......
        ......
    #导入ironicclient模块
    def __init__(self, virtapi, read_only=False):
        super(IronicDriver, self).__init__(virtapi)
        global ironic
        if ironic is None:
            ironic = importutils.import_module('ironicclient')
        ......
        self.ironicclient = client_wrapper.IronicClientWrapper()
     
    def spawn(self, context, instance, image_meta, injected_files,
          admin_password, allocations, network_info=None,
          block_device_info=None):
        ......
        #调用ironicclient.call方法,触发节点部署
        try:
             self.ironicclient.call("node.set_provision_state", node_uuid,
                                    ironic_states.ACTIVE,
                                    configdrive=configdrive_value)
        ......
        try:
            ##Virt驱动程序在等待provision_state更改时循环,并根据需要更新Nova状态
            timer.start(interval=CONF.ironic.api_retry_interval).wait()
            LOG.info('Successfully provisioned Ironic node %s',
             node.uuid, instance=instance)
View Code

相关文章:

  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-03-31
  • 2022-12-23
  • 2021-08-28
  • 2021-10-23
相关资源
相似解决方案