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

✨ Support multi-container tasks. #598

Closed
jortel opened this issue Feb 1, 2024 · 2 comments
Closed

✨ Support multi-container tasks. #598

jortel opened this issue Feb 1, 2024 · 2 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/normal Higher priority than priority/minor. Nice to have.
Milestone

Comments

@jortel
Copy link
Contributor

jortel commented Feb 1, 2024

Motivation: Support analyzer (addon) with multiple provider images.

Add support multi-container tasks. To accomplish this, the addon spec will contain a field named pod will be a pod (Spec) template instead of separate fields for image, pull policy and resources.

Proposed addon CRD changes:

- image:
- imagePullPolicy:
- resources:

+ container (core.v1.Container):

The pod is a core.v1.PodSpec.

The task manager will need to aggregate container status and errors on the Task.


Concerns:

  • When a pod has multiple containers, the phase is Running until all containers have terminated. For addons, it's assumed that one of the containers is the main container and likely that the additional containers cannot be reliably terminated.
    • How will the main addon container be identified? Perhaps container[0]?
    • How to kill non-main containers? The most proper way is for the pod to be deleted. To implement this without losing troubleshooting information, the task manager would need to grab a snapshot of the pod (including status) and logs. killing the non-main containers (see: sharedProcessNamespace) introduces complexities and challenges to do reliably.

Notes:

  • Sidecar container (feature) not introduced in k8s until: beta 1.28, released 1.29.

Links

@jortel jortel self-assigned this Feb 1, 2024
@jortel jortel added this to the v0.4.0 milestone Feb 6, 2024
@konveyor-ci-bot konveyor-ci-bot bot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Feb 8, 2024
@konveyor-ci-bot
Copy link

This issue is currently awaiting triage.
If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members.

@konveyor-ci-bot konveyor-ci-bot bot added needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Feb 8, 2024
@jortel jortel added kind/feature Categorizes issue or PR as related to a new feature. and removed needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Feb 12, 2024
@konveyor-ci-bot konveyor-ci-bot bot added needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Feb 12, 2024
@jortel jortel added the priority/normal Higher priority than priority/minor. Nice to have. label Feb 15, 2024
@konveyor-ci-bot konveyor-ci-bot bot removed the needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. label Feb 15, 2024
@jortel
Copy link
Contributor Author

jortel commented Feb 28, 2024

Better captured by #599

@jortel jortel closed this as completed Feb 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/normal Higher priority than priority/minor. Nice to have.
Projects
None yet
Development

No branches or pull requests

1 participant