← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1513140] [NEW] block_device_mapping.connection_info is updated from None to 'null'

 

Public bug reported:

While debugging bug 1489581 we were tracking some BDM updates in the
cells API code:

http://logs.openstack.org/66/241366/1/check/gate-tempest-dsvm-
cells/1d7551e/logs/screen-n-cell-region.txt.gz#_2015-11-03_21_44_58_273

http://logs.openstack.org/66/241366/1/check/gate-tempest-dsvm-
cells/1d7551e/logs/screen-n-cell-region.txt.gz#_2015-11-03_21_44_58_332

Which is a diff off:

https://www.diffchecker.com/pqclw8j3

mriedem@ubuntu:~/git$ diff bdm1.txt bdm2.txt 
1c1
< {u'guest_format': None, u'boot_index': 0, u'connection_info': None, u'snapshot_id': None, u'updated_at': u'2015-11-03T21:44:58.000000', u'image_id': None, u'device_type': None, u'volume_id': u'35909d21-81b8-4fda-82b6-d3d75be61238', u'deleted_at': None, u'instance_uuid': u'2c9cecc1-c3db-4057-81bd-98e488c45ac2', u'no_device': False, u'created_at': u'2015-11-03T21:44:57.000000', u'volume_size': 1, u'device_name': u'/dev/vda', u'disk_bus': None, u'deleted': False, u'source_type': u'volume', u'destination_type': u'volume', u'delete_on_termination': True}
---
> {u'guest_format': None, u'boot_index': 0, u'connection_info': u'null', u'snapshot_id': None, u'updated_at': u'2015-11-03T21:44:58.000000', u'image_id': None, u'device_type': u'disk', u'volume_id': u'35909d21-81b8-4fda-82b6-d3d75be61238', u'deleted_at': None, u'instance_uuid': u'2c9cecc1-c3db-4057-81bd-98e488c45ac2', u'no_device': False, u'created_at': u'2015-11-03T21:44:57.000000', u'volume_size': 1, u'device_name': u'/dev/vda', u'disk_bus': u'virtio', u'deleted': False, u'source_type': u'volume', u'destination_type': u'volume', u'delete_on_termination': True}

Note that the connection_info is updated from None to 'null' because of
this code:

https://github.com/openstack/nova/blob/master/nova/virt/block_device.py#L357

            connection_info_string = jsonutils.dumps(
                self.get('connection_info'))
            if connection_info_string != self._bdm_obj.connection_info:
                self._bdm_obj.connection_info = connection_info_string

We shouldn't update the connection_info from None to 'null' since there
are places in the code that expect None or a serialized dict for
bdm.connection_info.  A string value of 'null' messes that up.

** Affects: nova
     Importance: Medium
     Assignee: Matt Riedemann (mriedem)
         Status: Triaged


** Tags: volumes

** Changed in: nova
     Assignee: (unassigned) => Matt Riedemann (mriedem)

-- 
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/1513140

Title:
  block_device_mapping.connection_info is updated from None to 'null'

Status in OpenStack Compute (nova):
  Triaged

Bug description:
  While debugging bug 1489581 we were tracking some BDM updates in the
  cells API code:

  http://logs.openstack.org/66/241366/1/check/gate-tempest-dsvm-
  cells/1d7551e/logs/screen-n-cell-
  region.txt.gz#_2015-11-03_21_44_58_273

  http://logs.openstack.org/66/241366/1/check/gate-tempest-dsvm-
  cells/1d7551e/logs/screen-n-cell-
  region.txt.gz#_2015-11-03_21_44_58_332

  Which is a diff off:

  https://www.diffchecker.com/pqclw8j3

  mriedem@ubuntu:~/git$ diff bdm1.txt bdm2.txt 
  1c1
  < {u'guest_format': None, u'boot_index': 0, u'connection_info': None, u'snapshot_id': None, u'updated_at': u'2015-11-03T21:44:58.000000', u'image_id': None, u'device_type': None, u'volume_id': u'35909d21-81b8-4fda-82b6-d3d75be61238', u'deleted_at': None, u'instance_uuid': u'2c9cecc1-c3db-4057-81bd-98e488c45ac2', u'no_device': False, u'created_at': u'2015-11-03T21:44:57.000000', u'volume_size': 1, u'device_name': u'/dev/vda', u'disk_bus': None, u'deleted': False, u'source_type': u'volume', u'destination_type': u'volume', u'delete_on_termination': True}
  ---
  > {u'guest_format': None, u'boot_index': 0, u'connection_info': u'null', u'snapshot_id': None, u'updated_at': u'2015-11-03T21:44:58.000000', u'image_id': None, u'device_type': u'disk', u'volume_id': u'35909d21-81b8-4fda-82b6-d3d75be61238', u'deleted_at': None, u'instance_uuid': u'2c9cecc1-c3db-4057-81bd-98e488c45ac2', u'no_device': False, u'created_at': u'2015-11-03T21:44:57.000000', u'volume_size': 1, u'device_name': u'/dev/vda', u'disk_bus': u'virtio', u'deleted': False, u'source_type': u'volume', u'destination_type': u'volume', u'delete_on_termination': True}

  Note that the connection_info is updated from None to 'null' because
  of this code:

  https://github.com/openstack/nova/blob/master/nova/virt/block_device.py#L357

              connection_info_string = jsonutils.dumps(
                  self.get('connection_info'))
              if connection_info_string != self._bdm_obj.connection_info:
                  self._bdm_obj.connection_info = connection_info_string

  We shouldn't update the connection_info from None to 'null' since
  there are places in the code that expect None or a serialized dict for
  bdm.connection_info.  A string value of 'null' messes that up.

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


Follow ups