-
Notifications
You must be signed in to change notification settings - Fork 376
Conversation
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 there will be obvious things that will need cleanup and adaptation here, including but not limited to:
- docs
- CI scripts
but, as a first direct copy import that we can then base PRs on top of to fix up those items, and build the new API upon:
lgtm
Thanks @sameo. There are a few bits I think we can remove:
|
The name "vircontainers" is confusing here since there will be a single unified runtime. |
IMO, I hope there will be two repos. sandbox, agent, network, hypervisors and persistence as #32 described should be in different packages under kata-containers/libkata. both vircontainers and runv can be refactored as it. |
If you're thinking about something like
See #40 for more details, but the idea is that the virtcontainers repo would be frozen, and kata-containers/runtime/virtcontainers/ becomes the single point of development for virtcontainers. There will be a transition period where we'd have to manually update, but we want to make it as short as possible. |
A few objections here:
The only reason why we have not put virtcontainers under clearcontainers/cc-runtime is to make it clear it was not designed to be a Clear Containers/Intel dependent component. Kata Containers is a more neutral organization and it's ok to move it there, but I believe both virtcontainers and the runtime cli should live under the runtime repos:
We should not forget that a big part of what we build is an OCI compatible runtime and that is mostly defined by the CLI level compatibility. |
9510953
to
3a6b567
Compare
This is so good to me. As a core part of kata-runtime, it makes sense to put it directly under runtime/ . This is a good start, though there are still many further modifications need to do. LGTM as a first step |
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 agree with @jodh-intel comments but I am fine if we do that as a follow up PR.
LGTM
@sboeuf @jodh-intel comments addressed |
Thanks @sameo |
As my comments in #40. I think we should agree on APIs before merging this PR though I don't want to put a |
Dope! :) looks good to me |
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
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.
lgtm
So it sounds like there are 2 somewhat conflicting goals:
Is that an accurate summary? One strategy is to move forward with the approach you have here, but in my experience we'll need to put some strict import restrictions in place (through presubmit tests) that prevent virtcontainers from gradually fusing with the runtime. The alternative approach would be to make it a separate repo, which is a much stronger separation, and automate the task of keeping the runtime repo up-to-date. Either way, I think some automation is required. |
@tallclair that's a very clear description of the problem, and that's also the reason why virtcontainers is currently living in its own repo, decoupled from Intel Clear Containers. Unfortunately, the decision of moving this library to the kata-runtime repo has been taken in order to prevent contributors from confusion... |
Adding |
@tallclair That's an accurate summary indeed. Today we have this automation in place as virtcontainers does not live under the Clear Containers organization. TL;DR I feel moving virtcontainers under the runtime repo is a safe and an easier approach for new contributors. But I'm not strongly against creating a dedicated repo for it if the community thinks it's a cleaner solution. I'm happy to create a new virtcontainers repo if folks believe that this is the best solution. From our experience, this makes the developer's experience less straightforward as testing virtcontainers changes means playing with some dep tricks. This can be scripted but makes things less easy than just applying changes directly into the runtime repo. Honestly I did not take into account the risk of reducing virtcontainers agnosticism by making it a runtime package, because this has been a feature we've been really careful about conserving from the very beginning. But your concerns might be valid as we're adding potentially much more contributors to it now, by moving it here. @laijs already expressed his opinion about it. @gnawux @bergwolf @WeiZhang555 @jessfraz @sboeuf @jodh-intel @egernst would you prefer having a separate repo for virtcontainers over moving it under the runtime repo directly? |
Both are ok for me. But I prefer putting virtcontainers under runtime directly. |
@sameo I would prefer a separate repo. |
So to summarize the current state (please correct me if I misunderstood) we have: @jessfraz is ok with this If that's a fair depiction of the current status, I'd like to consider removing the do-not-merge tag and proceed with that PR. Please speak up if you disagree. |
@sameo we are going to have the meeting in hours, let's discuss in the meeting. I don't think it is good to merge code before we have an agreement on APIs. |
For ALL APIs(related functions, structures, interfaces ...), please add the document On the other hand, |
LGTM |
This is a virtcontainers 1.0.8 import into Kata Containers runtime. virtcontainers is a Go library designed to manage hardware virtualized pods and containers. It is the core Clear Containers framework and will become the core Kata Containers framework, as discussed at kata-containers#33 Some more more pointers: virtcontainers README, including some design and architecure notes: https://github.com/containers/virtcontainers/blob/master/README.md virtcontainers 1.0 API: https://github.com/containers/virtcontainers/blob/master/documentation/api/1.0/api.md Fixes kata-containers#40 Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Some virtcontainers pieces of code are importing virtcontainers packages. We need to change those paths to point at kata-containers/runtime/virtcontainers Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
We will move the CI part into the top level .ci directory. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
3a6b567
to
c446b0e
Compare
Updated to import virtcontainers 1.0.8. |
LGTM. Codes are so many and it's hard to review, but let's trust |
Ok, let the wheel run. |
Revendor firecracker go sdk for Firecracker 0.12.0 API changes git shortlog 9614612 (HEAD -> master, origin/master, origin/HEAD) Merge pull request 653c342 Adding drives builder 3c1f5c3 Merge pr kata-containers#41 c4151ff Migrate firectl to its own repository 433f262 Merge pull request kata-containers#23 from xibz/fifo_logging_file 121ef9a add handler lists to handle initialization 0fd9825 Adding support for capturing fifo logs to file. 6b08ec7 Merge branch 'fc-0.12.0' 25878e7 Update for Firecracker 0.12.0 API changes ea93f77 Regenerate API client from swagger spec 00d8eee Update swagger.yaml for firecracker 0.12.0 Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
makefile: Add install target
This is a virtcontainers 1.0.7 import into Kata Containers runtime.
virtcontainers is a Go library designed to manage hardware virtualized
pods and containers. It is the core Clear Containers framework and will
become the core Kata Containers framework, as discussed at
#33
Some additional pointers:
virtcontainers README, including some design and architecure notes:
https://github.com/containers/virtcontainers/blob/master/README.md
virtcontainers 1.0 API:
https://github.com/containers/virtcontainers/blob/master/documentation/api/1.0/api.md
Fixes #40
Signed-off-by: Samuel Ortiz sameo@linux.intel.com