Use the resolve_CONFIGS function to resolve the current set
of CONFIGS for the charm, rather than directly referencing
the CONFIGS global variable which will not be initialized
during action invocation.
The nf_conntrack module is not loaded early enough on boot,
thus when sysctl options are applied, its settings are not.
This results in the correct sysctl settings seen on deploy
time (because nf_conntrack was loaded previously by others)
but not after reboot, despite configured in /etc/sysctl.d/.
So, insert it in /etc/modules for module auto-load on boot
(available on Trusty via /etc/init/kmod.conf, then Xenial+
via systemd-sysctl.service).
Since users can configure the sysctl option and thus need
more modules, introduce the config option 'kernel-modules'
(with 'nf_conntrack' as default.)
It's handled before sysctl in the config-changed hook in
case some sysctl option(s) needs not yet loaded module(s).
In case of failure to load modules, log a warning message.
Since Rocky, Octavia is a valid alternative as LBaaS.
If enabled, we should not configure Neutron LBaaS(v2)
agent at the same time.
The fact that we configure both means neutron-lbaas-agent
will generate messages on rabbitmq which never gets consumed
and creating alarms on NRPE without any actual issues.
This change introduces an option to disable neutron LBaaS
solution. Once activated, it masks lbaas agent service.