Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[21.05] ITs on Kubernetes #11383

Merged
merged 24 commits into from
May 5, 2021
Merged

[21.05] ITs on Kubernetes #11383

merged 24 commits into from
May 5, 2021

Conversation

almahmoud
Copy link
Member

Enabling running ITs with Service and Ingress without reverse proxy when Galaxy is running on k8s. Started with k8s runner cause more familiar with it but plan is to port to pulsar. Still very WIP, but the basics are there:
working_its

@pcm32
Copy link
Member

pcm32 commented Feb 22, 2021

Great! So, this is not relying then on the GIE proxy mechanism to re-route things?

@almahmoud
Copy link
Member Author

Nope, no proxy mechanism, just requires an ingress controller in the cluster. Relies on the job runner to create and cleanup the Service/Ingress pair along with the IT job

@almahmoud almahmoud changed the title [WIP] ITs on Kubernetes ITs on Kubernetes Mar 8, 2021
@almahmoud almahmoud marked this pull request as ready for review March 8, 2021 05:40
@github-actions github-actions bot added this to the 21.05 milestone Mar 8, 2021
@@ -817,6 +817,7 @@ def _process_config(self, kwargs):
self.interactivetools_map = self._in_root_dir(kwargs.get("interactivetools_map", self._in_data_dir("interactivetools_map.sqlite")))
self.interactivetools_prefix = kwargs.get("interactivetools_prefix", "interactivetool")
self.interactivetools_proxy_host = kwargs.get("interactivetools_proxy_host", None)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not necessary: it's processed automatically

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't add them, they were here from the original IT work. If I'm understanding correctly, you're suggesting they should all be removed from here and just added to the schema? (at least interactivetools_prefix is not in the schema already)

@@ -610,4 +798,18 @@ def finish_job(self, job_state):
log.warning("More than one job matches selector. Possible configuration error"
" in job id '%s'", job_state.job_id)
job = Job(self._pykube_api, jobs.response['items'][0])
if job_state.job_wrapper.tool.tool_type == "interactive":
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know for sure - but I think I was trying to use job_state.job_wrapper.tool.ports to determine if we need to expose ports instead of tool type being interactive.

@jmchilton jmchilton modified the milestones: 21.05, 21.09 Apr 7, 2021
@mvdbeek mvdbeek modified the milestones: 21.09, 21.05 Apr 13, 2021
@almahmoud almahmoud changed the title ITs on Kubernetes [21.05] ITs on Kubernetes May 4, 2021
Co-authored-by: Marius van den Beek <m.vandenbeek@gmail.com>
almahmoud and others added 3 commits May 4, 2021 13:48
Co-authored-by: Marius van den Beek <m.vandenbeek@gmail.com>
almahmoud and others added 2 commits May 4, 2021 13:56
Co-authored-by: Marius van den Beek <m.vandenbeek@gmail.com>
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
Copy link
Member

@mvdbeek mvdbeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple minor fixes here

lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
lib/galaxy/jobs/runners/kubernetes.py Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants