Git Product home page Git Product logo

srlinux-container-image's Introduction

Get Started


Nokia Service Router Linux (SR Linux) is a truly open network operating system (NOS) that makes your data center switching infrastructure more scalable, more flexible and simpler to operate.

SR Linux is a part of the Nokia Data Center Fabric solution that has been designed from the ground up to free your cloud builder networking teams to rapidly design and deploy, easily adapt and integrate and confidently operate and automate data center network fabrics: at scale.

Getting container image

Nokia made SR Linux container image publicly available to everyone with no registration, licensing or contract requirements. Simply do:

docker pull ghcr.io/nokia/srlinux

Using container image

SR Linux container image is meant to be used in learning, demo, test and CI environments. To help newcomers to get to the grips of this new Network OS we created an open documentation resource - learn.srlinux.dev which will guide you through all the steps required to successfully launch SR Linux container and create lab topologies with it.

srlinux-container-image's People

Contributors

hellt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

srlinux-container-image's Issues

I can not start the container via GNS3 interface

If I use docker-run on the GNS3 server, I can start the container but if I start it via GNS3 interface, it exits.

Observations: GNS3 uses /gns3/init.sh

8e0943229be5 ghcr.io/nokia/srlinux:latest "/gns3/init.sh /tini…" 3 hours ago Exited (137) 3 hours ago loving_faraday

docker logs 8e0943229be5
su: unknown user user:user

GNS3 log:
INFO docker_vm.py:549 Docker container 'ghcr.io-nokia-srlinux-1' fix ownership, state = exited

First container below is started using directly docker run.

NAMES
3b20d2e9a743 ghcr.io/nokia/srlinux "/tini -- fixuid -q …" 18 seconds ago Up 16 seconds srlinux_container
8e0943229be5 ghcr.io/nokia/srlinux:latest "/gns3/init.sh /tini…" 3 hours ago Exited (137) 3 hours ago loving_faraday

It could be a GNS3 issue, I opened here also: https://www.gns3.com/community/discussions/ghcr-io-nokia-srlinux , but at the same time I tried multiple docker containers, and this is the only one where I noticed this issue

Does not run in docker as per learn.srlinux.dev

docker run -d -t --privileged -u $(id -u):$(id -g) --name srlinux ghcr.io/nokia/srlinux sudo bash /opt/srlinux/bin/sr_linux

fails to run.

Logs state following

Mon Jun 13 05:12:58 UTC 2022: entrypoint.sh called
Mon Jun 13 05:12:58 UTC 2022: renaming docker interface eth0 to mgmt0
Mon Jun 13 05:12:59 UTC 2022: turning off checksum offloading on mgmt0
Actual changes:
rx-checksumming: off
tx-checksumming: off
tx-checksum-ip-generic: off
tx-checksum-sctp: off
tcp-segmentation-offload: off
tx-tcp-segmentation: off [requested on]
tx-tcp-ecn-segmentation: off [requested on]
tx-tcp-mangleid-segmentation: off [requested on]
tx-tcp6-segmentation: off [requested on]
Mon Jun 13 05:12:59 UTC 2022: starting sshd
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
Mon Jun 13 05:12:59 UTC 2022: Calling boot_run script
/opt/srlinux/bin/bootscript/05_sr_createuser.sh: line 270: !srl_is_running_on_nokia_rootfs: command not found
/opt/srlinux/bin/bootscript/05_sr_createuser.sh: line 282: python: command not found
chmod: missing operand after '0666'
Try 'chmod --help' for more information.
/usr/bin/find: '/var/log/srlinux/file': No such file or directory
logmgr_set_env.sh: plain_bootup_start
Mon Jun 13 05:13:00 UTC 2022 logmgr_set_env.sh: restart of rsyslogd
Failed to set capabilities on file `/usr/sbin/tcpdump' (No such file or directory)
usage: setcap [-q] [-v] [-n ] (-r|-|) [ ... (-r|-|) ]

Note must be a regular (non-symlink) file.
Mon Jun 13 05:13:00 UTC 2022: entrypoint.sh done, executing sudo bash /opt/srlinux/bin/sr_linux
No/Invalid license found!
Not starting in a named namespace, giving it the name "srbase"
Unix domain socket directory is /opt/srlinux/var/run/
Log directory is /var/log/srlinux/stdout
Started supportd: source /etc/profile.d/sr_app_env.sh &>/dev/null; bash -c "./sr_supportd --server-mode" >/var/log/srlinux/stdout/supportd.log 2>&1 &
Application supportd is running: PID 1384
Started dev_mgr: source /etc/profile.d/sr_app_env.sh &>/dev/null; bash -c "./sr_device_mgr" >/var/log/srlinux/stdout/dev_mgr.log 2>&1 &
Application dev_mgr is running: PID 1405
Found dev_mgr: PID 1405 - killing
Found supportd: PID 1384 - killing
Failed to kill supportd: PID 1384. Another kill is retried

Run SR Linux as a service for GitHub actions

Hey!

I am trying to use SR Linux as part of GitHub actions:

jobs:
  build-linux:
    services:
      srlinux:
        image: ghcr.io/nokia/srlinux:23.7.1
        ports:
          - 57400:57400
          - 57401:22
        options: "--privileged --user=root"

Unfortunately, there is no way to specify a command and the default one for the image is /bin/bash. We can specify the entrypoint, but it needs to be a command without arguments. If I pass just --entrypoint=/opt/srlinux/bin/sr_linux I don't get the network configuration. The command executed by GitHub is:

  /usr/bin/docker create --name 2cfdc039b1784ff78dcfc822f32393b0_ghcrionokiasrlinux2371_816cd6 --label 17eddf --network github_network_c5149df44a6341378dfd86e57bea7c25 --network-alias srlinux -p 57400:57400 -p 57401:22 --privileged --user=root --entrypoint=/opt/srlinux/bin/sr_linux -e GITHUB_ACTIONS=true -e CI=true ghcr.io/nokia/srlinux:23.7.1

Maybe the entrypoint could execute /opt/srlinux/bin/sr_linux when it detects GITHUB_ACTIONS=true?

SRL Container not showing any resource usage on `docker stats`

Hello,

I'm currently stuck trying to figure out how I can get resource use statistics from an SRL container. On my host, every other docker container returns stats to both the docker stats command and the stats endpoint on the engine API however the SRL container always returns 0s across the board, even for the timestamp on the stats api request. Do any of you know what would be causing this or how I can work around it? Are you doing anything particularly unusual with cgroups inside the docker container?

I'm happy to provide any logs needed, just not quite sure what that'd be yet.

Thanks!

Docker pull results in tcp "connection reset by peer" error

Hello,

I am trying to pull the image using the docker pull command, as given in the description, but it results in tcp "connection reset by peer" error.. I dont think it is a proxy issue, since docker.io and other pulls are working fine.

$:~/docker$ sudo docker pull ghrc.io/nokia/srlinux
Using default tag: latest
Error response from daemon: Get "https://ghrc.io/v2/": read tcp 10.10.213.22:53496->103.224.212.220:443: read: connection reset by peer

I tried to use curl command for the same URL and following is the output :

$:~/docker$ curl -v https://ghrc.io/nokia/srlinux

  • Trying 103.224.212.220:443...
  • Connected to ghrc.io (103.224.212.220) port 443 (#0)
  • ALPN, offering h2
  • ALPN, offering http/1.1
  • CAfile: /etc/ssl/certs/ca-certificates.crt
  • CApath: /etc/ssl/certs
  • TLSv1.0 (OUT), TLS header, Certificate Status (22):
  • TLSv1.3 (OUT), TLS handshake, Client hello (1):
  • OpenSSL SSL_connect: Connection reset by peer in connection to ghrc.io:443
  • Closing connection 0
  • TLSv1.0 (OUT), TLS header, Unknown (21):
  • TLSv1.3 (OUT), TLS alert, decode error (562):
    curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to ghrc.io:443
    $

I tried to search for the solution but no solution received so far..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.