diff options
author | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2023-09-29 09:58:41 +0200 |
---|---|---|
committer | sarthurdev <965089+sarthurdev@users.noreply.github.com> | 2023-09-29 11:40:43 +0200 |
commit | 42ff4d8a7ba7d01037a1e985cb803cd3355a33f2 (patch) | |
tree | 477a4482800b262334c788f432861e22878c4e53 | |
parent | 400df973d3518e9f18cb84b52ca89e08a399e461 (diff) | |
download | vyos-1x-42ff4d8a7ba7d01037a1e985cb803cd3355a33f2.tar.gz vyos-1x-42ff4d8a7ba7d01037a1e985cb803cd3355a33f2.zip |
conntrack: T5376: Fixes for conntrack-sync configdep
Fixes `KeyError: 'conntrack_sync'`
Ignore `ConfigError("ConfigError('Interface eth1 requires an IP address!')")` due to calling conntrack-sync too early
-rw-r--r-- | data/config-mode-dependencies/vyos-1x.json | 21 | ||||
-rwxr-xr-x | src/conf_mode/conntrack.py | 7 |
2 files changed, 23 insertions, 5 deletions
diff --git a/data/config-mode-dependencies/vyos-1x.json b/data/config-mode-dependencies/vyos-1x.json index 72a3d1153..6c86642c7 100644 --- a/data/config-mode-dependencies/vyos-1x.json +++ b/data/config-mode-dependencies/vyos-1x.json @@ -1,10 +1,23 @@ { "conntrack": {"conntrack_sync": ["conntrack_sync"]}, - "firewall": {"conntrack": ["conntrack"], "group_resync": ["conntrack", "nat", "policy-route"]}, + "firewall": { + "conntrack": ["conntrack"], + "conntrack_sync": ["conntrack_sync"], + "group_resync": ["conntrack", "nat", "policy-route"] + }, "http_api": {"https": ["https"]}, - "load_balancing_wan": {"conntrack": ["conntrack"]}, - "nat": {"conntrack": ["conntrack"]}, - "nat66": {"conntrack": ["conntrack"]}, + "load_balancing_wan": { + "conntrack": ["conntrack"], + "conntrack_sync": ["conntrack_sync"] + }, + "nat": { + "conntrack": ["conntrack"], + "conntrack_sync": ["conntrack_sync"] + }, + "nat66": { + "conntrack": ["conntrack"], + "conntrack_sync": ["conntrack_sync"] + }, "pki": { "ethernet": ["interfaces-ethernet"], "openvpn": ["interfaces-openvpn"], diff --git a/src/conf_mode/conntrack.py b/src/conf_mode/conntrack.py index 2c5fa335e..4cece6921 100755 --- a/src/conf_mode/conntrack.py +++ b/src/conf_mode/conntrack.py @@ -212,7 +212,12 @@ def apply(conntrack): module_str = ' '.join(rm_modules) cmd(f'rmmod {module_str}') - call_dependents() + try: + call_dependents() + except ConfigError: + # Ignore config errors on dependent due to being called too early. Example: + # ConfigError("ConfigError('Interface ethN requires an IP address!')") + pass # We silently ignore all errors # See: https://bugzilla.redhat.com/show_bug.cgi?id=1264080 |