canonical / juju-lint

Run checks against a juju model
GNU General Public License v3.0
0 stars 4 forks source link

Make juju-lint aware of unnecessary NRPE checks for LXDs #69

Open zxhdaze opened 6 months ago

zxhdaze commented 6 months ago

The nrpe charm purposely refrains from deploy some of its checks to containers. Examples of suck checks are netlinks and lacp_bonds. Currently, juju-lint is reporting:

2023-03-14 11:53:30 [ERROR] [openstack-bundle.yaml] [manual/manual] Application nrpe has incorrect setting for 'lacp_bonds': Should not be '' 2023-03-14 11:53:30 [ERROR] [openstack-bundle.yaml] [manual/manual] Application nrpe has incorrect setting for 'netlinks': Should not be ''

but that particular nrpe application is related to applications deployed to LXDs, hence the values of these config properties are irrelevant.

Juju-lint shouldn't ERROR on this in order to prevent the user from wasting time checking the app is indeed deployed to a LXD.


Imported from Launchpad using lp2gh.

zxhdaze commented 6 months ago

(by fandanbango) Yeah, so juju-lint supports this by means of the suffixes property. Changing the name of the nrpe app which will be deployed to LXDs only to nrpe-lxd or nrpe-container silences these ERRORS.

zxhdaze commented 6 months ago

(by vultaire) In juju-lint 1.1.0, we're hitting this exact issue, despite the app being named nrpe-lxd:

2023-08-23 11:54:05 [INFO] juju-lint version 1.1.0 starting... [...] 2023-08-23 11:54:06 [ERROR] [openstack-bundle.yaml] [manual/manual] Application nrpe-lxd has incorrect setting for 'lacp_bonds': Should not be '' 2023-08-23 11:54:06 [ERROR] [openstack-bundle.yaml] [manual/manual] Application nrpe-lxd has incorrect setting for 'netlinks': Should not be ''

zxhdaze commented 6 months ago

(by aieri) Can you please share the ruleset you are using? Those two config checks should indeed only be enabled on applications named either nrpe, nrpe-host, or nrpe-physical.

It would also be useful to have a sample bundle that triggers the bug, if possible.

As a sidenote, iirc we did quite a bit of work to make nrpe "just work" across both physical machines and containers, so that it would no longer be necessary to have separate applications (see for example test_06_container_checks in tests/functional/tests/nrpe_tests.py). You should therefore be able to remove nrpe-lxd and relate the standard nrpe app (with lacp and netlinks checks enabled) to your containers.