def test_get_outputs_refs_store_secrets(self): secrets, _ = get_outputs_refs_store_secrets(None) self.assertEqual(len(secrets), 0) secrets, _ = get_outputs_refs_store_secrets([ OutputsRefsSpec(path='/path1', persistence='outputs')]) self.assertEqual(len(secrets), 0) with self.assertRaises(VolumeNotFoundError): get_outputs_refs_store_secrets([ OutputsRefsSpec(path='/path1', persistence='outputs1'), OutputsRefsSpec(path='/path2', persistence='outputs2')])
def test_get_outputs_refs_store_secrets_with_updated_settings(self): secrets, _ = get_outputs_refs_store_secrets([ OutputsRefsSpec(path='/path1', persistence='outputs1'), OutputsRefsSpec(path='/path2', persistence='outputs2')]) self.assertEqual(len(secrets), 0) secrets, secret_keys = get_outputs_refs_store_secrets([ OutputsRefsSpec(path='/path1', persistence='outputs3'), OutputsRefsSpec(path='/path2', persistence='outputs3')]) assert len(secrets) == 1 assert len(secret_keys) == 2
def test_get_pod_refs_outputs_volumes_same_outputs_persistence(self): volumes, _ = get_pod_refs_outputs_volumes( [OutputsRefsSpec('/outputs1/some/path', 'outputs1')], 'outputs1') self.assertEqual(len(volumes), 0) volumes, _ = get_pod_refs_outputs_volumes( [OutputsRefsSpec('/outputs2/some/path', 'outputs2')], 'outputs1') assert len(volumes) == 1 assert volumes[0].host_path.path == '/root/outputs' volumes, _ = get_pod_refs_outputs_volumes( [OutputsRefsSpec('/outputs1/some/path', 'outputs1')], 'outputs2') assert len(volumes) == 1 assert volumes[0].persistent_volume_claim.claim_name == 'test-claim-outputs-1' volumes, _ = get_pod_refs_outputs_volumes( [OutputsRefsSpec('/outputs1/some/path', 'outputs3')], 'outputs2') self.assertEqual(len(volumes), 0)
def _get_project_outputs_paths(self) -> Tuple[List, str]: import stores from stores.validators import validate_persistence_outputs persistence = validate_persistence_outputs( persistence_outputs=self.project.persistence_outputs) outputs_path = stores.get_project_outputs_path( persistence=persistence, project_name=self.project.unique_name) return [OutputsRefsSpec(path=outputs_path, persistence=persistence)], outputs_path
def _get_study_outputs_paths(self) -> Tuple[List, str]: import stores from stores.validators import validate_persistence_outputs persistence = validate_persistence_outputs( persistence_outputs=self.experiment_group.persistence_outputs) outputs_path = stores.get_experiment_group_outputs_path( persistence=persistence, experiment_group_name=self.experiment_group.unique_name) return [OutputsRefsSpec(path=outputs_path, persistence=persistence)], outputs_path
def get_named_experiment_outputs_path(experiment): persistence = experiment.persistence_outputs outputs_path = get_experiment_outputs_path( persistence_outputs=experiment.persistence_outputs, experiment_name=experiment.unique_name, original_name=experiment.original_unique_name, cloning_strategy=experiment.cloning_strategy) tensorboard_path = '{}:{}'.format( experiment.unique_name, outputs_path) return [OutputsRefsSpec(path=outputs_path, persistence=persistence)], tensorboard_path
def _get_experiment_outputs_path(self) -> Tuple[List, str]: import stores from stores.validators import validate_persistence_outputs persistence = validate_persistence_outputs( persistence_outputs=self.experiment.persistence_outputs) outputs_path = stores.get_experiment_outputs_path( persistence=persistence, experiment_name=self.experiment.unique_name, original_name=self.experiment.original_unique_name, cloning_strategy=self.experiment.cloning_strategy) return [OutputsRefsSpec(path=outputs_path, persistence=persistence)], outputs_path
def _get_named_experiment_outputs_path(experiment, persistence) -> Tuple[List, str]: import stores from stores.validators import validate_persistence_outputs persistence = validate_persistence_outputs(persistence_outputs=persistence) outputs_path = stores.get_experiment_outputs_path( persistence=persistence, experiment_name=experiment.unique_name, original_name=experiment.original_unique_name, cloning_strategy=experiment.cloning_strategy) tensorboard_path = '{}:{}'.format( experiment.unique_name, outputs_path) return [OutputsRefsSpec(path=outputs_path, persistence=persistence)], tensorboard_path
def _get_selection_outputs_paths(self) -> Tuple[List, str]: import stores from stores.validators import validate_persistence_outputs persistence = self.experiment_group.project.persistence_outputs persistence = validate_persistence_outputs(persistence_outputs=persistence) experiments = self.experiment_group.group_experiments.all() outputs_path = stores.get_project_outputs_path( persistence=persistence, project_name=self.project.unique_name) outputs_specs = [OutputsRefsSpec(path=outputs_path, persistence=persistence)] tensorboard_paths = [] for experiment in experiments: _, tensorboard_path = self._get_named_experiment_outputs_path( experiment=experiment, persistence=persistence) tensorboard_paths.append(tensorboard_path) return outputs_specs, ','.join(tensorboard_paths)