Skip to content

Commit 157f624

Browse files
author
Fernando Ojeda
committed
Refactor block and file volume list and volume order.
1 parent ad13107 commit 157f624

File tree

8 files changed

+37
-47
lines changed

8 files changed

+37
-47
lines changed

SoftLayer/CLI/block/list.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
@click.command()
5959
@click.option('--username', '-u', help='Volume username')
6060
@click.option('--datacenter', '-d', help='Datacenter shortname')
61-
@click.option('--order', '-o', help='Filter by ID of the order that purchased the block storage')
61+
@click.option('--order', '-o', type=int, help='Filter by ID of the order that purchased the block storage')
6262
@click.option('--storage-type',
6363
help='Type of storage volume',
6464
type=click.Choice(['performance', 'endurance']))
@@ -74,8 +74,8 @@ def cli(env, sortby, columns, datacenter, username, storage_type, order):
7474
block_manager = SoftLayer.BlockStorageManager(env.client)
7575
block_volumes = block_manager.list_block_volumes(datacenter=datacenter,
7676
username=username,
77-
order=order,
7877
storage_type=storage_type,
78+
order=order,
7979
mask=columns.mask())
8080

8181
table = formatting.Table(columns.columns)

SoftLayer/CLI/block/order.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from SoftLayer.CLI import environment
77
from SoftLayer.CLI import exceptions
88

9-
109
CONTEXT_SETTINGS = {'token_normalize_func': lambda x: x.upper()}
1110

1211

@@ -128,5 +127,8 @@ def cli(env, storage_type, size, iops, tier, os_type,
128127
order['placedOrder']['id']))
129128
for item in order['placedOrder']['items']:
130129
click.echo(" > %s" % item['description'])
130+
click.echo(
131+
'\nYou may run "slcli block volume-list --order {0}" to find this block volume after it '
132+
'is ready.'.format(order['placedOrder']['id']))
131133
else:
132134
click.echo("Order could not be placed! Please verify your options and try again.")

SoftLayer/CLI/file/list.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
@click.command()
5757
@click.option('--username', '-u', help='Volume username')
5858
@click.option('--datacenter', '-d', help='Datacenter shortname')
59-
@click.option('--order', '-o', help='Filter by ID of the order that purchased the block storage')
59+
@click.option('--order', '-o', type=int, help='Filter by ID of the order that purchased the block storage')
6060
@click.option('--storage-type',
6161
help='Type of storage volume',
6262
type=click.Choice(['performance', 'endurance']))
@@ -67,13 +67,13 @@
6767
', '.join(column.name for column in COLUMNS)),
6868
default=','.join(DEFAULT_COLUMNS))
6969
@environment.pass_env
70-
def cli(env, sortby, columns, datacenter, username, order, storage_type):
70+
def cli(env, sortby, columns, datacenter, username, storage_type, order):
7171
"""List file storage."""
7272
file_manager = SoftLayer.FileStorageManager(env.client)
7373
file_volumes = file_manager.list_file_volumes(datacenter=datacenter,
7474
username=username,
75-
order=order,
7675
storage_type=storage_type,
76+
order=order,
7777
mask=columns.mask())
7878

7979
table = formatting.Table(columns.columns)

SoftLayer/CLI/file/order.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,8 @@ def cli(env, storage_type, size, iops, tier,
115115
order['placedOrder']['id']))
116116
for item in order['placedOrder']['items']:
117117
click.echo(" > %s" % item['description'])
118+
click.echo(
119+
'\nYou may run "slcli file volume-list --order {0}" to find this file volume after it '
120+
'is ready.'.format(order['placedOrder']['id']))
118121
else:
119122
click.echo("Order could not be placed! Please verify your options and try again.")

SoftLayer/managers/block.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ def list_block_volume_limit(self):
2525
"""
2626
return self.get_volume_count_limits()
2727

28-
def list_block_volumes(self, datacenter=None, username=None, order=None, storage_type=None, **kwargs):
28+
def list_block_volumes(self, datacenter=None, username=None, storage_type=None, order=None, **kwargs):
2929
"""Returns a list of block volumes.
3030
31-
:param order: Volume order id.
3231
:param datacenter: Datacenter short name (e.g.: dal09)
3332
:param username: Name of volume.
3433
:param storage_type: Type of volume: Endurance or Performance
34+
:param order: Volume order id.
3535
:param kwargs:
3636
:return: Returns a list of block volumes.
3737
"""

SoftLayer/managers/file.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ def list_file_volume_limit(self):
2222
"""
2323
return self.get_volume_count_limits()
2424

25-
def list_file_volumes(self, datacenter=None, username=None, order=None, storage_type=None, **kwargs):
25+
def list_file_volumes(self, datacenter=None, username=None, storage_type=None, order=None, **kwargs):
2626
"""Returns a list of file volumes.
2727
28-
:param order: Volume order id.
2928
:param datacenter: Datacenter short name (e.g.: dal09)
3029
:param username: Name of volume.
3130
:param storage_type: Type of volume: Endurance or Performance
31+
:param order: Volume order id.
3232
:param kwargs:
3333
:return: Returns a list of file volumes.
3434
"""

tests/CLI/modules/block_tests.py

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -145,22 +145,8 @@ def test_volume_list_order(self):
145145
result = self.run_command(['block', 'volume-list', '--order=1234567'])
146146

147147
self.assert_no_fail(result)
148-
self.assertEqual([
149-
{
150-
'bytes_used': None,
151-
'capacity_gb': 20,
152-
'datacenter': 'dal05',
153-
'id': 100,
154-
'iops': None,
155-
'ip_addr': '10.1.2.3',
156-
'lunId': None,
157-
'notes': "{'status': 'availabl",
158-
'rep_partner_count': None,
159-
'storage_type': 'ENDURANCE',
160-
'username': 'username',
161-
'active_transactions': None
162-
}],
163-
json.loads(result.output))
148+
json_result = json.loads(result.output)
149+
self.assertEqual(json_result[0]['id'], 100)
164150

165151
@mock.patch('SoftLayer.BlockStorageManager.list_block_volumes')
166152
def test_volume_count(self, list_mock):
@@ -220,7 +206,9 @@ def test_volume_order_performance(self, order_mock):
220206
'Order #478 placed successfully!\n'
221207
' > Performance Storage\n > Block Storage\n'
222208
' > 0.25 IOPS per GB\n > 20 GB Storage Space\n'
223-
' > 10 GB Storage Space (Snapshot Space)\n')
209+
' > 10 GB Storage Space (Snapshot Space)\n'
210+
'\nYou may run "slcli block volume-list --order 478" to find this block volume '
211+
'after it is ready.\n')
224212

225213
def test_volume_order_endurance_tier_not_given(self):
226214
result = self.run_command(['block', 'volume-order',
@@ -253,7 +241,9 @@ def test_volume_order_endurance(self, order_mock):
253241
'Order #478 placed successfully!\n'
254242
' > Endurance Storage\n > Block Storage\n'
255243
' > 0.25 IOPS per GB\n > 20 GB Storage Space\n'
256-
' > 10 GB Storage Space (Snapshot Space)\n')
244+
' > 10 GB Storage Space (Snapshot Space)\n'
245+
'\nYou may run "slcli block volume-list --order 478" to find this block volume '
246+
'after it is ready.\n')
257247

258248
@mock.patch('SoftLayer.BlockStorageManager.order_block_volume')
259249
def test_volume_order_order_not_placed(self, order_mock):
@@ -302,7 +292,9 @@ def test_volume_order_hourly_billing(self, order_mock):
302292
' > Storage as a Service\n'
303293
' > Block Storage\n'
304294
' > 20 GB Storage Space\n'
305-
' > 200 IOPS\n')
295+
' > 200 IOPS\n'
296+
'\nYou may run "slcli block volume-list --order 10983647" to find this block volume '
297+
'after it is ready.\n')
306298

307299
@mock.patch('SoftLayer.BlockStorageManager.order_block_volume')
308300
def test_volume_order_performance_manager_error(self, order_mock):

tests/CLI/modules/file_tests.py

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -59,21 +59,8 @@ def test_volume_list_order(self):
5959
result = self.run_command(['file', 'volume-list', '--order=1234567'])
6060

6161
self.assert_no_fail(result)
62-
self.assertEqual([
63-
{
64-
'bytes_used': None,
65-
'capacity_gb': 10,
66-
'datacenter': 'Dallas',
67-
'id': 1,
68-
'ip_addr': '127.0.0.1',
69-
'storage_type': 'ENDURANCE',
70-
'username': 'user',
71-
'active_transactions': None,
72-
'mount_addr': '127.0.0.1:/TEST',
73-
'notes': None,
74-
'rep_partner_count': None
75-
}],
76-
json.loads(result.output))
62+
json_result = json.loads(result.output)
63+
self.assertEqual(json_result[0]['id'], 1)
7764

7865
@mock.patch('SoftLayer.FileStorageManager.list_file_volumes')
7966
def test_volume_count(self, list_mock):
@@ -243,7 +230,9 @@ def test_volume_order_performance(self, order_mock):
243230
'Order #478 placed successfully!\n'
244231
' > Performance Storage\n > File Storage\n'
245232
' > 0.25 IOPS per GB\n > 20 GB Storage Space\n'
246-
' > 10 GB Storage Space (Snapshot Space)\n')
233+
' > 10 GB Storage Space (Snapshot Space)\n'
234+
'\nYou may run "slcli file volume-list --order 478" to find this file volume after it is '
235+
'ready.\n')
247236

248237
def test_volume_order_endurance_tier_not_given(self):
249238
result = self.run_command(['file', 'volume-order',
@@ -276,7 +265,9 @@ def test_volume_order_endurance(self, order_mock):
276265
'Order #478 placed successfully!\n'
277266
' > Endurance Storage\n > File Storage\n'
278267
' > 0.25 IOPS per GB\n > 20 GB Storage Space\n'
279-
' > 10 GB Storage Space (Snapshot Space)\n')
268+
' > 10 GB Storage Space (Snapshot Space)\n'
269+
'\nYou may run "slcli file volume-list --order 478" to find this file volume after it is '
270+
'ready.\n')
280271

281272
@mock.patch('SoftLayer.FileStorageManager.order_file_volume')
282273
def test_volume_order_order_not_placed(self, order_mock):
@@ -327,7 +318,9 @@ def test_volume_order_hourly_billing(self, order_mock):
327318
' > File Storage\n'
328319
' > 20 GB Storage Space\n'
329320
' > 0.25 IOPS per GB\n'
330-
' > 10 GB Storage Space (Snapshot Space)\n')
321+
' > 10 GB Storage Space (Snapshot Space)\n'
322+
'\nYou may run "slcli file volume-list --order 479" to find this file volume after it is '
323+
'ready.\n')
331324

332325
@mock.patch('SoftLayer.FileStorageManager.order_file_volume')
333326
def test_volume_order_performance_manager_error(self, order_mock):

0 commit comments

Comments
 (0)