2016-07-22 4 views
0

Я попытался использовать softlayer api, чтобы получить/удалить/добавить багажник. http://sldn.softlayer.com/reference/services/SoftLayer_Network_ComponentAPI-интерфейс Softlayer для соединительной линии VLAN

наш baremetal уже транслировался по билету Softlayer. Сначала мы хотим удалить ствол. а затем добавьте багажник.

Мы могли бы получитьNetworkVlanTrunks, используя baremetal uplinkComponent ID. client['SoftLayer_Network_Component'].getNetworkVlanTrunks(id=networkcomponentId)

Вот выход из ствола ПОЛУЧАЕТЕ:

[{'networkComponentId': <networkcomponentId>, 'networkVlanId': <vlanid-1>}, {'networkComponentId': <networkcomponentId>, 'networkVlanId': <vlanid-2>}]

Теперь мы хотим, чтобы удалить ствол VLANID-2.

vlan = client['Network_Vlan'].getObject(id=<vlanid-2>) client['SoftLayer_Network_Component'].removeNetworkVlanTrunks([vlan], id=networkcomponentId)

Однако, мы получили эту ошибку, когда removeNetworkVlanTrunks:

File "/usr/lib64/python2.7/site-packages/SoftLayer/transports.py", line 187, in __call__ raise _ex(ex.faultCode, ex.faultString) SoftLayer.exceptions.SoftLayerAPIError: SoftLayerAPIError(SoftLayer_Exception_InternalError): An internal system error has occurred.

Кто-нибудь знает о том, как это произошло? Мы используем правильный networkComponentID для удаления? Кто-нибудь знает, как использовать addNetworkVlanTrunks?

+0

Вы должны быть более осторожны с форматированием кода, см. Http://stackoverflow.com/editing-help#comment-formatting –

ответ

0

Чтобы проверить, были добавлены или успешно удалены VLANs, попробуйте следующий питон скрипт:

""" 
This script removes the network vlan trunks from network component 

See below references for more details. 
Important manual pages: 
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Component/addNetworkVlanTrunks 

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

# Your SoftLayer username and apiKey 
user = 'set me' 
api = 'set me' 

# Connect to SoftLayer 
client = SoftLayer.create_client_from_env(username=user, api_key=api) 

# Define the network component id 
networkComponentId = 916616 

# Define the network vlans that you wish to remove 
networkVlans = [{"id": 1318157}] 

try: 
    result = client['SoftLayer_Network_Component'].removeNetworkVlanTrunks(networkVlans, id=networkComponentId) 
    pp(result) 
except SoftLayer.SoftLayerAPIError as e: 
    print('Error faultCode=%s, faultString=%s' 
      % (e.faultCode, e.faultString)) 
    exit(1) 

Чтобы удалить ВЛС ствол от компонента сети, попробуйте следующее:

""" 
This script removes the network vlan trunks from network component 

See below references for more details. 
Important manual pages: 
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Component/addNetworkVlanTrunks 

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

# Your SoftLayer username and apiKey 
user = 'set me' 
api = 'set me' 

# Connect to SoftLayer 
client = SoftLayer.create_client_from_env(username=user, api_key=api) 

# Define the network component id 
networkComponentId = 916616 

# Define the network vlans that you wish to remove 
networkVlans = [{"id": 1318157}] 

try: 
    result = client['SoftLayer_Network_Component'].removeNetworkVlanTrunks(networkVlans, id=networkComponentId) 
    pp(result) 
except SoftLayer.SoftLayerAPIError as e: 
    print('Error faultCode=%s, faultString=%s' 
      % (e.faultCode, e.faultString)) 
    exit(1) 

Чтобы добавить сетевые соединительные линии vlan - это та же идея, что и удаление, так или иначе, вот так:

Я надеюсь, что это помогает. Дайте мне знать, если у вас есть проблема или сомнения.

+0

Я пробовал с вашим кодом. Но при удалении багажника по-прежнему возникают внутренние ошибки. 'NetworkcomponentId = 5253429 networkVlans = [{ "ID": 1231207}] попытка: removetrunk = network_component.removeNetworkVlanTrunks (networkVlans, ID = networkcomponentId) исключением SoftLayer.SoftLayerAPIError как е: печать ('Ошибка faultCode =% s , faultString =% s ' % (e.faultCode, e.faultString)) exit (1) ' – yqdou

+0

Вот ошибка: Ошибка ErrorCode = SoftLayer_Exception_InternalError, faultString = Произошла внутренняя системная ошибка. – yqdou

+0

Это исключение связано с разрешением или доступом к устройству. Убедитесь, что у вас есть ** Просмотр сведений о оборудовании ** разрешено, и у вас есть правильный доступ к аппаратному устройству **, в котором принадлежит сетевой компонент. –

Смежные вопросы