X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=RO-VIM-azure%2Fosm_rovim_azure%2Fvimconn_azure.py;h=729db828491cd5c418b94ab31104e9421707ff66;hb=ebaba1f2fc89f24327e576f3a9235a94c8fade30;hp=c78b0f9238a040ea0fcc451aa733599ff170bb26;hpb=c878ac41bd98ef064b8e8fd1d39dbd879095a722;p=osm%2FRO.git diff --git a/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py b/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py index c78b0f92..729db828 100755 --- a/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py +++ b/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py @@ -14,28 +14,27 @@ ## import base64 -from osm_ro_plugin import vimconn import logging -import netaddr +from os import getenv import re -from os import getenv +from azure.core.exceptions import ResourceNotFoundError from azure.identity import ClientSecretCredential -from azure.mgmt.resource import ResourceManagementClient -from azure.mgmt.network import NetworkManagementClient from azure.mgmt.compute import ComputeManagementClient from azure.mgmt.compute.models import DiskCreateOption -from azure.core.exceptions import ResourceNotFoundError +from azure.mgmt.network import NetworkManagementClient +from azure.mgmt.resource import ResourceManagementClient from azure.profiles import ProfileDefinition -from msrestazure.azure_exceptions import CloudError +from cryptography.hazmat.backends import default_backend as crypto_default_backend +from cryptography.hazmat.primitives import serialization as crypto_serialization +from cryptography.hazmat.primitives.asymmetric import rsa from msrest.exceptions import AuthenticationError +from msrestazure.azure_exceptions import CloudError import msrestazure.tools as azure_tools +import netaddr +from osm_ro_plugin import vimconn from requests.exceptions import ConnectionError -from cryptography.hazmat.primitives import serialization as crypto_serialization -from cryptography.hazmat.primitives.asymmetric import rsa -from cryptography.hazmat.backends import default_backend as crypto_default_backend - __author__ = "Isabel Lloret, Sergio Gonzalez, Alfonso Tierno, Gerardo Garcia" __date__ = "$18-apr-2019 23:59:59$" @@ -229,14 +228,6 @@ class vimconnector(vimconn.VimConnector): else: raise vimconn.VimConnException("Subscription not specified") - # REGION - if "region_name" in config: - self.region = config.get("region_name") - else: - raise vimconn.VimConnException( - "Azure region_name is not specified at config" - ) - # RESOURCE_GROUP if "resource_group" in config: self.resource_group = config.get("resource_group") @@ -245,6 +236,14 @@ class vimconnector(vimconn.VimConnector): "Azure resource_group is not specified at config" ) + # REGION + if "region_name" in config: + self.region = config.get("region_name") + else: + raise vimconn.VimConnException( + "Azure region_name is not specified at config" + ) + # VNET_NAME if "vnet_name" in config: self.vnet_name = config["vnet_name"] @@ -543,12 +542,14 @@ class vimconnector(vimconn.VimConnector): return name - def _create_nic(self, net, nic_name, static_ip=None, created_items={}): + def _create_nic(self, net, nic_name, region=None, static_ip=None, created_items={}): self.logger.debug("create nic name %s, net_name %s", nic_name, net) self._reload_connection() subnet_id = net["net_id"] - location = self._get_location_from_resource_group(self.resource_group) + location = self.region or self._get_location_from_resource_group( + self.resource_group + ) try: net_ifz = {"location": location} net_ip_config = { @@ -903,7 +904,7 @@ class vimconnector(vimconn.VimConnector): # subnet_id=net["net_id"] nic_name = vm_name + "-nic-" + str(idx) vm_nic, nic_items = self._create_nic( - net, nic_name, net.get("ip_address"), created_items + net, nic_name, self.region, net.get("ip_address"), created_items ) vm_nics.append({"id": str(vm_nic.id)}) net["vim_id"] = vm_nic.id