def heat_plugin_joined(rel_id=None): utils.deploy_openstack_code("contrail-openstack-heat-init", "heat") plugin_path = utils.get_component_sys_paths( "heat") + "/vnc_api/gen/heat/resources" plugin_dirs = config.get("heat-plugin-dirs") if plugin_path not in plugin_dirs: plugin_dirs += ',' + plugin_path ctx = utils.get_context() sections = { "clients_contrail": [ ("user", ctx.get("keystone_admin_user")), ("password", ctx.get("keystone_admin_password")), ("tenant", ctx.get("keystone_admin_tenant")), ("api_server", " ".join(ctx.get("api_servers"))), ("auth_host_ip", ctx.get("keystone_ip")), ("use_ssl", ctx.get("ssl_enabled")), ] } if ctx.get("ssl_enabled") and "ca_cert_data" in ctx: ca_file_path = "/etc/heat/contrail-ca-cert.pem" common_utils.save_file(ca_file_path, ctx["ca_cert_data"], perms=0o644) sections["clients_contrail"].append(("cafile", ca_file_path)) conf = {"heat": {"/etc/heat/heat.conf": {"sections": sections}}} settings = { "plugin-dirs": plugin_dirs, "subordinate_configuration": json.dumps(conf) } relation_set(relation_id=rel_id, relation_settings=settings)
def heat_plugin_joined(rel_id=None): configure_sources(True, "install-sources", "install-keys") apt_upgrade(fatal=True, dist=True) apt_install(["contrail-heat"], fatal=True) try: output = check_output( ["dpkg-query", "-f", "${Version}\\n", "-W", "contrail-heat"]) version = output.decode('UTF-8').rstrip() application_version_set(version) except CalledProcessError: return None plugin_dirs = config.get("heat-plugin-dirs") ctx = get_context() sections = { "clients_contrail": [("user", ctx.get("keystone_admin_user")), ("password", ctx.get("keystone_admin_password")), ("tenant", ctx.get("keystone_admin_tenant")), ("api_server", ctx.get("api_server")), ("auth_host_ip", ctx.get("keystone_ip"))] } conf = {"heat": {"/etc/heat/heat.conf": {"sections": sections}}} settings = { "plugin-dirs": plugin_dirs, "subordinate_configuration": json.dumps(conf) } relation_set(relation_id=rel_id, relation_settings=settings)