diff --git a/article/index.html b/article/index.html index 9342369608..98b65480a3 100644 --- a/article/index.html +++ b/article/index.html @@ -168,6 +168,14 @@

Articles

+ Mirrored M.2 Ordering Examples Jun 10, 2025
+

+
An explanation of the required settings for ordering a Mirrored M.2 server from the API.
+ Read Me +
+ +
+

Failed to Exchange Token Feb 28, 2025

How to fix the 'SoftLayer_Exception: Failed to exchange token (HTTP 500)' error
diff --git a/article/nvmeOrdering/index.html b/article/nvmeOrdering/index.html new file mode 100644 index 0000000000..67680c7610 --- /dev/null +++ b/article/nvmeOrdering/index.html @@ -0,0 +1,421 @@ + + + + + + + + + + + Mirrored M.2 Ordering Examples - https://sldn.softlayer.com/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+

June 10, 2025

+
+
+
+ Tags + + article + + sldn + + order + + package + + slcli + +
+
+
+
+
+
+
+

Mirrored M.2 Ordering Examples

+ An explanation of the required settings for ordering a Mirrored M.2 server from the API. +
+ + + +

NOTE: This article is for slcli v6.2.7 and ibmcloud sl v1.5.7

+

Basics

+

Ordering a server with a mirrored NVMe M.2 boot drive is a little tricky. There are 2 main difference between this setup and a normal order.

+
    +
  1. storageGroups need to be defined with the NVMe array first
  2. +
  3. NVMe array needs to set hardDriveCategoryCodes and diskControllerIndex: 1
  4. +
+
+

The 0th index storageGroup will be what the server boots from. It will not match the order the raid cards are ordered in.

+
+
    +
  1. You will need to have DISK_CONTROLLER_RAID (diskControllerIndex: 0) in your order, before DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 (diskControllerIndex: 1). DISK_CONTROLLER_RAID uses the disk_controller category price, and DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 uses disk_controller1 category price when both are present in an order.
  2. +
+

This ordering is important because otherwise the SLCLI will pick the incorrect price id, and you will get one of the errors listed below.

+
    +
  1. A basic order will look like this:
  2. +
+
./slcli -v order place --verify 2U_DUAL_INTEL_XEON_SAPPHIRE_RAPIDS_FAMILY_16_DRIVES DALLAS13 \
+--complex-type SoftLayer_Container_Product_Order_Hardware_Server --billing monthly \
+--extras '{"hardware":[{"hostname":"test1nvme","domain":"ibm.com"}],"storageGroups":[{"arraySize":480,"arrayTypeId":2, "diskControllerIndex":1,"hardDriveCategoryCodes":["secondary_pcie_slot0","secondary_pcie_slot1"]}, {"arraySize":1920,"arrayTypeId":2,"diskControllerIndex": 0,"hardDrives":[0,1]}]}' \
+AUTOMATED_NOTIFICATION MONITORING_HOST_PING NOTIFICATION_EMAIL_AND_TICKET REBOOT_KVM_OVER_IP \
+UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT BANDWIDTH_0_GB 1_IP_ADDRESS \
+1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS DISK_CONTROLLER_RAID \
+DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 \
+MIRRORED_NVME_M_2_OS_BOOT_480GB  256_GB_RAM_DDR5 OS_CENTOS_STREAM_9_X_64_BIT \
+INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70 REDUNDANT_POWER_SUPPLY  HARD_DRIVE_1_9_TB_SSD \
+HARD_DRIVE_1_9_TB_SSD
+
Calling: SoftLayer_Product_Order::verifyOrder(id=None, mask='', filter='None', args=({'orderContainers': [{
+'hardware': [{'hostname': 'test1nvme', 'domain': 'ibm.com'}],
+'storageGroups': [
+    {
+        'arraySize': 480,'arrayTypeId': 2, 'diskControllerIndex': 1,
+        'hardDriveCategoryCodes': ['secondary_pcie_slot0', 'secondary_pcie_slot1']
+    },{
+        'arraySize': 1920, 'arrayTypeId': 2, 'diskControllerIndex': 0, 'hardDrives': [0, 1]
+}],
+'packageId': 3137,
+'quantity': 1,
+'location': 1854895,
+'useHourlyPricing': False,
+'complexType': 'SoftLayer_Container_Product_Order_Hardware_Server',
+'prices': [
+    {'id': 58, 'categories': [{'categoryCode': 'response'}], 'item': {'keyName': 'AUTOMATED_NOTIFICATION'}},
+    {'id': 55, 'categories': [{'categoryCode': 'monitoring'}], 'item': {'keyName': 'MONITORING_HOST_PING'}},
+    {'id': 57, 'categories': [{'categoryCode': 'notification'}], 'item': {'keyName': 'NOTIFICATION_EMAIL_AND_TICKET'}},
+    {'id': 906, 'categories': [{'categoryCode': 'remote_management'}], 'item': {'keyName': 'REBOOT_KVM_OVER_IP'}}, 
+    {'id': 420, 'categories': [{'categoryCode': 'vpn_management'}], 'item': {'keyName': 'UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT'}}, 
+    {'id': 22505, 'categories': [{'categoryCode': 'bandwidth'}], 'item': {'keyName': 'BANDWIDTH_0_GB'}}, 
+    {'id': 21, 'categories': [{'categoryCode': 'pri_ip_addresses'}], 'item': {'keyName': '1_IP_ADDRESS'}}, 
+    {'id': 14023, 'categories': [{'categoryCode': 'port_speed'}], 'item': {'keyName': '1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS'}}, 
+    {'id': 22484, 'categories': [{'categoryCode': 'disk_controller'}], 'item': {'keyName': 'DISK_CONTROLLER_RAID'}}, 
+    {'id': 306531, 'categories': [{'categoryCode': 'disk_controller1'}], 'item': {'keyName': 'DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2'}}, 
+    {'id': 311834, 'categories': [{'categoryCode': 'pcie_slot0'}], 'item': {'keyName': 'MIRRORED_NVME_M_2_OS_BOOT_480GB'}}, 
+    {'id': 301502, 'categories': [{'categoryCode': 'ram'}], 'item': {'keyName': '256_GB_RAM_DDR5'}}, 
+    {'id': 307539, 'categories': [{'categoryCode': 'os'}], 'item': {'keyName': 'OS_CENTOS_STREAM_9_X_64_BIT'}}, 
+    {'id': 313326, 'categories': [{'categoryCode': 'server'}], 'item': {'keyName': 'INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70'}}, 
+    {'id': 50221, 'categories': [{'categoryCode': 'power_supply'}], 'item': {'keyName': 'REDUNDANT_POWER_SUPPLY'}}, 
+    {'id': 300316, 'categories': [{'categoryCode': 'disk0'}], 'item': {'keyName': 'HARD_DRIVE_1_9_TB_SSD'}}, 
+    {'id': 300316, 'categories': [{'categoryCode': 'disk0'}], 'item': {'keyName': 'HARD_DRIVE_1_9_TB_SSD'}}
+]
+}]}) limit=None, offset=None)
+
+┌─────────────────────────────────────────────────────┬────────────────────────────────────────────────┬──────┐
+│                       keyName                       │                  description                   │ cost │
+├─────────────────────────────────────────────────────┼────────────────────────────────────────────────┼──────┤
+│               AUTOMATED_NOTIFICATION                │             Automated Notification             │  0   │
+│                MONITORING_HOST_PING                 │                   Host Ping                    │  0   │
+│            NOTIFICATION_EMAIL_AND_TICKET            │                Email and Ticket                │  0   │
+│                 REBOOT_KVM_OVER_IP                  │              Reboot / KVM over IP              │  0   │
+│ UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT │            Unlimited SSL VPN Users             │  0   │
+│                   BANDWIDTH_0_GB                    │            0 GB Bandwidth Allotment            │  0   │
+│                    1_IP_ADDRESS                     │                  1 IP Address                  │  0   │
+│      1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS       │    1 Gbps Redundant Private Network Uplinks    │  0   │
+│                DISK_CONTROLLER_RAID                 │                      RAID                      │  0   │
+│      DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2       │           RAID 1 (Mirrored NVMe M.2)0   │
+│           MIRRORED_NVME_M_2_OS_BOOT_480GB           │     Mirrored NVMe M.2 for OS Boot (480GB)0   │
+│                   256_GB_RAM_DDR5                   │                   256 GB RAM                   │  0   │
+│             OS_CENTOS_STREAM_9_X_64_BIT             │           CentOS Stream 9.x (64 bit)0   │
+│      INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70      │ Dual Intel Xeon Gold 6416H (24 Cores, 2.7 GHz)0   │
+│               REDUNDANT_POWER_SUPPLY                │             Redundant Power Supply             │  0   │
+│                HARD_DRIVE_1_9_TB_SSD                │                   1.9TB SSD                    │  0   │
+│                HARD_DRIVE_1_9_TB_SSD                │                   1.9TB SSD                    │  0   │
+└─────────────────────────────────────────────────────┴────────────────────────────────────────────────┴──────┘
+

From there you can customize your server how you like.

+

Extras Explained

+

Here I have 2 raid arrays.

+
    +
  1. Is the NVMe array in RAID1. I have to specify secondary_pcie_slot0 / secondary_pcie_slot1 to let the API know what drives to attach to this card. diskControllerIndex is 1, because I want it to use the second raid card on my order, DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 in this case.
  2. +
  3. This is for my other drives I’m adding, again in a RAID1. diskControllerIndex is 0, because I want it to use the first raid card on my order, DISK_CONTROLLER_RAID in this case.
  4. +
  5. Advanced Bare Metal Ordering has some more example of how to setup raid arrays.
  6. +
+
{
+    "hardware": [
+        {
+            "hostname": "test1nvme",
+            "domain": "ibm.com"
+        }
+    ],
+    "storageGroups": [
+        {
+            "arraySize": 480,
+            "arrayTypeId": 2,
+            "diskControllerIndex": 1,
+            "hardDriveCategoryCodes": [
+                "secondary_pcie_slot0",
+                "secondary_pcie_slot1"
+            ]
+        },
+        {
+            "arraySize": 1920,
+            "arrayTypeId": 2,
+            "diskControllerIndex": 0,
+            "hardDrives": [0,1]
+        }
+    ]
+}
+

Common Errors

+

Only 1 RAID card

+

This order works, but since it only specifies 1 raid card, the other drives will not get attached properly, and will lilely require Datacenter manual intervention to fix this order. Or the drives will be in a JBOD array.

+
slcli -v order place --verify 2U_DUAL_INTEL_XEON_SAPPHIRE_RAPIDS_FAMILY_16_DRIVES DALLAS13 \
+--complex-type SoftLayer_Container_Product_Order_Hardware_Server --billing monthly \
+--extras '{"hardware":[{"hostname":"test1nvme","domain":"ibm.com"}],"storageGroups":[{"arraySize":480,"arrayTypeId":2,"diskControllerIndex":0,"hardDriveCategoryCodes":["secondary_pcie_slot0","secondary_pcie_slot1"]},{"arraySize":1920,"arrayTypeId":2, "hardDrives":[0,1]}]}' \
+AUTOMATED_NOTIFICATION MONITORING_HOST_PING NOTIFICATION_EMAIL_AND_TICKET REBOOT_KVM_OVER_IP \
+UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT BANDWIDTH_0_GB 1_IP_ADDRESS \
+1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 \
+MIRRORED_NVME_M_2_OS_BOOT_480GB  256_GB_RAM_DDR5 OS_CENTOS_STREAM_9_X_64_BIT \
+INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70 REDUNDANT_POWER_SUPPLY  HARD_DRIVE_1_9_TB_SSD \
+HARD_DRIVE_1_9_TB_SSD
+
┌─────────────────────────────────────────────────────┬────────────────────────────────────────────────┬──────┐
+│                       keyName                       │                  description                   │ cost │
+├─────────────────────────────────────────────────────┼────────────────────────────────────────────────┼──────┤
+│               AUTOMATED_NOTIFICATION                │             Automated Notification             │  0   │
+│                MONITORING_HOST_PING                 │                   Host Ping                    │  0   │
+│            NOTIFICATION_EMAIL_AND_TICKET            │                Email and Ticket                │  0   │
+│                 REBOOT_KVM_OVER_IP                  │              Reboot / KVM over IP              │  0   │
+│ UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT │            Unlimited SSL VPN Users             │  0   │
+│                   BANDWIDTH_0_GB                    │            0 GB Bandwidth Allotment            │  0   │
+│                    1_IP_ADDRESS                     │                  1 IP Address                  │  0   │
+│      1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS       │    1 Gbps Redundant Private Network Uplinks    │  0   │
+│      DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2       │           RAID 1 (Mirrored NVMe M.2)           │  0   │
+│           MIRRORED_NVME_M_2_OS_BOOT_480GB           │     Mirrored NVMe M.2 for OS Boot (480GB)      │  0   │
+│                   256_GB_RAM_DDR5                   │                   256 GB RAM                   │  0   │
+│             OS_CENTOS_STREAM_9_X_64_BIT             │           CentOS Stream 9.x (64 bit)           │  0   │
+│      INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70      │ Dual Intel Xeon Gold 6416H (24 Cores, 2.7 GHz) │  0   │
+│               REDUNDANT_POWER_SUPPLY                │             Redundant Power Supply             │  0   │
+│                HARD_DRIVE_1_9_TB_SSD                │                   1.9TB SSD                    │  0   │
+│                HARD_DRIVE_1_9_TB_SSD                │                   1.9TB SSD                    │  0   │
+└─────────────────────────────────────────────────────┴────────────────────────────────────────────────┴──────┘
+

Disk controller #1 is used by storage groups but it does not have a price.

+

DISK_CONTROLLER_RAID is missing from the order

+
slcli -v order place --verify 2U_DUAL_INTEL_XEON_SAPPHIRE_RAPIDS_FAMILY_16_DRIVES DALLAS13 \
+--complex-type SoftLayer_Container_Product_Order_Hardware_Server --billing monthly \
+--extras '{"hardware":[{"hostname":"test1nvme","domain":"ibm.com"}],"storageGroups":[{"arraySize":1920,"arrayTypeId":2,"diskControllerIndex": 0,"hardDrives":[0,1]},{"arraySize":480,"arrayTypeId":2,"diskControllerIndex":1,"hardDriveCategoryCodes":["secondary_pcie_slot0","secondary_pcie_slot1"]}]}' \
+AUTOMATED_NOTIFICATION MONITORING_HOST_PING NOTIFICATION_EMAIL_AND_TICKET REBOOT_KVM_OVER_IP \
+UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT BANDWIDTH_0_GB 1_IP_ADDRESS \
+1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 \
+MIRRORED_NVME_M_2_OS_BOOT_480GB  256_GB_RAM_DDR5 OS_CENTOS_STREAM_9_X_64_BIT \
+INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70 REDUNDANT_POWER_SUPPLY  HARD_DRIVE_1_9_TB_SSD \
+HARD_DRIVE_1_9_TB_SSD
+

SoftLayerAPIError(500): Disk controller #1 is used by storage groups but it does not have a price.

+

Unable to add RAID because a Disk Controller price has already been added.

+

This is caused because older versions of the slcli/ibmcloud sl are not able to lookup the correct price if there are 2 raid cards in an order.

+
./slcli -v order place --verify 2U_DUAL_INTEL_XEON_SAPPHIRE_RAPIDS_FAMILY_16_DRIVES DALLAS13 \
+--complex-type SoftLayer_Container_Product_Order_Hardware_Server --billing monthly \
+--extras '{"hardware":[{"hostname":"test1nvme","domain":"ibm.com"}],"storageGroups":[{"arraySize":1920,"arrayTypeId":2,"diskControllerIndex": 0,"hardDrives":[0,1]},{"arraySize":480,"arrayTypeId":2,"diskControllerIndex":1,"hardDriveCategoryCodes":["secondary_pcie_slot0","secondary_pcie_slot1"]}]}' \
+AUTOMATED_NOTIFICATION MONITORING_HOST_PING NOTIFICATION_EMAIL_AND_TICKET REBOOT_KVM_OVER_IP \
+UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT BANDWIDTH_0_GB 1_IP_ADDRESS \
+1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS DISK_CONTROLLER_RAID \
+DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 \
+MIRRORED_NVME_M_2_OS_BOOT_480GB  256_GB_RAM_DDR5 OS_CENTOS_STREAM_9_X_64_BIT \
+INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70 REDUNDANT_POWER_SUPPLY  HARD_DRIVE_1_9_TB_SSD \
+HARD_DRIVE_1_9_TB_SSD 
+

SoftLayerAPIError(500): Unable to add RAID because a Disk Controller price has already been added.

+

SoftLayerAPIError(500): A storage group with M.2 drive(s) must be the primary storage group.

+

Storage groups are in the wrong order.

+
slcli -v order place --verify 2U_DUAL_INTEL_XEON_SAPPHIRE_RAPIDS_FAMILY_16_DRIVES DALLAS13 \
+--complex-type SoftLayer_Container_Product_Order_Hardware_Server --billing monthly \
+--extras '{"hardware":[{"hostname":"test1nvme","domain":"ibm.com"}],"storageGroups":[{"arraySize":1920,"arrayTypeId":2,"diskControllerIndex": 0,"hardDrives":[0,1]},{"arraySize":480,"arrayTypeId":2,"diskControllerIndex":1,"hardDriveCategoryCodes":["secondary_pcie_slot0","secondary_pcie_slot1"]}]}' \
+AUTOMATED_NOTIFICATION MONITORING_HOST_PING NOTIFICATION_EMAIL_AND_TICKET REBOOT_KVM_OVER_IP \
+UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT BANDWIDTH_0_GB 1_IP_ADDRESS \
+1_GBPS_REDUNDANT_PRIVATE_NETWORK_UPLINKS DISK_CONTROLLER_RAID \
+DISK_CONTROLLER_RAID_1_MIRRORED_NMVE_M_2 \
+MIRRORED_NVME_M_2_OS_BOOT_480GB  256_GB_RAM_DDR5 OS_CENTOS_STREAM_9_X_64_BIT \
+INTEL_INTEL_XEON_6416_UEFI_BOOT_MODE_2_70 REDUNDANT_POWER_SUPPLY  HARD_DRIVE_1_9_TB_SSD \
+HARD_DRIVE_1_9_TB_SSD
+

SoftLayerAPIError(500): A storage group with M.2 drive(s) must be the primary storage group.

+ +
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+
+ + + + + + diff --git a/index.xml b/index.xml index feffbfe5bb..cbd41a480c 100644 --- a/index.xml +++ b/index.xml @@ -5,7 +5,7 @@ en-US Enthusiastic Hugo User Copyright (c) 2014, Enthusiastic Hugo User; all rights reserved. - Sat, 31 May 2025 00:00:00 UTC + Tue, 10 Jun 2025 00:00:00 UTC Release_notes diff --git a/sitemap.xml b/sitemap.xml index 44ed5e7f33..cf8534dcf6 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,27 +1,57 @@ - https://sldn.softlayer.com/tags/release-notes/ - 2025-05-31T00:00:00+00:00 + https://sldn.softlayer.com/tags/article/ + 2025-06-10T00:00:00+00:00 - https://sldn.softlayer.com/release_notes/2025/20250531/ - 2025-05-31T00:00:00+00:00 + https://sldn.softlayer.com/article/nvmeOrdering/ + 2025-06-10T00:00:00+00:00 - https://sldn.softlayer.com/release_notes/ - 2025-05-31T00:00:00+00:00 + https://sldn.softlayer.com/tags/order/ + 2025-06-10T00:00:00+00:00 + + + + https://sldn.softlayer.com/tags/package/ + 2025-06-10T00:00:00+00:00 + + + + https://sldn.softlayer.com/tags/slcli/ + 2025-06-10T00:00:00+00:00 + + + + https://sldn.softlayer.com/tags/sldn/ + 2025-06-10T00:00:00+00:00 https://sldn.softlayer.com/ - 2025-05-31T00:00:00+00:00 + 2025-06-10T00:00:00+00:00 https://sldn.softlayer.com/tags/ + 2025-06-10T00:00:00+00:00 + + + + https://sldn.softlayer.com/tags/release-notes/ + 2025-05-31T00:00:00+00:00 + + + + https://sldn.softlayer.com/release_notes/2025/20250531/ + 2025-05-31T00:00:00+00:00 + + + + https://sldn.softlayer.com/release_notes/ 2025-05-31T00:00:00+00:00 @@ -40,11 +70,6 @@ 2025-04-04T00:00:00+00:00 - - https://sldn.softlayer.com/tags/article/ - 2025-02-28T00:00:00+00:00 - - https://sldn.softlayer.com/tags/authentication/ 2025-02-28T00:00:00+00:00 @@ -60,11 +85,6 @@ 2025-02-28T00:00:00+00:00 - - https://sldn.softlayer.com/tags/sldn/ - 2025-02-28T00:00:00+00:00 - - https://sldn.softlayer.com/release_notes/2025/20250130/ 2025-01-30T00:00:00+00:00 @@ -255,11 +275,6 @@ 2023-10-16T00:00:00+00:00 - - https://sldn.softlayer.com/tags/slcli/ - 2023-10-16T00:00:00+00:00 - - https://sldn.softlayer.com/classes/SoftLayer_Account/ 2023-10-16T00:00:00+00:00 @@ -375,16 +390,6 @@ 2022-11-04T00:00:00+00:00 - - https://sldn.softlayer.com/tags/order/ - 2022-11-03T00:00:00+00:00 - - - - https://sldn.softlayer.com/tags/package/ - 2022-11-03T00:00:00+00:00 - - https://sldn.softlayer.com/article/step_by_step_ordering/ 2022-11-03T00:00:00+00:00 diff --git a/tags/article/index.html b/tags/article/index.html index b9b491a23b..9ec14a5f01 100644 --- a/tags/article/index.html +++ b/tags/article/index.html @@ -171,6 +171,11 @@

article

    +
  • + Mirrored M.2 Ordering Examples +
    An explanation of the required settings for ordering a Mirrored M.2 server from the API.
    +
  • +
  • Failed to Exchange Token
    How to fix the 'SoftLayer_Exception: Failed to exchange token (HTTP 500)' error
    diff --git a/tags/article/index.xml b/tags/article/index.xml index 040f850979..122ccff559 100644 --- a/tags/article/index.xml +++ b/tags/article/index.xml @@ -6,8 +6,15 @@ Recent content in Article on SoftLayer API Hugo en-us - Fri, 28 Feb 2025 00:00:00 +0000 + Tue, 10 Jun 2025 00:00:00 +0000 + + Mirrored M.2 Ordering Examples + https://sldn.softlayer.com/article/nvmeOrdering/ + Tue, 10 Jun 2025 00:00:00 +0000 + https://sldn.softlayer.com/article/nvmeOrdering/ + <p><em>NOTE</em>: This article is for <a href="https://github.com/softlayer/softlayer-python/releases/tag/v6.2.7">slcli v6.2.7</a> and <a href="https://github.com/softlayer/softlayer-cli/releases/tag/v1.5.7">ibmcloud sl v1.5.7</a></p> <h1 id="basics">Basics</h1> <p>Ordering a server with a mirrored NVMe M.2 boot drive is a little tricky. There are 2 main difference between this setup and a normal order.</p> <ol> <li><code>storageGroups</code> need to be defined with the NVMe array first</li> <li>NVMe array needs to set <code>hardDriveCategoryCodes</code> and <code>diskControllerIndex: 1</code></li> </ol> <blockquote> <p>The <code>0th</code> index storageGroup will be what the server boots from. It will not match the order the raid cards are ordered in.</p> + Failed to Exchange Token https://sldn.softlayer.com/article/FailedToExchangeToken/ diff --git a/tags/index.html b/tags/index.html index abb95b7478..80f1246bd5 100644 --- a/tags/index.html +++ b/tags/index.html @@ -171,22 +171,22 @@

    tags

    • - Release Notes + Article
    • - Article + Order
    • - Authentication + Package
    • - Errors + Slcli
    • @@ -196,57 +196,57 @@

      tags

    • - Cli + Release Notes
    • - Pagination + Authentication
    • - Resultlimit + Errors
    • - Sdk + Cli
    • - Vlan + Pagination
    • - Examples + Resultlimit
    • - Objectfilter + Sdk
    • - Slcli + Vlan
    • - Blockstorage + Examples
    • - Order + Objectfilter
    • - Package + Blockstorage
    • diff --git a/tags/order/index.html b/tags/order/index.html index 6438edfdc0..b5cef71c7b 100644 --- a/tags/order/index.html +++ b/tags/order/index.html @@ -171,6 +171,11 @@

      article

        +
      • + Mirrored M.2 Ordering Examples +
        An explanation of the required settings for ordering a Mirrored M.2 server from the API.
        +
      • +
      • Step By Step Ordering
        Explains how the SofltLayer catalog works, how to navigate it to find packages, items, prices to build an order with. How to take those items and verify or place an actual order. Along with how to view your invoice to see the order you just placed.
        diff --git a/tags/order/index.xml b/tags/order/index.xml index 8d94b5b5e9..c4f305421d 100644 --- a/tags/order/index.xml +++ b/tags/order/index.xml @@ -6,8 +6,15 @@ Recent content in Order on SoftLayer API Hugo en-us - Thu, 03 Nov 2022 00:00:00 +0000 + Tue, 10 Jun 2025 00:00:00 +0000 + + Mirrored M.2 Ordering Examples + https://sldn.softlayer.com/article/nvmeOrdering/ + Tue, 10 Jun 2025 00:00:00 +0000 + https://sldn.softlayer.com/article/nvmeOrdering/ + <p><em>NOTE</em>: This article is for <a href="https://github.com/softlayer/softlayer-python/releases/tag/v6.2.7">slcli v6.2.7</a> and <a href="https://github.com/softlayer/softlayer-cli/releases/tag/v1.5.7">ibmcloud sl v1.5.7</a></p> <h1 id="basics">Basics</h1> <p>Ordering a server with a mirrored NVMe M.2 boot drive is a little tricky. There are 2 main difference between this setup and a normal order.</p> <ol> <li><code>storageGroups</code> need to be defined with the NVMe array first</li> <li>NVMe array needs to set <code>hardDriveCategoryCodes</code> and <code>diskControllerIndex: 1</code></li> </ol> <blockquote> <p>The <code>0th</code> index storageGroup will be what the server boots from. It will not match the order the raid cards are ordered in.</p> + Step By Step Ordering https://sldn.softlayer.com/article/step_by_step_ordering/ diff --git a/tags/package/index.html b/tags/package/index.html index 620ebc8e6a..7f919cc1f7 100644 --- a/tags/package/index.html +++ b/tags/package/index.html @@ -171,6 +171,11 @@

        article

          +
        • + Mirrored M.2 Ordering Examples +
          An explanation of the required settings for ordering a Mirrored M.2 server from the API.
          +
        • +
        • Step By Step Ordering
          Explains how the SofltLayer catalog works, how to navigate it to find packages, items, prices to build an order with. How to take those items and verify or place an actual order. Along with how to view your invoice to see the order you just placed.
          diff --git a/tags/package/index.xml b/tags/package/index.xml index b62fec9864..803a4b8aab 100644 --- a/tags/package/index.xml +++ b/tags/package/index.xml @@ -6,8 +6,15 @@ Recent content in Package on SoftLayer API Hugo en-us - Thu, 03 Nov 2022 00:00:00 +0000 + Tue, 10 Jun 2025 00:00:00 +0000 + + Mirrored M.2 Ordering Examples + https://sldn.softlayer.com/article/nvmeOrdering/ + Tue, 10 Jun 2025 00:00:00 +0000 + https://sldn.softlayer.com/article/nvmeOrdering/ + <p><em>NOTE</em>: This article is for <a href="https://github.com/softlayer/softlayer-python/releases/tag/v6.2.7">slcli v6.2.7</a> and <a href="https://github.com/softlayer/softlayer-cli/releases/tag/v1.5.7">ibmcloud sl v1.5.7</a></p> <h1 id="basics">Basics</h1> <p>Ordering a server with a mirrored NVMe M.2 boot drive is a little tricky. There are 2 main difference between this setup and a normal order.</p> <ol> <li><code>storageGroups</code> need to be defined with the NVMe array first</li> <li>NVMe array needs to set <code>hardDriveCategoryCodes</code> and <code>diskControllerIndex: 1</code></li> </ol> <blockquote> <p>The <code>0th</code> index storageGroup will be what the server boots from. It will not match the order the raid cards are ordered in.</p> + Step By Step Ordering https://sldn.softlayer.com/article/step_by_step_ordering/ diff --git a/tags/slcli/index.html b/tags/slcli/index.html index ab0d418541..a0d3517125 100644 --- a/tags/slcli/index.html +++ b/tags/slcli/index.html @@ -171,6 +171,11 @@

          article

            +
          • + Mirrored M.2 Ordering Examples +
            An explanation of the required settings for ordering a Mirrored M.2 server from the API.
            +
          • +
          • The SoftLayer Golang Library
            Covers how to use the Golang library to make API calls, along with some basics of the IBMCLOUD cli tool, which is written in golang.
            diff --git a/tags/slcli/index.xml b/tags/slcli/index.xml index b7051aa770..9cabc1f43c 100644 --- a/tags/slcli/index.xml +++ b/tags/slcli/index.xml @@ -6,8 +6,15 @@ Recent content in Slcli on SoftLayer API Hugo en-us - Mon, 16 Oct 2023 00:00:00 +0000 + Tue, 10 Jun 2025 00:00:00 +0000 + + Mirrored M.2 Ordering Examples + https://sldn.softlayer.com/article/nvmeOrdering/ + Tue, 10 Jun 2025 00:00:00 +0000 + https://sldn.softlayer.com/article/nvmeOrdering/ + <p><em>NOTE</em>: This article is for <a href="https://github.com/softlayer/softlayer-python/releases/tag/v6.2.7">slcli v6.2.7</a> and <a href="https://github.com/softlayer/softlayer-cli/releases/tag/v1.5.7">ibmcloud sl v1.5.7</a></p> <h1 id="basics">Basics</h1> <p>Ordering a server with a mirrored NVMe M.2 boot drive is a little tricky. There are 2 main difference between this setup and a normal order.</p> <ol> <li><code>storageGroups</code> need to be defined with the NVMe array first</li> <li>NVMe array needs to set <code>hardDriveCategoryCodes</code> and <code>diskControllerIndex: 1</code></li> </ol> <blockquote> <p>The <code>0th</code> index storageGroup will be what the server boots from. It will not match the order the raid cards are ordered in.</p> + Threads for improved API performance https://sldn.softlayer.com/python/mtSpeedup/ diff --git a/tags/sldn/index.html b/tags/sldn/index.html index 5e5ca5ee52..c2fb9c1468 100644 --- a/tags/sldn/index.html +++ b/tags/sldn/index.html @@ -171,6 +171,11 @@

            article

              +
            • + Mirrored M.2 Ordering Examples +
              An explanation of the required settings for ordering a Mirrored M.2 server from the API.
              +
            • +
            • Failed to Exchange Token
              How to fix the 'SoftLayer_Exception: Failed to exchange token (HTTP 500)' error
              diff --git a/tags/sldn/index.xml b/tags/sldn/index.xml index e05c4912d9..4fa7f2f929 100644 --- a/tags/sldn/index.xml +++ b/tags/sldn/index.xml @@ -6,8 +6,15 @@ Recent content in Sldn on SoftLayer API Hugo en-us - Fri, 28 Feb 2025 00:00:00 +0000 + Tue, 10 Jun 2025 00:00:00 +0000 + + Mirrored M.2 Ordering Examples + https://sldn.softlayer.com/article/nvmeOrdering/ + Tue, 10 Jun 2025 00:00:00 +0000 + https://sldn.softlayer.com/article/nvmeOrdering/ + <p><em>NOTE</em>: This article is for <a href="https://github.com/softlayer/softlayer-python/releases/tag/v6.2.7">slcli v6.2.7</a> and <a href="https://github.com/softlayer/softlayer-cli/releases/tag/v1.5.7">ibmcloud sl v1.5.7</a></p> <h1 id="basics">Basics</h1> <p>Ordering a server with a mirrored NVMe M.2 boot drive is a little tricky. There are 2 main difference between this setup and a normal order.</p> <ol> <li><code>storageGroups</code> need to be defined with the NVMe array first</li> <li>NVMe array needs to set <code>hardDriveCategoryCodes</code> and <code>diskControllerIndex: 1</code></li> </ol> <blockquote> <p>The <code>0th</code> index storageGroup will be what the server boots from. It will not match the order the raid cards are ordered in.</p> + Failed to Exchange Token https://sldn.softlayer.com/article/FailedToExchangeToken/