- vm_moref_id = None
- vm_vcenter = None
- vm_vcenter_username = None
- vm_vcenter_port = None
-
- vm_details = self.get_vapp_details_rest(vapp_uuid, need_admin_access=True)
- if vm_details and "vm_vcenter_info" in vm_details:
- vm_moref_id = vm_details["vm_vcenter_info"]["vm_moref_id"]
- vim_server_href = vm_details["vm_vcenter_info"]["vim_server_href"]
-
- if vim_server_href:
- vca = self.connect_as_admin()
- if not vca:
- raise vimconn.vimconnConnectionException("self.connect() is failed")
- if vim_server_href is None:
- self.logger.error("No url to get vcenter details")
-
- if vca.vcloud_session and vca.vcloud_session.organization:
- response = Http.get(url=vim_server_href,
- headers=vca.vcloud_session.get_vcloud_headers(),
- verify=vca.verify,
- logger=vca.logger)
-
- if response.status_code != requests.codes.ok:
- self.logger.debug("GET REST API call {} failed. Return status code {}".format(vim_server_href,
- response.status_code))
- try:
- namespaces={"vmext":"http://www.vmware.com/vcloud/extension/v1.5",
- "vcloud":"http://www.vmware.com/vcloud/v1.5"
- }
- xmlroot_respond = XmlElementTree.fromstring(response.content)
- vm_vcenter_username = xmlroot_respond.find('vmext:Username', namespaces).text
- vcenter_url = xmlroot_respond.find('vmext:Url', namespaces).text
- vm_vcenter_port = vcenter_url.split(":")[2]
- vm_vcenter = vcenter_url.split(":")[1].split("//")[1]