0

I am trying to order hourly baremetal systems from Softlayer using the ordering API.

First step to the ordering is likely verifying the cpu/disk/prices ids/package ids etc in the order. So we use the python wrapper,

client = sl_client.new_dev_client()
order = client['Product_Order'].verifyOrder(productOrder)

Following are from the storage groups and disks submitted,

Storage Groups

"storage_groups": [
  {
    "drives": [
      0,
      1
    ],
    "key": "RAID_1",
    "size": 1000
  },
  {
    "drives": [
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11
    ],
    "key": "RAID_10",
    "size": 8500
  },
  {
    "drives": [
      12,
      13,
      14,
      15
    ],
    "key": "RAID_10",
    "size": 1920
  }
],

They get later changed to the actual order format,

'storageGroups': [
            {
                'arrayTypeId': 2,
                'arraySize': 1000,
                'hardDrives': [
                    0,
                    1
                ]
            },
            {
                'arrayTypeId': 5,
                'arraySize': 8500,
                'hardDrives': [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11
                ]
            },
            {
                'arrayTypeId': 5,
                'arraySize': 1920,
                'hardDrives': [
                    12,
                    13,
                    14,
                    15
                ]
            }
        ],

Disks

"disks": {
  "disk0": "HARD_DRIVE_1_00_TB_SATA_2",
  "disk1": "HARD_DRIVE_1_00_TB_SATA_2",
  "disk2": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk3": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk4": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk5": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk6": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk7": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk8": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk9": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk10": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk11": "HARD_DRIVE_1_7_TB_SSD_3_DWPD",
  "disk12": "HARD_DRIVE_960GB_SSD",
  "disk13": "HARD_DRIVE_960GB_SSD",
  "disk14": "HARD_DRIVE_960GB_SSD",
  "disk15": "HARD_DRIVE_960GB_SSD"
},

However, when I request these, I receive a error saying,

Hard drive #2 does not have enough space to fit the storage groups assigned to it.

Not sure why this error is reported though. Could not find sufficient docs related to this error.

Thank you.

blacks0ul
  • 143
  • 2
  • 10

1 Answers1

1

well we need to take a look at the complete order request, because at the moment at ordering a Server there is a catch with the order of the disks, As in the order request you need to specify the the prices Softlayer assings the disk number according the fisrt disk price that it listed, I mean the fisrt disk price in your order is going to be the disk0 the second disk price in your order is going to be the disk1 and so on. So you need to make sure that the prices in your order request are ordered properly and I think that currently they are not and that is the reason why you are getting the error propbably a small disk has been assigned as the hard drive # 2.

Regards

  • That makes sense Nelson. I wanted to know what exactly decides the ordering of the disks onto the BM disk layout and match that with storage groups and it is the item prices order that governs that. Perfect. Thank you for answering the question. – blacks0ul Jan 12 '17 at 21:26
  • Nelson, I do have question for you though. Even assuming that item prices order the disks. How do I define which storage group has the OS partitions? – blacks0ul Jan 13 '17 at 05:59
  • take a look to my answer in this forum http://stackoverflow.com/questions/35486839/configuring-softlayer-disk-partitions-at-order-time For the fisrt storage group you only can define a preset OS partition for that you need to use the "partitionTemplateId" property, for the other storage groups you can define either a preset OS partion or a custom OS partition. Let me know if you have more questions about that regards – Nelson Raul Cabero Mendoza Jan 13 '17 at 12:42