Can I add secondary gpu to baremetal server - gpu

Can I add secondary or another GPU to bare metal server,
I tried to get the price details to confirm the same but getting following error
slcli 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 GPU_NVIDIA_TESLA_M10_ACCELERATOR
SoftLayerAPIError(SoftLayer_Exception_Public): Unable to add NVIDIA Tesla M10 GPU Accelerator because a Graphics Processing Unit price has already been added.
slcli 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 GPU_NVIDIA_TESLA_V100
SoftLayerAPIError(SoftLayer_Exception_Order_Item_Rule): The V100 can only be used with a V100

Currently it is not possible to order a baremetal servers with two GPU items through the SLCLI client.
It seems that there are issues in the slcli, it list only gpu0 items but there should be gpu0 and gpu1. The following issues were opened: #983, #984, and #985
In the mean time, the only way is placing the order manually through the placeOrder method, use verifyOrder if you are not ready to order, following have examples about how to order a baremetal, you need to change the values with your own and set the prices:
https://softlayer.github.io/rest/place_order/ (CURL or REST)
Adding SSH keys to Softlayer JSON order for Bare metal (Python)
Subnet error while ordering baremetal server
To order a DUAL_E52600_V4_12_DRIVES you need to use the packageId 553 and to know which item prices you need to send during the order you can use the following REST call:
https://api.softlayer.com/rest/v3.1/SoftLayer_Product_Package/553/getItemPrices?objectMask=mask[categories,pricingLocationGroup[locations]]
For DALLAS12 search for those items prices which have locationGroupId = null.

Related

Am I able to view a list of devices by partition in iothub?

I have 2 nodes of a cluster receiving messages from iothub. I split their responsibility by partition. Node 1 reads from partitions 1,3,5,7,9 and the other 2,4,6,8, and 0. Recently, my partition 8 stops responding until I stop my code and restart it. It seems like a device is sending a message that locks up the partition. What I want to do is list all devices in my partition 8. Is that possible? Is there a cloud shell command to get those devices in a list?
Not sure this will help you, but you can see the partition on the incoming messages. For example you could use Azure Stream Analytics to see the partitions using this query:
Select GetMetadataPropertyValue(IoTHub, '[IoTHub].[ConnectionDeviceId]') as DeviceId, partitionId
from IoTHub
Also, if you run locally in VisualStudio it will tell you which device is sending malformed JSON. eg.
[Warning] 10/21/2021 9:12:54 AM : User Warning Source 'IoTHub' had 1 occurrences of kind 'InputDeserializerError.InvalidData' between processing times '2021-10-21T15:12:50.5076449Z' and '2021-10-21T15:12:50.5712076Z'. Could not deserialize the input event(s) from resource 'Partition: [1], Offset: [455266583232], SequenceNumber: [634800], DeviceId: [DeviceName]' as Json. Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format
Also check your "Activity Log" blade in the ASA job. It may have more details for you.

Selecting from multiple SLURM GPU resources

I'm submitting jobs to a cluster via SLURM scheduler, and let's say I have access to 5 types of GPUs in my cluster. They are GPUs of type A,B,C,D,E. I would like to submit a job that requests the use of GPUs of type A or B or C but NOT of type D or E. So I need some type of OR logic with the --gres flag.
As a concrete example, here is what it looks like when I request a gpu of a single type (in this case, an RTX 2080):
qlogin -p gpu --gres=gpu:rtx2080:1 --mem=8g -c 2 I'd like to do this but allowing SLURM to pick from a list of allowed GPU types
Slurm does not have that option at this time.
One workaround is for the system administrator to setup features of the node with the GPU type to allow a request such as:
qlogin -p gpu --gres=gpu:1 --constraint="rtx2080|rtx3090" --mem=8g -c 2
(assuming qlogin uses the same options as sbatch)
If that is not possible, you can submit as many job as there are types of GPU that you want, all with the same --job-name=<SOME_NAME> and the --dependency=singleton option. Then you use whichever job starts first and cancel the other with
scancel --jobname <SOME_NAME> --state=PENDING
The --dependency option makes sure only one job is started at a time.

get_bgp_summary_information RPC and using logical-systems

Hi I am trying to use PyEZ to to create an automation script.
My goal is save response from bgp summary with logical system in a variable
This one works:
bgpinfo= cor1.rpc.get_bgp_summary_information
but I want to get the bgp summary for logical system based on this juniper command:
user#COR1> show bgp summary logical-system EXTERNAL
Check whether the below line of code works:
bgpinfo= cor1.rpc.get_bgp_summary_information(logical_system='EXTERNAL')
I figured it by giving the below command on the device:
reg#vj1> show bgp summary logical-system EXTERNAL | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.2D0/junos">
<rpc>
<get-bgp-summary-information>
<logical-system>EXTERNAL</logical-system>
</get-bgp-summary-information>
</rpc>
<cli>
<banner></banner>
</cli>
</rpc-reply>

Cannot set private nic speed to 10Gbps

When using slcli to modify the port speed of the private nic to 10gbps, I get the following error:
slcli hardware edit --private-speed 10000 123456
SoftLayerAPIError(SoftLayer_Exception_Public): Speed cannot be null and must be 0 (Disconnect), 10, 100, or 1000.
I am able to change the port speed via the UI and by opening a ticket, so am wondering if there is an issue with the API or an account setting that must be enabled. We use bonded NICs, so we actually need to set the speed to 20000. Please advise.
I tried to reproduce the issue but I could not. I am capable to change the speed to 10000 whith no problem. I only get the error when the private nic does not have that speed available. I am not sure what is your NIC configuration but this is mine:
As you can see the "Max Speed" for my configuration is 10000 Mbps, so using the slcli comand I can change the "Speed" whithout any problem, in case that the "Max Speed" is under 10000 Mbps I got the same error as you, in order to head off that error I need to "Modify the Max Speed" to another configuration that allows more speed, but in order to make the same using the API you need to upgrade your server using the placeOrder method.
Another thing is that you cannot set any value that you want in the speed property, it depends of your NIC setup, but generally speaking the only valid values are: 0, 10, 100, 1000, 10000; As you can see you cannot set the speed to 20000.
Regards

SoftLayer API How to get uplink port speed value from SoftLayer_Virtual_Guest and SoftLayer_Hardware

For the provisioned SoftLayer virtual Server, and Bare metal servers.
Which attribute/method from SoftLayer_Virtual_Guest and SoftLayer_Hardware
can return the uplink port speed value of the device?
Thanks.
You can try getting the items in the billing item of the device and look for port speed value.
These RestFul will return the items
https://api.softlayer.com/rest/v3.1/SoftLayer_Hardware_Server/$HardwareID/getObject?objectMask=mask[billingItem[children[item]]]
Method GET
https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/$VSIID/getObject?objectMask=mask[billingItem[children[item]]]
Method GET
Note: Replace $HardwareID and $VSIID with the ID of the hardware or VSI you wish to see the items
Regards
To get items from a Virtual Guest/Hardware already provisioned, you can use the following GET requests:
* Virtual Guest:
https://[username]:[apikey]#api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/[vsi_id]/getObject?objectMask=mask[id,fullyQualifiedDomainName,billingItem[id,orderItem[id,description,order[id,items]]]]
* Hardware:
https://[username]:[apikey]#api.softlayer.com/rest/v3/SoftLayer_Hardware/[hardware_id]/getObject?objectMask=mask[id,fullyQualifiedDomainName,billingItem[id,orderItem[id,description,order[id,items]]]]