Juju GUI handling of empty config breaks promulgated charms

Merlijn Sebrechts merlijn.sebrechts at gmail.com
Tue Feb 21 09:44:33 UTC 2017


PS: This bug was reported a few months ago by one of my colleagues, but he
didn't get a reply: https://bugs.launchpad.net/cassandra-charm/+bug/1645821

Is that the correct place to file bugs for the charm?

2017-02-21 10:30 GMT+01:00 Merlijn Sebrechts <merlijn.sebrechts at gmail.com>:

> Thanks, Stuart!
>
>
> Now I get a different error. It seems that the charm really can't handle
> null as a string value.
>
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install   File
> "/var/lib/juju/agents/unit-cassandra-a-0/charm/hooks/install", line 20,
> in <module>
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install
> hooks.default_hook()
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install   File
> "/var/lib/juju/agents/unit-cassandra-a-0/charm/hooks/hooks.py", line 62,
> in default_hook
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install
> sm.manage()
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install   File
> "/var/lib/juju/agents/unit-cassandra-a-0/charm/hooks/
> charmhelpers/core/services/base.py", line 135, in manage
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install
> self.reconfigure_services()
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install   File
> "/var/lib/juju/agents/unit-cassandra-a-0/charm/hooks/
> charmhelpers/core/services/base.py", line 189, in reconfigure_services
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install
> self.fire_event('data_ready', service_name)
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install   File
> "/var/lib/juju/agents/unit-cassandra-a-0/charm/hooks/
> charmhelpers/core/services/base.py", line 236, in fire_event
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install
> callback(service_name)
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install   File
> "/var/lib/juju/agents/unit-cassandra-a-0/charm/hooks/actions.py", line
> 106, in wrapper
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install     return
> func(*args, **kw)
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install   File
> "/var/lib/juju/agents/unit-cassandra-a-0/charm/hooks/actions.py", line
> 432, in configure_cassandra_rackdc
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install     rack =
> config['rack'].strip() or hookenv.service_name()
> unit-cassandra-a-0: 10:28:10 INFO unit.cassandra-a/0.install
> AttributeError: 'NoneType' object has no attribute 'strip'
>
>
>
> 2017-02-21 9:15 GMT+01:00 Stuart Bishop <stuart.bishop at canonical.com>:
>
>> On 21 February 2017 at 00:40, Merlijn Sebrechts
>> <merlijn.sebrechts at gmail.com> wrote:
>> > Deploying cassandra with the GUI. Cassandra installation will fail with
>> the
>> > following error.
>> >
>> > KeyError: 'http_proxy'
>> >
>> >
>> > The Cassandra charm expects config['http_proxy'] to return an empty
>> string.
>> > This is what happens when deploying Cassandra using the CLI. However,
>> > config_get crashes because the config isn't set. running config-get in
>> the
>> > hooks context shows that the http_proxy config value just isn't set.
>> >
>> > https://github.com/juju/juju-gui/issues/2486
>>
>> I've made a new release using a newer charm-helpers. According to the
>> issue comments it should work around the problem.
>>
>> I have no idea why Juju would be changing the empty string to null,
>> specially as I'm told from Juju's pov null is an invalid value for a
>> string and why setting a config value's default to null is a lint
>> error. But that contradicts the documentation for 'config-get --all',
>> which explicitly calls out config settings with non-null defaults. So
>> maybe this changed with 2.0, but there is some old code that missed
>> being updated?
>>
>> --
>> Stuart Bishop <stuart.bishop at canonical.com>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20170221/cc10e903/attachment.html>


More information about the Juju mailing list