Skip to content

Commit 5262d0c

Browse files
authored
Resolves issue showing the operating system version (softlayer#760)
* Resolves issue showing the operating system version * Fixes trivial style issue
1 parent 5420784 commit 5262d0c

7 files changed

Lines changed: 80 additions & 84 deletions

File tree

SoftLayer/CLI/hardware/detail.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,13 @@ def cli(env, identifier, passwords, price):
5050
result['primaryBackendIpAddress'] or formatting.blank()])
5151
table.add_row(['ipmi_ip',
5252
result['networkManagementIpAddress'] or formatting.blank()])
53-
table.add_row([
54-
'os',
55-
formatting.FormattedItem(
56-
result['operatingSystem']['softwareLicense']
57-
['softwareDescription']['referenceCode'] or formatting.blank(),
58-
result['operatingSystem']['softwareLicense']
59-
['softwareDescription']['name'] or formatting.blank()
60-
)])
53+
operating_system = utils.lookup(result,
54+
'operatingSystem',
55+
'softwareLicense',
56+
'softwareDescription') or {}
57+
table.add_row(['os', operating_system.get('name') or formatting.blank()])
58+
table.add_row(['os_version',
59+
operating_system.get('version') or formatting.blank()])
6160

6261
table.add_row(
6362
['created', result['provisionDate'] or formatting.blank()])

SoftLayer/CLI/virt/detail.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,7 @@ def cli(env, identifier, passwords=False, price=False):
4949
'operatingSystem',
5050
'softwareLicense',
5151
'softwareDescription') or {}
52-
table.add_row([
53-
'os',
54-
formatting.FormattedItem(
55-
operating_system.get('version') or formatting.blank(),
56-
operating_system.get('name') or formatting.blank()
57-
)])
52+
table.add_row(['os', operating_system.get('name') or formatting.blank()])
5853
table.add_row(['os_version',
5954
operating_system.get('version') or formatting.blank()])
6055
table.add_row(['cores', result['maxCpu']])

SoftLayer/fixtures/SoftLayer_Hardware_Server.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@
3131
'operatingSystem': {
3232
'softwareLicense': {
3333
'softwareDescription': {
34-
'referenceCode': 'Ubuntu',
35-
'name': 'Ubuntu 12.04 LTS',
34+
'referenceCode': 'UBUNTU_12_64',
35+
'name': 'Ubuntu',
36+
'version': 'Ubuntu 12.04 LTS',
3637
}
3738
},
3839
'passwords': [

SoftLayer/managers/hardware.py

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -182,43 +182,42 @@ def get_hardware(self, hardware_id, **kwargs):
182182
"""
183183

184184
if 'mask' not in kwargs:
185-
items = [
186-
'id',
187-
'globalIdentifier',
188-
'fullyQualifiedDomainName',
189-
'hostname',
190-
'domain',
191-
'provisionDate',
192-
'hardwareStatus',
193-
'processorPhysicalCoreAmount',
194-
'memoryCapacity',
195-
'notes',
196-
'privateNetworkOnlyFlag',
197-
'primaryBackendIpAddress',
198-
'primaryIpAddress',
199-
'networkManagementIpAddress',
200-
'userData',
201-
'datacenter',
185+
kwargs['mask'] = (
186+
'id,'
187+
'globalIdentifier,'
188+
'fullyQualifiedDomainName,'
189+
'hostname,'
190+
'domain,'
191+
'provisionDate,'
192+
'hardwareStatus,'
193+
'processorPhysicalCoreAmount,'
194+
'memoryCapacity,'
195+
'notes,'
196+
'privateNetworkOnlyFlag,'
197+
'primaryBackendIpAddress,'
198+
'primaryIpAddress,'
199+
'networkManagementIpAddress,'
200+
'userData,'
201+
'datacenter,'
202202
'''networkComponents[id, status, speed, maxSpeed, name,
203203
ipmiMacAddress, ipmiIpAddress, macAddress, primaryIpAddress,
204204
port, primarySubnet[id, netmask, broadcastAddress,
205-
networkIdentifier, gateway]]''',
206-
'hardwareChassis[id,name]',
207-
'activeTransaction[id, transactionStatus[friendlyName,name]]',
205+
networkIdentifier, gateway]],'''
206+
'hardwareChassis[id,name],'
207+
'activeTransaction[id, transactionStatus[friendlyName,name]],'
208208
'''operatingSystem[
209209
softwareLicense[softwareDescription[manufacturer,
210210
name,
211211
version,
212212
referenceCode]],
213-
passwords[username,password]]''',
214-
'billingItem.nextInvoiceTotalRecurringAmount',
215-
'hourlyBillingFlag',
216-
'tagReferences[id,tag[name,id]]',
217-
'networkVlans[id,vlanNumber,networkSpace]',
218-
'billingItem.orderItem.order.userRecord[username]',
219-
'remoteManagementAccounts[username,password]',
220-
]
221-
kwargs['mask'] = "mask[%s]" % ','.join(items)
213+
passwords[username,password]],'''
214+
'billingItem.nextInvoiceTotalRecurringAmount,'
215+
'hourlyBillingFlag,'
216+
'tagReferences[id,tag[name,id]],'
217+
'networkVlans[id,vlanNumber,networkSpace],'
218+
'billingItem.orderItem.order.userRecord[username],'
219+
'remoteManagementAccounts[username,password]'
220+
)
222221

223222
return self.hardware.getObject(id=hardware_id, **kwargs)
224223

SoftLayer/managers/vs.py

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -172,49 +172,50 @@ def get_instance(self, instance_id, **kwargs):
172172
"""
173173

174174
if 'mask' not in kwargs:
175-
items = [
176-
'id',
177-
'globalIdentifier',
178-
'fullyQualifiedDomainName',
179-
'hostname',
180-
'domain',
181-
'createDate',
182-
'modifyDate',
183-
'provisionDate',
184-
'notes',
185-
'dedicatedAccountHostOnlyFlag',
186-
'privateNetworkOnlyFlag',
187-
'primaryBackendIpAddress',
188-
'primaryIpAddress',
175+
kwargs['mask'] = (
176+
'id,'
177+
'globalIdentifier,'
178+
'fullyQualifiedDomainName,'
179+
'hostname,'
180+
'domain,'
181+
'createDate,'
182+
'modifyDate,'
183+
'provisionDate,'
184+
'notes,'
185+
'dedicatedAccountHostOnlyFlag,'
186+
'privateNetworkOnlyFlag,'
187+
'primaryBackendIpAddress,'
188+
'primaryIpAddress,'
189189
'''networkComponents[id, status, speed, maxSpeed, name,
190190
macAddress, primaryIpAddress, port,
191-
primarySubnet]''',
192-
'lastKnownPowerState.name',
193-
'powerState',
194-
'status',
195-
'maxCpu',
196-
'maxMemory',
197-
'datacenter',
198-
'activeTransaction[id, transactionStatus[friendlyName,name]]',
199-
'lastOperatingSystemReload.id',
200-
'blockDevices',
201-
'blockDeviceTemplateGroup[id, name, globalIdentifier]',
202-
'postInstallScriptUri',
203-
'''softwareComponents[
204-
passwords[username,password,notes],
205-
softwareLicense[softwareDescription[name]]]''',
191+
primarySubnet],'''
192+
'lastKnownPowerState.name,'
193+
'powerState,'
194+
'status,'
195+
'maxCpu,'
196+
'maxMemory,'
197+
'datacenter,'
198+
'activeTransaction[id, transactionStatus[friendlyName,name]],'
199+
'lastOperatingSystemReload.id,'
200+
'blockDevices,'
201+
'blockDeviceTemplateGroup[id, name, globalIdentifier],'
202+
'postInstallScriptUri,'
206203
'''operatingSystem[passwords[username,password],
207204
softwareLicense.softwareDescription[
208205
manufacturer,name,version,
209-
referenceCode]]''',
210-
'hourlyBillingFlag',
211-
'userData',
212-
'billingItem.recurringFee',
213-
'tagReferences[id,tag[name,id]]',
214-
'networkVlans[id,vlanNumber,networkSpace]',
206+
referenceCode]],'''
207+
'''softwareComponents[
208+
passwords[username,password,notes],
209+
softwareLicense[softwareDescription[
210+
manufacturer,name,version,
211+
referenceCode]]],'''
212+
'hourlyBillingFlag,'
213+
'userData,'
214+
'billingItem.recurringFee,'
215+
'tagReferences[id,tag[name,id]],'
216+
'networkVlans[id,vlanNumber,networkSpace],'
215217
'billingItem.orderItem.order.userRecord[username]'
216-
]
217-
kwargs['mask'] = "mask[%s]" % ','.join(items)
218+
)
218219

219220
return self.guest.getObject(id=instance_id, **kwargs)
220221

tests/CLI/modules/server_tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def test_server_details(self):
4141
'memory': 2048,
4242
'notes': 'These are test notes.',
4343
'os': 'Ubuntu',
44+
'os_version': 'Ubuntu 12.04 LTS',
4445
'owner': 'chechu',
4546
'price rate': 16.08,
4647
'private_ip': '10.1.0.2',
@@ -55,7 +56,7 @@ def test_server_details(self):
5556
}
5657

5758
self.assert_no_fail(result)
58-
self.assertEqual(json.loads(result.output), expected)
59+
self.assertEqual(expected, json.loads(result.output))
5960

6061
def test_detail_vs_empty_tag(self):
6162
mock = self.set_mock('SoftLayer_Hardware_Server', 'getObject')

tests/CLI/modules/vs_tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def test_detail_vs(self):
4949
'guid': '1a2b3c-1701',
5050
'memory': 1024,
5151
'modified': {},
52-
'os': '12.04-64 Minimal for VSI',
52+
'os': 'Ubuntu',
5353
'os_version': '12.04-64 Minimal for VSI',
5454
'notes': 'notes',
5555
'price rate': 1.54,

0 commit comments

Comments
 (0)