From 61cde9c8e85182073b53e3736f8568f2a6d1453c Mon Sep 17 00:00:00 2001 From: Jens Rosenboom <j.rosenboom@x-ion.de> Date: Wed, 29 Mar 2017 14:17:49 +0000 Subject: [PATCH] Fix block-device-mapping when volume_size is empty The Nova API responds with an validation error when a bdm is submitted containing an empty volume_size. So instead omit that attribute when it is empty. Change-Id: Iba905fca8c440a03e828c20922f3b813bba3fa3a Closes-Bug: 1677236 --- openstackclient/compute/v2/server.py | 2 +- openstackclient/tests/unit/compute/v2/test_server.py | 3 +-- releasenotes/notes/bug-1677236-7de9d11c3f0fb5ed.yaml | 6 ++++++ 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/bug-1677236-7de9d11c3f0fb5ed.yaml diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 1fe5bb0d10..3ae7516765 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -544,7 +544,7 @@ class CreateServer(command.ShowOne): else: mapping['source_type'] = 'volume' mapping['destination_type'] = 'volume' - if len(dev_map) > 2: + if len(dev_map) > 2 and dev_map[2]: mapping['volume_size'] = dev_map[2] if len(dev_map) > 3: mapping['delete_on_termination'] = dev_map[3] diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index 7691ef5945..a0716e4c85 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -817,8 +817,7 @@ class TestServerCreate(TestServer): 'uuid': real_volume_mapping.split(':', 1)[0], 'destination_type': 'volume', 'source_type': 'volume', - 'delete_on_termination': '0', - 'volume_size': '' + 'delete_on_termination': '0' }], nics=[], scheduler_hints={}, diff --git a/releasenotes/notes/bug-1677236-7de9d11c3f0fb5ed.yaml b/releasenotes/notes/bug-1677236-7de9d11c3f0fb5ed.yaml new file mode 100644 index 0000000000..d67cc5c9c8 --- /dev/null +++ b/releasenotes/notes/bug-1677236-7de9d11c3f0fb5ed.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fix creating a server with a block-device-mapping when volume_size + is empty. + [Bug `1677236 <https://bugs.launchpad.net/bugs/1652827>`_]