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

Containerized mounts #278

Closed
jsafrane opened this issue Apr 26, 2017 · 18 comments
Closed

Containerized mounts #278

jsafrane opened this issue Apr 26, 2017 · 18 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status
Milestone

Comments

@jsafrane
Copy link
Member

jsafrane commented Apr 26, 2017

Feature Description

  • One-line feature description (can be used as a release note):
    Kubernetes can run mount utilities in pods instead on the host.

  • Primary contact (assignee): @jsafrane

  • Responsible SIGs: sig-storage, sig-node

  • Design proposal link (community repo): Proposal: containerized mount utilities in pods community#589

  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred:

  • Approver (likely from SIG/area to which feature belongs): @saad-ali

  • Initial target stage (alpha/beta/stable) and release (x.y):

    • Alpha release target (x.y): 1.7 1.8 1.9
    • Beta release target (x.y): 1.10?
    • Stable release target (x.y): 1.11
@jsafrane jsafrane added sig/node Categorizes an issue or PR as relevant to SIG Node. sig/storage Categorizes an issue or PR as relevant to SIG Storage. labels Apr 26, 2017
@jsafrane jsafrane self-assigned this Apr 26, 2017
@idvoretskyi idvoretskyi added the stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status label May 3, 2017
@idvoretskyi idvoretskyi added this to the v1.7 milestone May 3, 2017
@idvoretskyi
Copy link
Member

@jsafrane please, don't forget about the design proposal link.

@gnufied
Copy link
Member

gnufied commented May 3, 2017

The design proposal - kubernetes/community#589

@jsafrane
Copy link
Member Author

jsafrane commented Jun 5, 2017

slipped from 1.7

@idvoretskyi idvoretskyi added this to the next-milestone milestone Jun 6, 2017
@saad-ali saad-ali modified the milestones: 1.8, next-milestone Jul 12, 2017
@jsafrane
Copy link
Member Author

There are two design proposals:

@idvoretskyi idvoretskyi added the kind/feature Categorizes issue or PR as related to a new feature. label Jul 25, 2017
k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this issue Aug 22, 2017
Automatic merge from submit-queue (batch tested with PRs 46458, 50934, 50766, 50970, 47698)

Prepare VolumeHost for running mount tools in containers

This is the first part of implementation of kubernetes/enhancements#278 - running mount utilities in containers.

It updates `VolumeHost` interface:

*  `GetMounter()` now requires volume plugin name, as it is going to return different mounter to different volume plugings, because mount utilities for these plugins can be on different places.
* New `GetExec()` method that should volume plugins use to execute any utilities. This new `Exec` interface will execute them on proper place.
* `SafeFormatAndMount` is updated to the new `Exec` interface.

This is just a preparation, `GetExec` right now leads to simple `os.Exec` and mount utilities are executed on the same place as before. Also, the volume plugins will be updated in subsequent PRs (split into separate PRs, some plugins required lot of changes).

```release-note
NONE
```

@kubernetes/sig-storage-pr-reviews 
@rootfs @gnufied
@childsb
Copy link
Contributor

childsb commented Aug 22, 2017

this has been discussed and the feature approved during sig-storage calls and 1-off designs.

@saad-ali
Copy link
Member

sig-storage strongly supports this feature. We really need this to get in for 1.8.

dims pushed a commit to dims/openstack-cloud-controller-manager that referenced this issue Sep 6, 2017
Automatic merge from submit-queue (batch tested with PRs 46458, 50934, 50766, 50970, 47698)

Prepare VolumeHost for running mount tools in containers

This is the first part of implementation of kubernetes/enhancements#278 - running mount utilities in containers.

It updates `VolumeHost` interface:

*  `GetMounter()` now requires volume plugin name, as it is going to return different mounter to different volume plugings, because mount utilities for these plugins can be on different places.
* New `GetExec()` method that should volume plugins use to execute any utilities. This new `Exec` interface will execute them on proper place.
* `SafeFormatAndMount` is updated to the new `Exec` interface.

This is just a preparation, `GetExec` right now leads to simple `os.Exec` and mount utilities are executed on the same place as before. Also, the volume plugins will be updated in subsequent PRs (split into separate PRs, some plugins required lot of changes).

```release-note
NONE
```

@kubernetes/sig-storage-pr-reviews 
@rootfs @gnufied
@jsafrane jsafrane modified the milestones: 1.8, 1.9 Sep 14, 2017
@jsafrane
Copy link
Member Author

Slipped from 1.8

@idvoretskyi idvoretskyi added stage/beta Denotes an issue tracking an enhancement targeted for Beta status and removed stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status labels Nov 13, 2017
@zacharysarah
Copy link
Contributor

zacharysarah commented Nov 22, 2017

@jsafrane 👋 Please indicate in the 1.9 feature tracking board
whether this feature needs documentation. If yes, please open a PR and add a link to the tracking spreadsheet. Thanks in advance!

UPDATE: Thanks for the update: no docs required. 👍

@saad-ali
Copy link
Member

Relevant PR that went into 1.9 is: kubernetes/kubernetes#53440

Also this feature is alpha in 1.9 NOT beta. Relabeling.

@saad-ali saad-ali added the stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status label Nov 28, 2017
@saad-ali saad-ali removed the stage/beta Denotes an issue tracking an enhancement targeted for Beta status label Nov 28, 2017
dims pushed a commit to dims/openstack-cloud-controller-manager that referenced this issue Jan 13, 2018
Automatic merge from submit-queue (batch tested with PRs 46458, 50934, 50766, 50970, 47698)

Prepare VolumeHost for running mount tools in containers

This is the first part of implementation of kubernetes/enhancements#278 - running mount utilities in containers.

It updates `VolumeHost` interface:

*  `GetMounter()` now requires volume plugin name, as it is going to return different mounter to different volume plugings, because mount utilities for these plugins can be on different places.
* New `GetExec()` method that should volume plugins use to execute any utilities. This new `Exec` interface will execute them on proper place.
* `SafeFormatAndMount` is updated to the new `Exec` interface.

This is just a preparation, `GetExec` right now leads to simple `os.Exec` and mount utilities are executed on the same place as before. Also, the volume plugins will be updated in subsequent PRs (split into separate PRs, some plugins required lot of changes).

```release-note
NONE
```

@kubernetes/sig-storage-pr-reviews 
@rootfs @gnufied
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 27, 2018
@childsb
Copy link
Contributor

childsb commented Feb 28, 2018

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 28, 2018
@justaugustus
Copy link
Member

@jsafrane @saad-ali
Any plans for this in 1.11?

If so, can you please ensure the feature is up-to-date with the appropriate:

  • Description
  • Milestone
  • Assignee(s)
  • Labels:
    • stage/{alpha,beta,stable}
    • sig/*
    • kind/feature

cc @idvoretskyi

@jsafrane
Copy link
Member Author

@justaugustus @idvoretskyi, I updated the feature description. This feature will never reach beta or stable, we plan to use it only in e2e tests. Perhaps we can close this issue as all the work for the feature has been done.

[Now we need to actually use the feature in e2e tests, but that's another story]

@fabiand
Copy link

fabiand commented Apr 19, 2018

That's interesting - What's the reason for not targeting it for beta/GA?

@justaugustus
Copy link
Member

@jsafrane Okay, I'm going to close this out, but if you need to reopen for any reason, feel free!
/close

@jsafrane
Copy link
Member Author

What's the reason for not targeting it for beta/GA?

It's dangerous. We want to reduce the options how volume plugins are working. We already have enough problems with containerized kubelet.

Note that a Flex driver can be deployed in containers already, it's orthogonal to this feature. And CSI basically requires to deploy mount utilities in containers.

@kfox1111
Copy link

Might just want to clarify. Containerizing just the mount tools (so that stuff like the native ceph driver can work) is the thing not going forward. The ability to share mounts outside of a container, or have whole drivers (csi) is staying. So the end goal of having all the things in containers is still moving forward, just without this particular implementation?

@jsafrane
Copy link
Member Author

Containerizing just the mount tools (so that stuff like the native ceph driver can work) is the thing not going forward

Yes.

The end goal is CSI - CSI drivers may (and often must) containerize their tools and Kubernetes does not need to be changed in any way.

wgliang pushed a commit to wgliang/utils that referenced this issue Jun 11, 2018
Automatic merge from submit-queue (batch tested with PRs 46458, 50934, 50766, 50970, 47698)

Prepare VolumeHost for running mount tools in containers

This is the first part of implementation of kubernetes/enhancements#278 - running mount utilities in containers.

It updates `VolumeHost` interface:

*  `GetMounter()` now requires volume plugin name, as it is going to return different mounter to different volume plugings, because mount utilities for these plugins can be on different places.
* New `GetExec()` method that should volume plugins use to execute any utilities. This new `Exec` interface will execute them on proper place.
* `SafeFormatAndMount` is updated to the new `Exec` interface.

This is just a preparation, `GetExec` right now leads to simple `os.Exec` and mount utilities are executed on the same place as before. Also, the volume plugins will be updated in subsequent PRs (split into separate PRs, some plugins required lot of changes).

```release-note
NONE
```

@kubernetes/sig-storage-pr-reviews 
@rootfs @gnufied
justaugustus pushed a commit to justaugustus/enhancements that referenced this issue Sep 3, 2018
Proposal: Add Tag Indicating To Replace Union Fields in Patch
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. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status
Projects
None yet
Development

No branches or pull requests