Giter Site home page Giter Site logo

cesnet / velia Goto Github PK

View Code? Open in Web Editor NEW
9.0 7.0 0.0 4.09 MB

YANG System management for embedded devices running Linux

Home Page: https://gerrit.cesnet.cz/q/project:CzechLight/velia

License: Apache License 2.0

CMake 4.89% Shell 1.20% C++ 93.75% C 0.16%
embedded-devices tracks-health systemd linux yang

velia's People

Contributors

jktjkt avatar peckato1 avatar syyyr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

velia's Issues

Invalid network configuration in the ops datastore

# netconf-cli-local 
libyang[0]: Schema node not found. (path: /ietf-interfaces:interfaces/ietf-interfaces:interface/ietf-ip:ipv6/ietf-ipv6-unicast-routing:ipv6-router-advertisements)
libyang[0]: Invalid value "/ietf-interfaces:interfaces/ietf-interfaces:interface/ietf-ip:ipv6/ietf-ipv6-unicast-routing:ipv6-router-advertisements" of "deviation".
Connected via NETCONF [datastore target: operational]
/> get
libyang[0]: Invalid value "cla-network:dhcp" in "source-protocol" element. (path: /ietf-routing:routing/ribs/rib[name='ipv4-master']/routes/route[1]/source-protocol)
[ERR]: Failed to parse <get> reply.
Failed to receive an RPC reply

This is with a SW image which pins all deps and velia to their current masters. On the other hand, the master of br2-external works fine.

systemd: ignoring selected units

There's this unit (systemd-journal-upload.service) whose state depends on an external service. We should not indicate a failure of the local box when a remote log server reboots or becomes unavailable, IMHO. Can you please add a startup option to the daemon which monitors systemd service state to ignore certain services altogether?

`ietf-hardware`: do not crash when the I2C bus #2 is missing

We have at least one piece of HW where the /sys/bus/i2c/devices/2-0025/hwmon occasionally won't appear on a fresh reboot. It's very likely a HW fault of a PSU module, and the only cure (I think) is a complete cold power cycle because it's (very likely) the PSU that's holding the SCL line stuck low. However, we now have a kernel configuration which at least logs this condition, and it might be useful to let the box boot even in that crazy configuration -- just to make sure that the service is kept.

I'd like to have velia::ietf_hardware::createPower() extended in such a way that if this line fails:

auto pduHwmon = std::make_shared<velia::ietf_hardware::sysfs::HWMon>("/sys/bus/i2c/devices/2-0025/hwmon");
...then the velia-hardware reports an error, raises appropriate alarms about HW being hosed, but that entire thing still keeps working.

NACM rules prevent changing one's own password

$ ssh dwdm@xxx
Connected via NETCONF [datastore target: operational]
/> prepare /czechlight-system:authentication/users[name='dwdm']/change-password/
(prepare: /czechlight-system:authentication/users[name='dwdm']/change-password) > set password-cleartext "XXX"
(prepare: /czechlight-system:authentication/users[name='dwdm']/change-password) > exec
Path: /czechlight-system:authentication/users[name='dwdm']/change-passwordError: Executing the operation is denied because "dwdm" NACM authorization failed.

Apart from the obvious issue (I cannot change my own password), the error formatting is funny.

test-sysrepo_system-ietfinterfaces fails with libyang error "Node already exists"

I have a funny networking setup at home. I usually have my regular Ethernet interface, then on top of that one or two VLANs, and in addition to that, a Wireguard VPN to the lab and an active WIFI. Here's how the test suite fails, this time with just one VLAN and that Wireguard tunnel:

$ ctest -j666 --output-on-failure -R test-sysrepo_system-ietfinterfaces
Test project /home/jkt/work/prog/_build/czechlight-tsan-cl11/velia
    Start 17: sysrepo:prep:sysrepo-czechlight-network
1/3 Test #17: sysrepo:prep:sysrepo-czechlight-network ....   Passed    2.02 sec
    Start 19: test-sysrepo_system-ietfinterfaces
2/3 Test #19: test-sysrepo_system-ietfinterfaces .........***Failed    0.83 sec
08.023 [417262 sysrepo I] Applying scheduled changes.
08.185 [417262 sysrepo I] File "[email protected]" was installed.
08.185 [417262 sysrepo I] Module "czechlight-network" was installed.
08.193 [417262 sysrepo I] Scheduled changes applied.
08.196 [417262 sysrepo I] Connection 135 created.
08.196 [417262 sysrepo I] Session 15 (user "jkt", CID 135) created.
08.213 [417262 sysrepo I] Scheduled changes not applied because of other existing connections.
08.281 [417262 sysrepo I] Connection 136 created.
08.281 [417262 sysrepo I] Session 16 (user "jkt", CID 136) created.
08.283 [417262 system T] Netlink update on link 'lo', action NEW
08.283 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='lo']/oper-status -> unknown
08.283 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='lo']/phys-address -> 00:00:00:00:00:00
08.283 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='lo']/type -> iana-if-type:softwareLoopback
08.284 [417262 system T] Netlink update on link 'enp2s0f0', action NEW
08.284 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='enp2s0f0']/oper-status -> up
08.284 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='enp2s0f0']/phys-address -> 00:2b:67:c3:58:b2
08.285 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='enp2s0f0']/type -> iana-if-type:ethernetCsmacd
08.286 [417262 system T] Netlink update on link 'wlp3s0', action NEW
08.286 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='wlp3s0']/oper-status -> up
08.286 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='wlp3s0']/phys-address -> 34:cf:f6:f1:af:36
08.287 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='wlp3s0']/type -> iana-if-type:ethernetCsmacd
08.289 [417262 system T] Netlink update on link 'virbr0', action NEW
08.289 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='virbr0']/oper-status -> down
08.289 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='virbr0']/phys-address -> 52:54:00:76:37:a3
08.289 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='virbr0']/type -> iana-if-type:bridge
08.292 [417262 system T] Netlink update on link 'fitlab', action NEW
08.292 [417262 system W] Encountered unknown interface type 65534, using 'iana-if-type:other'
08.292 [417262 main T] Processing node deletion /ietf-interfaces:interfaces/interface[name='fitlab']/phys-address
08.292 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='fitlab']/oper-status -> unknown
08.292 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='fitlab']/type -> iana-if-type:other
08.295 [417262 system T] Netlink update on link 'vlan-okorska', action NEW
08.295 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='vlan-okorska']/oper-status -> up
08.295 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='vlan-okorska']/phys-address -> 00:2b:67:c3:58:b2
08.295 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='vlan-okorska']/type -> iana-if-type:ethernetCsmacd
08.299 [417262 system T] Netlink update on address of link 'lo', action NEW
08.299 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='lo']/ietf-ip:ipv4/address[ip='127.0.0.1']/prefix-length -> 8
08.302 [417262 system T] Netlink update on address of link 'enp2s0f0', action NEW
08.303 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='enp2s0f0']/ietf-ip:ipv4/address[ip='78.45.154.159']/prefix-length -> 24
08.306 [417262 system T] Netlink update on address of link 'wlp3s0', action NEW
08.306 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='wlp3s0']/ietf-ip:ipv4/address[ip='172.26.133.20']/prefix-length -> 24
08.311 [417262 system T] Netlink update on address of link 'virbr0', action NEW
08.311 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='virbr0']/ietf-ip:ipv4/address[ip='192.168.122.1']/prefix-length -> 24
08.315 [417262 system T] Netlink update on address of link 'fitlab', action NEW
08.315 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='fitlab']/ietf-ip:ipv4/address[ip='10.0.253.3']/prefix-length -> 24
08.320 [417262 system T] Netlink update on address of link 'vlan-okorska', action NEW
08.320 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='vlan-okorska']/ietf-ip:ipv4/address[ip='172.26.133.33']/prefix-length -> 24
08.325 [417262 system T] Netlink update on address of link 'lo', action NEW
08.325 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='lo']/ietf-ip:ipv6/address[ip='::1']/prefix-length -> 128
08.330 [417262 system T] Netlink update on address of link 'enp2s0f0', action NEW
08.330 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='enp2s0f0']/ietf-ip:ipv6/address[ip='fe80::1c41:8d4:1037:f913']/prefix-length -> 64
08.336 [417262 system T] Netlink update on address of link 'wlp3s0', action NEW
08.336 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='wlp3s0']/ietf-ip:ipv6/address[ip='fe80::c817:f9fb:2953:3ab5']/prefix-length -> 64
08.342 [417262 system T] Netlink update on address of link 'virbr0', action NEW
08.342 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='virbr0']/ietf-ip:ipv6/address[ip='fe80::5054:ff:fe76:37a3']/prefix-length -> 64
08.349 [417262 system T] Netlink update on address of link 'fitlab', action NEW
08.349 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='fitlab']/ietf-ip:ipv6/address[ip='fe80::dafe:ee2a:12b0:910f']/prefix-length -> 64
08.356 [417262 system T] Netlink update on address of link 'vlan-okorska', action NEW
08.356 [417262 main T] Processing node update /ietf-interfaces:interfaces/interface[name='vlan-okorska']/ietf-ip:ipv6/address[ip='fe80::9533:3407:9edc:c4dd']/prefix-length -> 64
08.364 [417262 main T] Processing node update /ietf-routing:routing/ribs/rib[name='ipv4-master']/routes/route[10]/ietf-ipv4-unicast-routing:destination-prefix -> 192.168.122.0/24
08.364 [417262 main T] Processing node update /ietf-routing:routing/ribs/rib[name='ipv4-master']/routes/route[10]/next-hop/outgoing-interface -> virbr0
08.364 [417262 main T] Processing node update /ietf-routing:routing/ribs/rib[name='ipv4-master']/routes/route[10]/source-protocol -> direct
08.364 [417262 main T] Processing node update /ietf-routing:routing/ribs/rib[name='ipv4-master']/routes/route[1]/ietf-ipv4-unicast-routing:destination-prefix -> 0.0.0.0/0
libyang[0]: Node already exists. (path: /ietf-routing:routing/ribs/rib[name='ipv4-master']/routes/route[1]/ietf-ipv4-unicast-routing:destination-prefix)
[doctest] doctest version is "2.3.8"
[doctest] run with "--help" for options
===============================================================================
/home/jkt/work/cesnet/gerrit/CzechLight/velia/tests/sysrepo_system-ietfinterfaces.cpp:15:
TEST CASE:  ietf-interfaces localhost

/home/jkt/work/cesnet/gerrit/CzechLight/velia/tests/sysrepo_system-ietfinterfaces.cpp:15: ERROR: test case THREW exception: Node already exists.

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.