def _create_template_ebs_volume(self, operation): """ Helper function to create template EBS volume to work on. :param NamedConstant operation: Intended use of created template. A value from ``VolumeOperations``. :returns: Suitable volume in the right start state for input operation. :rtype: boto.ec2.volume.Volume """ volume = EbsVolume() # Irrelevant volume attributes. volume.id = u'vol-9c48a689' volume.create_time = u'2015-07-14T22:46:00.447Z' volume.size = 1 volume.snapshot_id = '' volume.zone = u'us-west-2b' volume.type = u'standard' volume_state_table = VolumeStateTable() state_flow = volume_state_table.table[operation] start_state = state_flow.start_state.value # Interesting volume attribute. volume.status = start_state return volume
def _create_template_ebs_volume(self, operation): """ Helper function to create template EBS volume to work on. :param NamedConstant operation: Intended use of created template. A value from ``VolumeOperations``. :returns: Suitable volume in the right start state for input operation. :rtype: boto.ec2.volume.Volume """ volume = EbsVolume() # Irrelevant volume attributes. volume.id = u'vol-9c48a689' volume.create_time = u'2015-07-14T22:46:00.447Z' volume.size = 1 volume.snapshot_id = '' volume.zone = u'us-west-2b' volume.type = u'standard' volume_state_table = VolumeStateTable() state_flow = volume_state_table.table[operation] start_state = state_flow.start_state.value # Interesting volume attribute. volume.status = start_state return volume
def create_volume(self, size, zone, **kwargs): volume = Volume() volume.id = 'vol-' + new_id() volume.size = size volume.zone = zone volume.status = 'available' self.volumes[volume.id] = volume return volume
def test_wait_for_volume(self): aws_svc, encryptor_image, guest_image = build_aws_service() # Create a dummy volume. volume = Volume() volume.size = 8 volume.id = new_id() volume.status = 'detaching' aws_svc.volumes[volume.id] = volume def transition_to_available(callback_volume): self.num_calls += 1 self.assertEqual(volume, callback_volume) self.assertFalse(self.num_calls > 5) if self.num_calls == 5: volume.status = 'available' aws_svc.get_volume_callback = transition_to_available result = aws_service.wait_for_volume(aws_svc, volume.id) self.assertEqual(volume, result)