Merge "Enable HA on the edge which works as L2 gateway"
This commit is contained in:
commit
3bebacb960
@ -1060,3 +1060,9 @@ class EdgeApplianceDriver(object):
|
|||||||
except exceptions.VcnsApiException:
|
except exceptions.VcnsApiException:
|
||||||
LOG.exception(_LE("Failed to delete bridge in the %s"),
|
LOG.exception(_LE("Failed to delete bridge in the %s"),
|
||||||
device_name)
|
device_name)
|
||||||
|
|
||||||
|
def update_edge_ha(self, edge_id):
|
||||||
|
ha_request = {
|
||||||
|
'featureType': "highavailability_4.0",
|
||||||
|
'enabled': True}
|
||||||
|
self.vcns.enable_ha(edge_id, ha_request)
|
||||||
|
@ -787,3 +787,8 @@ class Vcns(object):
|
|||||||
tuning.append(child)
|
tuning.append(child)
|
||||||
return self.do_request(HTTP_PUT, uri, et.tostring(tuning),
|
return self.do_request(HTTP_PUT, uri, et.tostring(tuning),
|
||||||
format='xml', decode=True)
|
format='xml', decode=True)
|
||||||
|
|
||||||
|
def enable_ha(self, edge_id, request_config):
|
||||||
|
"""Enable HA in the given edge."""
|
||||||
|
uri = "/api/4.0/edges/%s/highavailability/config?async=true" % edge_id
|
||||||
|
return self.do_request(HTTP_PUT, uri, request_config)
|
||||||
|
@ -35,6 +35,8 @@ LOG = logging.getLogger(__name__)
|
|||||||
|
|
||||||
class NsxvL2GatewayDriver(l2gateway_db.L2GatewayMixin):
|
class NsxvL2GatewayDriver(l2gateway_db.L2GatewayMixin):
|
||||||
|
|
||||||
|
"""Class to handle API calls for L2 gateway and NSXv backend."""
|
||||||
|
@property
|
||||||
def _core_plugin(self):
|
def _core_plugin(self):
|
||||||
return manager.NeutronManager.get_plugin()
|
return manager.NeutronManager.get_plugin()
|
||||||
|
|
||||||
@ -95,6 +97,9 @@ class NsxvL2GatewayDriver(l2gateway_db.L2GatewayMixin):
|
|||||||
lrouter['id'])
|
lrouter['id'])
|
||||||
if not edge_binding:
|
if not edge_binding:
|
||||||
raise nsx_exc.NsxL2GWDeviceNotFound()
|
raise nsx_exc.NsxL2GWDeviceNotFound()
|
||||||
|
# Enable edge HA on the DLR
|
||||||
|
edge_id = edge_binding['edge_id']
|
||||||
|
self._edge_manager.nsxv_manager.update_edge_ha(edge_id)
|
||||||
return edge_binding['edge_id']
|
return edge_binding['edge_id']
|
||||||
|
|
||||||
def _get_device(self, context, l2gw_id):
|
def _get_device(self, context, l2gw_id):
|
||||||
|
@ -1096,3 +1096,10 @@ class FakeVcns(object):
|
|||||||
|
|
||||||
def configure_aggregate_publishing(self):
|
def configure_aggregate_publishing(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def enable_ha(self, edge_id, request_config):
|
||||||
|
header = {
|
||||||
|
'status': 201
|
||||||
|
}
|
||||||
|
response = ''
|
||||||
|
return (header, response)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user