def Run(self, args): env_ref = args.CONCEPTS.environment.Parse() if args.airflow_version: # Converts airflow_version arg to image_version arg args.image_version = ( image_versions_command_util.ImageVersionFromAirflowVersion( args.airflow_version)) # Checks validity of image_version upgrade request. if (args.image_version and not image_versions_command_util.IsValidImageVersionUpgrade( env_ref, args.image_version, self.ReleaseTrack())): raise command_util.InvalidUserInputError( 'Invalid environment upgrade. [Requested: {}]'.format( args.image_version)) # Checks validity of update_web_server_allow_ip if (self.ReleaseTrack() == base.ReleaseTrack.BETA and args.update_web_server_allow_ip): flags.ValidateIpRanges( [acl['ip_range'] for acl in args.update_web_server_allow_ip]) field_mask, patch = self._ConstructPatch( env_ref, args, UpdateBeta.support_environment_upgrades, UpdateBeta.support_web_server_access_control, True, True) return patch_util.Patch( env_ref, field_mask, patch, args.async_, release_track=self.ReleaseTrack())
def Run(self, args): env_ref = args.CONCEPTS.environment.Parse() if args.airflow_version: # Converts airflow_version arg to image_version arg args.image_version = ( image_versions_command_util.ImageVersionFromAirflowVersion( args.airflow_version)) # Checks validity of image_version upgrade request. if (args.image_version and not image_versions_command_util.IsValidImageVersionUpgrade( env_ref, args.image_version, self.ReleaseTrack())): raise command_util.InvalidUserInputError( 'Invalid environment upgrade. [Requested: {}]'.format( args.image_version)) field_mask, patch = self._ConstructPatch( env_ref, args, UpdateBeta.support_environment_upgrades) return patch_util.Patch(env_ref, field_mask, patch, args.async_, release_track=self.ReleaseTrack())
def Run(self, args): env_ref = args.CONCEPTS.environment.Parse() field_mask, patch = self._ConstructPatch(env_ref, args) return patch_util.Patch(env_ref, field_mask, patch, args.async_, release_track=self.ReleaseTrack())
def testPatch_Asynchronous(self, track): self.SetTrack(track) self._SetTestMessages() self.ExpectEnvironmentPatch(self.TEST_PROJECT, self.TEST_LOCATION, self.TEST_ENVIRONMENT_ID, patch_environment=self.patch_environment, update_mask=self.field_mask, response=self.running_op) retval = patch_util.Patch(self.env_resource, self.field_mask, self.patch_environment, True, release_track=self.track) self.assertEqual(self.running_op, retval) self.AssertErrMatches( r'^Update in progress for environment \[{}] with operation \[{}]'. format(self.TEST_ENVIRONMENT_NAME, self.TEST_OPERATION_NAME))
def testPatch_Synchronous(self, track): self.SetTrack(track) self._SetTestMessages() self.ExpectEnvironmentPatch(self.TEST_PROJECT, self.TEST_LOCATION, self.TEST_ENVIRONMENT_ID, patch_environment=self.patch_environment, update_mask=self.field_mask, response=self.running_op) self.ExpectOperationGet(self.TEST_PROJECT, self.TEST_LOCATION, self.TEST_OPERATION_UUID, response=self.successful_op) retval = patch_util.Patch(self.env_resource, self.field_mask, self.patch_environment, False, release_track=self.track) self.assertIsNone(retval) self.AssertErrMatches( r'^{{"ux": "PROGRESS_TRACKER", "message": "Waiting for \[{}] to be ' r'updated with \[{}]"'.format(self.TEST_ENVIRONMENT_NAME, self.TEST_OPERATION_NAME))