Ceph-relation-joined hook error
This error occurs when the ceph-relation-joined hook executes, and happens because the package name 'nova-compute' that gets passed to get_os_version_package from assert_libvirt_imagebackend_allowed doesn't match the package name and key of 'nova-common' in the PACKAGE_CODENAMES dict in charmhelpers.contrib.openstack.utils. The hook error also happens in part due to the incorrect indexing into OPENSTACK_PACKAGES dict in the nested else conditional in get_os_version_package.
*** To replicate this issue, add a relation from nova-compute to ceph, or make a call to get_os_codename_package(package, fatal=True), where the input to the function is a package e.g. 'nova-compute' which is an openstack service package, but not in the OPENSTACK_CODENAMES dict.
*** To remedy this issue I have corrected the package name being passed to get_os_version_package in nova_compute_context.py, and touched up the indexing and parsing in charmhelpers.contrib.openstack.utils.
See below.
Apply these to resolve the issue:
https:/ /code.launchpad .net/~jamesbeed y/charm- helpers/ touch-up- indexing/ +merge/ 275510
https:/ /code.launchpad .net/~jamesbeed y/charms/ trusty/ nova-compute/ fix-ceph- relation- joined/ +merge/ 275511