I'm seeing a traceback [1] while deploying the apache charm in CI, which implies that during the config-changed hook context, the valid charm config option 'ssl_certlocation' is not known to juju.
The option has been explicitly set to '' empty string as a value (EDIT: turns out the yaml config is actually setting it explicitly to nil, not ''). Checking `juju config service` shows that the config option has been set correctly [2], but running `config-get` in a hook context shows the config option is missing [3] (rather than empty)- causing the error.
Comparing [3] with the actual options shows that the following options are all missing from config-get:
ssl_cert
ssl_certlocation
ssl_chain
ssl_chainlocation
ssl_key
ssl_keylocation
All of these options were given values of '' when the deployment happened.
With some debugging, we saw that setting the config item to an empty string failed, as juju already thought it had that value, but setting it to anything else caused it to then be available in config-get.
juju --version
2.0.3-trusty-amd64
[1] http://paste.ubuntu.com/24050566/
[2] http://paste.ubuntu.com/24050571/
[3] http://paste.ubuntu.com/24050668/
Unfortunately I can't reproduce this with the same charm locally using the lxd provider. I'll try in a scratch env on ps45.