def install_dpdk(): modprobe(config["dpdk-driver"]) try: modprobe("vfio-pci") except: pass dkms_autoinstall() pages = get_hugepages() if pages: hugepage_support("root", group="root", nr_hugepages=pages, mnt_point="/hugepages") service_restart("libvirt-bin") configure_vrouter_interface() set_dpdk_coremask() write_configs() if not init_is_systemd(): os.remove("/etc/init/supervisor-vrouter.override") service_start("supervisor-vrouter") service_restart("contrail-vrouter-agent") else: service("enable", "contrail-vrouter-dpdk") service_start("contrail-vrouter-dpdk") service("enable", "contrail-vrouter-agent") service_start("contrail-vrouter-agent") fix_libvirt()
def config_changed(): # Charm doesn't support changing of some parameters that are used only in # install hook. for key in ("remove-juju-bridge", "physical-interface"): if config.changed(key): raise Exception( "Configuration parameter {} couldn't be changed".format(key)) write_configs() if config.changed("control-network"): reprovision_vrouter()
def config_changed(): # Charm doesn't support changing of some parameters that are used only in # install hook. for key in ("remove-juju-bridge", "physical-interface", "dpdk"): if config.changed(key): raise Exception("Configuration parameter {} couldn't be changed" .format(key)) if config["dpdk"]: set_dpdk_coremask() configure_hugepages() write_configs()
def contrail_controller_changed(): data = relation_get() log("RelData: " + str(data)) def _update_config(key, data_key): if data_key in data: config[key] = data[data_key] _update_config("analytics_servers", "analytics-server") _update_config("api_ip", "private-address") _update_config("api_port", "port") _update_config("auth_info", "auth-info") _update_config("orchestrator_info", "orchestrator-info") config["vrouter-expected-provision-state"] = True config.save() write_configs() update_vrouter_provision_status() update_unit_status()