Skip to content

Commit 3976883

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Switch server image create to SDK"
2 parents fae293d + 9acbd3e commit 3976883

3 files changed

Lines changed: 25 additions & 24 deletions

File tree

openstackclient/compute/v2/server_image.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,25 +73,23 @@ def _show_progress(progress):
7373
self.app.stdout.write('\rProgress: %s' % progress)
7474
self.app.stdout.flush()
7575

76-
compute_client = self.app.client_manager.compute
76+
compute_client = self.app.client_manager.sdk_connection.compute
77+
image_client = self.app.client_manager.image
7778

78-
server = utils.find_resource(
79-
compute_client.servers,
80-
parsed_args.server,
79+
server = compute_client.find_server(
80+
parsed_args.server, ignore_missing=False,
8181
)
82+
8283
if parsed_args.name:
8384
image_name = parsed_args.name
8485
else:
8586
image_name = server.name
8687

87-
image_id = compute_client.servers.create_image(
88+
image_id = compute_client.create_server_image(
8889
server.id,
8990
image_name,
9091
parsed_args.properties,
91-
)
92-
93-
image_client = self.app.client_manager.image
94-
image = image_client.find_image(image_id)
92+
).id
9593

9694
if parsed_args.wait:
9795
if utils.wait_for_status(
@@ -105,6 +103,8 @@ def _show_progress(progress):
105103
_('Error creating server image: %s'), parsed_args.server)
106104
raise exceptions.CommandError
107105

106+
image = image_client.find_image(image_id, ignore_missing=False)
107+
108108
if self.app.client_manager._api_version['image'] == '1':
109109
info = {}
110110
info.update(image._info)

openstackclient/tests/unit/compute/v2/test_server_image.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ def setUp(self):
2727
super(TestServerImage, self).setUp()
2828

2929
# Get a shortcut to the compute client ServerManager Mock
30-
self.servers_mock = self.app.client_manager.compute.servers
31-
self.servers_mock.reset_mock()
30+
self.app.client_manager.sdk_connection = mock.Mock()
31+
self.app.client_manager.sdk_connection.compute = mock.Mock()
32+
self.sdk_client = self.app.client_manager.sdk_connection.compute
3233

3334
# Get a shortcut to the image client ImageManager Mock
3435
self.images_mock = self.app.client_manager.image
@@ -41,14 +42,14 @@ def setUp(self):
4142
self.methods = {}
4243

4344
def setup_servers_mock(self, count):
44-
servers = compute_fakes.FakeServer.create_servers(
45+
servers = compute_fakes.FakeServer.create_sdk_servers(
4546
attrs=self.attrs,
4647
methods=self.methods,
4748
count=count,
4849
)
4950

50-
# This is the return value for utils.find_resource()
51-
self.servers_mock.get = compute_fakes.FakeServer.get_servers(
51+
# This is the return value for compute_client.find_server()
52+
self.sdk_client.find_server = compute_fakes.FakeServer.get_servers(
5253
servers,
5354
0,
5455
)
@@ -104,8 +105,8 @@ def setup_images_mock(self, count, servers=None):
104105
)
105106

106107
self.images_mock.find_image = mock.Mock(side_effect=images)
107-
self.servers_mock.create_image = mock.Mock(
108-
return_value=images[0].id,
108+
self.sdk_client.create_server_image = mock.Mock(
109+
return_value=images[0],
109110
)
110111
return images
111112

@@ -126,8 +127,7 @@ def test_server_image_create_defaults(self):
126127
# data to be shown.
127128
columns, data = self.cmd.take_action(parsed_args)
128129

129-
# ServerManager.create_image(server, image_name, metadata=)
130-
self.servers_mock.create_image.assert_called_with(
130+
self.sdk_client.create_server_image.assert_called_with(
131131
servers[0].id,
132132
servers[0].name,
133133
None,
@@ -157,8 +157,7 @@ def test_server_image_create_options(self):
157157
# data to be shown.
158158
columns, data = self.cmd.take_action(parsed_args)
159159

160-
# ServerManager.create_image(server, image_name, metadata=)
161-
self.servers_mock.create_image.assert_called_with(
160+
self.sdk_client.create_server_image.assert_called_with(
162161
servers[0].id,
163162
'img-nam',
164163
{'key': 'value'},
@@ -188,8 +187,7 @@ def test_server_create_image_wait_fail(self, mock_wait_for_status):
188187
parsed_args,
189188
)
190189

191-
# ServerManager.create_image(server, image_name, metadata=)
192-
self.servers_mock.create_image.assert_called_with(
190+
self.sdk_client.create_server_image.assert_called_with(
193191
servers[0].id,
194192
servers[0].name,
195193
None,
@@ -221,8 +219,7 @@ def test_server_create_image_wait_ok(self, mock_wait_for_status):
221219
# data to be shown.
222220
columns, data = self.cmd.take_action(parsed_args)
223221

224-
# ServerManager.create_image(server, image_name, metadata=)
225-
self.servers_mock.create_image.assert_called_with(
222+
self.sdk_client.create_server_image.assert_called_with(
226223
servers[0].id,
227224
servers[0].name,
228225
None,
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
features:
3+
- |
4+
Migrate openstack server image create from novaclient to sdk.

0 commit comments

Comments
 (0)