-
Notifications
You must be signed in to change notification settings - Fork 77
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
Version 3.9.0 #318
base: master
Are you sure you want to change the base?
Version 3.9.0 #318
Conversation
Default MAC addresses can now be defined as iface_default policy $ cat /var/lib/ifupdown2/policy.d/mac.json { "address": { "iface_defaults": { "swp1": {"hwaddress": "7a:43:9e:c0:e0:42"} } } } The usecase being, how to revert to a base mac once the hwaddress attribute is removed from ENI. Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
In diff mode SVI won't be processed if their config hasn't changed. We need to do a specific fdb check during bridge processing and purge stale macs. This commit includes an incremental fix by Scott Laffer: Fix logic in bridge stale perm fdb handling not to delete VRR vlan entries In the scenario where only a bridge interface is up'd (i.e. it's the only thing in the run queue in a diff-based apply), permanent fdb entries for VRR interfaces were being incorrectly marked as stale and deleted from the fdb. This patch updates the logic to not only match the bridge's own MAC address but any permanent entry on the bridge device itself. Signed-off-by: Julien Fortin <[email protected]>
When a switch port is enslaved to a bond we don't manage its mac address anymore - all port have the same mac. Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
…plied when it is part of a bond Changing bond member port mac addr should not get applied when it is part of a bond Problem description: Changing the hwaddress of a bond slave is not updating the bond interface's hwaddress. Fix description: Block changing the hwaddress of a bond slave Testcases covered: 1. change the hwaddress of an existing bond slave through nvue 2. Edit the eni file to add the port in bridge, see the hwaddress set through ifquery and 'ip link show', remove the port from bridge and add it to bond interface and change the hwaddress. do 'ifreload -a' and ifquery displays the changed hwaddress but 'ip link show' displays the older hwaddress and so does the bond intf. Signed-off-by: Julien Fortin <[email protected]>
…l in e/n/i stanza is rendered with values like "none" Signed-off-by: Julien Fortin <[email protected]>
Previous commit 4cfd51f broke test_bridge7_macvlans which is using mac address with single digit segments: 42:38:39:FF:0:1 The regex is also compiled and moved to init to only do it once. Signed-off-by: Julien Fortin <[email protected]>
DAD must be disabled on macvlan/VRR interfaces as they share the same MAC (and thus link-local IPv6 address). The sysctl accept_dad must be set to 0 before setting the link UP otherwise DAD might trigger before we reset the sysctl to 0. Signed-off-by: Andy Roulin <[email protected]> Signed-off-by: Julien Fortin <[email protected]>
if the interface is down we won't be able to get the speed skip the speed check Signed-off-by: Julien Fortin <[email protected]>
The bond slave speed check has been causing issues over the past few months It is not critical to have it so I prefer to remove it for now. Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
… bond slave Signed-off-by: Julien Fortin <[email protected]>
…sion ^_?([A-Z_][a-zA-Z0-9]*|[a-z_][a-z0-9_]*)$. Signed-off-by: Julien Fortin <[email protected]>
IFLA_BR_MCAST_HASH_ELASTICITY: Set multicast database hash elasticity, It is the maximum chain length in the multicast hash table. This attribute is deprecated and the value is always 16. Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
…g conflicts Signed-off-by: Julien Fortin <[email protected]>
If the policy is enabled (true/false) dhclient wont wait (-nw) (except in case of networking restart or reboot) Signed-off-by: Julien Fortin <[email protected]>
…egular expression ^[_a-z][a-z0-9_]*$. Signed-off-by: Julien Fortin <[email protected]>
Issue: 3364956 Signed-off-by: Julien Fortin <[email protected]>
Default route is missing after the dhcp interface is cycled through link-down yes/no This requires a full dhcp down-up cycle as well. Signed-off-by: Julien Fortin <[email protected]>
…h is already caught. ImportError is the parent classs of ModuleNotFoundError Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
…unused var Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
@aderumier @sohorx @svenauhagen @BarbarossaTM @wido @lachbaer @vincentbernat @virtualized-human @lawli3t @jkklemm @OlivierB @itzwam @tomvil @moepman FYI, here is version 3.9.0 (about 100 commits, fixes and new features). I will keep it in the dev branch for a few weeks if you guys want to test it. The goal is to merge it to master in Jan 2025. Version 3.10 will have some of the community PRs. |
oh this is huge :) I'll try to take time to test it next month. Perfect time for debian13 (and proxmox 9 ;) |
i will start compiling it and deploy it to my current setup |
when building the depedencys where not right from the readme.md: e.g. ======================================================================
ERROR: tests.test_l3 (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: tests.test_l3
Traceback (most recent call last):
File "/usr/lib/python3.10/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/usr/lib/python3.10/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/home/jaromir/Nextcloud/cloud.virtualized.app/Dokumente/GIT/github.com/virtualized-human/ifupdown2/.pybuild/cpython3_3.10_ifupdown2/build/tests/test_l3.py", line 1, in <module>
from .conftest import ENI, assert_identical_json
File "/home/jaromir/Nextcloud/cloud.virtualized.app/Dokumente/GIT/github.com/virtualized-human/ifupdown2/.pybuild/cpython3_3.10_ifupdown2/build/tests/conftest.py", line 11, in <module>
from scp import SCPClient
ModuleNotFoundError: No module named 'scp'
----------------------------------------------------------------------
Ran 3 tests in 0.000s fix: install python3-scp also python3-pytest seems to be new as well as deepdiff and some others. the installation command is e.g. Also im currently running into annother problem when using error: can't copy 'ifupdown2/ifupdown2d': doesn't exist or not a regular file while compiling. It seems that the path is wrong. it does not exist in reality and also not in the repo. |
@virtualized-human thanks for the feedback, i will look into that! |
@virtualized-human please give it another try, i have updated debian/rules to ignore tests during the build. |
debian/rules:20: *** Missing separator. Conclusion.
dpkg-buildpackage: error: subprocess fakeroot debian/rules clean returned exit status 2
debuild: fatal error in line 1182:
dpkg-buildpackage -rfakeroot -us -uc -ui -b failed
make: *** [Makefile:96: deb] error 29 |
i commented out #override_dh_auto_test:
# @echo "Skipping tests during the build process." in the debian/rules file and now it seems to work (the build). |
The |
i pulled the last release it still drops the same error |
#!/usr/bin/make -f
#export DH_VERBOSE=1
export PYBUILD_NAME=ifupdown2
export PYBUILD_INSTALL_ARGS=--install-lib=/usr/share/ --install-scripts=/usr/share/
%:
dh $@ --with=python3 --with systemd --buildsystem=pybuild
override_dh_installman:
./ifupdown2/man/genmanpages.sh ./ifupdown2/man ./man
dh_installman
override_dh_install:
dh_install
mkdir -p debian/ifupdown2/lib/systemd/system/
install --mode=644 debian/[email protected] debian/ifupdown2/lib/systemd/system/
override_dh_auto_test:
@echo "Skipping tests during the build process."
override_dh_systemd_start:
dh_systemd_start --name=networking --no-start
override_dh_systemd_enable:
dh_systemd_enable --name=networking
override_dh_compress:
dh_compress -X.py |
well i think the ide pushed wrong aigan. i replaced it with the right tab char and it works |
Signed-off-by: Julien Fortin <[email protected]>
yea its fine now :D |
@julienfortin vrf seems not to work, i have the issue on 3.9.0 (in testing currently for me) and also for 3.3.0 with debian 12 systems, the file /etc/iproute2/rt_tables.d/ifupdown2_vrf_map.conf: # This file is autogenerated by ifupdown2.
# It contains the vrf name to table mapping.
# Reserved table range 1001 5000 interfaces config: root@vrrp-test1:~# cat /etc/network/interfaces.d/50-cloud-init
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
auto lo
iface lo inet loopback
dns-nameservers 9.9.9.9 149.112.112.112 2620:fe::fe
auto eth0
iface eth0 inet static
address 45.132.96.83/32
gateway 45.132.96.1
vrf-table auto
vrf blue here is debuging: ifdown eth0; ifup -d eth0
debug: args = Namespace(all=False, iflist=['eth0'], verbose=False, debug=True, quiet=False, CLASS=None, withdepends=False, perfmode=False, nocache=False, excludepats=None, interfacesfile=None, interfacesfileformat='native', type=None, syntaxcheck=False, skipupperifaces=False, force=False, syslog=False, systemd=False, noact=False, printdependency=None, noaddons=False, version=None, lockfile='/run/network/.lock', nldebug=False)
debug: creating ifupdown object ..
info: requesting link dump
info: requesting address dump
info: requesting netconf dump
debug: nlcache: reset errorq
debug: {'enable_persistent_debug_logging': 'yes', 'use_daemon': 'no', 'template_enable': '1', 'template_engine': 'mako', 'template_lookuppath': '/etc/network/ifupdown2/templates', 'default_interfaces_configfile': '/etc/network/interfaces', 'disable_cli_interfacesfile': '0', 'addon_syntax_check': '0', 'addon_scripts_support': '1', 'addon_python_modules_support': '1', 'multiple_vlan_aware_bridge_support': '0', 'ifquery_check_success_str': 'pass', 'ifquery_check_error_str': 'fail', 'ifquery_check_unknown_str': '', 'ifquery_ifacename_expand_range': '0', 'link_master_slave': '0', 'delay_admin_state_change': '0', 'ifreload_down_changed': '0', 'addr_config_squash': '0', 'ifaceobj_squash': '0', 'adjust_logical_dev_mtu': '1', 'state_dir': '/var/tmp/network/', 'no_repeats': {'bridge-vlan-aware': 'yes'}}
info: loading builtin modules from ['/usr/share/ifupdown2/addons']
info: module openvswitch not loaded (module init failed: no /usr/bin/ovs-vsctl found)
info: module openvswitch_port not loaded (module init failed: no /usr/bin/ovs-vsctl found)
info: module ppp not loaded (module init failed: no /usr/bin/pon found)
info: module batman_adv not loaded (module init failed: no /usr/sbin/batctl found)
debug: bridge: using reserved vlan range (0, 0)
debug: bridge: init: warn_on_untagged_bridge_absence=False
debug: bridge: init: vxlan_bridge_default_igmp_snooping=None
debug: bridge: init: arp_nd_suppress_only_on_vxlan=False
debug: bridge: init: bridge_always_up_dummy_brport=None
info: executing /sbin/sysctl net.bridge.bridge-allow-multiple-vlans
debug: bridge: init: multiple vlans allowed True
info: executing lsb_release -a
info: module mstpctl not loaded (module init failed: no /sbin/mstpctl found)
info: executing /bin/ip rule show
info: executing /bin/ip -6 rule show
info: address: using default mtu 1500
info: address: max_mtu undefined
debug: policy: default_loopback_scope set to None
info: executing /usr/sbin/ip vrf id
info: mgmt vrf_context = False
debug: dhclient: dhclient_retry_on_failure set to 0
info: executing /bin/ip addr help
info: address metric support: OK
info: module ppp not loaded (module init failed: no /usr/bin/pon found)
info: module mstpctl not loaded (module init failed: no /sbin/mstpctl found)
info: module batman_adv not loaded (module init failed: no /usr/sbin/batctl found)
info: module openvswitch_port not loaded (module init failed: no /usr/bin/ovs-vsctl found)
info: module openvswitch not loaded (module init failed: no /usr/bin/ovs-vsctl found)
info: looking for user scripts under /etc/network
info: loading scripts under /etc/network/if-pre-up.d ...
info: loading scripts under /etc/network/if-up.d ...
info: loading scripts under /etc/network/if-post-up.d ...
info: loading scripts under /etc/network/if-pre-down.d ...
info: loading scripts under /etc/network/if-down.d ...
info: loading scripts under /etc/network/if-post-down.d ...
info: using mgmt iface default prefix eth
info: processing interfaces file /etc/network/interfaces
debug: processing sourced line ..'source /etc/network/interfaces.d/*'
info: processing interfaces file /etc/network/interfaces.d/50-cloud-init
debug: eth0: marking interface with mgmt flag
debug: scheduling '['pre-up', 'up', 'post-up']' for ['eth0']
debug: dependency graph {
lo : []
eth0 : []
}
debug: full run queue: ['eth0']
info: eth0: running ops ...
info: executing mstpctl clearmodepvrst
debug: mstpctl clearmodepvrst failed: cmd 'mstpctl clearmodepvrst' failed ([Errno 2] No such file or directory: 'mstpctl')
debug: eth0: pre-up : running module xfrm
debug: eth0: pre-up : running module link
debug: eth0: pre-up : running module bond
debug: eth0: pre-up : running module vlan
debug: eth0: pre-up : running module vxlan
debug: eth0: pre-up : running module usercmds
debug: eth0: pre-up : running module bridge
debug: eth0: pre-up : running module bridgevlan
debug: eth0: pre-up : running module tunnel
debug: eth0: pre-up : running module vrf
info: vrf: syncing table map to /etc/iproute2/rt_tables.d/ifupdown2_vrf_map.conf
info: vrf: dumping iproute2_vrf_map
info: {}
debug: File "/usr/sbin/ifup", line 142, in <module>
sys.exit(main())
File "/usr/sbin/ifup", line 130, in main
return stand_alone()
File "/usr/sbin/ifup", line 109, in stand_alone
status = ifupdown2.main()
File "/usr/share/ifupdown2/ifupdown/main.py", line 82, in main
self.handlers.get(self.op)(self.args)
File "/usr/share/ifupdown2/ifupdown/main.py", line 197, in run_up
ifupdown_handle.up(['pre-up', 'up', 'post-up'],
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1832, in up
ret = self._sched_ifaces(filtered_ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1558, in _sched_ifaces
ifaceScheduler.sched_ifaces(self, ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 615, in sched_ifaces
cls.run_iface_list(ifupdownobj, run_queue, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 338, in run_iface_list
cls.run_iface_graph(ifupdownobj, ifacename, ops, parent,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 323, in run_iface_graph
cls.run_iface_list_ops(ifupdownobj, ifaceobjs, ops)
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 199, in run_iface_list_ops
cls.run_iface_op(ifupdownobj, ifaceobj, op,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 119, in run_iface_op
m.run(ifaceobj, op,
File "/usr/share/ifupdown2/addons/vrf.py", line 1143, in run
op_handler(self, ifaceobj, ifaceobj_getfunc=ifaceobj_getfunc)
File "/usr/share/ifupdown2/addons/vrf.py", line 880, in _up
self._up_vrf_dev(ifaceobj, vrf_table, True, ifaceobj_getfunc)
File "/usr/share/ifupdown2/addons/vrf.py", line 780, in _up_vrf_dev
vrf_table = self._create_vrf_dev(ifaceobj, vrf_table)
File "/usr/share/ifupdown2/addons/vrf.py", line 748, in _create_vrf_dev
self.log_error('unable to get vrf table id', ifaceobj)
File "/usr/share/ifupdown2/ifupdownaddons/modulebase.py", line 126, in log_error
stack = traceback.format_stack()
debug: NoneType: None
debug: File "/usr/sbin/ifup", line 142, in <module>
sys.exit(main())
File "/usr/sbin/ifup", line 130, in main
return stand_alone()
File "/usr/sbin/ifup", line 109, in stand_alone
status = ifupdown2.main()
File "/usr/share/ifupdown2/ifupdown/main.py", line 82, in main
self.handlers.get(self.op)(self.args)
File "/usr/share/ifupdown2/ifupdown/main.py", line 197, in run_up
ifupdown_handle.up(['pre-up', 'up', 'post-up'],
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1832, in up
ret = self._sched_ifaces(filtered_ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1558, in _sched_ifaces
ifaceScheduler.sched_ifaces(self, ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 615, in sched_ifaces
cls.run_iface_list(ifupdownobj, run_queue, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 338, in run_iface_list
cls.run_iface_graph(ifupdownobj, ifacename, ops, parent,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 323, in run_iface_graph
cls.run_iface_list_ops(ifupdownobj, ifaceobjs, ops)
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 199, in run_iface_list_ops
cls.run_iface_op(ifupdownobj, ifaceobj, op,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 119, in run_iface_op
m.run(ifaceobj, op,
File "/usr/share/ifupdown2/addons/vrf.py", line 1143, in run
op_handler(self, ifaceobj, ifaceobj_getfunc=ifaceobj_getfunc)
File "/usr/share/ifupdown2/addons/vrf.py", line 880, in _up
self._up_vrf_dev(ifaceobj, vrf_table, True, ifaceobj_getfunc)
File "/usr/share/ifupdown2/addons/vrf.py", line 782, in _up_vrf_dev
self.log_error('%s: %s' %(ifaceobj.name, str(e)), ifaceobj)
File "/usr/share/ifupdown2/ifupdownaddons/modulebase.py", line 126, in log_error
stack = traceback.format_stack()
debug: Traceback (most recent call last):
File "/usr/share/ifupdown2/addons/vrf.py", line 780, in _up_vrf_dev
vrf_table = self._create_vrf_dev(ifaceobj, vrf_table)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/ifupdown2/addons/vrf.py", line 748, in _create_vrf_dev
self.log_error('unable to get vrf table id', ifaceobj)
File "/usr/share/ifupdown2/ifupdownaddons/modulebase.py", line 133, in log_error
raise ModuleBaseException(msg)
ifupdownaddons.modulebase.ModuleBaseException: unable to get vrf table id
debug: File "/usr/sbin/ifup", line 142, in <module>
sys.exit(main())
File "/usr/sbin/ifup", line 130, in main
return stand_alone()
File "/usr/sbin/ifup", line 109, in stand_alone
status = ifupdown2.main()
File "/usr/share/ifupdown2/ifupdown/main.py", line 82, in main
self.handlers.get(self.op)(self.args)
File "/usr/share/ifupdown2/ifupdown/main.py", line 197, in run_up
ifupdown_handle.up(['pre-up', 'up', 'post-up'],
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1832, in up
ret = self._sched_ifaces(filtered_ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1558, in _sched_ifaces
ifaceScheduler.sched_ifaces(self, ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 615, in sched_ifaces
cls.run_iface_list(ifupdownobj, run_queue, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 338, in run_iface_list
cls.run_iface_graph(ifupdownobj, ifacename, ops, parent,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 323, in run_iface_graph
cls.run_iface_list_ops(ifupdownobj, ifaceobjs, ops)
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 199, in run_iface_list_ops
cls.run_iface_op(ifupdownobj, ifaceobj, op,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 119, in run_iface_op
m.run(ifaceobj, op,
File "/usr/share/ifupdown2/addons/vrf.py", line 1143, in run
op_handler(self, ifaceobj, ifaceobj_getfunc=ifaceobj_getfunc)
File "/usr/share/ifupdown2/addons/vrf.py", line 911, in _up
self.log_error(str(e), ifaceobj)
File "/usr/share/ifupdown2/ifupdownaddons/modulebase.py", line 126, in log_error
stack = traceback.format_stack()
debug: Traceback (most recent call last):
File "/usr/share/ifupdown2/addons/vrf.py", line 780, in _up_vrf_dev
vrf_table = self._create_vrf_dev(ifaceobj, vrf_table)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/ifupdown2/addons/vrf.py", line 748, in _create_vrf_dev
self.log_error('unable to get vrf table id', ifaceobj)
File "/usr/share/ifupdown2/ifupdownaddons/modulebase.py", line 133, in log_error
raise ModuleBaseException(msg)
ifupdownaddons.modulebase.ModuleBaseException: unable to get vrf table id
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/share/ifupdown2/addons/vrf.py", line 880, in _up
self._up_vrf_dev(ifaceobj, vrf_table, True, ifaceobj_getfunc)
File "/usr/share/ifupdown2/addons/vrf.py", line 782, in _up_vrf_dev
self.log_error('%s: %s' %(ifaceobj.name, str(e)), ifaceobj)
File "/usr/share/ifupdown2/ifupdownaddons/modulebase.py", line 133, in log_error
raise ModuleBaseException(msg)
ifupdownaddons.modulebase.ModuleBaseException: eth0: unable to get vrf table id
error: eth0: unable to get vrf table id
debug: eth0: pre-up : running module ethtool
debug: eth0: pre-up : running module address
info: executing /sbin/sysctl net.mpls.conf.eth0.input=0
debug: eth0: up : running module dhcp
debug: eth0: up : running module address
info: executing /bin/ip route replace table blue default via 45.132.96.1 proto kernel dev eth0 onlink
debug: File "/usr/sbin/ifup", line 142, in <module>
sys.exit(main())
File "/usr/sbin/ifup", line 130, in main
return stand_alone()
File "/usr/sbin/ifup", line 109, in stand_alone
status = ifupdown2.main()
File "/usr/share/ifupdown2/ifupdown/main.py", line 82, in main
self.handlers.get(self.op)(self.args)
File "/usr/share/ifupdown2/ifupdown/main.py", line 197, in run_up
ifupdown_handle.up(['pre-up', 'up', 'post-up'],
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1832, in up
ret = self._sched_ifaces(filtered_ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 1558, in _sched_ifaces
ifaceScheduler.sched_ifaces(self, ifacenames, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 615, in sched_ifaces
cls.run_iface_list(ifupdownobj, run_queue, ops,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 338, in run_iface_list
cls.run_iface_graph(ifupdownobj, ifacename, ops, parent,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 323, in run_iface_graph
cls.run_iface_list_ops(ifupdownobj, ifaceobjs, ops)
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 199, in run_iface_list_ops
cls.run_iface_op(ifupdownobj, ifaceobj, op,
File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 119, in run_iface_op
m.run(ifaceobj, op,
File "/usr/share/ifupdown2/addons/address.py", line 1652, in run
op_handler(self, ifaceobj,
File "/usr/share/ifupdown2/addons/address.py", line 1239, in _up
self._add_delete_gateway(ifaceobj, gateways, prev_gw)
File "/usr/share/ifupdown2/addons/address.py", line 781, in _add_delete_gateway
self.log_error('%s: %s' % (ifaceobj.name, str(e)))
File "/usr/share/ifupdown2/ifupdownaddons/modulebase.py", line 126, in log_error
stack = traceback.format_stack()
debug: Traceback (most recent call last):
File "/usr/share/ifupdown2/addons/address.py", line 779, in _add_delete_gateway
self.iproute2.route_add_gateway(ifaceobj.name, add_gw, vrf, metric, onlink=self.l3_intf_default_gateway_set_onlink)
File "/usr/share/ifupdown2/lib/iproute2.py", line 894, in route_add_gateway
utils.exec_command(cmd)
File "/usr/share/ifupdown2/ifupdown/utils.py", line 437, in exec_command
return cls._execute_subprocess(shlex.split(cmd),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/ifupdown2/ifupdown/utils.py", line 415, in _execute_subprocess
raise UtilsException(cls._format_error(cmd,
ifupdown.utils.UtilsException: cmd '/bin/ip route replace table blue default via 45.132.96.1 proto kernel dev eth0 onlink' failed: returned 255 (Error: argument "blue" is wrong: "table" value is invalid
)
error: eth0: cmd '/bin/ip route replace table blue default via 45.132.96.1 proto kernel dev eth0 onlink' failed: returned 255 (Error: argument "blue" is wrong: "table" value is invalid
)
debug: eth0: up : running module addressvirtual
debug: eth0: up : running module usercmds
debug: eth0: up : running script /etc/network/if-up.d/000resolvconf
info: executing /etc/network/if-up.d/000resolvconf
debug: eth0: post-up : running module usercmds
debug: eth0: statemanager sync state pre-up
debug: saving state ..
info: exit status 1 in 0:00:00.658036 iproute2 version: ||/ Name Version Architecture Description
+++-==============-============-============-====================================
ii iproute2 6.1.0-3 amd64 networking and traffic control tools |
mstpctl-pvrst-mode (on/off): Enable/disable PVRST mode
mstpctl-vlan-priority (range 4096-32768)
mstpctl-vlan-hello (range 1-10)
mstpctl-vlan-fdelay (range 4-30)
mstpctl-vlan-maxage (range 6-40)
mstpctl-port-vlan-path-cost (range 1-200000000)
mstpctl-port-vlan-priority (range 0-240)