-
Notifications
You must be signed in to change notification settings - Fork 278
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
Adding support for Cumulus with Ignite #482
Conversation
@networkop , did a first review, let me know if anything doesn't make sense to you. If I got it right, cumulus uses ignite as a default runtime, but it supports docker ? |
thanks @karima, will get the changes in shortly. regarding the default behavior, with |
@karimra I've done multiple changes to address your comments. let me know what you think |
@networkop thanks for addressing all my comments, lgtm. |
thanks @karimra . Can you check the latest commit? I think it would make sure runtimes are initialized only once. |
Yes, even better, a single runtime passed to the node Init. Thanks |
@networkop In 362dd1b I removed a few leftovers of log.Fatal |
thanks @hellt . I also pushed a fix for the shortname parsing logic. |
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.
Solid work @networkop
I hope you had fun time ;) that is one of the biggest PRs in this repo
I think the title pretty much sums it up but since the PR is quite big, I'll try to break it down into multiple bullet points to better explain everything that has been affected:
runtime
field. This field is set duringnode.Init
and defaults to the global runtime (as configured by the--runtime
flag). However forcvx
it defaults to a pre-definedignite
runtime with the ability to fall back to any other supported runtime via theNodeConfig.Runtime
.CLab
, e.g. it is nowc.ListContainers(ctx, labels)
instead ofc.Runtime(ctx, labels)
.CLab
always knows about all of the configured runtimes (since it knows about all of the nodes).CLab.Init
function -- this way it's safer to reason about CLab since we know that it'll always have Nodes and Runtimes parsed and initialized.I think overall the last 3 points help enforce the separation between different packages and prevent direct calls between, e.g.
cmd
andruntime
. It's much easier to read and troubleshoot code that relies on p2p interaction instead, i.e.cmd
<->clab
<->node
<->runtime
.AFAICT, none of the existing behavior has been affected, I've tried to make sure of that but happy to fix if there anything is off.