The option endpoint-type allows being specified by providing multiple comma delimited values. If the list includes whitespaces between options (ex. "publicURL, adminURL, internalURL") it is not sanitized adequately in hooks/horizon_contexts.py and fails during installation with the following error:
ERROR unit.openstack-dashboard/12.juju-log server.go:284 Endpoint type specified adminURL is not a valid endpoint type
DEBUG unit.openstack-dashboard/12.install logger.go:53 Traceback (most recent call last):
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/install.real", line 425, in <module>
DEBUG unit.openstack-dashboard/12.install logger.go:53 main()
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/install.real", line 405, in main
DEBUG unit.openstack-dashboard/12.install logger.go:53 assess_status(CONFIGS)
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/horizon_utils.py", line 358, in assess_status
DEBUG unit.openstack-dashboard/12.install logger.go:53 assess_status_func(configs)()
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/charmhelpers/contrib/openstack/utils.py", line 1422, in _assess_status_func
DEBUG unit.openstack-dashboard/12.install logger.go:53 state, message = _determine_os_workload_status(*args, **kwargs)
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/charmhelpers/contrib/openstack/utils.py", line 812, in _determine_os_workload_status
DEBUG unit.openstack-dashboard/12.install logger.go:53 configs, required_interfaces)
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/charmhelpers/contrib/openstack/utils.py", line 879, in _ows_check_generic_interfaces
DEBUG unit.openstack-dashboard/12.install logger.go:53 required_interfaces)
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/charmhelpers/contrib/openstack/utils.py", line 1160, in incomplete_relation_data
DEBUG unit.openstack-dashboard/12.install logger.go:53 complete_ctxts = configs.complete_contexts()
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/charmhelpers/contrib/openstack/templating.py", line 351, in complete_contexts
DEBUG unit.openstack-dashboard/12.install logger.go:53 for i in six.itervalues(self.templates)]
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/charmhelpers/contrib/openstack/templating.py", line 127, in complete_contexts
DEBUG unit.openstack-dashboard/12.install logger.go:53 self.context()
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/charmhelpers/contrib/openstack/templating.py", line 112, in context
DEBUG unit.openstack-dashboard/12.install logger.go:53 _ctxt = context()
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/horizon_contexts.py", line 168, in __call__
DEBUG unit.openstack-dashboard/12.install logger.go:53 ep_types = [self.normalize(e) for e in ep_types.split(',')]
DEBUG unit.openstack-dashboard/12.install logger.go:53 File "/var/lib/juju/agents/unit-openstack-dashboard-12/charm/hooks/horizon_contexts.py", line 111, in normalize
DEBUG unit.openstack-dashboard/12.install logger.go:53 raise Exception(msg)
DEBUG unit.openstack-dashboard/12.install logger.go:53 Exception: Endpoint type specified adminURL is not a valid endpoint type
ERROR juju.worker.uniter.operation runhook.go:114 hook "install" failed: exit status 1