本文整理汇总了Python中pysdn.common.status.OperStatus类的典型用法代码示例。如果您正苦于以下问题:Python OperStatus类的具体用法?Python OperStatus怎么用?Python OperStatus使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OperStatus类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: resister_vtep_on_hypervisor
def resister_vtep_on_hypervisor(self, vtep_hvsr):
status = OperStatus()
url = self.get_ovrl_mgr_hvsr_vtep_config_url(vtep_hvsr)
var = '{{\"vteps\": [{{\"name\": \"{0}\",\"ip-address\":\"{1}\",\"configuration\": {{\"brocade-app-overlay-ovs-vtep:switch-name\": \"{2}\"}}}}'
payload = var.format(vtep_hvsr['vtep_hvsr_name'], vtep_hvsr['hvsrIp'], vtep_hvsr['switchName'])
headers = {"content-type": "application/json", "accept": "application/json"}
print(url)
resp = self.http_put_request(url, payload, headers)
print(resp)
if resp is None:
status.set_status(STATUS.CONN_ERROR)
elif resp.content is None:
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif resp.status_code == 200:
status.set_status(STATUS.NODE_CONFIGURED)
else:
status.set_status(STATUS.DATA_NOT_FOUND, resp)
return Result(status, None)
示例2: register_hypervisor
def register_hypervisor(self, vtep_hvsr):
status = OperStatus()
url = self.get_ovrl_mgr_hvsr_config_url(vtep_hvsr['hvsrIp'], vtep_hvsr['hvsrPortNum'])
var = '{{\"device\": [{{\"ip-address\": \"{0}\",\"user-name\": \"\",\"portnumber\": \"{1}\",\"device-type\": \"hypervisor\",\"name\": \"\",\"device-id\": \"{2}:{3}\",\"password\": \"\"}}]}}'
payload = var.format(vtep_hvsr['hvsrIp'], vtep_hvsr['hvsrPortNum'], vtep_hvsr['hvsrIp'],
vtep_hvsr['hvsrPortNum'])
headers = {"content-type": "application/json", "accept": "application/json"}
print(payload)
resp = self.http_put_request(url, payload, headers)
print(resp)
if resp is None:
status.set_status(STATUS.CONN_ERROR)
elif resp.content is None:
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif resp.status_code == 200:
status.set_status(STATUS.NODE_CONFIGURED)
else:
status.set_status(STATUS.DATA_NOT_FOUND, resp)
return Result(status, None)
示例3: create_tunnel_between_two_hypervisors
def create_tunnel_between_two_hypervisors(self, tnl_name, vni_id, vtep_hvsrA, vtep_hvsrB):
status = OperStatus()
url = self.get_ovrl_mgr_tunnel_hvsr2hvsr_config_url(tnl_name)
var = '{{\"tunnel\": [{{\"tunnel-name\": \"{0}\",\"vni-id\": \"{1}\",\"tunnel-endpoints\": [{{\"device-id\": \"{2}:{3}\",\"vtep-name\": \"{4}\"}},{{\"device-id/": \"{5}:{6}\",\"vtep-name\": \"{7}\"}}]}}'
payload = var.format(tnl_name, vni_id,
vtep_hvsrA['hvsrIp'], vtep_hvsrA['hvsrPortNum'], vtep_hvsrA['vtep_hvsr_name'],
vtep_hvsrB['hvsrIp'], vtep_hvsrB['hvsrPortNum'], vtep_hvsrB['vtep_hvsr_name'])
headers = {"content-type": "application/json", "accept": "application/json"}
print(payload)
resp = self.http_put_request(url, payload, headers)
print(resp)
if resp is None:
status.set_status(STATUS.CONN_ERROR)
elif resp.content is None:
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif resp.status_code == 200:
status.set_status(STATUS.NODE_CONFIGURED)
else:
status.set_status(STATUS.DATA_NOT_FOUND, resp)
return Result(status, None)
示例4: get_loopback_interface_cfg
def get_loopback_interface_cfg(self, ifName):
""" Return the configuration for a single loopback interface
on the VRouter5600
:param string ifName: The interface name of the interface for which
configuration should be returned
:return: A tuple: Status, configuration of dataplane interface
:rtype: instance of the `Result` class (containing configuration data)
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did not
provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: If the controller responded with an error
status code.
"""
status = OperStatus()
templateModelRef = "vyatta-interfaces:" + \
"interfaces/vyatta-interfaces-loopback:" + \
"loopback/{}"
modelref = templateModelRef.format(ifName)
ctrl = self.ctrl
url = ctrl.get_ext_mount_config_url(self.name)
url += modelref
resp = ctrl.http_get_request(url, data=None, headers=None)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200):
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, resp)
示例5: set_vpn_cfg
def set_vpn_cfg(self, vpn):
""" Create/update VPN configuration
:param vpn: instance of the 'Vpn' class
:return: A tuple: Status, None
:rtype: instance of the `Result` class
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did not
provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: If the controller responded with an error
status code.
"""
assert(isinstance(vpn, Vpn))
status = OperStatus()
ctrl = self.ctrl
headers = {'content-type': 'application/yang.data+json'}
url = ctrl.get_ext_mount_config_url(self.name)
ext = vpn.get_url_extension()
url += ext
payload = vpn.get_payload()
resp = ctrl.http_put_request(url, payload, headers)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200 or resp.status_code == 204):
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, None)
示例6: get_cfg
def get_cfg(self):
"""Return configuration
:return: A tuple: Status, JSON for configuration.
:rtype: instance of the `Result` class (containing configuration data)
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did not
provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: If the controller responded with an error
status code.
"""
status = OperStatus()
cfg = None
ctrl = self.ctrl
myname = self.name
url = ctrl.get_ext_mount_config_url(myname)
resp = ctrl.http_get_request(url, data=None, headers=None)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200):
cfg = resp.content
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, cfg)
示例7: delete_dataplane_interface_firewall
def delete_dataplane_interface_firewall(self, ifName):
""" Delete both inbound and outbound firewalls for a
dataplane interface on the VRouter5600.
:param string ifName: The dataplane interface to attach a firewall.
:return: A tuple: Status, Response from VRouter5600.
:rtype: instance of the `Result` class
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did
not provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: If the controller responded with an error
status code.
"""
status = OperStatus()
templateModelRef = "vyatta-interfaces:" + \
"interfaces/vyatta-interfaces-dataplane:" + \
"dataplane/{}/vyatta-security-firewall:firewall/"
modelref = templateModelRef.format(ifName)
myname = self.name
ctrl = self.ctrl
url = ctrl.get_ext_mount_config_url(myname)
resp = ctrl.http_delete_request(url + modelref, data=None,
headers=None)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200):
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, None)
示例8: add_modify_firewall_instance
def add_modify_firewall_instance(self, fwInstance):
"""Create a firewall on the VRouter5600.
:param fwInstance: instance of the 'Firewall' class
:return: A tuple: Status, None.
:rtype: instance of the `Result` class
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did not
provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: If the controller responded with an error
status code.
"""
status = OperStatus()
ctrl = self.ctrl
myname = self.name
url = ctrl.get_ext_mount_config_url(myname)
headers = {'content-type': 'application/yang.data+json'}
payload = fwInstance.get_payload()
url_ext = fwInstance.get_url_extension()
url += url_ext
resp = ctrl.http_put_request(url, payload, headers)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200 or resp.status_code == 204):
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, None)
示例9: delete_firewall_instance
def delete_firewall_instance(self, fwInstance):
"""Delete a firewall from the VRouter5600.
:param fwInstance: Firewall :class:
:return: A tuple: Status, None.
:rtype: instance of the `Result` class
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did not
provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: if the controller responded with an error status
. code.
"""
assert isinstance(fwInstance, Firewall)
status = OperStatus()
ctrl = self.ctrl
myname = self.name
url = ctrl.get_ext_mount_config_url(myname)
ext = fwInstance.get_url_extension()
url += ext
resp = ctrl.http_delete_request(url, data=None, headers=None)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200):
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, None)
示例10: get_firewall_instance_cfg
def get_firewall_instance_cfg(self, instance):
"""Return configuration for a specific firewall on the VRouter5600.
:param instance of the 'Firewall' class
:return: A tuple: Status, JSON for firewall configuration.
:rtype: instance of the `Result` class (containing configuration data)
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did not
provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: If the controller responded with an error
status code.
"""
status = OperStatus()
cfg = None
templateModelRef = "vyatta-security:" + \
"security/vyatta-security-firewall:firewall/name/{}"
modelref = templateModelRef.format(instance)
ctrl = self.ctrl
myname = self.name
url = ctrl.get_ext_mount_config_url(myname)
url += modelref
resp = ctrl.http_get_request(url, data=None, headers=None)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200):
cfg = resp.content
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, cfg)
示例11: delete_vtep_from_hypervisor
def delete_vtep_from_hypervisor(self, vtep_hvsr):
status = OperStatus()
url = self.get_ovrl_mgr_hvsr_vtep_config_url(vtep_hvsr)
payload = None
headers = {"content-type": "application/json", "accept": "application/json"}
logging.debug(url)
logging.debug(payload)
resp = self.http_delete_request(url, payload, headers)
logging.info(resp)
if resp is None:
status.set_status(STATUS.CONN_ERROR)
elif resp.content is None:
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif resp.status_code == 200:
status.set_status(STATUS.NODE_CONFIGURED)
else:
status.set_status(STATUS.DATA_NOT_FOUND, resp)
return Result(status, None)
示例12: set_protocols_ospf
def set_protocols_ospf(self, ospf):
status = OperStatus()
ctrl = self.ctrl
headers = {'content-type': 'application/yang.data+json'}
url = ctrl.get_ext_mount_config_url(self.name)
obj = ospf
payload = obj.get_payload()
ext = ospf.get_url_extension()
url += ext
print(url)
print(headers)
print(payload)
resp = ctrl.http_put_request(url, payload, headers)
print(resp)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200 or resp.status_code == 204):
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, None)
示例13: get_hypervisor_details
def get_hypervisor_details(self, vtep_hvsr):
status = OperStatus()
url = self.get_ovrl_mgr_hvsr_oper_url(vtep_hvsr['hvsrIp'], vtep_hvsr['hvsrPortNum'])
payload = None
headers = {"content-type": "application/json", "accept": "application/json"}
timeout = None
print(url)
resp = self.http_get_request(url, payload, headers, timeout)
print(resp)
if resp is None:
status.set_status(STATUS.CONN_ERROR)
elif resp.content is None:
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif resp.status_code == 200:
status.set_status(STATUS.NODE_CONFIGURED)
else:
status.set_status(STATUS.DATA_NOT_FOUND, resp)
return Result(status, None)
示例14: get_interfaces_cfg
def get_interfaces_cfg(ctrl, name):
""" Return the configuration for the interfaces on the VRouter5600
:return: A tuple: Status, configuration of the interfaces
:rtype: instance of the `Result` class (containing configuration data)
- STATUS.CONN_ERROR: If the controller did not respond.
- STATUS.CTRL_INTERNAL_ERROR: If the controller responded but did not
provide any status.
- STATUS.OK: Success. Result is valid.
- STATUS.HTTP_ERROR: If the controller responded with an error
status code.
"""
status = OperStatus()
cfg = None
templateModelRef = "cliconf-linux:interfaces"
modelref = templateModelRef
url = ctrl.get_ext_mount_config_url(name)
url += modelref
resp = ctrl.http_get_request(url, data=None, headers=None, timeout=120)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200):
cfg = resp.content
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, cfg)
示例15: delete_vpn_cfg
def delete_vpn_cfg(self):
""" Delete VPN configuration """
status = OperStatus()
url_ext = "vyatta-security:security/vyatta-security-vpn-ipsec:vpn"
ctrl = self.ctrl
myname = self.name
url = ctrl.get_ext_mount_config_url(myname)
url += url_ext
resp = ctrl.http_delete_request(url, data=None, headers=None)
if(resp is None):
status.set_status(STATUS.CONN_ERROR)
elif(resp.content is None):
status.set_status(STATUS.CTRL_INTERNAL_ERROR)
elif (resp.status_code == 200):
status.set_status(STATUS.OK)
else:
status.set_status(STATUS.HTTP_ERROR, resp)
return Result(status, None)