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.')
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)
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()