Example #1
0
    def __init__(self,
                 project_name,
                 experiment_name,
                 project_uuid,
                 experiment_uuid,
                 spec,
                 persistence_config=None,
                 outputs_refs_experiments=None,
                 outputs_refs_jobs=None,
                 experiment_group_uuid=None,
                 experiment_group_name=None,
                 original_name=None,
                 cloning_strategy=None,
                 k8s_config=None,
                 namespace='default',
                 in_cluster=False,
                 job_container_name=None,
                 job_docker_image=None,
                 sidecar_container_name=None,
                 sidecar_docker_image=None,
                 role_label=None,
                 type_label=None,
                 ports=None,
                 use_sidecar=False,
                 sidecar_config=None,
                 token_scope=None):
        self.spec = spec
        self.project_name = project_name
        self.experiment_group_name = experiment_group_name
        self.experiment_name = experiment_name
        self.project_uuid = project_uuid
        self.experiment_group_uuid = experiment_group_uuid
        self.experiment_uuid = experiment_uuid
        self.original_name = original_name
        self.cloning_strategy = cloning_strategy
        self.persistence_config = persistence_config
        self.outputs_refs_experiments = outputs_refs_experiments
        self.outputs_refs_jobs = outputs_refs_jobs
        self.resource_manager = manager.ResourceManager(
            namespace=namespace,
            project_name=self.project_name,
            experiment_group_name=self.experiment_group_name,
            experiment_name=self.experiment_name,
            project_uuid=self.project_uuid,
            experiment_group_uuid=self.experiment_group_uuid,
            experiment_uuid=experiment_uuid,
            job_container_name=job_container_name,
            job_docker_image=job_docker_image,
            sidecar_container_name=sidecar_container_name,
            sidecar_docker_image=sidecar_docker_image,
            role_label=role_label,
            type_label=type_label,
            use_sidecar=use_sidecar,
            sidecar_config=sidecar_config,
            log_level=self.spec.log_level if self.spec else None,
            original_name=self.original_name,
            cloning_strategy=self.cloning_strategy,
            declarations=self.spec.declarations if self.spec else None,
            health_check_url=get_experiment_health_url(self.experiment_name))
        self.token_scope = token_scope
        self.ports = ports or [constants.DEFAULT_PORT]

        super().__init__(k8s_config=k8s_config,
                         namespace=namespace,
                         in_cluster=in_cluster)

        # Set the cluster_def
        cluster_def = self.get_cluster()
        self.resource_manager.set_cluster_def(cluster_def=cluster_def)
Example #2
0
    def __init__(self,
                 project_name,
                 experiment_name,
                 project_uuid,
                 experiment_uuid,
                 spec,
                 persistence_config=None,
                 outputs_refs_experiments=None,
                 outputs_refs_jobs=None,
                 experiment_group_uuid=None,
                 experiment_group_name=None,
                 original_name=None,
                 cloning_strategy=None,
                 k8s_config=None,
                 namespace='default',
                 in_cluster=False,
                 job_container_name=None,
                 job_docker_image=None,
                 sidecar_container_name=None,
                 sidecar_docker_image=None,
                 role_label=None,
                 type_label=None,
                 ports=None,
                 use_sidecar=False,
                 sidecar_config=None,
                 token_scope=None):
        self.spec = spec
        self.project_name = project_name
        self.experiment_group_name = experiment_group_name
        self.experiment_name = experiment_name
        self.project_uuid = project_uuid
        self.experiment_group_uuid = experiment_group_uuid
        self.experiment_uuid = experiment_uuid
        self.experiment_uuid_instance = uuid.UUID(self.experiment_uuid)
        self.original_name = original_name
        self.cloning_strategy = cloning_strategy
        self.persistence_config = persistence_config
        self.outputs_refs_experiments = outputs_refs_experiments
        self.outputs_refs_jobs = outputs_refs_jobs
        self.resource_manager = self.RESOURCE_MANAGER(
            namespace=namespace,
            project_name=self.project_name,
            experiment_group_name=self.experiment_group_name,
            experiment_name=self.experiment_name,
            project_uuid=self.project_uuid,
            experiment_group_uuid=self.experiment_group_uuid,
            experiment_uuid=experiment_uuid,
            job_container_name=self.get_job_container_name(job_container_name),
            job_docker_image=job_docker_image,
            sidecar_container_name=sidecar_container_name,
            sidecar_docker_image=sidecar_docker_image,
            role_label=role_label,
            type_label=type_label,
            use_sidecar=use_sidecar,
            sidecar_config=sidecar_config,
            log_level=self.spec.log_level if self.spec else None,
            original_name=self.original_name,
            cloning_strategy=self.cloning_strategy,
            params=self.spec.params if self.spec else None,
            health_check_url=get_experiment_health_url(self.experiment_name))
        self.token_scope = token_scope
        self.ports = self.get_ports(ports=ports)

        super().__init__(k8s_config=k8s_config,
                         namespace=namespace,
                         in_cluster=in_cluster)

        # Set the cluster_def
        cluster_def = self.get_cluster()
        self.resource_manager.set_cluster_def(cluster_def=cluster_def)
        self.job_uuids = self.create_job_uuids()
Example #3
0
 def test_get_experiment_health_url(self):
     self.assertEqual(
         get_experiment_health_url(unique_name=self.experiment.unique_name),
         '{}/_heartbeat'.format(
             get_experiment_url(self.experiment.unique_name)))