-
Notifications
You must be signed in to change notification settings - Fork 195
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
Netplan state diff #386
Netplan state diff #386
Commits on Nov 27, 2023
-
netdef: simplify NetplanRoute __eq__ and __hash__
There are some fields that exist in Netplan but not in the system and vice-versa, such as on-link and protocol. Using the default dataclass methods makes it harder to compare objects.
Configuration menu - View commit details
-
Copy full SHA for 61316b5 - Browse repository at this point
Copy the full SHA 61316b5View commit details
Commits on Nov 29, 2023
-
state_diff: add the new state_diff submodule
The state_diff submodule is responsible for comparing system's and netplan's states and calculating the differences. The new class NetplanDiffState must be instantiated with both states. The method get_full_state() will return both system's and netplan's states without calculating the differences. The diff calculation will be added in the next commits.
Configuration menu - View commit details
-
Copy full SHA for d103617 - Browse repository at this point
Copy the full SHA d103617View commit details -
state_diff: add the get_diff() method
The get_diff() will calculate the differences between system's and Netplan's states and return a report to the caller. This commit adds support for checking what interfaces are present only in one of the states.
Configuration menu - View commit details
-
Copy full SHA for 68e998e - Browse repository at this point
Copy the full SHA 68e998eView commit details -
state_diff: add support for IP addresses analysis
get_diff() will compare and report differences in the addresses present in the system and Netplan. Addresses detected as dynamically assigned will not be reported as missing as they will not be defined in Netplan.
Configuration menu - View commit details
-
Copy full SHA for 336905a - Browse repository at this point
Copy the full SHA 336905aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a9ea67 - Browse repository at this point
Copy the full SHA 7a9ea67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5605817 - Browse repository at this point
Copy the full SHA 5605817View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea58943 - Browse repository at this point
Copy the full SHA ea58943View commit details -
state_diff: add support for routes analysis
A number of heuristics are implemented to eliminate routes we don't want to compare, such as routes installed dynamically, as they will not be found in Netplan.
Configuration menu - View commit details
-
Copy full SHA for 2969a3f - Browse repository at this point
Copy the full SHA 2969a3fView commit details -
state_diff: add a JSON encoder for NetplanRoutes
It will be used to serialize the state and diff.
Configuration menu - View commit details
-
Copy full SHA for 65a1921 - Browse repository at this point
Copy the full SHA 65a1921View commit details -
state_diff: add more information to the missing_interfaces result
For netplan interfaces add the name and type. For system interfaces add the name, type and index.
Configuration menu - View commit details
-
Copy full SHA for df64595 - Browse repository at this point
Copy the full SHA df64595View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59d8a19 - Browse repository at this point
Copy the full SHA 59d8a19View commit details -
tools/diff.py: add a temporary tool to test netplan diff
Also add a few integrations tests that use tools/diff.py to test the diff against a running system configured with Netplan.
Configuration menu - View commit details
-
Copy full SHA for 5fddf54 - Browse repository at this point
Copy the full SHA 5fddf54View commit details