def _ExpectListPerInstanceConfigs(self): request = ( self.messages. ComputeRegionInstanceGroupManagersListPerInstanceConfigsRequest)( filter='name eq foo'.format(project_uri=self.project_uri), instanceGroupManager='group-1', maxResults=1, project='fake-project', region='us-central2', ) preserved_state_disks = [ config_utils.MakePreservedStateDiskMapEntry( self.messages, 'foo', (self.project_uri + '/zones/us-central2-a/disks/foo'), 'READ_WRITE'), config_utils.MakePreservedStateDiskMapEntry( self.messages, 'baz', (self.project_uri + '/zones/us-central2-a/disks/baz'), 'READ_ONLY'), ] items = [ config_utils.MakePerInstanceConfig(self.messages, 'foo', preserved_state_disks, self.preserved_state_metadata), ] response = self.messages.RegionInstanceGroupManagersListInstanceConfigsResp( items=items) self.client.regionInstanceGroupManagers.ListPerInstanceConfigs.Expect( request, response=response, )
def testSimpleCase(self): disk_source = self.project_uri + '/zones/us-central2-a/disks/foo-2' preserved_state_disks = [ config_utils.MakePreservedStateDiskMapEntry( self.messages, 'foo', disk_source, 'READ_ONLY', 'on-permanent-instance-deletion'), ] preserved_state_metadata = [ config_utils.MakePreservedStateMetadataMapEntry(self.messages, key='key-BAR', value='new value'), ] self._ExpectListManagedInstances() self._ExpectListPerInstanceConfigs() self._ExpectUpdatePerInstanceConfigs( preserved_state_disks=preserved_state_disks, preserved_state_metadata=preserved_state_metadata) self._ExpectPollingOperation() self._ExpectGetInstanceGroupManager() self._ExpectApplyUpdatesToInstances('restart') self._ExpectPollingOperation('apply') self._ExpectGetInstanceGroupManager() self.Run(""" compute instance-groups managed instance-configs update group-1 --region us-central2 --instance foo --stateful-disk device-name=foo,source={project_uri}/zones/us-central2-a/disks/foo-2,mode=ro,auto-delete=on-permanent-instance-deletion --remove-stateful-disks baz --stateful-metadata "key-BAR=new value" --remove-stateful-metadata key-foo --instance-update-minimal-action restart """.format(project_uri=self.project_uri))
def testUpdateAddDiskOverrideUsingOnlyDeviceName(self): preserved_state_disks = [ self._preserved_state_disk_1, self._preserved_state_disk_2, config_utils.MakePreservedStateDiskMapEntry( self.messages, 'bar', (self.project_uri + '/zones/us-central2-a/disks/bar'), 'READ_WRITE') ] self._ExpectListPerInstanceConfigs() self.ExpectGetInstance() self._ExpectUpdatePerInstanceConfigs( preserved_state_disks=preserved_state_disks, preserved_state_metadata=self.preserved_state_metadata) self._ExpectPollingOperation() self._ExpectGetInstanceGroupManager() self._ExpectApplyUpdatesToInstances() self._ExpectPollingOperation('apply') self._ExpectGetInstanceGroupManager() self.Run(""" compute instance-groups managed instance-configs update group-1 --zone us-central2-a --instance foo --stateful-disk device-name=bar """)
def SetUp(self): managed_instances = test_resources.MakeInstancesInManagedInstanceGroup( self.messages, self.API_VERSION) # Add stateful policy to all 4 managed instances for i in range(len(managed_instances)): managed_instances[i].preservedStateFromPolicy = ( policy_utils.MakePreservedState(self.messages, [ policy_utils.MakePreservedStateDisksMapEntry( self.messages, { 'device_name': 'disk-a', 'auto_delete': 'never' }), ])) # Add PICs to the last two managed instances source = self.project_uri + '/zones/us-central2-a/disks/baz' for managed_instance in managed_instances[2:]: managed_instance.preservedStateFromConfig = ( config_utils.MakePreservedState(self.messages, [ config_utils.MakePreservedStateDiskMapEntry( self.messages, 'disk-a', source, 'ro'), ])) self.make_requests.side_effect = iter([ managed_instances, ])
def SetUp(self): self.SelectApi(self.API_VERSION) self.endpoint_uri = ( 'https://compute.googleapis.com/compute/{api_version}/'.format( api_version=self.API_VERSION)) self.project_uri = '{endpoint_uri}projects/fake-project'.format( endpoint_uri=self.endpoint_uri) managed_instances = test_resources.MakeInstancesInManagedInstanceGroup( self.messages, self.API_VERSION) # Add stateful policy to all 4 managed instances for i in range(len(managed_instances)): managed_instances[i].preservedStateFromPolicy = ( policy_utils.MakePreservedState(self.messages, [ policy_utils.MakePreservedStateDisksMapEntry( self.messages, { 'device_name': 'disk-a', 'auto_delete': 'never' }), ])) # Add PICs to the last two managed instances source = self.project_uri + '/zones/central2-a/disks/baz' for managed_instance in managed_instances[2:]: managed_instance.preservedStateFromConfig = ( config_utils.MakePreservedState(self.messages, [ config_utils.MakePreservedStateDiskMapEntry( self.messages, 'disk-a', source, 'ro'), ])) self.make_requests.side_effect = iter([ managed_instances, ])
def SetUp(self): self._preserved_state_disk_1 = config_utils.MakePreservedStateDiskMapEntry( self.messages, 'foo', (self.project_uri + '/zones/us-central2-a/disks/foo'), 'READ_WRITE') self._preserved_state_disk_2 = config_utils.MakePreservedStateDiskMapEntry( self.messages, 'baz', (self.project_uri + '/zones/us-central2-a/disks/baz'), 'READ_ONLY') self.preserved_state_metadata = [ config_utils.MakePreservedStateMetadataMapEntry(self.messages, key='key-BAR', value='value BAR'), config_utils.MakePreservedStateMetadataMapEntry(self.messages, key='key-foo', value='value foo'), ]
def testUpdateWithoutInstanceUpdate(self): disk_source = self.project_uri + '/zones/us-central2-a/disks/foo' preserved_state_disks = [ config_utils.MakePreservedStateDiskMapEntry( self.messages, 'foo', disk_source, 'READ_WRITE'), ] self._ExpectListPerInstanceConfigs() self._ExpectUpdatePerInstanceConfigs( preserved_state_disks=preserved_state_disks, preserved_state_metadata=self.preserved_state_metadata) self._ExpectPollingOperation() self._ExpectGetInstanceGroupManager() self.Run(""" compute instance-groups managed instance-configs update group-1 --zone us-central2-a --instance foo --remove-stateful-disks baz --no-update-instance """)
def testUpdatePatchModeWithoutSource(self): update_preserved_state_disks = [ self._preserved_state_disk_1, config_utils.MakePreservedStateDiskMapEntry( self.messages, 'baz', (self.project_uri + '/zones/us-central2-a/disks/baz'), 'READ_WRITE') ] self._ExpectListPerInstanceConfigs() self._ExpectUpdatePerInstanceConfigs( preserved_state_disks=update_preserved_state_disks, preserved_state_metadata=self.preserved_state_metadata) self._ExpectPollingOperation() self._ExpectGetInstanceGroupManager() self._ExpectApplyUpdatesToInstances() self._ExpectPollingOperation('apply') self._ExpectGetInstanceGroupManager() self.Run(""" compute instance-groups managed instance-configs update group-1 --zone us-central2-a --instance foo --stateful-disk device-name=baz,mode=rw """)
def testUpdateAddNonExistingDisk(self): preserved_state_disks = [ self._preserved_state_disk_1, self._preserved_state_disk_2, config_utils.MakePreservedStateDiskMapEntry( self.messages, 'qwerty', (self.project_uri + '/zones/us-central2-a/disks/abc123'), 'READ_WRITE', 'on-permanent-instance-deletion') ] self._ExpectListPerInstanceConfigs() self._ExpectUpdatePerInstanceConfigs( preserved_state_disks=preserved_state_disks, preserved_state_metadata=self.preserved_state_metadata) self._ExpectPollingOperation() self._ExpectGetInstanceGroupManager() self._ExpectApplyUpdatesToInstances() self._ExpectPollingOperation('apply') self._ExpectGetInstanceGroupManager() self.Run(""" compute instance-groups managed instance-configs update group-1 --zone us-central2-a --instance foo --stateful-disk device-name=qwerty,source={project_uri}/zones/us-central2-a/disks/abc123,mode=rw,auto-delete=on-permanent-instance-deletion """.format(project_uri=self.project_uri))
def SetUp(self): self.SelectApi(self.API_VERSION) self.track = calliope_base.ReleaseTrack.ALPHA self.endpoint_uri = 'https://compute.googleapis.com/compute/alpha/' self.project_uri = '{endpoint_uri}projects/my-project'.format( endpoint_uri=self.endpoint_uri) managed_instances = test_resources.MakeInstancesInManagedInstanceGroup( self.messages, self.API_VERSION) # Add stateful policy to all 4 managed instances for i in range(len(managed_instances)): managed_instances[i].preservedStateFromPolicy = ( policy_utils.MakePreservedState(self.messages, [ policy_utils.MakePreservedStateDisksMapEntry( self.messages, { 'device_name': 'disk-a', 'auto_delete': 'never' }), ])) # Add PICs to the last two managed instances source = self.project_uri + '/zones/us-central2-a/disks/baz' for managed_instance in managed_instances[2:]: managed_instance.preservedStateFromConfig = ( config_utils.MakePreservedState(self.messages, [ config_utils.MakePreservedStateDiskMapEntry( self.messages, 'disk-a', source, 'ro'), ])) self.make_requests.side_effect = iter([ [ self.messages.InstanceGroupManagersListManagedInstancesResponse( managedInstances=managed_instances), ], ])