New api: update metadata proxy server
Adding a new api to update the server url, secret or edge cluster of a metadata proxy server on the nsx. Change-Id: I702398f254a1329299ec2cb82e214caf0ae59a9c
This commit is contained in:
parent
1262daf970
commit
668080b5a1
|
@ -329,3 +329,12 @@ FAKE_TZ = {
|
|||
"display_name": FAKE_NAME,
|
||||
"transport_type": "OVERLAY"
|
||||
}
|
||||
|
||||
FAKE_MD_UUID = uuidutils.generate_uuid()
|
||||
FAKE_URL = "http://7.7.7.70:3500/abc"
|
||||
FAKE_MD = {
|
||||
"resource_type": "MetadataProxy",
|
||||
"revision": 0,
|
||||
"id": FAKE_MD_UUID,
|
||||
"metadata_server_url": FAKE_URL
|
||||
}
|
||||
|
|
|
@ -1123,3 +1123,37 @@ class TransportZone(nsxlib_testcase.NsxClientTestCase):
|
|||
with mock.patch.object(tz.client, 'url_get', return_value=fake_tz):
|
||||
tz_type = tz.get_transport_type(fake_tz['id'])
|
||||
self.assertEqual(tz.TRANSPORT_TYPE_OVERLAY, tz_type)
|
||||
|
||||
|
||||
class MetadataProxy(nsxlib_testcase.NsxClientTestCase):
|
||||
|
||||
def _mocked_md(self, session_response=None):
|
||||
return self.mocked_resource(
|
||||
core_resources.NsxLibMetadataProxy,
|
||||
session_response=session_response)
|
||||
|
||||
def test_get_metadata_proxy(self):
|
||||
uuid = uuidutils.generate_uuid()
|
||||
md = self._mocked_md()
|
||||
md.get(uuid)
|
||||
test_client.assert_json_call(
|
||||
'get', md,
|
||||
'https://1.2.3.4/api/v1/md-proxies/%s' % uuid)
|
||||
|
||||
def test_update_metadata_proxy(self):
|
||||
fake_md = test_constants.FAKE_MD.copy()
|
||||
md = self._mocked_md()
|
||||
new_url = "http://2.2.2.20:3500/xyz"
|
||||
new_secret = 'abc'
|
||||
new_edge = uuidutils.generate_uuid()
|
||||
with mock.patch.object(md.client, 'url_get', return_value=fake_md):
|
||||
md.update(fake_md['id'], server_url=new_url, secret=new_secret,
|
||||
edge_cluster_id=new_edge)
|
||||
fake_md.update({'metadata_server_url': new_url,
|
||||
'secret': new_secret,
|
||||
'edge_cluster_id': new_edge})
|
||||
test_client.assert_json_call(
|
||||
'put', md,
|
||||
'https://1.2.3.4/api/v1/md-proxies/%s' % fake_md['id'],
|
||||
data=jsonutils.dumps(fake_md, sort_keys=True),
|
||||
headers=self.default_headers())
|
||||
|
|
|
@ -712,6 +712,19 @@ class NsxLibMetadataProxy(utils.NsxLibApiBase):
|
|||
def resource_type(self):
|
||||
return 'MetadataProxy'
|
||||
|
||||
def update(self, uuid, server_url=None, secret=None, edge_cluster_id=None):
|
||||
# get the current configuration
|
||||
body = self.get(uuid)
|
||||
# update the relevant fields
|
||||
if server_url is not None:
|
||||
body['metadata_server_url'] = server_url
|
||||
if secret is not None:
|
||||
body['secret'] = secret
|
||||
if edge_cluster_id is not None:
|
||||
body['edge_cluster_id'] = edge_cluster_id
|
||||
return self._update_resource_with_retry(
|
||||
self.get_path(uuid), body)
|
||||
|
||||
|
||||
class NsxLibBridgeCluster(utils.NsxLibApiBase):
|
||||
|
||||
|
|
Loading…
Reference in New Issue