Merge "NSX|V: be able to deal with more than 256 edges"
This commit is contained in:
commit
c1a9223378
@ -262,16 +262,6 @@ class EdgeApplianceDriver(object):
|
|||||||
|
|
||||||
return status_level
|
return status_level
|
||||||
|
|
||||||
def get_edges_statuses(self):
|
|
||||||
edges_status_level = {}
|
|
||||||
edges = self._get_edges()
|
|
||||||
for edge in edges['edgePage'].get('data', []):
|
|
||||||
edge_id = edge['id']
|
|
||||||
status = edge['edgeStatus']
|
|
||||||
edges_status_level[edge_id] = self._edge_status_to_level(status)
|
|
||||||
|
|
||||||
return edges_status_level
|
|
||||||
|
|
||||||
def get_interface(self, edge_id, vnic_index):
|
def get_interface(self, edge_id, vnic_index):
|
||||||
# get vnic interface address groups
|
# get vnic interface address groups
|
||||||
try:
|
try:
|
||||||
@ -372,13 +362,6 @@ class EdgeApplianceDriver(object):
|
|||||||
LOG.debug("Deletion complete vnic %(vnic_index)s: on edge %(edge_id)s",
|
LOG.debug("Deletion complete vnic %(vnic_index)s: on edge %(edge_id)s",
|
||||||
{'vnic_index': index, 'edge_id': edge_id})
|
{'vnic_index': index, 'edge_id': edge_id})
|
||||||
|
|
||||||
def _get_edges(self):
|
|
||||||
try:
|
|
||||||
return self.vcns.get_edges()[1]
|
|
||||||
except exceptions.VcnsApiException as e:
|
|
||||||
LOG.exception("VCNS: Failed to get edges:\n%s", e.response)
|
|
||||||
raise e
|
|
||||||
|
|
||||||
def deploy_edge(self, context, router_id, name, internal_network,
|
def deploy_edge(self, context, router_id, name, internal_network,
|
||||||
dist=False, loadbalancer_enable=True,
|
dist=False, loadbalancer_enable=True,
|
||||||
appliance_size=nsxv_constants.LARGE,
|
appliance_size=nsxv_constants.LARGE,
|
||||||
|
@ -236,10 +236,26 @@ class Vcns(object):
|
|||||||
uri = "%s/%s" % (URI_PREFIX, edge_id)
|
uri = "%s/%s" % (URI_PREFIX, edge_id)
|
||||||
return self.do_request(HTTP_GET, uri, decode=True)
|
return self.do_request(HTTP_GET, uri, decode=True)
|
||||||
|
|
||||||
def get_edges(self):
|
def _get_edges(self, startindex=0):
|
||||||
uri = URI_PREFIX
|
uri = '%s?startIndex=%d' % (URI_PREFIX, startindex)
|
||||||
return self.do_request(HTTP_GET, uri, decode=True)
|
return self.do_request(HTTP_GET, uri, decode=True)
|
||||||
|
|
||||||
|
def get_edges(self):
|
||||||
|
edges = []
|
||||||
|
h, d = self._get_edges()
|
||||||
|
edges.extend(d['edgePage']['data'])
|
||||||
|
paging_info = d['edgePage']['pagingInfo']
|
||||||
|
page_size = int(paging_info['pageSize'])
|
||||||
|
count = int(paging_info['totalCount'])
|
||||||
|
LOG.debug("There are total %s edges and page size is %s",
|
||||||
|
count, page_size)
|
||||||
|
pages = count / page_size + 1
|
||||||
|
for i in range(1, pages):
|
||||||
|
start_index = page_size * i
|
||||||
|
h, d = self._get_edges(start_index)
|
||||||
|
edges.extend(d['edgePage']['data'])
|
||||||
|
return edges
|
||||||
|
|
||||||
def get_edge_syslog(self, edge_id):
|
def get_edge_syslog(self, edge_id):
|
||||||
uri = "%s/%s/syslog/config" % (URI_PREFIX, edge_id)
|
uri = "%s/%s/syslog/config" % (URI_PREFIX, edge_id)
|
||||||
return self.do_request(HTTP_GET, uri, decode=True)
|
return self.do_request(HTTP_GET, uri, decode=True)
|
||||||
|
@ -101,8 +101,7 @@ def get_nsxv_backend_edges():
|
|||||||
"""Get a list of all the backend edges and some of their attributes
|
"""Get a list of all the backend edges and some of their attributes
|
||||||
"""
|
"""
|
||||||
nsxv = get_nsxv_client()
|
nsxv = get_nsxv_client()
|
||||||
edges = nsxv.get_edges()[1]
|
edges = nsxv.get_edges()
|
||||||
edges = edges['edgePage'].get('data', [])
|
|
||||||
backend_edges = []
|
backend_edges = []
|
||||||
for edge in edges:
|
for edge in edges:
|
||||||
# get all the relevant backend information for this edge
|
# get all the relevant backend information for this edge
|
||||||
|
@ -411,9 +411,6 @@ class FakeVcns(object):
|
|||||||
return (header, response)
|
return (header, response)
|
||||||
|
|
||||||
def get_edges(self):
|
def get_edges(self):
|
||||||
header = {
|
|
||||||
'status': 200
|
|
||||||
}
|
|
||||||
edges = []
|
edges = []
|
||||||
for edge_id in self._edges:
|
for edge_id in self._edges:
|
||||||
edges.append({
|
edges.append({
|
||||||
@ -421,12 +418,7 @@ class FakeVcns(object):
|
|||||||
'edgeStatus': 'GREEN',
|
'edgeStatus': 'GREEN',
|
||||||
'name': self._edges[edge_id]['name']
|
'name': self._edges[edge_id]['name']
|
||||||
})
|
})
|
||||||
response = {
|
return edges
|
||||||
'edgePage': {
|
|
||||||
'data': edges
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (header, response)
|
|
||||||
|
|
||||||
def get_vdn_switch(self, dvs_id):
|
def get_vdn_switch(self, dvs_id):
|
||||||
header = {
|
header = {
|
||||||
|
@ -380,16 +380,6 @@ class VcnsDriverTestCase(base.BaseTestCase):
|
|||||||
status = self.vcns_driver.get_edge_status(self.edge_id)
|
status = self.vcns_driver.get_edge_status(self.edge_id)
|
||||||
self.assertEqual(vcns_const.RouterStatus.ROUTER_STATUS_ACTIVE, status)
|
self.assertEqual(vcns_const.RouterStatus.ROUTER_STATUS_ACTIVE, status)
|
||||||
|
|
||||||
def test_get_edges(self):
|
|
||||||
self._deploy_edge()
|
|
||||||
edges = self.vcns_driver.get_edges_statuses()
|
|
||||||
found = False
|
|
||||||
for edge_id, status in six.iteritems(edges):
|
|
||||||
if edge_id == self.edge_id:
|
|
||||||
found = True
|
|
||||||
break
|
|
||||||
self.assertTrue(found)
|
|
||||||
|
|
||||||
def test_update_nat_rules(self):
|
def test_update_nat_rules(self):
|
||||||
self._deploy_edge()
|
self._deploy_edge()
|
||||||
snats = [{
|
snats = [{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user