2016-11-12 212 views
0

尋找幫助,開始以運行關機,開機和重啓虛擬機對SoftLayer的機器指令使用slcli。我在ubuntu 14.04下安裝了軟件包sudo apt-get install python-softlayer,現在試圖運行slcli setup命令,但是無法定位從哪裏運行,它不在bash shell的路徑中,也沒有在python之後導入SoftLayer,我錯過了什麼?如何設置slcli的SoftLayer API

回答

0

從任何地方提供正確安裝包可以運行slcli config setup命令。我通常建議使用pip來安裝SoftLayer軟件包。

sudo apt-get purge python-softlayer 

sudo apt-get install python-setuptools python-pip 

sudo pip install softlayer 
0

確保蟒蛇和PIP的安裝是否正確,然後運行:

sudo apt-get install python-softlayer

然而,如果這不是工作,然後嘗試使用PIP安裝:

sudo pip install softlayer 

一旦slcli是正確安裝運行slcli無參數應顯示選項菜單,您可以使用獲得額外信息

使用slcli setup來設置您的默認值和slcli config show來顯示它。

爲了管理VS與slcli使用以下命令:

slcli vs list 
slcli vs power-on 1234567 
slcli vs power-off 1234567 
slcli vs reboot 1234567 

將虛擬客戶ID獲得使用slcli vs list

也有可能完成上述使用標準的python腳本,這裏舉一些例子:

""" 
Power off Guest 

The scripts will look for a VSI which has an specific 
hostname and the it powers off the VSI by making a single call 
to the SoftLayer_Virtual_Guest::powerOff method. 

Important manual pages: 
http://sldn.softlayer.com/reference/services/SoftLayer_Acount/ 
http://sldn.softlayer.com/reference/services/SoftLayer_Acount/getVirtualGuests 
http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/setTags 

License: http://sldn.softlayer.com/article/License 
Author: SoftLayer Technologies, Inc. <[email protected]> 
""" 
import SoftLayer 

""" 
# Your SoftLayer API username and key. 
# 
# Generate an API key at the SoftLayer Customer Portal: 
# https://manage.softlayer.com/Administrative/apiKeychain 
""" 
username = 'set me' 
key = 'set me' 

# The name of the machine you wish to power off 
virtualGuestName = 'rctest' 

# Declare a new API service object 
client = SoftLayer.Client(username=username, api_key=key) 


try: 
    # Getting all virtual guest that the account has: 
    virtualGuests = client['SoftLayer_Account'].getVirtualGuests() 
except SoftLayer.SoftLayerAPIError as e: 
    """ 
    If there was an error returned from the SoftLayer API then bomb out with the 
    error message. 
    """ 
    print("Unable to retrieve hardware. " 
      % (e.faultCode, e.faultString)) 

# Looking for the virtual guest 
virtualGuestId = '' 
for virtualGuest in virtualGuests: 
    if virtualGuest['hostname'] == virtualGuestName: 
     virtualGuestId = virtualGuest['id'] 

try: 
    # Power off the virtual guest 
    virtualMachines = client['SoftLayer_Virtual_Guest'].powerOff(id=virtualGuestId) 
    print ("powered off") 
except SoftLayer.SoftLayerAPIError as e: 
    """ 
    If there was an error returned from the SoftLayer API then bomb out with the 
    error message. 
    """ 
    print("Unable to power off the virtual guest" 
      % (e.faultCode, e.faultString)) 

重新啓動

""" 
    Reboot Virtual Guest. 
    It reboots a SoftLayer Virtual Guest 


    Important manual pages: 
    http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/rebootDefault 

    License: http://sldn.softlayer.com/article/License 
    Author: SoftLayer Technologies, Inc. <[email protected]> 
    """ 
    # So we can talk to the SoftLayer API: 
    import SoftLayer 

    # From pprint import pprint as pp 
    # For nice debug output 
    from pprint import pprint as pp 

    # Your SoftLayer API username and key. 
    API_USERNAME = 'set me' 
    API_KEY = 'set me' 

    # If you don't know your server id you can call getVirtualGuests() in the 
    # SoftLayer_Account API service to get a list of Virtual Guests 
    serverId = 10403817 

    # Create a connection to API service. 
    client = SoftLayer.Client(
      username=API_USERNAME, 
      api_key=API_KEY 
    ) 

    # Reboot the Virtual Guest 
    try: 

     result = client['Virtual_Guest'].rebootDefault(id=serverId) 
     pp(result) 

    except SoftLayer.SoftLayerAPIError as e: 
      pp('Unable to reboot the server faultCode=%s, faultString=%s' 
       % (e.faultCode, e.faultString)) 
相關問題