Merge "NSX|V: be able to deal with more than 256 edges"

This commit is contained in:
Jenkins 2017-04-25 15:42:51 +00:00 committed by Gerrit Code Review
commit c1a9223378
5 changed files with 20 additions and 40 deletions

View File

@ -262,16 +262,6 @@ class EdgeApplianceDriver(object):
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):
# get vnic interface address groups
try:
@ -372,13 +362,6 @@ class EdgeApplianceDriver(object):
LOG.debug("Deletion complete vnic %(vnic_index)s: on edge %(edge_id)s",
{'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,
dist=False, loadbalancer_enable=True,
appliance_size=nsxv_constants.LARGE,

View File

@ -236,10 +236,26 @@ class Vcns(object):
uri = "%s/%s" % (URI_PREFIX, edge_id)
return self.do_request(HTTP_GET, uri, decode=True)
def get_edges(self):
uri = URI_PREFIX
def _get_edges(self, startindex=0):
uri = '%s?startIndex=%d' % (URI_PREFIX, startindex)
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):
uri = "%s/%s/syslog/config" % (URI_PREFIX, edge_id)
return self.do_request(HTTP_GET, uri, decode=True)

View File

@ -101,8 +101,7 @@ def get_nsxv_backend_edges():
"""Get a list of all the backend edges and some of their attributes
"""
nsxv = get_nsxv_client()
edges = nsxv.get_edges()[1]
edges = edges['edgePage'].get('data', [])
edges = nsxv.get_edges()
backend_edges = []
for edge in edges:
# get all the relevant backend information for this edge

View File

@ -411,9 +411,6 @@ class FakeVcns(object):
return (header, response)
def get_edges(self):
header = {
'status': 200
}
edges = []
for edge_id in self._edges:
edges.append({
@ -421,12 +418,7 @@ class FakeVcns(object):
'edgeStatus': 'GREEN',
'name': self._edges[edge_id]['name']
})
response = {
'edgePage': {
'data': edges
}
}
return (header, response)
return edges
def get_vdn_switch(self, dvs_id):
header = {

View File

@ -380,16 +380,6 @@ class VcnsDriverTestCase(base.BaseTestCase):
status = self.vcns_driver.get_edge_status(self.edge_id)
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):
self._deploy_edge()
snats = [{