← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1369627] [NEW] libvirt disk.config will have issues when booting two with different config drive values

 

Public bug reported:

Currently, in the image creating code for Juno we have

        if configdrive.required_by(instance):
            LOG.info(_LI('Using config drive'), instance=instance)

            image_type = self._get_configdrive_image_type()
            backend = image('disk.config', image_type)
            backend.cache(fetch_func=self._create_configdrive,
                          filename='disk.config' + suffix,
                          instance=instance,
                          admin_pass=admin_pass,
                          files=files,
                          network_info=network_info)

The important thing to notice here is that we have
"filename='disk.confg' + suffix".  This means that the filename for the
config drive in the cache directory will be simply 'disk.config'
followed by any potential suffix (e.g. '.rescue').  This name is not
unique to the instance whose config drive we are creating.  Therefore,
when we go to boot another instance with a different config drive, the
cache function will detect the old config drive, and decide it doesn't
need to create the new config drive with the appropriate config for the
new instance.

** Affects: nova
     Importance: Undecided
     Assignee: Solly Ross (sross-7)
         Status: In Progress


** Tags: libvirt

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1369627

Title:
  libvirt disk.config will have issues when booting two with different
  config drive values

Status in OpenStack Compute (Nova):
  In Progress

Bug description:
  Currently, in the image creating code for Juno we have

          if configdrive.required_by(instance):
              LOG.info(_LI('Using config drive'), instance=instance)

              image_type = self._get_configdrive_image_type()
              backend = image('disk.config', image_type)
              backend.cache(fetch_func=self._create_configdrive,
                            filename='disk.config' + suffix,
                            instance=instance,
                            admin_pass=admin_pass,
                            files=files,
                            network_info=network_info)

  The important thing to notice here is that we have
  "filename='disk.confg' + suffix".  This means that the filename for
  the config drive in the cache directory will be simply 'disk.config'
  followed by any potential suffix (e.g. '.rescue').  This name is not
  unique to the instance whose config drive we are creating.  Therefore,
  when we go to boot another instance with a different config drive, the
  cache function will detect the old config drive, and decide it doesn't
  need to create the new config drive with the appropriate config for
  the new instance.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1369627/+subscriptions


Follow ups

References