Не удается создать виртуальный IP-адрес с помощью API SoftLayer

При использовании API для размещения заказа на VIP происходит сбой с неинтуитивным сообщением об ошибке. См. следующий вызов REST API JSON и следующую ошибку:

JSON:
{
  "loadBalancer": {
    "name": "lbName_TEST",
    "id" : 123, 
    "type": "HTTP",
    "sourcePort": 80,
    "virtualIpAddress": "123.123.123.123"
  }
}

REST API URL USED:
https://user.name:[email protected]/rest/v3/SoftLayer_Network_Application_Delivery_Controller/15293/createLiveLoadBalancer.json

{
  "error": "Invalid port supplied.",
  "code": "SoftLayer_Exception_Public"
}

Возникает вопрос вот в чем. Мы пытаемся написать сценарий заказа VPX Netscaler и добавления всех связанных конфигураций в созданный VPX, мы делаем что-то не по порядку?


person Daniel Bright    schedule 22.12.2015    source источник


Ответы (2)


Что касается создания loadBalancer, JSON неверен, попробуйте этот JSON:

{
"parameters": [
    {
         "name": "lbName_TEST",
         "type": "HTTP",
         "sourcePort": 80,
         "virtualIpAddress": "123.123.123.123",
         "loadBalancingMethod": "pi"
    }
]

}

С Уважением

person Nelson Raul Cabero Mendoza    schedule 23.12.2015
comment
Я думаю, что почти у цели, однако получаю новую ошибку; { ошибка: операция не разрешена, код: SoftLayer_Exception_Public } Я использую общедоступный IP-адрес, который возвращается при выполнении https://{{userName}}:{{apiKey}}@api.softlayer.com/rest/v3/ SoftLayer_Network_Application_Delivery_Controller/1xxxx/getObject.json, который является primaryIpAddress: 1xx.xxx.xxx.xxx, который, как я предполагал, является общедоступным IP-адресом, связанным с моим VPX, когда я первоначально размещал заказ (всего 1 IP-адрес для тестирования). - person Daniel Bright; 23.12.2015
comment
У меня это сработало нормально, пожалуйста, убедитесь, что вы используете действительный метод virtualIPAddres и loadBalacing. - person Nelson Raul Cabero Mendoza; 23.12.2015
comment
Я думаю, что здесь играет роль путаница с моей стороны. В sldn virtualIpAddress определяется как: virtualIpAddress Виртуальный общедоступный IP-адрес для балансировщика нагрузки. Это адрес всего входящего трафика, когда я создавал VPX и выполнял getObject на VPX, я вижу primaryIpAddress, но не виртуальный IP. Я просто показываю 123.123.123.123, чтобы замаскировать наши личные данные, но IP-адрес, который я использую, является действительным общедоступным IP-адресом. Мысли? - person Daniel Bright; 23.12.2015
comment
Ну, виртуальный IP-адрес должен отличаться от основного IP-адреса, который вы получили с помощью getObject. IP-адреса, которые вы выберете для виртуальных IP-адресов, должны принадлежать той же VLAN, что и ваш сетевой масштабатор. Вы можете сначала попробовать создать балансировщик нагрузки вручную (на портале выберите устройство сетевого масштабирования, щелкните в действиях и выберите «Управление устройством»), а затем попробуйте через API, используя ту же конфигурацию. - person Nelson Raul Cabero Mendoza; 23.12.2015
comment
Спасибо @Nelson !, это сделало это, я действительно хотел бы, чтобы этот материал был задокументирован лучше, но наличие таких хороших людей, как вы, которые помогают, почти компенсирует это. - person Daniel Bright; 23.12.2015

Для заказа устройства или услуги необходимо использовать метод SoftLayer_Product_Order::placeOrder. вот пример заказа NetScaler

URL: https://api.softlayer.com/rest/v3/SoftLayer_Product_Order/placeOrder

Method: POST

PAYLOAD: {
    "parameters": [
        {
            "packageId": 192,
            "location": 265592,  
            "prices": [
                {
                    "id": 22315,
                    "complexType": "SoftLayer_Product_Item_Price"
                },
                {
                    "id": 17238,
                    "complexType": "SoftLayer_Product_Item_Price"
                }
            ],
            "complexType": "SoftLayer_Container_Product_Order_Network_Application_Delivery_Controller"
        }
    ]
}

Цена 22315 указана для «Citrix NetScaler VPX 10.1 10Mbps Standard», а 17238 — для «2 статических общедоступных IP-адресов». Чтобы узнать все цены, используйте http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItems

person Nelson Raul Cabero Mendoza    schedule 23.12.2015
comment
Привет, Нельсон, извините, я думаю, что я неясно задал свой вопрос. Мы уже заказали устройство VPX с помощью метода placeOrder. Проблема в том, что теперь нам нужно также создать вещи, которые заставят его работать, начиная с метода createLiveLoadBalancer. Именно этот метод выдает ошибку. - person Daniel Bright; 23.12.2015