2016-07-22 13 views
0

Der folgende API-Aufruf gibt keinen Fehler zurück und scheint zu funktionieren, aber der VLAN wird nicht tatsächlich Trunked. Stattdessen müssen wir manuell auf SoftLayer zugreifen und den VLAN an die angegebenen Geräte leiten.SoftLayer-API-Aufruf an Trunk-Vlan schlägt fehl

Dies ist der API-Aufruf, in Python, obwohl es in anderen Sprachen ähnlich sein sollte:

client['Network_Component'].addNetworkVlanTrunks([{'id': 121212}], id=565656) 

Leider Strato war nicht in der Lage zu erforschen oder diese über ihr internes Ticketing-System überhaupt ansprechen. Stattdessen haben sie uns gebeten, das Problem hier zu posten, da dies offenbar der Ort ist, an dem ihre "api-Experten" rumhängen.

Hat jemand Einblick sie können im Zusammenhang mit diesem API Anruf?

Antwort

0

Der API-Aufruf, den Sie verwenden, um die networkVlanTrunks hinzuzufügen, funktioniert einwandfrei.

Wenn Sie, wenn die vlan Stämme überprüfen möchten erfolgreich hinzugefügt, sollten Sie überprüfen die Uplink Component und seine networkVlanTrunks, wie in diesem Link sagt: SoftLayer_Network_Component::addNetworkVlanTrunks

Versuchen Sie das folgende Python-Skript für it:

""" 
This script Retrieve the network component linking this object to parent and 
their network vlan trunks 

See below references for more details. 
Important manual pages: 
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Component/getUplinkComponent 
http://sldn.softlayer.com/article/object-masks 

@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 an object mask to get network vlan trunks 
mask = 'mask[networkVlanTrunks]' 

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

Ich habe einige Tests durchgeführt und ich habe überprüft, dass die VLAN-Amtsleitungen erfolgreich hinzugefügt wurden.

Ich hoffe es hilft. Bitte lassen Sie mich irgendwelche Zweifel oder Kommentare dazu wissen.

+0

Dank Ruber. Aber was ich sage, ist, dass der API-Aufruf das VLAN als Bündel markiert und meldet, dass es bündelweise ist, obwohl das Bündeln tatsächlich nie aufgetreten ist. Wir haben dies verifiziert, indem wir den Traffic getestet haben, VRRP-Anzeigen nicht erhalten haben und dann SL erreicht haben, der nach einiger Fehlersuche feststellte, dass das VLAN nicht wirklich bündelweise ist und manuell trunked werden musste - was den Zweck der Automatisierung zunichte macht über API. Wir öffneten ein Ticket mit SoftLayer und wurden gebeten, hier zu fragen (wo ihre api-Experten sind) und unser Ticket war geschlossen. Was ist der nächste Schritt zur Lösung? – pgra

+0

Wie ich weiß, die Konfiguration für die VLAN-Trunks erfolgt über Layer 3. Wenn Sie den VLAN testen möchten, müssen Sie dies offenbar in der Schicht 1 konfigurieren (Konfigurieren Sie Ihren Server für den VLAN-Trunk), wenn Sie mehr Unterstützung benötigen mit diesem oder irgendwelche Zweifel darüber, bitte ein Ticket an Softlayer (Netzwerk). Fügen Sie dieses Forum bei Bedarf hinzu. –

+0

Ich verstehe. Unser Server war richtig konfiguriert, aber wie gesagt, das Trunking wurde nicht durchgeführt. Das ist das Problem, und das scheint der Teil zu sein, den niemand wirklich testen möchte. Wenn man sagt, es funktioniert, und das System sagt, dass das Trunking nicht dasselbe ist wie das Testen. In unseren Produktionsclustern, wenn das Trunking nicht gemacht wird, sind die Dinge kaputt. Wie kann ich jemanden von SoftLayer dazu bringen, den API-Anruf zu tätigen, und manuell überprüfen, ob das Trunking funktioniert? – pgra