Exemplo n.º 1
0
  def _Create(self):
    """Creates the disk."""
    assert not self.is_image

    if self.disk_type == ULTRA_STORAGE and not self.vm.availability_zone:
      raise Exception(f'Azure Ultradisk is being created in zone "{self.zone}"'
                      'which was not specified to have an availability zone. '
                      'Availability zones are specified with zone-\\d  e.g. '
                      'eastus1-2 for availability zone 2 in zone eastus1')
    with self._lock:
      _, _, retcode = vm_util.IssueCommand([
          azure.AZURE_PATH, 'vm', 'disk', 'attach', '--new', '--caching',
          self.host_caching, '--name', self.name, '--lun',
          str(self.lun), '--sku', self.disk_type, '--vm-name', self.vm_name,
          '--size-gb',
          str(self.disk_size)
      ] + self.resource_group.args, raise_on_failure=False)

      if retcode:
        raise errors.Resource.RetryableCreationError(
            'Error creating Azure disk.')

      _, _, retcode = vm_util.IssueCommand([
          azure.AZURE_PATH, 'disk', 'update', '--name', self.name, '--set',
          util.GetTagsJson(self.resource_group.timeout_minutes)
      ] + self.resource_group.args, raise_on_failure=False)

      if retcode:
        raise errors.Resource.RetryableCreationError(
            'Error tagging Azure disk.')
Exemplo n.º 2
0
    def _Create(self):
        """Creates the disk."""
        assert not self.is_image

        with self._lock:
            _, _, retcode = vm_util.IssueCommand([
                azure.AZURE_PATH, 'vm', 'disk', 'attach', '--new', '--caching',
                self.host_caching, '--disk', self.name, '--lun',
                str(self.lun), '--sku', self.disk_type, '--vm-name',
                self.vm_name, '--size-gb',
                str(self.disk_size)
            ] + self.resource_group.args)

            if retcode:
                raise errors.Resource.RetryableCreationError(
                    'Error creating Azure disk.')

            _, _, retcode = vm_util.IssueCommand([
                azure.AZURE_PATH, 'disk', 'update', '--name', self.name,
                '--set',
                util.GetTagsJson(self.resource_group.timeout_minutes)
            ] + self.resource_group.args)

            if retcode:
                raise errors.Resource.RetryableCreationError(
                    'Error tagging Azure disk.')
 def _PostCreate(self):
     """Tags the cluster resource group."""
     super(AksCluster, self)._PostCreate()
     set_tags_cmd = [
         azure.AZURE_PATH, 'group', 'update', '-g',
         self.node_resource_group, '--set',
         util.GetTagsJson(self.resource_group.timeout_minutes)
     ]
     vm_util.IssueCommand(set_tags_cmd)
Exemplo n.º 4
0
 def _PostCreate(self):
   """Get VM data."""
   stdout, _ = vm_util.IssueRetryableCommand([
       azure.AZURE_PATH, 'vm', 'show', '--output', 'json', '--name', self.name
   ] + self.resource_group.args)
   response = json.loads(stdout)
   self.os_disk.name = response['storageProfile']['osDisk']['name']
   self.os_disk.created = True
   vm_util.IssueCommand([
       azure.AZURE_PATH, 'disk', 'update', '--name', self.os_disk.name,
       '--set',
       util.GetTagsJson(self.resource_group.timeout_minutes)
   ] + self.resource_group.args)
   self.internal_ip = self.nic.GetInternalIP()
   self.ip_address = self.public_ip.GetIPAddress()