-
Notifications
You must be signed in to change notification settings - Fork 339
Add cJunosEvolved #2617
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
Add cJunosEvolved #2617
Conversation
kmo7
commented
Jun 11, 2025
- adding cJunosEvolved to containerlab
- adding the cJunosEvolved lab example and it's doc
- adding the cJunosEvolved description manual
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.
Thank you very much for your contribution @kmo7! I left some comments and suggestions. Since I don't think this is a publicly available product yet (or is it? some clarification would be helpful :)), I think it would be best to hold off on merging this until its released, just for the sake of the maintainers' sanity ;)
Unless the release is imminent, of course, we'd love to help you launch with Clab support built-in!
cJunosEvolved will be released at the end of this month and at that time, the link mentioned in the doc will be available.
We wanted to put this up for review early, so it can be merged in to containerlab when it is released.
If it helps, I can post the results of my testing, showing cJunosEvolved coming up and pinging Srlinux fine, etc on this review (or would you like it committed to the repo in the lab-examples document at the end?
I am the developer for cJunosEvolved, but we cannot provide an image till the official release goes out. We can however meet and answer questions if you like?
Thanks.
Juniper Business Use Only
From: Roman Dodin ***@***.***>
Sent: Thursday, June 12, 2025 1:25 AM
To: srl-labs/containerlab ***@***.***>
Cc: Kaveh Moezzi ***@***.***>; Mention ***@***.***>
Subject: Re: [srl-labs/containerlab] Add cJunosEvolved (PR #2617)
[External Email. Be cautious of content]
@hellt commented on this pull request.
________________________________
In docs/manual/kinds/cjunosevolved.md<https://urldefense.com/v3/__https:/github.com/srl-labs/containerlab/pull/2617*discussion_r2142044318__;Iw!!NEt6yMaO-gk!FC9U6NzJd_mfwpBP4SMUHvfjVfH5XjuO6E0LEnrG_a6q7fMkQaVqE1-AdXMGPtGj5xcCDEKtrchhVTOzD0lcXUm7RA$>:
+## How to obtain the image
+
+The container image can be freely downloaded from the [Juniper support portal](https://support.juniper.net/support/downloads/?p=cjunos-evolved) without a Juniper account. Type cJunosEvolved in the `Find a Product` search box.
It seems the support portal does not list cjunos evolved as a product available for download
—
Reply to this email directly, view it on GitHub<https://urldefense.com/v3/__https:/github.com/srl-labs/containerlab/pull/2617*pullrequestreview-2920052451__;Iw!!NEt6yMaO-gk!FC9U6NzJd_mfwpBP4SMUHvfjVfH5XjuO6E0LEnrG_a6q7fMkQaVqE1-AdXMGPtGj5xcCDEKtrchhVTOzD0l0wDmffg$>, or unsubscribe<https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/AVFQEDKY2IC6AC2BC75YPOT3DE2N3AVCNFSM6AAAAAB7DYGFKCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDSMRQGA2TENBVGE__;!!NEt6yMaO-gk!FC9U6NzJd_mfwpBP4SMUHvfjVfH5XjuO6E0LEnrG_a6q7fMkQaVqE1-AdXMGPtGj5xcCDEKtrchhVTOzD0lD_Xchfg$>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Thanks @kmo7 for the comments. It is great seeing contributions for new systems coming ahead of the release time, love it. Given our reliance on you doing the testing, I'd say the path forward is to address existing comments and then re-checking that the same MVP reproduction with srl-cjunos works |
|
||
Juniper cJunosEvolved nodes launched with containerlab can be provisioned to enable SSH, SNMP, NETCONF and gNMI services. | ||
|
||
## How to obtain the image |
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.
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.
Great. Will do. You can both can ping me on here if you need to discuss something after you start testing.
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 also be reached via Discord if need be :)
@kmo7 I rebased your branch onto latest |
Thanks Vista, i don't see this commit reflected in containerlab.dev yet, e.g. on the front page where vendor notes are listed. Are you waiting on the image from us or the rebase operation to be done> |
Hi all, Might be too early, but would it be possible to add a pre-config hook to the The commands are:
This would enable the configuration of TLS-based services like RESTCONF in the startup-config:
Let me know if that’s feasible or if there’s a preferred approach. Thanks! |
Hi @kmo7, Congrats on launching cJunosEvo! Thank you again for your hard work with preparing this PR. I just tried out the cJunosEvo image, just a few observations: The way the startup configuration to the node is provided does not really match the way most other Containerlab kinds do it: they just append the generated config required for management connectivity to the provided config. cJunosEvolved, on the other hand, expects the provided startup config to contain the mgmt config to template into. This essentially means a user would have to manually edit the configuration saved from the node in order for it to be usable in the next deploy (which might not assign the same management IP address to the node). Rather than your current approach for generating an initial startup configuration, perhaps it would be better to put this logic (rendering a default config template and merging it with the user-provided startup config) into Containerlab? Check out how it's done with cRPD, it's fairly easy to template in runtime variables: https://github.com/srl-labs/containerlab/blob/main/nodes/crpd/crpd.go#L155 Some further notes:
|
Reponse:
wrt to these comments:
"Perhaps define a health check command to give feedback to the user/containerlab when the node has finished booting?" I have added this info the kind documentation file. Besides the docker log command, the " # docker exec -ti clab-srlcjunosevo-cevo cli" indicates bootup progress periodically, so the user is not blind to that. Thanks for the careful review Vista. I hope above answers the immediate comments so you can commit the code into clab and I will follow up w/ the rest. Here is a sample netconf log: ssh admin@clab-srlcjunosevo-cevo -p 830 -s netconfWarning: Permanently added '[clab-srlcjunosevo-cevo]:830' (ED25519) to the list of known hosts. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2617 +/- ##
==========================================
- Coverage 54.90% 54.83% -0.07%
==========================================
Files 184 185 +1
Lines 20151 20202 +51
==========================================
+ Hits 11063 11078 +15
- Misses 7948 7985 +37
+ Partials 1140 1139 -1
🚀 New features to boost your workflow:
|
* adding cJunosEvolved to containerlab * adding the cJunosEvolved lab example and it's doc * adding the cJunosEvolved description manual
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
* Add cJunosEvolved * adding cJunosEvolved to containerlab * adding the cJunosEvolved lab example and it's doc * adding the cJunosEvolved description manual * cjunosevo: gofmt + golintci --------- Co-authored-by: vista <[email protected]>