Launchpad

There are some issues in "--block- device- mapping" options of "server create" commands.

1. ValueError is raised if input don't contain "=". Sometimes the whole "server create" command is very complex, it's difficult to find out root reason directly, like this:

(openstack) server create --image cirros- 0.3.5-x86_ 64-disk --flavor m1.tiny --nic net-id= d73b6234- 91ff-466e- 8b5d-141aa9b48a c8 --block- device- mapping vdb0ac9844f- 2122-47a4- 9a1b-676c59cdd6 62 chenrui_vm
need more than 1 value to unpack
(openstack)

2. Don't support to add block device from snapshot, like: --block- device- mapping vdb=0c8ae9d8- cadc-4a23- 8337-4254614d27 7e:snapshot: 1, it's supported by novaclient, but not in osc.

(openstack) volume snapshot list
+------ ------- ------- ------- ------- ----+-- ------- -----+- ------- -----+- ------- ---+--- ---+
| ID | Name | Description | Status | Size |
+------ ------- ------- ------- ------- ----+-- ------- -----+- ------- -----+- ------- ---+--- ---+
| 0c8ae9d8- cadc-4a23- 8337-4254614d27 7e | chenrui_snap | None | available | 1 |
+------ ------- ------- ------- ------- ----+-- ------- -----+- ------- -----+- ------- ---+--- ---+
(openstack) server create --image cirros- 0.3.5-x86_ 64-disk --flavor m1.tiny --block- device- mapping vdb=0c8ae9d8- cadc-4a23- 8337-4254614d27 7e:snapshot: 1 chenrui_v
No volume with a name or ID of '0c8ae9d8- cadc-4a23- 8337-4254614d27 7e' exists.
(openstack)

3. If input "vdb=", not add any mapping information, the server will be launched successfully, not raise error message to let use add volume/snapshot id, just ignore "--block- device- mapping" option

(openstack) server create --image cirros- 0.3.5-x86_ 64-disk --flavor m1.tiny --nic net-id= d73b6234- 91ff-466e- 8b5d-141aa9b48a c8 --block- device- mapping vdb= chenrui_vm
...

4. The help message of "block- device- mapping" option is so simple, need to add some details about how to add <type>, <delete_ on_terminate> contains.

  --block- device- mapping <dev-name=mapping>
                           Map block devices; map is
                           <id> :<type> :<size( GB)>:<delete_ on_terminate> (optional
                           extension)

Read the original on bugs.launchpad.net ↗