def CreateScratchDisk(self, disk_spec):
        """Create a VM's scratch disk.

    Args:
      disk_spec: virtual_machine.BaseDiskSpec object of the disk.
    """
        # Instantiate the disk(s) that we want to create.
        disks = []
        for _ in range(disk_spec.num_striped_disks):
            data_disk = aws_disk.AwsDisk(disk_spec, self.zone)
            if disk_spec.disk_type == disk.LOCAL:
                data_disk.device_letter = chr(
                    ord(DRIVE_START_LETTER) + self.local_disk_counter)
                # Local disk numbers start at 1 (0 is the system disk).
                data_disk.disk_number = self.local_disk_counter + 1
                self.local_disk_counter += 1
                if self.local_disk_counter > self.max_local_disks:
                    raise errors.Error('Not enough local disks.')
            else:
                # Remote disk numbers start at 1 + max_local disks (0 is the system disk
                # and local disks occupy [1, max_local_disks]).
                data_disk.disk_number = (self.remote_disk_counter + 1 +
                                         self.max_local_disks)
                self.remote_disk_counter += 1
            disks.append(data_disk)

        self._CreateScratchDiskFromDisks(disk_spec, disks)
예제 #2
0
 def setUp(self):
     p = mock.patch(util.__name__ + '.IssueRetryableCommand')
     p.start()
     self.addCleanup(p.stop)
     self.disk = aws_disk.AwsDisk(disk.BaseDiskSpec(None, None, None),
                                  'zone-a')
     self.disk.id = 'vol-foo'
    def CreateScratchDisk(self, disk_spec):
        """Create a VM's scratch disk.

    Args:
      disk_spec: virtual_machine.BaseDiskSpec object of the disk.
    """
        # Instantiate the disk(s) that we want to create.
        if disk_spec.disk_type == disk.LOCAL:
            disks = []
            for _ in range(disk_spec.num_striped_disks):
                local_disk = aws_disk.AwsDisk(disk_spec, self.zone)
                local_disk.device_letter = chr(
                    ord(DRIVE_START_LETTER) + self.local_disk_counter)
                self.local_disk_counter += 1
                disks.append(local_disk)
            if self.local_disk_counter > self.max_local_disks:
                raise errors.Error('Not enough local disks.')
        else:
            disks = [
                aws_disk.AwsDisk(disk_spec, self.zone)
                for _ in range(disk_spec.num_striped_disks)
            ]

        self._CreateScratchDiskFromDisks(disk_spec, disks)
예제 #4
0
    def CreateScratchDisk(self, disk_spec):
        """Create a VM's scratch disk.

    Args:
      disk_spec: virtual_machine.BaseDiskSpec object of the disk.
    """
        disk = aws_disk.AwsDisk(disk_spec, self.zone)
        self.scratch_disks.append(disk)

        disk.Create()
        util.AddDefaultTags(disk.id, self.region)
        disk.Attach(self)

        self.FormatDisk(disk.GetDevicePath())
        self.MountDisk(disk.GetDevicePath(), disk_spec.mount_point)
예제 #5
0
 def setUp(self):
     self.p = mock.patch('perfkitbenchmarker.vm_util.IssueRetryableCommand')
     self.p.start()
     self.disk = aws_disk.AwsDisk(disk.BaseDiskSpec(None, None, None),
                                  'zone-a')
     self.disk.id = 'vol-foo'