diff --git a/hooks/neutron_ovs_hooks.py b/hooks/neutron_ovs_hooks.py index 4fa7690a..e5e27931 100755 --- a/hooks/neutron_ovs_hooks.py +++ b/hooks/neutron_ovs_hooks.py @@ -39,6 +39,10 @@ from charmhelpers.core.hookenv import ( from charmhelpers.core.sysctl import create as create_sysctl +from charmhelpers.core.host import ( + is_container, +) + from neutron_ovs_utils import ( DHCP_PACKAGES, DVR_PACKAGES, @@ -120,7 +124,7 @@ def config_changed(): request_nova_compute_restart = True sysctl_settings = config('sysctl') - if sysctl_settings: + if not is_container() and sysctl_settings: create_sysctl(sysctl_settings, '/etc/sysctl.d/50-openvswitch.conf') diff --git a/unit_tests/test_neutron_ovs_hooks.py b/unit_tests/test_neutron_ovs_hooks.py index a8c9766d..27691ab8 100644 --- a/unit_tests/test_neutron_ovs_hooks.py +++ b/unit_tests/test_neutron_ovs_hooks.py @@ -51,6 +51,7 @@ TO_PATCH = [ 'install_tmpfilesd', 'purge_packages', 'determine_purge_packages', + 'is_container', ] NEUTRON_CONF_DIR = "/etc/neutron" @@ -63,6 +64,7 @@ class NeutronOVSHooksTests(CharmTestCase): super(NeutronOVSHooksTests, self).setUp(hooks, TO_PATCH) self.config.side_effect = self.test_config.get + self.is_container.return_value = False hooks.hooks._config_save = False def _call_hook(self, hookname): @@ -122,6 +124,15 @@ class NeutronOVSHooksTests(CharmTestCase): '{foo : bar}', '/etc/sysctl.d/50-openvswitch.conf') + def test_config_changed_sysctl_container(self): + self.test_config.set( + 'sysctl', + '{foo : bar}' + ) + self.is_container.return_value = True + self._call_hook('config-changed') + self.create_sysctl.assert_not_called() + @patch.object(hooks, 'neutron_plugin_joined') def test_config_changed_rocky_upgrade(self, _plugin_joined): self.determine_purge_packages.return_value = ['python-neutron']