def config_changed(): if config.changed("nested_mode"): raise Exception('Nested mode cannot be changed after deployment.') # TODO: analyze other params and raise exception if readonly params were changed utils.update_nrpe_config() if config.changed("control-network"): settings = {'private-address': common_utils.get_ip()} rnames = ("contrail-controller", "contrail-kubernetes-config") for rname in rnames: for rid in relation_ids(rname): relation_set(relation_id=rid, relation_settings=settings) _notify_contrail_kubernetes_node() if config.changed("kubernetes_api_hostname") or config.changed( "kubernetes_api_secure_port"): _notify_controller() config[ "config_analytics_ssl_available"] = common_utils.is_config_analytics_ssl_available( ) config.save() docker_utils.config_changed() utils.update_charm_status()
def config_changed(): utils.update_nrpe_config() auth_mode = config.get("auth-mode") if auth_mode not in ("rbac", "cloud-admin", "no-auth"): raise Exception("Config is invalid. auth-mode must one of: " "rbac, cloud-admin, no-auth.") if config.changed("control-network") or config.changed("data-network"): ip = common_utils.get_ip() data_ip = common_utils.get_ip(config_param="data-network", fallback=ip) rel_settings = {"private-address": ip} for rname in ("http-services", "https-services"): for rid in relation_ids(rname): relation_set(relation_id=rid, relation_settings=rel_settings) cluster_settings = {"unit-address": ip, "data-address": data_ip} if config.get('local-rabbitmq-hostname-resolution'): cluster_settings.update({ "rabbitmq-hostname": utils.get_contrail_rabbit_hostname(), }) # this will also take care of updating the hostname in case # control-network changes to something different although # such host reconfiguration is unlikely utils.update_rabbitmq_cluster_hostnames() for rid in relation_ids("controller-cluster"): relation_set(relation_id=rid, relation_settings=cluster_settings) if is_leader(): _address_changed(local_unit(), ip, 'ip') _address_changed(local_unit(), data_ip, 'data_ip') if config.changed("local-rabbitmq-hostname-resolution"): if config.get("local-rabbitmq-hostname-resolution"): # enabling this option will trigger events on other units # so their hostnames will be added as -changed events fire # we just need to set our hostname utils.update_rabbitmq_cluster_hostnames() else: kvstore = kv() rabbitmq_hosts = kvstore.get(key='rabbitmq_hosts', default={}) for ip, hostname in rabbitmq_hosts: utils.update_hosts_file(ip, hostname, remove_hostname=True) docker_utils.config_changed() utils.update_charm_status() # leave it after update_charm_status - in case of exception in previous steps # config.changed doesn't work sometimes... if config.get("saved-image-tag") != config["image-tag"]: utils.update_ziu("image-tag") config["saved-image-tag"] = config["image-tag"] config.save() update_http_relations() update_https_relations() update_northbound_relations() update_southbound_relations() update_issu_relations()
def config_changed(): docker_utils.config_changed() if config.changed("rabbit-user") or config.changed("rabbit-vhost"): _notify_amqp() utils.pull_images() utils.update_charm_status()
def config_changed(): utils.update_nrpe_config() # Charm doesn't support changing of some parameters. if config.changed("dpdk"): raise Exception("Configuration parameter dpdk couldn't be changed") config[ "config_analytics_ssl_available"] = common_utils.is_config_analytics_ssl_available( ) config.save() docker_utils.config_changed() utils.update_charm_status()
def config_changed(): utils.update_nrpe_config() if config.changed("control-network"): settings = {'private-address': common_utils.get_ip()} rnames = ("contrail-analyticsdb", "analyticsdb-cluster") for rname in rnames: for rid in relation_ids(rname): relation_set(relation_id=rid, relation_settings=settings) config[ "config_analytics_ssl_available"] = common_utils.is_config_analytics_ssl_available( ) config.save() docker_utils.config_changed() utils.update_charm_status()
def config_changed(): utils.update_nrpe_config() if config.changed("control-network"): _update_cluster() if is_leader() and _address_changed(local_unit(), common_utils.get_ip()): _update_analyticsdb() docker_utils.config_changed() utils.update_charm_status() # leave it as latest - in case of exception in previous steps # config.changed doesn't work sometimes (when we saved config in this hook before) if config.get("saved-image-tag") != config["image-tag"]: utils.update_ziu("image-tag") config["saved-image-tag"] = config["image-tag"] config.save()
def config_changed(): utils.update_nrpe_config() # Charm doesn't support changing of some parameters. if config.changed("dpdk"): raise Exception("Configuration parameter dpdk couldn't be changed") if not config["dpdk"]: utils.prepare_hugepages_kernel_mode() docker_utils.config_changed() utils.update_charm_status() # leave it as latest - in case of exception in previous steps # config.changed doesn't work sometimes... if config.get("saved-image-tag") != config["image-tag"]: utils.update_ziu("image-tag") config["saved-image-tag"] = config["image-tag"] config.save()
def config_changed(): utils.update_nrpe_config() if config.changed("control-network"): settings = {'private-address': common_utils.get_ip()} rnames = ("contrail-analytics", "contrail-analyticsdb", "analytics-cluster", "http-services") for rname in rnames: for rid in relation_ids(rname): relation_set(relation_id=rid, relation_settings=settings) docker_utils.config_changed() utils.update_charm_status() # leave it as latest - in case of exception in previous steps # config.changed doesn't work sometimes... if config.get("saved-image-tag") != config["image-tag"]: utils.update_ziu("image-tag") config["saved-image-tag"] = config["image-tag"] config.save()
def config_changed(): if config.changed("nested_mode"): raise Exception('Nested mode cannot be changed after deployment.') # TODO: analyze other params and raise exception if readonly params were changed utils.update_nrpe_config() if config.changed("control-network"): _notify_cluster() if is_leader(): _address_changed(local_unit(), common_utils.get_ip()) _notify_contrail_kubernetes_node() if (config.changed("kubernetes_api_hostname") or config.changed("kubernetes_api_secure_port") or config.changed("cluster_name") or config.changed("pod_subnets")): _notify_controller() docker_utils.config_changed() utils.update_charm_status()
def config_changed(): notify_nova = False changed = docker_utils.config_changed() if changed or config.changed("image-tag"): notify_nova = True _notify_neutron() _notify_heat() if is_leader(): _configure_metadata_shared_secret() notify_nova = True _notify_controller() if notify_nova: _notify_nova()
def config_changed(): docker_utils.config_changed() utils.update_charm_status()