def __init__(self, subnet, name):
     super(AzureNIC, self).__init__()
     self.subnet = subnet
     self.name = name
     self.resource_group = azure_network.GetResourceGroup()
     self.location = self.subnet.vnet.location
     self.args = ['--nic-name', self.name]
예제 #2
0
    def __init__(self, disk_spec, vm, lun, is_image=False):
        super(AzureDisk, self).__init__(disk_spec)
        self.host_caching = FLAGS.azure_host_caching
        self.vm = vm
        self.vm_name = vm.name
        self.name = self.vm_name + str(lun)
        self.resource_group = azure_network.GetResourceGroup()
        self.storage_account = vm.storage_account
        # lun is Azure's abbreviation for "logical unit number"
        self.lun = lun
        self.is_image = is_image
        self._deleted = False
        self.machine_type = vm.machine_type
        if self.disk_type == PREMIUM_STORAGE:
            self.metadata.update({
                disk.MEDIA: disk.SSD,
                disk.REPLICATION: disk.ZONE,
                HOST_CACHING: self.host_caching,
            })
        elif self.disk_type == STANDARD_DISK:
            self.metadata.update({
                disk.MEDIA:
                disk.HDD,
                disk.REPLICATION:
                AZURE_REPLICATION_MAP[FLAGS.azure_storage_type],
                HOST_CACHING:
                self.host_caching,
            })
        elif self.disk_type == disk.LOCAL:
            media = disk.SSD if LocalDiskIsSSD(self.machine_type) else disk.HDD

            self.metadata.update({
                disk.MEDIA: media,
                disk.REPLICATION: disk.NONE,
            })
 def __init__(self, managed_relational_db_spec):
     super(AzureManagedRelationalDb,
           self).__init__(managed_relational_db_spec)
     self.spec = managed_relational_db_spec
     self.instance_id = 'pkb-db-instance-' + FLAGS.run_uri
     self.region = self.spec.vm_spec.zone
     self.resource_group = azure_network.GetResourceGroup(self.region)
예제 #4
0
 def __init__(self, location, availability_zone, name):
     super(AzurePublicIPAddress, self).__init__()
     self.location = location
     self.availability_zone = availability_zone
     self.name = name
     self._deleted = False
     self.resource_group = azure_network.GetResourceGroup()
 def __init__(self, spec):
   """Initializes the cluster."""
   super(AksCluster, self).__init__(spec)
   self.resource_group = azure_network.GetResourceGroup(self.zone)
   self.name = 'pkbcluster%s' % FLAGS.run_uri
   self.service_principal = service_principal.ServicePrincipal.GetInstance()
   self._deleted = False
 def __init__(self, spec):
     super(AzureRedisCache, self).__init__(spec)
     self.redis_region = FLAGS.redis_region
     self.resource_group = azure_network.GetResourceGroup(self.redis_region)
     self.azure_tier = FLAGS.azure_tier
     self.azure_redis_size = FLAGS.azure_redis_size
     self.failover_style = FLAGS.redis_failover_style
    def __init__(self, vm_spec):
        """Initialize an Azure virtual machine.

    Args:
      vm_spec: virtual_machine.BaseVmSpec object of the vm.
    """
        super(AzureVirtualMachine, self).__init__(vm_spec)
        self.network = azure_network.AzureNetwork.GetNetwork(self)
        self.firewall = azure_network.AzureFirewall.GetFirewall()
        self.max_local_disks = NUM_LOCAL_VOLUMES.get(self.machine_type) or 1
        self._lun_counter = itertools.count()
        self._deleted = False

        self.resource_group = azure_network.GetResourceGroup()
        self.public_ip = AzurePublicIPAddress(self.zone,
                                              self.name + '-public-ip')
        self.nic = AzureNIC(self.network.subnet, self.name + '-nic',
                            self.public_ip.name,
                            vm_spec.accelerated_networking)
        self.storage_account = self.network.storage_account
        self.image = vm_spec.image or self.IMAGE_URN

        disk_spec = disk.BaseDiskSpec('azure_os_disk')
        self.os_disk = azure_disk.AzureDisk(disk_spec,
                                            self.name,
                                            self.machine_type,
                                            self.storage_account,
                                            None,
                                            is_image=True)
    def __init__(self, relational_db_spec):
        super(AzureRelationalDb, self).__init__(relational_db_spec)
        self.instance_id = 'pkb-db-instance-' + FLAGS.run_uri
        self.region = self.spec.vm_spec.zone
        self.resource_group = azure_network.GetResourceGroup(self.region)

        self.unmanaged_db_exists = None if self.is_managed_db else False
예제 #9
0
    def __init__(self,
                 disk_spec,
                 vm_name,
                 machine_type,
                 storage_account,
                 lun,
                 is_image=False):
        super(AzureDisk, self).__init__(disk_spec)
        self.host_caching = FLAGS.azure_host_caching
        self.name = None
        self.vm_name = vm_name
        self.resource_group = azure_network.GetResourceGroup()
        self.storage_account = storage_account
        # lun is Azure's abbreviation for "logical unit number"
        self.lun = lun
        self.is_image = is_image
        self._deleted = False

        if self.disk_type == PREMIUM_STORAGE:
            self.metadata = PREMIUM_STORAGE_METADATA
        elif self.disk_type == STANDARD_DISK:
            self.metadata = {
                disk.MEDIA: disk.HDD,
                disk.REPLICATION:
                AZURE_REPLICATION_MAP[FLAGS.azure_storage_type],
                disk.LEGACY_DISK_TYPE: disk.STANDARD
            }
        elif self.disk_type == disk.LOCAL:
            media = disk.SSD if LocalDiskIsSSD(machine_type) else disk.HDD

            self.metadata = {
                disk.MEDIA: media,
                disk.REPLICATION: disk.NONE,
                disk.LEGACY_DISK_TYPE: disk.LOCAL
            }
예제 #10
0
 def __init__(self, spec):
     super(AzureRedisCache, self).__init__(spec)
     self.name = 'pkb-%s' % FLAGS.run_uri
     self.redis_region = FLAGS.redis_region
     self.resource_group = azure_network.GetResourceGroup(self.redis_region)
     self.azure_tier = FLAGS.azure_tier
     self.azure_redis_size = FLAGS.azure_redis_size
예제 #11
0
    def __init__(self, vm_spec):
        """Initialize an Azure virtual machine.

    Args:
      vm_spec: virtual_machine.BaseVirtualMachineSpec object of the vm.
    """
        super(AzureVirtualMachine, self).__init__(vm_spec)
        self.network = azure_network.AzureNetwork.GetNetwork(self)
        self.firewall = azure_network.AzureFirewall.GetFirewall()
        self.max_local_disks = 1

        self.resource_group = azure_network.GetResourceGroup()
        self.public_ip = AzurePublicIPAddress(self.zone,
                                              self.name + '-public-ip')
        self.nic = AzureNIC(self.network.subnet, self.name + '-nic')
        self.storage_account = self.network.storage_account
        self.image = vm_spec.image or self.IMAGE_URN

        disk_spec = disk.BaseDiskSpec('azure_os_disk')
        self.os_disk = azure_disk.AzureDisk(disk_spec,
                                            self.name,
                                            self.machine_type,
                                            self.storage_account,
                                            None,
                                            is_image=True)
    def __init__(self, vm_spec):
        """Initialize an Azure virtual machine.

    Args:
      vm_spec: virtual_machine.BaseVmSpec object of the vm.
    """
        super(AzureVirtualMachine, self).__init__(vm_spec)

        # PKB zone can be either a region or a region with an availability zone.
        # Format for Azure availability zone support is "region-availability_zone"
        # Example: eastus2-1 is Azure region eastus2 with availability zone 1.

        self.region = util.GetRegionFromZone(self.zone)
        self.availability_zone = util.GetAvailabilityZoneFromZone(self.zone)
        self.use_dedicated_host = vm_spec.use_dedicated_host
        self.num_vms_per_host = vm_spec.num_vms_per_host
        self.network = azure_network.AzureNetwork.GetNetwork(self)
        self.firewall = azure_network.AzureFirewall.GetFirewall()
        self.max_local_disks = NUM_LOCAL_VOLUMES.get(self.machine_type) or 1
        self._lun_counter = itertools.count()
        self._deleted = False

        self.resource_group = azure_network.GetResourceGroup()
        self.public_ip = AzurePublicIPAddress(self.region,
                                              self.availability_zone,
                                              self.name + '-public-ip')
        self.nic = AzureNIC(self.network.subnet, self.name + '-nic',
                            self.public_ip.name,
                            vm_spec.accelerated_networking, self.network.nsg)
        self.storage_account = self.network.storage_account
        if vm_spec.image:
            self.image = vm_spec.image
        elif self.machine_type in _MACHINE_TYPES_ONLY_SUPPORT_GEN2_IMAGES:
            if hasattr(type(self), 'GEN2_IMAGE_URN'):
                self.image = type(self).GEN2_IMAGE_URN
            else:
                raise errors.Benchmarks.UnsupportedConfigError(
                    'No Azure gen2 image.')
        else:
            self.image = type(self).IMAGE_URN

        self.host = None
        if self.use_dedicated_host:
            self.host_series_sku = _GetSkuType(self.machine_type)
            self.host_list = None
        self.low_priority = vm_spec.low_priority
        self.low_priority_status_code = None
        self.spot_early_termination = False
        self.ultra_ssd_enabled = False

        disk_spec = disk.BaseDiskSpec('azure_os_disk')
        disk_spec.disk_type = (vm_spec.boot_disk_type
                               or self.storage_account.storage_type)
        if vm_spec.boot_disk_size:
            disk_spec.disk_size = vm_spec.boot_disk_size
        self.os_disk = azure_disk.AzureDisk(disk_spec,
                                            self,
                                            None,
                                            is_image=True)
 def __init__(self, registry_spec):
   super(AzureContainerRegistry, self).__init__(registry_spec)
   self.resource_group = azure_network.GetResourceGroup(self.zone)
   self.login_server = None
   self.sku = 'Basic'
   self._deleted = False
   self.acr_id = None
   self.service_principal = service_principal.ServicePrincipal.GetInstance()
예제 #14
0
 def __init__(self, subnet, name, public_ip):
     super(AzureNIC, self).__init__()
     self.subnet = subnet
     self.name = name
     self.public_ip = public_ip
     self._deleted = False
     self.resource_group = azure_network.GetResourceGroup()
     self.location = self.subnet.vnet.location
     self.args = ['--nics', self.name]
예제 #15
0
    def __init__(self, relational_db_spec):
        super(AzureRelationalDb, self).__init__(relational_db_spec)
        if util.IsZone(self.spec.db_spec.zone):
            raise errors.Config.InvalidValue(
                'Availability zones are currently not supported by Azure DBs')
        self.region = util.GetRegionFromZone(self.spec.db_spec.zone)
        self.resource_group = azure_network.GetResourceGroup(self.region)

        self.unmanaged_db_exists = None if self.is_managed_db else False
    def __init__(self, disk_spec, zone):
        super(AzureSmbService, self).__init__(disk_spec, zone)
        self.name = 'azure-smb-fs-%s' % FLAGS.run_uri
        self.region = util.GetRegionFromZone(self.zone)
        self.resource_group = azure_network.GetResourceGroup(self.region)

        # set during _Create()
        self.connection_args: List[str] = None
        self.storage_account_key: str = None
        self.storage_account_name: str = None
예제 #17
0
 def __init__(self, spec):
     super(AzureRedisCache, self).__init__(spec)
     self.redis_region = FLAGS.redis_region
     self.resource_group = azure_network.GetResourceGroup(self.redis_region)
     self.azure_redis_size = FLAGS.azure_redis_size
     self.failover_style = FLAGS.redis_failover_style
     if self.failover_style == managed_memory_store.Failover.FAILOVER_SAME_REGION:
         self.azure_tier = 'Premium'
     else:
         self.azure_tier = 'Basic'
예제 #18
0
 def __init__(self, spec):
     """Initializes the cluster."""
     super(AksCluster, self).__init__(spec)
     self.region = util.GetRegionFromZone(self.zone)
     self.resource_group = azure_network.GetResourceGroup(self.region)
     self.name = 'pkbcluster%s' % FLAGS.run_uri
     # TODO(pclay): replace with built in service principal once I figure out how
     # to make it work with ACR
     self.service_principal = service_principal.ServicePrincipal.GetInstance(
     )
     self.cluster_version = FLAGS.container_cluster_version
     self._deleted = False
 def __init__(self, spec):
   """Initializes the cluster."""
   super(AksCluster, self).__init__(spec)
   if util.IsZone(spec.vm_spec.zone):
     raise errors.Config.InvalidValue(
         'Availability zones are currently not supported by Aks Cluster')
   self.location = util.GetLocationFromZone(self.zone)
   self.resource_group = azure_network.GetResourceGroup(self.location)
   self.name = 'pkbcluster%s' % FLAGS.run_uri
   # TODO(pclay): replace with built in service principal once I figure out how
   # to make it work with ACR
   self.service_principal = service_principal.ServicePrincipal.GetInstance()
   self._deleted = False
    def __init__(self, vm_spec):
        """Initialize an Azure virtual machine.

    Args:
      vm_spec: virtual_machine.BaseVmSpec object of the vm.
    """
        super(AzureVirtualMachine, self).__init__(vm_spec)

        # PKB zone can be either a location or a location with an availability zone.
        # Format for Azure availability zone support is "location-availability_zone"
        # Example: eastus2-1 is Azure location eastus2 with availability zone 1.

        self.location = util.GetLocationFromZone(self.zone)
        self.availability_zone = util.GetAvailabilityZoneFromZone(self.zone)
        self.use_dedicated_host = vm_spec.use_dedicated_host
        # TODO(buggay): implement num_vms_per_host functionality
        self.num_vms_per_host = vm_spec.num_vms_per_host
        if self.num_vms_per_host:
            raise NotImplementedError(
                'Num vms per host for Azure is not supported.')
        self.network = azure_network.AzureNetwork.GetNetwork(self)
        self.firewall = azure_network.AzureFirewall.GetFirewall()
        self.max_local_disks = NUM_LOCAL_VOLUMES.get(self.machine_type) or 1
        self._lun_counter = itertools.count()
        self._deleted = False

        self.resource_group = azure_network.GetResourceGroup()
        self.public_ip = AzurePublicIPAddress(self.location,
                                              self.availability_zone,
                                              self.name + '-public-ip')
        self.nic = AzureNIC(self.network.subnet, self.name + '-nic',
                            self.public_ip.name,
                            vm_spec.accelerated_networking)
        self.storage_account = self.network.storage_account
        self.image = vm_spec.image or self.IMAGE_URN
        self.host = None
        if self.use_dedicated_host:
            self.host_series_sku = _GetSkuType(self.machine_type)
            self.host_list = None

        disk_spec = disk.BaseDiskSpec('azure_os_disk')
        disk_spec.disk_type = (vm_spec.boot_disk_type
                               or self.storage_account.storage_type)
        if vm_spec.boot_disk_size:
            disk_spec.disk_size = vm_spec.boot_disk_size
        self.os_disk = azure_disk.AzureDisk(disk_spec,
                                            self.name,
                                            self.machine_type,
                                            self.storage_account,
                                            None,
                                            is_image=True)
 def __init__(self,
              subnet,
              name,
              public_ip,
              accelerated_networking,
              private_ip=None):
     super(AzureNIC, self).__init__()
     self.subnet = subnet
     self.name = name
     self.public_ip = public_ip
     self.private_ip = private_ip
     self._deleted = False
     self.resource_group = azure_network.GetResourceGroup()
     self.region = self.subnet.vnet.region
     self.args = ['--nics', self.name]
     self.accelerated_networking = accelerated_networking
예제 #22
0
    def PrepareService(self, location):
        # abs is "Azure Blob Storage"
        prefix = 'pkb%sabs' % FLAGS.run_uri
        self.resource_group = azure_network.GetResourceGroup()

        # We use a different Azure storage account than the VM account
        # because a) we need to be able to set the storage class
        # separately, including using a blob-specific storage account and
        # b) this account might be in a different location than any
        # VM-related account.
        self.storage_account = azure_network.AzureStorageAccount(
            FLAGS.azure_storage_type,
            location or DEFAULT_AZURE_REGION,
            prefix + 'storage',
            kind=FLAGS.azure_blob_account_kind)
        self.storage_account.Create()
 def __init__(self, registry_spec):
     super(AzureContainerRegistry, self).__init__(registry_spec)
     self.resource_group = azure_network.GetResourceGroup(self.zone)
     self.login_server = None
     self.sku = 'Basic'
     self._deleted = False
예제 #24
0
 def __init__(self, disk_spec, zone):
   super(AzureSmbService, self).__init__(disk_spec, zone)
   self.name = 'azure-smb-fs-%s' % FLAGS.run_uri
   self.location = util.GetLocationFromZone(self.zone)
   self.resource_group = azure_network.GetResourceGroup(self.location)
예제 #25
0
 def __init__(self):
   super().__init__()
   self.topic_name = 'pkb-topic-{0}'.format(FLAGS.run_uri)
   self.subscription_name = 'pkb-subscription-{0}'.format(FLAGS.run_uri)
   self.namespace_name = 'pkb-namespace-{0}'.format(FLAGS.run_uri)
   self.resource_group = azure_network.GetResourceGroup()
 def __init__(self, location, name):
     super(AzurePublicIPAddress, self).__init__()
     self.location = location
     self.name = name
     self.resource_group = azure_network.GetResourceGroup()
예제 #27
0
 def __init__(self, spec):
     """Initializes the cluster."""
     super(AcsKubernetesCluster, self).__init__(spec)
     self.resource_group = azure_network.GetResourceGroup(self.zone)
     self.name = 'pkbcluster%s' % FLAGS.run_uri
     self._deleted = False
예제 #28
0
 def __init__(self, cluster_spec):
     super(AciCluster, self).__init__(cluster_spec)
     self.location = util.GetLocationFromZone(self.zone)
     self.resource_group = azure_network.GetResourceGroup(self.location)
 def __init__(self, cluster_spec):
   super(AciCluster, self).__init__(cluster_spec)
   self.resource_group = azure_network.GetResourceGroup(self.zone)