-
Notifications
You must be signed in to change notification settings - Fork 153
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
feat: Introduce new KubeTaskParallel function to run pods with two containers #3095
base: master
Are you sure you want to change the base?
Conversation
There is an example in tests and docs.
|
31be024
to
32d48b2
Compare
7067c1e
to
ed6143f
Compare
Hi @hairyhum , |
ed6143f
to
8314e4a
Compare
The main goal of this change is to separate image management for databse dump blueprints. Not the performance. |
0a792a0
to
8dbc0e2
Compare
Renamed function into |
514f8b2
to
fdc0a1b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM, but for me function name looks a bit misleading.
But, frankly, I can't propose better name. Maybe other reviewers will have an ideas ?
dda5d4d
to
f3b2e13
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me overall. just left some nit comments/formatting suggestion.
@@ -150,6 +150,82 @@ Example: | |||
- | | |||
echo "Example" | |||
|
|||
KubeTaskParallel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think maybe we should the name of the function in next community call? It's good right now, but by reading the name it looks like in this function we are doing things parallelly that kubetask does sequentially, which doesn't seem to be the case right?
I think it doesn't necessarily have to have KubeTask in its name right? Maybe MultiContainerUpload
or something in that line?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was trying to avoid the "purpose" style names like "dump", "upload" or "export". While this function is used for that purpose it's deliberately made generic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, let's take opinions from other folks as well. @pavannd1 @PrasadG193 @mlavi .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Somehow KubeTaskParallel
doesn't sound good to me. I agree that it would be better if we avoid KubeTask*
prefix for the new function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use MultiContainerPod
or MultiContainerRun
, but we already use KubeTaslk
instead of Pod
in the other function.
docs/functions.rst
Outdated
It's similar to KubeTask, but allows using multiple images to move backup data. | ||
"background" container is one responsible for generating data, while "output" container | ||
should export it to destination. | ||
The main difference between them is that phase outputs can only generated from the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main difference between them is that phase outputs can only generated from the | |
The main difference between these containers is that phase outputs can only be generated from the |
nit
docs/functions.rst
Outdated
"background" container is one responsible for generating data, while "output" container | ||
should export it to destination. | ||
The main difference between them is that phase outputs can only generated from the | ||
"output" container outputs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"output" container outputs. | |
"output" container. |
?
`backgroundImage`, Yes, `string`, image to be used in "background" container | ||
`backgroundCommand`, Yes, `[]string`, command list to execute in "background" container |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we call this container snapshot or backup container? or maybe data container? just a suggestion, if you think background
is ok, I am good.
`outputImage`, Yes, `string`, image to be used in "output" container | ||
`outputCommand`, Yes, `[]string`, command list to execute in "output" container |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be called upload container?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same note as a note before, trying to name things for what they do rather than what they can be used for.
@@ -0,0 +1,2 @@ | |||
--- | |||
features: Introduce new KubeTaskParallel function to run pods with two containers connected by shared volume |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit:
features: Introduce new KubeTaskParallel function to run pods with two containers connected by shared volume | |
features: Introduced new Kanister function ``KubeTaskParallel`` to run pods with two containers connected by shared volume |
?
…ntainers In order to separate data dump generation by database tools and export by `kando`, a pod performing database dump can have two separate containers and set up the pipe over file instead of anonymous pipe
Init container can be used to set up data in the shared volume.
6bcc499
to
19c31e8
Compare
Change Overview
In order to separate data dump generation by database tools and export by
kando
, a pod performing database dump can have two separate containers and set up the pipe over file instead of anonymous pipe.The goal of this function is to enable database-specific blueprints to use official database images separately from kanister-tools image instead of building a custom image for each databse blueprint.
Pull request type
Please check the type of change your PR introduces:
Issues
Test Plan