Skip to content

Commit 2e5c209

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "volume: Migrate 'volume host *' to SDK"
2 parents 96eb95f + fe84a22 commit 2e5c209

5 files changed

Lines changed: 81 additions & 120 deletions

File tree

openstackclient/tests/unit/volume/v2/test_volume_host.py

Lines changed: 25 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -12,96 +12,66 @@
1212
# under the License.
1313
#
1414

15+
from openstack.block_storage.v2 import service as _service
16+
1517
from openstackclient.tests.unit.volume.v2 import fakes as volume_fakes
1618
from openstackclient.volume.v2 import volume_host
1719

1820

19-
class TestVolumeHost(volume_fakes.TestVolume):
20-
def setUp(self):
21-
super().setUp()
22-
23-
self.host_mock = self.volume_client.services
24-
self.host_mock.reset_mock()
25-
26-
27-
class TestVolumeHostSet(TestVolumeHost):
21+
class TestVolumeHostSet(volume_fakes.TestVolume):
2822
service = volume_fakes.create_one_service()
2923

3024
def setUp(self):
3125
super().setUp()
32-
33-
self.host_mock.freeze_host.return_value = None
34-
self.host_mock.thaw_host.return_value = None
35-
36-
# Get the command object to mock
3726
self.cmd = volume_host.SetVolumeHost(self.app, None)
3827

3928
def test_volume_host_set_nothing(self):
40-
arglist = [
41-
self.service.host,
42-
]
43-
verifylist = [
44-
('host', self.service.host),
45-
]
29+
arglist = [self.service.host]
30+
verifylist = [('host', self.service.host)]
4631
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
32+
4733
result = self.cmd.take_action(parsed_args)
4834

49-
self.host_mock.freeze_host.assert_not_called()
50-
self.host_mock.thaw_host.assert_not_called()
35+
self.volume_sdk_client.freeze_service.assert_not_called()
36+
self.volume_sdk_client.thaw_service.assert_not_called()
5137
self.assertIsNone(result)
5238

5339
def test_volume_host_set_enable(self):
54-
arglist = [
55-
'--enable',
56-
self.service.host,
57-
]
58-
verifylist = [
59-
('enable', True),
60-
('host', self.service.host),
61-
]
40+
arglist = ['--enable', self.service.host]
41+
verifylist = [('enable', True), ('host', self.service.host)]
6242
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
6343

6444
result = self.cmd.take_action(parsed_args)
6545

66-
self.host_mock.thaw_host.assert_called_with(self.service.host)
67-
self.host_mock.freeze_host.assert_not_called()
46+
self.volume_sdk_client.thaw_service.assert_called_once_with(
47+
_service.Service(host=self.service.host)
48+
)
49+
self.volume_sdk_client.freeze_service.assert_not_called()
6850
self.assertIsNone(result)
6951

7052
def test_volume_host_set_disable(self):
71-
arglist = [
72-
'--disable',
73-
self.service.host,
74-
]
75-
verifylist = [
76-
('disable', True),
77-
('host', self.service.host),
78-
]
53+
arglist = ['--disable', self.service.host]
54+
verifylist = [('disable', True), ('host', self.service.host)]
7955
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
8056

8157
result = self.cmd.take_action(parsed_args)
8258

83-
self.host_mock.freeze_host.assert_called_with(self.service.host)
84-
self.host_mock.thaw_host.assert_not_called()
59+
self.volume_sdk_client.freeze_service.assert_called_once_with(
60+
_service.Service(host=self.service.host)
61+
)
62+
self.volume_sdk_client.thaw_service.assert_not_called()
8563
self.assertIsNone(result)
8664

8765

88-
class TestVolumeHostFailover(TestVolumeHost):
66+
class TestVolumeHostFailover(volume_fakes.TestVolume):
8967
service = volume_fakes.create_one_service()
9068

9169
def setUp(self):
9270
super().setUp()
93-
94-
self.host_mock.failover_host.return_value = None
95-
96-
# Get the command object to mock
9771
self.cmd = volume_host.FailoverVolumeHost(self.app, None)
9872

9973
def test_volume_host_failover(self):
100-
arglist = [
101-
'--volume-backend',
102-
'backend_test',
103-
self.service.host,
104-
]
74+
arglist = ['--volume-backend', 'backend_test', self.service.host]
10575
verifylist = [
10676
('volume_backend', 'backend_test'),
10777
('host', self.service.host),
@@ -110,7 +80,8 @@ def test_volume_host_failover(self):
11080

11181
result = self.cmd.take_action(parsed_args)
11282

113-
self.host_mock.failover_host.assert_called_with(
114-
self.service.host, 'backend_test'
83+
self.volume_sdk_client.failover_service.assert_called_once_with(
84+
_service.Service(host=self.service.host),
85+
backend_id='backend_test',
11586
)
11687
self.assertIsNone(result)

openstackclient/tests/unit/volume/v3/test_volume_host.py

Lines changed: 25 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -11,96 +11,66 @@
1111
# License for the specific language governing permissions and limitations
1212
# under the License.
1313

14+
from openstack.block_storage.v3 import service as _service
15+
1416
from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
1517
from openstackclient.volume.v3 import volume_host
1618

1719

18-
class TestVolumeHost(volume_fakes.TestVolume):
19-
def setUp(self):
20-
super().setUp()
21-
22-
self.host_mock = self.volume_client.services
23-
self.host_mock.reset_mock()
24-
25-
26-
class TestVolumeHostSet(TestVolumeHost):
20+
class TestVolumeHostSet(volume_fakes.TestVolume):
2721
service = volume_fakes.create_one_service()
2822

2923
def setUp(self):
3024
super().setUp()
31-
32-
self.host_mock.freeze_host.return_value = None
33-
self.host_mock.thaw_host.return_value = None
34-
35-
# Get the command object to mock
3625
self.cmd = volume_host.SetVolumeHost(self.app, None)
3726

3827
def test_volume_host_set_nothing(self):
39-
arglist = [
40-
self.service.host,
41-
]
42-
verifylist = [
43-
('host', self.service.host),
44-
]
28+
arglist = [self.service.host]
29+
verifylist = [('host', self.service.host)]
4530
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
31+
4632
result = self.cmd.take_action(parsed_args)
4733

48-
self.host_mock.freeze_host.assert_not_called()
49-
self.host_mock.thaw_host.assert_not_called()
34+
self.volume_sdk_client.freeze_service.assert_not_called()
35+
self.volume_sdk_client.thaw_service.assert_not_called()
5036
self.assertIsNone(result)
5137

5238
def test_volume_host_set_enable(self):
53-
arglist = [
54-
'--enable',
55-
self.service.host,
56-
]
57-
verifylist = [
58-
('enable', True),
59-
('host', self.service.host),
60-
]
39+
arglist = ['--enable', self.service.host]
40+
verifylist = [('enable', True), ('host', self.service.host)]
6141
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
6242

6343
result = self.cmd.take_action(parsed_args)
6444

65-
self.host_mock.thaw_host.assert_called_with(self.service.host)
66-
self.host_mock.freeze_host.assert_not_called()
45+
self.volume_sdk_client.thaw_service.assert_called_once_with(
46+
_service.Service(host=self.service.host)
47+
)
48+
self.volume_sdk_client.freeze_service.assert_not_called()
6749
self.assertIsNone(result)
6850

6951
def test_volume_host_set_disable(self):
70-
arglist = [
71-
'--disable',
72-
self.service.host,
73-
]
74-
verifylist = [
75-
('disable', True),
76-
('host', self.service.host),
77-
]
52+
arglist = ['--disable', self.service.host]
53+
verifylist = [('disable', True), ('host', self.service.host)]
7854
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
7955

8056
result = self.cmd.take_action(parsed_args)
8157

82-
self.host_mock.freeze_host.assert_called_with(self.service.host)
83-
self.host_mock.thaw_host.assert_not_called()
58+
self.volume_sdk_client.freeze_service.assert_called_once_with(
59+
_service.Service(host=self.service.host)
60+
)
61+
self.volume_sdk_client.thaw_service.assert_not_called()
8462
self.assertIsNone(result)
8563

8664

87-
class TestVolumeHostFailover(TestVolumeHost):
65+
class TestVolumeHostFailover(volume_fakes.TestVolume):
8866
service = volume_fakes.create_one_service()
8967

9068
def setUp(self):
9169
super().setUp()
92-
93-
self.host_mock.failover_host.return_value = None
94-
95-
# Get the command object to mock
9670
self.cmd = volume_host.FailoverVolumeHost(self.app, None)
9771

9872
def test_volume_host_failover(self):
99-
arglist = [
100-
'--volume-backend',
101-
'backend_test',
102-
self.service.host,
103-
]
73+
arglist = ['--volume-backend', 'backend_test', self.service.host]
10474
verifylist = [
10575
('volume_backend', 'backend_test'),
10676
('host', self.service.host),
@@ -109,7 +79,8 @@ def test_volume_host_failover(self):
10979

11080
result = self.cmd.take_action(parsed_args)
11181

112-
self.host_mock.failover_host.assert_called_with(
113-
self.service.host, 'backend_test'
82+
self.volume_sdk_client.failover_service.assert_called_once_with(
83+
_service.Service(host=self.service.host),
84+
backend_id='backend_test',
11485
)
11586
self.assertIsNone(result)

openstackclient/volume/v2/volume_host.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
import argparse
1818

19+
from openstack.block_storage.v2 import service as _service
20+
from openstack import utils as sdk_utils
21+
1922
from openstackclient import command
2023
from openstackclient.i18n import _
2124

@@ -40,9 +43,12 @@ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
4043
return parser
4144

4245
def take_action(self, parsed_args: argparse.Namespace) -> None:
43-
service_client = self.app.client_manager.volume
44-
service_client.services.failover_host(
45-
parsed_args.host, parsed_args.volume_backend
46+
volume_client = sdk_utils.ensure_service_version(
47+
self.app.client_manager.sdk_connection.volume, '2'
48+
)
49+
service = _service.Service(host=parsed_args.host)
50+
volume_client.failover_service(
51+
service, backend_id=parsed_args.volume_backend
4652
)
4753

4854

@@ -68,8 +74,11 @@ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
6874
return parser
6975

7076
def take_action(self, parsed_args: argparse.Namespace) -> None:
71-
service_client = self.app.client_manager.volume
77+
volume_client = sdk_utils.ensure_service_version(
78+
self.app.client_manager.sdk_connection.volume, '2'
79+
)
80+
service = _service.Service(host=parsed_args.host)
7281
if parsed_args.enable:
73-
service_client.services.thaw_host(parsed_args.host)
82+
volume_client.thaw_service(service)
7483
if parsed_args.disable:
75-
service_client.services.freeze_host(parsed_args.host)
84+
volume_client.freeze_service(service)

openstackclient/volume/v3/volume_host.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515

1616
import argparse
1717

18+
from openstack.block_storage.v3 import service as _service
19+
from openstack import utils as sdk_utils
20+
1821
from openstackclient import command
1922
from openstackclient.i18n import _
2023

@@ -39,9 +42,12 @@ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
3942
return parser
4043

4144
def take_action(self, parsed_args: argparse.Namespace) -> None:
42-
service_client = self.app.client_manager.volume
43-
service_client.services.failover_host(
44-
parsed_args.host, parsed_args.volume_backend
45+
volume_client = sdk_utils.ensure_service_version(
46+
self.app.client_manager.sdk_connection.volume, '3'
47+
)
48+
service = _service.Service(host=parsed_args.host)
49+
volume_client.failover_service(
50+
service, backend_id=parsed_args.volume_backend
4551
)
4652

4753

@@ -67,8 +73,11 @@ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
6773
return parser
6874

6975
def take_action(self, parsed_args: argparse.Namespace) -> None:
70-
service_client = self.app.client_manager.volume
76+
volume_client = sdk_utils.ensure_service_version(
77+
self.app.client_manager.sdk_connection.volume, '3'
78+
)
79+
service = _service.Service(host=parsed_args.host)
7180
if parsed_args.enable:
72-
service_client.services.thaw_host(parsed_args.host)
81+
volume_client.thaw_service(service)
7382
if parsed_args.disable:
74-
service_client.services.freeze_host(parsed_args.host)
83+
volume_client.freeze_service(service)

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,7 @@ volume_group_type_delete = "openstackclient.volume.v3.volume_group_type:DeleteVo
736736
volume_group_type_list = "openstackclient.volume.v3.volume_group_type:ListVolumeGroupType"
737737
volume_group_type_set = "openstackclient.volume.v3.volume_group_type:SetVolumeGroupType"
738738
volume_group_type_show = "openstackclient.volume.v3.volume_group_type:ShowVolumeGroupType"
739+
volume_host_failover = "openstackclient.volume.v3.volume_host:FailoverVolumeHost"
739740
volume_host_set = "openstackclient.volume.v3.volume_host:SetVolumeHost"
740741
volume_message_delete = "openstackclient.volume.v3.volume_message:DeleteMessage"
741742
volume_message_list = "openstackclient.volume.v3.volume_message:ListMessages"

0 commit comments

Comments
 (0)