SoftLayer API:基于 VSI 风格的订单是否支持指定 image_id

SoftLayer API: Does VSI flavor based order support specifying image_id

我们希望使用风格(例如平衡类型)以编程方式对 VSI 进行排序,但是不使用标准 os_code,我们希望从 public 图像模板创建 VSI (即 CentOS7-ChangeStable)。从以下文档看来是可能的。

http://softlayer-python.readthedocs.io/en/latest/_modules/SoftLayer/managers/vs.html

但是我尝试了但是得到了以下错误:

SoftLayer.exceptions.SoftLayerAPIError: SoftLayerAPIError(SoftLayer_Exception_InvalidValue): Invalid value provided for 'blockDevices'. Block devices may not be provided when using an image template.

使用 slcli 也失败并出现不同的错误:

# slcli vs create --hostname testvsi --domain vmonic.local --flavor BL2_4X8X100 --image 1cc8be72-f230-4ab9-b4b2-329c3e747853 --datacenter tok02 --private
This action will incur charges on your account. Continue? [y/N]: y
SoftLayerAPIError(SoftLayer_Exception_Public): Order is missing the following category: Operating System.

请告知在 SL API / python API 中是否支持将 "image_id" 与 "flavor" 一起使用。谢谢!

这是 API 的问题,python 客户端使用 http://sldn.softlayer.com/reference/services/softlayer_virtual_guest/createObject 方法创建 VSI 使用 RESTFul 相同的请求将是这样的:

POST: https://$USERNAME:@APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/createObject

Payload:
{
    "parameters": [{
        "datacenter": {
            "name": "tok02"
        },
        "domain": "softlayer.local",
        "hourlyBillingFlag": true,

        "blockDeviceTemplateGroup": {
            "globalIdentifier": "1cc8be72-f230-4ab9-b4b2-329c3e747853"
        },
        "hostname": "rcabflav",
        "privateNetworkOnlyFlag": true,
        "supplementalCreateObjectOptions": {
            "flavorKeyName": "BL2_4X8X100"
        }
    }]
}

你也会得到同样的错误,我在Softlayer中报告了这个错误,如果你愿意你可以在softlayer中提交工单并报告它。