Age | Commit message (Collapse) | Author |
|
Added a new service that starts before Cloud-init, waits for all network
interfaces initialization, and if requested by config, checks which interfaces
can get configuration via DHCP server and creates a corresponding Cloud-init
network configuration.
This protects from two situations:
* when Cloud-init tries to get meta-data via eth0 (default and fallback variant
for any data source which depends on network), but the real network is connected
to another interface
* when Cloud-init starts simultaneously with udev and initializes the first
interface to get meta-data before it is renamed to eth0 by udev
|
|
Event-handler allows executing a custom script when detects
some configured "pattern regex"
set service event-handler event first filter pattern '.*ssh2.*'
set service event-handler event first script arguments '192.0.2.5'
set service event-handler event first script environment interface value 'eth0'
set service event-handler event first script path '/config/scripts/hello.sh'
It is the backport from 1.4
|
|
(cherry picked from commit fa25d349aebc86e43957f37db765787fb7e431db)
|
|
(cherry picked from commit 5e919d3f91bccaf64878a94756c21766896db132)
|
|
(cherry picked from commit b2ff1407330e383a9fff688376377efc534bcfbc)
|
|
(cherry picked from commit bc70c1f502bc587627b1bd15f6803c6c09d20a66)
|
|
(cherry picked from commit 5a73c946000902f6e445b0803ca090f7fc6e0954)
|
|
In case if a CLI configuration is not available, dhclient cannot add
nameservers to a `resolv.conf` file, because `vyos-hostsd` requires that
an interface be listed in the `set system name-server` option.
This commit introduces two changes:
* `vyos-hostsd` service will not be started before Cloud-Init fetch all
remote data. This is required because all meta-data should be available
for Cloud-Init before any of VyOS-related services start since it is
used for configuration generation.
* the `vyos-hostsd-client` in the `dhclient-script` will be used only if
the `vyos-hostsd` is running. In other words - if VyOS services already
started, dhclient changes `resolv.conf` using `vyos-hostsd`; in other
cases - does this directly.
These changes should protect us from problems with DHCP during system
boot if DHCP is required by third-party utils.
|
|
(cherry picked from commit 4aaf0ba69139d84f89e5c3feee6edd845af8d1e5)
|
|
|
|
(cherry picked from commit f2bdd26c36e7074d093e001656bc649b7c7426d3)
|
|
|
|
Replace the Flask micro-framework with FastAPI, in order to support
extensions to the API and OpenAPI 3.* generation. This change will
remain backwards compatible with previous versions. Notably, the
multipart forms version of requests remain supported; in addition
application/json requests are now natively supported.
(cherry picked from commit 0125fff200efe3259aa25953e7505f69679261f8)
|
|
This reverts commit 184f25819fa43fc892b97c0044813b8aa56855b4.
|
|
(cherry picked from commit 6b48900358ce9b01eaa78e3a086e95a26064f0df)
|
|
|
|
|
|
Lift the default daemon startup rate-limit when launching the dropbear service
used by SSH connections to the console port.
(cherry picked from commit ed622e21c28446e5c4c4e24551627dd940aca8bf)
|
|
|
|
- Upstream interfaces require a DHCPv6 server to be configured
- Listen interface must have a a global unicast address assigned, else
ISC dhcrelay won't start.
|
|
|
|
|
|
|
|
|
|
* set system lcd device <device>
* set system lcd model <modeml>
Both device and model have completion helpers for supported interfaces and LCD
displays.
|
|
t2564-lcd
* 'system-display' of https://github.com/fmertz/vyos-1x:
system display: T2564: Added test model
system display: T2564: Dictionary code update
system display: T2564: Conf files to /run
system display: T2564: Changed "duration" to "time"
system display: T2564: py code cleanup
system display: T2564: Replace "config (enabled|disabled)" with "display disabled"
system display: T2564: Lowercase model names
system display: T2564 Extend VyOS to support appliance LCDs
|
|
|
|
* src/conf_mode/system-display.py conf files to /run
+ src/systemd/LCDd@.service lo
- src/systemd/lcdproc.service
+ src/systemd/lcdproc@.service lo
|
|
Added support for system LCDs under CLI system display
+data/templates/system-display/LCDd.conf.tmpl template for LCDd server configuration file
+data/templates/system-display/lcdproc.conf.tmpl template for lcdproc client configuration file
+interface-definitions/system-display.xml.in CLI for system display
+src/conf_mode/system-display.py processing code for system display
+src/systemd/lcdproc.service systemd service definition file for lcdproc client
CLI:
system display model (SDEC|EZIO)
system display config (enabled|disabled)
system display show host (cpu|cpu-all|cpu-hist|disk|load-hist|memory|proc|uptime)
network interface <intName> alias <alias>
units (bps|Bps|pps)
clock (big|mini|date-time)
title <name>
system display duration <s>
system display hello <string>
system display bye <string>
|
|
T2486: DNS, vyos-hostsd fixes
|
|
StartLimitIntervalSec is part of the [Unit] definition and not the [Service]
definition [1]. This caused the following warning message:
systemd[1]: /lib/systemd/system/dhcp6c@.service:12: Unknown lvalue
'StartLimitIntervalSec' in section 'Service', ignoring
This error has been introduced via commit 992d356 ("dhcpv6-pd: T421: workaround
for non existing interfaces").
[1]: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
|
|
|
|
|
A user can define a port under the SSH node per device. WHen connecting to that
port and authenticating using regular credentials we will immediately drop to
the serial console. This is the same as executing "connect serial-proxy <name>".
|
|
|
|
|
|
Add a 'dhcpd' system user that is a member of hostsd group and can
connect to vyos-hostsd.
Run dhcpd as this user.
|
|
To better control access from other daemons that may not be running as root,
create a new group 'hostsd' to which the other daemons running users can be
added.
Run vyos-hostsd as root:hostsd to create the socket file with correct user and
group.
|
|
- set RuntimeDirectory to vyos-hostsd
- set RuntimeDirectoryPreserve in order to not delete the state file between
service restarts (/run will be deleted across reboots as it's on a tmpfs but
the state doesn't need to be saved across reboots anyway)
- set WorkingDirectory to /run/vyos-hostsd
|
|
When DHCPv6-PD is configured to delegate a prefix to a non existing interface,
it is restarted (systemd default) but will then hit the restart rate-limit which
disables the service entirely.
As VyOS currently has no "hook" to be called once an interface goes online we
need this "try and error" approach until there is a way to deal with it. This
behavior can be reproduced when delegating an IPv6 prefix to a bridge interface
as a bridge interface will always be started after all interfaces have been
configured.
We will now restart dhcp6c as long as the requested interface is online.
|
|
|
|
|
|
|
|
Wide dhcp client forks by itself
|
|
ISC does not support running the client on PPP(oE) interfaces which makes it
unusable for DHCPv6 Prefix Delegation tasks.
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Unsupported device type 512 for "pppoe0"
|
|
The default of systemd services Type=simple isn't suitable for dhcrelay and
other daemons.
- change service type to forking
- add RuntimeDirectory
- set PIDFile
|
|
The default of systemd services Type=simple isn't suitable for dhcrelay and
other daemons.
- change service type to forking
- add RuntimeDirectory
- set PIDFile
|
|
The default of systemd services Type=simple isn't suitable for dhcpd and
other daemons.
- change service type to forking
- add RuntimeDirectory
- set paths to files in Environment
- set PIDFile
- validate config and lease file in ExecStartPre
- add -q to make dhcpd quiet and only log to syslog
- set Restart=always
|
|
The default of systemd services Type=simple isn't suitable for dhcpd and
other daemons.
- change service type to forking
- add RuntimeDirectory
- set paths to files in Environment
- set PIDFile
- validate config and lease file in ExecStartPre
- add -q to make dhcpd quiet and only log to syslog
- set Restart=always
|
|
|