← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1737779] [NEW] Volume attach sets mountpoint as /dev/na in Cinder attachment

 

Public bug reported:

The Nova volume attachment is causing the device / mount point of the
volume attachment in Cinder to be set to /dev/na.

The Trove gate is doing the following steps, though it could probably be
recreated with a simple volume attach:

1. Spawn instance with ephemeral disk and specify a BDM to attach an existing volume:
{"os:scheduler_hints": {"group": "20a9dce8-529a-4b1e-ae10-683a372e3868"}, "server": {"name": "TEST_2017_12_11__22_09_04", "imageRef": "cf82cd3d-af85-4f0c-933b-a43a2b70a26f", "availability_zone": "nova", "flavorRef": "16", "block_device_mapping": [{"volume_size": "1", "volume_id": "77369a12-92e1-42d4-be95-6f26910b193a", "delete_on_termination": "1", "device_name": "vdb"}],
Trove log link [1]

2. Detach the volume.
3. Resize the volume.
4. Attach the volume back to the instance
Nova log link [2]
5. Call to get volume attachments using Cinder API / cinderclient.  Code pointer [3]

At this point the 'device' field in the attachment returned by Cinder is
/dev/na.

This 'na' value is a default in Cinder if the 'mountpoint' is not passed
in on the connector in attachment_update (code [4]).

So its likely that the attachment update that is occurring during the
volume attach is not passing in the mountpoint on the connector.

[1] http://logs.openstack.org/30/527230/1/check/legacy-trove-scenario-
dsvm-mysql-single/811c93b/logs/screen-tr-
tmgr.txt.gz#_Dec_11_22_09_10_585733

[2] http://logs.openstack.org/30/527230/1/check/legacy-trove-scenario-
dsvm-mysql-
single/811c93b/logs/screen-n-cpu.txt.gz?#_Dec_11_22_30_10_353894

[3] https://github.com/openstack/trove/blob/master/trove/taskmanager/models.py#L1369-L1371
[4] https://github.com/openstack/cinder/blob/55b2f349514fce1ffde5fd2244cfc26d7daad6a6/cinder/volume/manager.py#L4396

** Affects: nova
     Importance: Undecided
         Status: New

** Description changed:

  The Nova volume attachment is causing the device / mount point of the
  volume attachment in Cinder to be set to /dev/na.
  
  The Trove gate is doing the following steps, though it could probably be
  recreated with a simple volume attach:
  
  1. Spawn instance with ephemeral disk and specify a BDM to attach an existing volume:
- {"os:scheduler_hints": {"group": "20a9dce8-529a-4b1e-ae10-683a372e3868"}, "server": {"name": "TEST_2017_12_11__22_09_04", "imageRef": "cf82cd3d-af85-4f0c-933b-a43a2b70a26f", "availability_zone": "nova", "flavorRef": "16", "block_device_mapping": [{"volume_size": "1", "volume_id": "77369a12-92e1-42d4-be95-6f26910b193a", "delete_on_termination": "1", "device_name": "vdb"}], 
+ {"os:scheduler_hints": {"group": "20a9dce8-529a-4b1e-ae10-683a372e3868"}, "server": {"name": "TEST_2017_12_11__22_09_04", "imageRef": "cf82cd3d-af85-4f0c-933b-a43a2b70a26f", "availability_zone": "nova", "flavorRef": "16", "block_device_mapping": [{"volume_size": "1", "volume_id": "77369a12-92e1-42d4-be95-6f26910b193a", "delete_on_termination": "1", "device_name": "vdb"}],
  Trove log link [1]
  
  2. Detach the volume.
  3. Resize the volume.
- 4. Attach the volume back to the server
+ 4. Attach the volume back to the instance
  Nova log link [2]
  5. Call to get volume attachments using Cinder API / cinderclient.  Code pointer [3]
  
  At this point the 'device' field in the attachment returned by Cinder is
  /dev/na.
  
  This 'na' value is a default in Cinder if the 'mountpoint' is not passed
  in on the connector in attachment_update (code [4]).
  
  So its likely that the attachment update that is occurring during the
  volume attach is not passing in the mountpoint on the connector.
  
- 
- [1] http://logs.openstack.org/30/527230/1/check/legacy-trove-scenario-dsvm-mysql-single/811c93b/logs/screen-tr-tmgr.txt.gz#_Dec_11_22_09_10_585733
+ [1] http://logs.openstack.org/30/527230/1/check/legacy-trove-scenario-
+ dsvm-mysql-single/811c93b/logs/screen-tr-
+ tmgr.txt.gz#_Dec_11_22_09_10_585733
  
  [2] http://logs.openstack.org/30/527230/1/check/legacy-trove-scenario-
  dsvm-mysql-
  single/811c93b/logs/screen-n-cpu.txt.gz?#_Dec_11_22_30_10_353894
  
  [3] https://github.com/openstack/trove/blob/master/trove/taskmanager/models.py#L1369-L1371
  [4] https://github.com/openstack/cinder/blob/55b2f349514fce1ffde5fd2244cfc26d7daad6a6/cinder/volume/manager.py#L4396

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

Title:
  Volume attach sets mountpoint as /dev/na in Cinder attachment

Status in OpenStack Compute (nova):
  New

Bug description:
  The Nova volume attachment is causing the device / mount point of the
  volume attachment in Cinder to be set to /dev/na.

  The Trove gate is doing the following steps, though it could probably
  be recreated with a simple volume attach:

  1. Spawn instance with ephemeral disk and specify a BDM to attach an existing volume:
  {"os:scheduler_hints": {"group": "20a9dce8-529a-4b1e-ae10-683a372e3868"}, "server": {"name": "TEST_2017_12_11__22_09_04", "imageRef": "cf82cd3d-af85-4f0c-933b-a43a2b70a26f", "availability_zone": "nova", "flavorRef": "16", "block_device_mapping": [{"volume_size": "1", "volume_id": "77369a12-92e1-42d4-be95-6f26910b193a", "delete_on_termination": "1", "device_name": "vdb"}],
  Trove log link [1]

  2. Detach the volume.
  3. Resize the volume.
  4. Attach the volume back to the instance
  Nova log link [2]
  5. Call to get volume attachments using Cinder API / cinderclient.  Code pointer [3]

  At this point the 'device' field in the attachment returned by Cinder
  is /dev/na.

  This 'na' value is a default in Cinder if the 'mountpoint' is not
  passed in on the connector in attachment_update (code [4]).

  So its likely that the attachment update that is occurring during the
  volume attach is not passing in the mountpoint on the connector.

  [1] http://logs.openstack.org/30/527230/1/check/legacy-trove-scenario-
  dsvm-mysql-single/811c93b/logs/screen-tr-
  tmgr.txt.gz#_Dec_11_22_09_10_585733

  [2] http://logs.openstack.org/30/527230/1/check/legacy-trove-scenario-
  dsvm-mysql-
  single/811c93b/logs/screen-n-cpu.txt.gz?#_Dec_11_22_30_10_353894

  [3] https://github.com/openstack/trove/blob/master/trove/taskmanager/models.py#L1369-L1371
  [4] https://github.com/openstack/cinder/blob/55b2f349514fce1ffde5fd2244cfc26d7daad6a6/cinder/volume/manager.py#L4396

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


Follow ups