def get_outputs_store_secrets(persistence_outputs, outputs_path): persistence_outputs = validate_persistence_outputs( persistence_outputs=persistence_outputs) secrets = set([]) secret_keys = {} store, persistence_secret, persistence_secret_key = get_store_secret_from_definition( volume_name=persistence_outputs, volume_settings=settings.PERSISTENCE_OUTPUTS) if persistence_secret and persistence_secret_key: secrets.add((persistence_secret, persistence_secret_key)) secret_keys[outputs_path] = { 'store': store, 'secret_key': persistence_secret_key } return secrets, secret_keys
def set_persistence(instance, default_persistence_data=None, default_persistence_outputs=None): if instance.persistence: return persistence_data = None persistence_outputs = None if instance.specification and instance.specification.persistence: persistence_data = instance.specification.persistence.data persistence_outputs = instance.specification.persistence.outputs if not persistence_data and default_persistence_data: persistence_data = default_persistence_data if not persistence_outputs and default_persistence_outputs: persistence_outputs = default_persistence_outputs persistence_data = validate_persistence_data( persistence_data=persistence_data) persistence_outputs = validate_persistence_outputs( persistence_outputs=persistence_outputs) persistence_config = PersistenceConfig(data=persistence_data, outputs=persistence_outputs) instance.persistence = persistence_config.to_dict()
def get_pod_outputs_volume(persistence_outputs): persistence_outputs = validate_persistence_outputs( persistence_outputs=persistence_outputs) return get_volume_from_definition( volume_name=persistence_outputs, volume_settings=settings.PERSISTENCE_OUTPUTS)
def test_validate_persistence_outputs(self): with self.assertRaises(VolumeNotFoundError): validate_persistence_outputs(['path1', 'path2']) assert validate_persistence_outputs('path2') == 'path2' assert validate_persistence_outputs(None) == list(settings.PERSISTENCE_OUTPUTS.keys())[0]