srl-labs / srl-controller Goto Github PK
View Code? Open in Web Editor NEWk8s controller for SR Linux nodes scheduled by KNE
License: BSD 3-Clause "New" or "Revised" License
k8s controller for SR Linux nodes scheduled by KNE
License: BSD 3-Clause "New" or "Revised" License
Consider the following use cases for license provisioning:
If a user specifies a model that does not require a license then the tag of their image should not matter
If a user specifies a model that does require a license and the user has provided a single "catch all" license then the tag of their image should not matter
If a user specifies a model that does require a license and the user has not provided a license or has provided a license that matches a specific version other than the one they provided then the failure should clearly output during topology creation
treat ga
tag the same as latest
Originally posted by @alexmasi in #24 (comment)
Currently startup-config can only be provided as a full configuration extracted from a running system in a json format (from /etc/opt/srlinux/config.json
).
Even the factory config of SR Linux counts thousands of lines, since security and ACL policies are provided in full for v4/v6 protocols. Using those bulky files as startup is not always easy as it is not evident what was added to the startup config by the user and what comes from default settings.
We have to add a more flexible solution where startup configs can be provided in the two additional formats.
As either a list of full-context set / ...
commands or a regular CLI blob.
Such file needs to be read by srl-controller and executed via scrapligo, or copied over to the srlinux node and executed as sr_cli <commands>
A trimmed down version of the config.json where only parts that a user adds are present. Such config can be loaded via sr_cli load file <path> merge
Before implementing any of those additions, we need to make sure that srl-controller also waits for Srl nodes to boot
Hi Roman,
I am not sure if this is the right platform to address my query. If not please guide me to correct platform.
I am having trouble using SSH to SRL. I am deploying SRL in KNE environment along with Ixia-c.
I am able to bring it up and things are working fine. I need to enable ssh and fetch BGP/ISIS route details from srl.
I followed the below document to enable SSH. The ssh server is up and running but is not accepting any connections.
https://documentation.nokia.com/srlinux/SR_Linux_HTML_R21-11/Configuration_Basics_Guide/configb-systmmgmt.html
i also tried below commands, I am not sure what should be my source address.
--{ candidate shared default }--[ ]--
system {
ssh-server {
network-instance mgmt {
admin-state enable
source-address [
1.1.1.1
1.1.1.2
]
}
network-instance default {
admin-state enable
source-address [
2.1.1.1
2.1.1.2
]
}
}
}
Can you please help me with this ?
Thanks,
Azhar
Hi,
The go.sum for the @v.0.2.0 that proxy.golang.org has is
github.com/srl-labs/srl-controller v0.2.0 h1:hw+6SU+hIDFgr0xsfIjw04BdZCJHzdVyEw9EIQESVOA=
github.com/srl-labs/srl-controller v0.2.0/go.mod h1:DkPfolSny8QSlMcA8vjpyNMP/+Dttqtk9ZTk4OnBP2E=
However, the go.sum for what github provides is
github.com/srl-labs/srl-controller v0.2.0 h1:NFM5I+Xx+0zkVC9WTnXtg6uk0frtLbHU0EQVlJ8OvIA=
github.com/srl-labs/srl-controller v0.2.0/go.mod h1:DkPfolSny8QSlMcA8vjpyNMP/+Dttqtk9ZTk4OnBP2E=
This can happen if the tag gets moved, or if history gets rewritten. Can you provide a fresh tag, maybe v0.2.1, that points at a useful place?
Thanks!
Hi @hellt
I am trying to enable GNMI server in kind setup.
I tried to configure it with the help from this document: https://infocenter.nokia.com/public/SRLINUX200R6A/index.jsp?topic=%2Fcom.srlinux.configbasics%2Fhtml%2Fconfigb-mgmt_servers.html
but GNMI is still not starting, it shows it is waiting for configuration even after configuration( attached screenshot)
below is my Nokia configuration for gnmi. Please help and if there is any Nokia forum with experts who can help with such issues or queries please provide the link.
A:nokia# show system application gnmi_server
+-------------+-----+--------------------+---------+-------------+
| Name | PID | State | Version | Last Change |
+=============+=====+====================+=========+=============+
| gnmi_server | | waiting-for-
config | | |
+-------------+-----+--------------------+---------+-------------+
--{ [FACTORY] * candidate shared default }--[ ]--
A:nokia# info system gnmi-server
system {
gnmi-server {
admin-state enable
timeout 7200
rate-limit 60
session-limit 20
nokia-srl-controller-logs-gcp.txt
network-instance mgmt {
admin-state enable
use-authentication true
port 50052
tls-profile tls-profile-1
source-address [
::
]
}
}
}
--{ [FACTORY] * candidate shared default }--[ ]--
A:nokia#
my goal is to query bgp configurations using gnmi:
gnmic -a 10.39.35.50:32097 --skip-verify -u admin -p admin get --path "/network-instances/network-instance/protocols/protocol/bgp/"
target "10.39.35.50:32097" get request failed: failed to create a gRPC client for target "10.39.35.50:32097" : 10.39.35.50:32097: context deadline exceeded
target "10.39.35.50:32097" get request failed: failed to create a gRPC client for target "10.39.35.50:32097" : 10.39.35.50:32097: context deadline exceeded
Error: one or more requests failed
It is potentially not allowed to have extra fields in the CRD spec, so this better be moved some other place.
https://github.com/srl-labs/srl-controller/blob/main/api/types/v1alpha1/srlinux_types.go#L63
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.