Commit graph

49 commits

Author SHA1 Message Date
Ariadne Conill
580f054d7e lifecycle: do not allow lif_lifecycle_run() on a template 2020-09-23 11:39:45 -06:00
Ariadne Conill
4b30dc4573 lifecycle: if lif_config.allow_addon_scripts is disabled, don't run addon scripts 2020-09-14 17:26:45 -06:00
Ariadne Conill
a6e022ad99 lifecycle: re-sort the interface collection by hand 2020-09-09 19:21:41 -06:00
Ariadne Conill
258e2e8a52 lifecycle: return the maximum tree depth for the dependency tree when counting depth 2020-09-09 18:12:13 -06:00
Ariadne Conill
8c8727e30f lifecycle: drop redundant lif_lifecycle_query_dependents().
since we now precompile the full dependency tree, including depths,
we no longer need to re-query each leaf for dependency information.
2020-09-09 17:40:57 -06:00
Ariadne Conill
2569503afa lifecycle: add lif_lifecycle_count_rdepends(), which calculates reverse dependency depth 2020-09-09 17:39:26 -06:00
Ariadne Conill
e6c6f49143 lifecycle: remove redundant lif_state_upsert() call
this will be handled by lif_state_ref_if(), which also updates the
refcounting.
2020-09-09 16:01:04 -06:00
Ariadne Conill
5a0b53cd73 libifupdown: add interface being run for each executor 2020-09-09 15:50:16 -06:00
Ariadne Conill
00da19a381 lifecycle: add create/destroy phases 2020-09-09 14:36:07 -06:00
Ariadne Conill
f139bc2416 lifecycle: consider an interface eligible for takedown if it has only one dependent (itself) 2020-09-08 15:50:32 -06:00
Ariadne Conill
6603ff1000 lifecycle: use refcounting to defer interface teardown 2020-09-08 15:28:36 -06:00
Ariadne Conill
3b10494b40 change lif_interface.is_up to lif_interface.refcount 2020-09-08 14:41:25 -06:00
Ariadne Conill
ae1dc41c88 lifecycle: constify lif_interface access in several functions 2020-09-07 13:41:11 -06:00
Maximilian Wilhelm
570679c5bf lifecycle: Make sure to return true when script dir doesn't exist.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-08-27 12:10:12 +02:00
Maximilian Wilhelm
61ed18db2c lifecycle: Check if script dir exist before executing run-parts.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-08-27 01:15:51 +02:00
Ariadne Conill
4d64176ea3 execute: note the phase each executor is being invoked in 2020-08-26 02:06:36 -06:00
Ariadne Conill
aefaaa7457 lifecycle: only print skipping interface message if verbose 2020-08-24 11:33:56 -06:00
Ariadne Conill
de20e5f8a9 lifecycle: handle executors in reverse order when taking an interface down 2020-08-24 11:04:48 -06:00
Ariadne Conill
aba4b18862 lifecycle: add some helpful debug 2020-08-24 10:36:17 -06:00
Ariadne Conill
e5c592f2c1 remove lif_interface.is_dhcp too 2020-08-20 03:14:57 -06:00
Ariadne Conill
1964a99e5d lifecycle: don't insert a requires entry if it would be empty 2020-07-31 17:12:13 -06:00
Ariadne Conill
edfb91c05f lifecycle: separate environment building into build_environment() 2020-07-29 02:24:10 -06:00
Ariadne Conill
fb5ff4eac2 lifecycle: add support for learning dependents from executors (ref #5) 2020-07-28 13:46:25 -06:00
Ariadne Conill
08805f7de3 lifecycle: handle_commands_for_phase(): drop unused lifname variable 2020-07-26 03:39:58 -06:00
Ariadne Conill
be00984946 lifecycle: stop bringing up links, use link executor instead 2020-07-26 03:38:55 -06:00
Ariadne Conill
12307aeb9d lifecycle: remove static address configuration (replaced with static executor) 2020-07-26 03:20:35 -06:00
Ariadne Conill
cae16c5758 simplify loopback 2020-07-26 02:59:15 -06:00
Ariadne Conill
9e4e17707f lifecycle: expose INTERFACES_FILE env var to executors 2020-07-26 02:50:01 -06:00
Ariadne Conill
7eeb7c98b5 libifupdown: lifecycle: remove built-in dhcp implementation 2020-07-25 02:50:45 -06:00
Ariadne Conill
95a72b5663 libifupdown: lifecycle: implement native executor support 2020-07-25 02:19:15 -06:00
Ariadne Conill
f8c14fc233 libifupdown: lifecycle: if in verbose mode, export VERBOSE to executors 2020-07-25 02:18:53 -06:00
Ariadne Conill
83d64b0a69 libifupdown: lifecycle: IFACE env variable should be set to the logical ifname 2020-07-25 02:18:35 -06:00
Ariadne Conill
d582e405b6 lifecycle: simplify netmask fallback path 2020-07-25 01:02:05 -06:00
Ariadne Conill
60633e4acb lifecycle: add backwards compat for netmask triples 2020-07-25 00:58:32 -06:00
Ariadne Conill
a3c138b9b2 interface-file: add some backwards compatibility hacks with use (ref #3) 2020-07-24 04:39:41 -06:00
Ariadne Conill
5c75cdcab0 libifupdown: inline the tokenization functions 2020-07-24 04:12:42 -06:00
Ariadne Conill
101db509c1 lifecycle: note transient state changes when executing in verbose mode 2020-07-24 03:51:31 -06:00
Ariadne Conill
38537339ab lifecycle: implement requires keyword 2020-07-24 03:42:34 -06:00
Ariadne Conill
b9f1ae8254 lifecycle: rewrite bond-xmit-hash-policy as IF_BOND_XMIT_HASH_POLICY when building env 2020-07-24 01:03:44 -06:00
Ariadne Conill
89f2110254 lifecycle: fix taking default routes down 2020-07-24 00:11:37 -06:00
Ariadne Conill
1824d05bd5 lifecycle: implement support for IF_ env vars based on triples 2020-07-23 11:56:20 -06:00
Ariadne Conill
546e6a5f3a lifecycle: support gateway 2020-07-23 11:15:44 -06:00
Ariadne Conill
95d26df34c lifecycle: refactor address handling a little 2020-07-23 11:08:35 -06:00
Ariadne Conill
933332a6cb lifecycle: add pre-down/post-up to match debian ifupdown 2020-07-23 10:43:14 -06:00
Ariadne Conill
5013dcf6c9 lifecycle: kill dhcp client when called from ifdown 2020-07-23 09:45:52 -06:00
Ariadne Conill
a2f3169716 lifecycle: use /bin/run-parts instead of run-parts 2020-07-23 08:57:52 -06:00
Ariadne Conill
bc9dc32a38 lifecycle: support dhcp 2020-07-23 08:55:46 -06:00
Ariadne Conill
4542c8c32f lifecycle: note dependency resolution todo 2020-07-23 08:52:18 -06:00
Ariadne Conill
da37e87290 add lifecycle management 2020-07-23 08:51:22 -06:00