Skip to content

SLCLI - The item GPU1 is set instead of GPU0 when ordering baremetals #984

@acamacho82

Description

@acamacho82

This is for baremetal servers which have GPU support.

Expected Behavior

  • The GPU0 should be set by default in the order if a gpu item is selected and it was not specified if it is primary or secondary

Actual Behavior

Currently only gpu0 items are listed when using the slcli, see #983

The issue is when ordering a baremetal with a gpu like GPU_NVIDIA_TESLA_K80 as following:

$ slcli -vvv order place --verify --billing monthly --complex-type SoftLayer_Container_Product_Order_Hardware_Server DUAL_E52600_V4_12_DRIVES DALLAS12 REBOOT_KVM_OVER_IP UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT NESSUS_VULNERABILITY_ASSESSMENT_REPORTING NOTIFICATION_EMAIL_AND_TICKET 1_IP_ADDRESS AUTOMATED_NOTIFICATION MONITORING_HOST_PING BANDWIDTH_500_GB REDUNDANT_POWER_SUPPLY INTEL_TXT_TRUSTED_EXECUTION_TECHNOLOGY OS_UBUNTU_16_04_LTS_XENIAL_XERUS_MINIMAL_64_BIT INTEL_INTEL_XEON_E52620_V4_2_10 RAM_128_GB_DDR4_2133_ECC_REG 10_GBPS_REDUNDANT_PUBLIC_PRIVATE_NETWORK_UPLINKS DISK_CONTROLLER_NONRAID HARD_DRIVE_1_9TB_SSD_SED_5DWPD HARD_DRIVE_2_00_TB_SATA_2 HARD_DRIVE_3_8TB_SSD_SED_3DWPD GPU_NVIDIA_TESLA_K80

The item price id 141755 which was selected, see the payload below, is for gpu1 and not for a gpu0

payload = """<?xml version='1.0'?> <methodCall> <methodName>verifyOrder</methodName> <params> <param> <value><struct> <member> <name>headers</name> <value><struct> <member> <name>authenticate</name> <value><struct> <member> <name>username</name> <value><string>acamacho</string></value> </member> <member> <name>apiKey</name> <value><string>API_KEY_GOES_HERE</string></value> </member> </struct></value> </member> </struct></value> </member> </struct></value> </param> <param> <value><struct> <member> <name>orderContainers</name> <value><array><data> <value><struct> <member> <name>prices</name> <value><array><data> <value><struct> <member> <name>id</name> <value><int>906</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>420</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>418</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>57</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>21</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>58</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>55</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>50357</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>50221</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>44644</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>171619</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>177611</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>209939</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>21525</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>876</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>206481</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>49819</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>206409</int></value> </member> </struct></value> <value><struct> <member> <name>id</name> <value><int>141755</int></value> </member> </struct></value> </data></array></value> </member> <member> <name>location</name> <value><int>1854795</int></value> </member> <member> <name>packageId</name> <value><int>553</int></value> </member> <member> <name>complexType</name> <value><string>SoftLayer_Container_Product_Order_Hardware_Server</string></value> </member> <member> <name>useHourlyPricing</name> <value><boolean>0</boolean></value> </member> <member> <name>quantity</name> <value><int>1</int></value> </member> </struct></value> </data></array></value> </member> </struct></value> </param> </params> </methodCall> """

Here the data of price 141755

     {
		"id": 141755,
		"itemId": 6072,
		"categories": [
			{
				"categoryCode": "gpu1",
				"id": 327,
				"name": "Secondary Graphics Processing Unit",
				"quantityLimit": 0,
				"sortOrder": null
			}
		],
		"item": {
			"capacity": "4992",
			"description": "NVIDIA Tesla K80 Graphic Card",
			"id": 6072,
			"itemTaxCategoryId": 166,
			"keyName": "GPU_NVIDIA_TESLA_K80",
			"units": "Cuda_Core",
			"itemCategory": {
				"categoryCode": "gpu0",
				"id": 326,
				"name": "Graphics Processing Unit",
			}

Environment Information

Operating System: Linux, windows
softlayer-python version (slcli --version): 5.4.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    OrderingAnything related to ordering

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions