配置裸机给出 'hostname' 必须设置错误
Provisioning baremetal is giving 'hostname' must be set error
hw = {
'datacenter': {'name': 'che01'},
'hostname': 'baremetal',
'domain': 'cds.net',
'hourlyBillingFlag': True,
'fixedConfigurationPreset': {'keyName': 'S1270_32GB_1X1TBSATA_NORAID'},
'networkComponents': [{
'maxSpeed': 1000
# 'redundancyEnabledFlag': True,
}],
'operatingSystemReferenceCode': 'UBUNTU_14_64'
}
productOrder = slClient['Hardware'].generateOrderTemplate(hw)
order = slClient['Hardware'].createObject(productOrder)
运行 上面的代码,给出了这个错误:
SoftLayer.exceptions.SoftLayerAPIError:
SoftLayerAPIError(SoftLayer_Exception_MissingCreationProperty): The
property 'hostname' must be set to create an instance of
'SoftLayer_Hardware' I hostname is specified, still it is giving
hostname property is not set.
你能告诉我我哪里做错了吗?
问题是一旦您调用 generateOrderTemplate method, it creates an order container which work for the verifyOrder or placeOrder 方法。
所以你不必使用createObject method, instead use the placeOrder方法
例如
import SoftLayer
slClient = SoftLayer.Client()
hw = { 'datacenter':
{'name': 'che01'},
'hostname': 'baremetal',
'domain': 'cds.net',
'hourlyBillingFlag': True,
'fixedConfigurationPreset':
{'keyName': 'S1270_32GB_1X1TBSATA_NORAID'},
'networkComponents':
[{ 'maxSpeed': 1000 #'redundancyEnabledFlag': True
, }],
'operatingSystemReferenceCode': 'UBUNTU_14_64' }
productOrder = slClient['Hardware'].generateOrderTemplate(hw)
order = slClient['Product_Order'].placeOrder(productOrder)
hw = {
'datacenter': {'name': 'che01'},
'hostname': 'baremetal',
'domain': 'cds.net',
'hourlyBillingFlag': True,
'fixedConfigurationPreset': {'keyName': 'S1270_32GB_1X1TBSATA_NORAID'},
'networkComponents': [{
'maxSpeed': 1000
# 'redundancyEnabledFlag': True,
}],
'operatingSystemReferenceCode': 'UBUNTU_14_64'
}
productOrder = slClient['Hardware'].generateOrderTemplate(hw)
order = slClient['Hardware'].createObject(productOrder)
运行 上面的代码,给出了这个错误:
SoftLayer.exceptions.SoftLayerAPIError: SoftLayerAPIError(SoftLayer_Exception_MissingCreationProperty): The property 'hostname' must be set to create an instance of 'SoftLayer_Hardware' I hostname is specified, still it is giving hostname property is not set.
你能告诉我我哪里做错了吗?
问题是一旦您调用 generateOrderTemplate method, it creates an order container which work for the verifyOrder or placeOrder 方法。
所以你不必使用createObject method, instead use the placeOrder方法
例如
import SoftLayer
slClient = SoftLayer.Client()
hw = { 'datacenter':
{'name': 'che01'},
'hostname': 'baremetal',
'domain': 'cds.net',
'hourlyBillingFlag': True,
'fixedConfigurationPreset':
{'keyName': 'S1270_32GB_1X1TBSATA_NORAID'},
'networkComponents':
[{ 'maxSpeed': 1000 #'redundancyEnabledFlag': True
, }],
'operatingSystemReferenceCode': 'UBUNTU_14_64' }
productOrder = slClient['Hardware'].generateOrderTemplate(hw)
order = slClient['Product_Order'].placeOrder(productOrder)