diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000..17575d9 --- /dev/null +++ b/bindep.txt @@ -0,0 +1,4 @@ +libffi-dev [platform:dpkg] +libpq-dev [platform:dpkg] +libxml2-dev [platform:dpkg] +libxslt1-dev [platform:dpkg] diff --git a/src/config.yaml b/src/config.yaml index 1d9e207..fe514cc 100644 --- a/src/config.yaml +++ b/src/config.yaml @@ -7,7 +7,5 @@ options: type: string default: description: | - Setting multiple arbitrary config variables and these - will be converted into dictionary and masakarimonitors.conf will be populated - accordingly. This will enable an operator to have the flexibility for having - multiple arbitrary config flags. + Comma-separated list of key=value config flags. These values will be + placed in the masakarimonitors.conf [DEFAULT] section. diff --git a/src/lib/charm/openstack/masakari_monitors.py b/src/lib/charm/openstack/masakari_monitors.py index 0f47aa7..719deaa 100644 --- a/src/lib/charm/openstack/masakari_monitors.py +++ b/src/lib/charm/openstack/masakari_monitors.py @@ -59,9 +59,3 @@ class MasakariMonitorsCharm(charms_openstack.charm.OpenStackCharm): def install(self): super(MasakariMonitorsCharm, self).install() - - # convert comma seprated list of config_flags into a dictionary - @charms_openstack.adapters.config_property - def user_config_flags(self): - return dict(map(lambda x: x.split('='), - self.config.get('config-flags').split(', '))) diff --git a/src/templates/masakarimonitors.conf b/src/templates/masakarimonitors.conf index 74f1fd1..31689b3 100644 --- a/src/templates/masakarimonitors.conf +++ b/src/templates/masakarimonitors.conf @@ -4,6 +4,9 @@ [DEFAULT] debug = {{ options.debug }} host = {{ options.hostname }} +{% for key, value in options.user_config_flags.items() -%} +{{ key }} = {{ value }} +{% endfor -%} [api] {% if options.use_internal_endpoints == True -%} api_interface = internal @@ -19,9 +22,6 @@ password = {{ identity_credentials.credentials_password }} project_domain_id = {{ identity_credentials.credentials_project_domain_id }} user_domain_id = {{ identity_credentials.credentials_user_domain_id }} region = {{ options.region }} -{% for key, value in options.config_flags.items() -%} -{{ key }} = {{ value }} -{% endfor -%} [callback] [cors] [healthcheck] diff --git a/tox.ini b/tox.ini index e22fe48..f8b34f1 100644 --- a/tox.ini +++ b/tox.ini @@ -91,7 +91,7 @@ commands = stestr run --slowest {posargs} [testenv:pep8] basepython = python3 deps = flake8==3.9.2 - charm-tools==2.8.3 + git+https://github.com/juju/charm-tools.git commands = flake8 {posargs} src unit_tests [testenv:func-target] diff --git a/unit_tests/test_lib_charm_openstack_masakari_monitors.py b/unit_tests/test_lib_charm_openstack_masakari_monitors.py index 45e45ff..bee9687 100644 --- a/unit_tests/test_lib_charm_openstack_masakari_monitors.py +++ b/unit_tests/test_lib_charm_openstack_masakari_monitors.py @@ -51,11 +51,3 @@ class TestMasakariMonitorsCharm(Helper): c.request_credentials() keystone_relation.request_credentials.assert_called_once_with( 'masakari-monitors', project='services') - - def test_user_config_flags(self): - charm = self.\ - _patch_config_and_charm({'config-flags': 'k1=v1, k2=v2'}) - config = charm.user_config_flags() - # Add check here that configuration is as expected. - self.assertEqual(config.get('k1'), "v1") - self.assertEqual(config.get('k2'), "v2")