3 function start_monitor_collectd {
4 ## CONTROL_IP is the IP of primary interface of control node i.e.
5 ## eth0, eno1. It is used by collectd monitor to communicate with
7 ## @TODO (umar) see if mgmt IP of control is a better option. Also
8 ## primary interface may not be the right option
9 CONTROL_IP="$(ip a | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p' | sed -n 1p)"
10 #CONTROL_IP=192.168.98.6
13 Hostname \"$COMPUTE_HOST\"
25 File \"/var/log/collectd.log\"
31 ModulePath \"/home/$COMPUTE_USER\"
34 Import \"collectd_plugin\"
35 <Module \"collectd_plugin\">
36 control_ip \"$CONTROL_IP\"
37 compute_ip \"$COMPUTE_IP\"
38 compute_host \"$COMPUTE_HOST\"
39 compute_user \"$COMPUTE_USER\"
40 inspector_type \"$INSPECTOR_TYPE\"
41 os_auth_url \"$OS_AUTH_URL\"
42 os_username \"$OS_USERNAME\"
43 os_password \"$OS_PASSWORD\"
44 os_project_name \"$OS_PROJECT_NAME\"
45 os_user_domain_name \"$OS_USER_DOMAIN_NAME\"
46 os_user_domain_id \"$OS_USER_DOMAIN_ID\"
47 os_project_domain_name \"$OS_PROJECT_DOMAIN_NAME\"
48 os_project_domain_id \"$OS_PROJECT_DOMAIN_ID\"
54 Socket \"/var/run/openvswitch/db.sock\"
55 Interfaces \"@INTERFACE_NAME@\"
60 " > $TOP_DIR/lib/monitors/collectd.conf
62 scp $ssh_opts_cpu $TOP_DIR/lib/monitors/collectd.conf $COMPUTE_USER@$COMPUTE_IP:
63 ## @TODO (umar) Always assuming that the interface is assigned an IP if
64 ## interface name is not provided. See if there is a better approach
65 ssh $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP" "
66 if [ -n \"$INTERFACE_NAME\" ]; then
69 dev=\$(sudo ip a | awk '/ $COMPUTE_IP\//{print \$NF}')
71 sed -i -e \"s/@INTERFACE_NAME@/\$dev/\" collectd.conf
72 collectd_conf=/opt/collectd/etc/collectd.conf
73 if [ -e \$collectd_conf ]; then
74 sudo cp \$collectd_conf \${collectd_conf}-doctor-saved
76 sudo touch \${collectd_conf}-doctor-created
78 sudo mv collectd.conf /opt/collectd/etc/collectd.conf"
80 scp $ssh_opts_cpu $TOP_DIR/lib/monitors/collectd/collectd_plugin.py $COMPUTE_USER@$COMPUTE_IP:collectd_plugin.py
81 ssh $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP" "sudo pkill collectd
82 sudo /opt/collectd/sbin/collectd"
85 function stop_monitor_collectd {
86 ssh $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP" 'sudo pkill collectd'
89 function cleanup_monitor_collectd {
90 ssh $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP" "
91 collectd_conf=/opt/collectd/etc/collectd.conf
92 if [ -e \"\${collectd_conf}-doctor-created\" ]; then
93 sudo rm \"\${collectd_conf}-doctor-created\"
94 sudo rm \$collectd_conf
95 elif [ -e \"\${collectd_conf}-doctor-saved\" ]; then
96 sudo cp -f \"\${collectd_conf}-doctor-saved\" \$collectd_conf
97 sudo rm \"\${collectd_conf}-doctor-saved\"
100 rm $TOP_DIR/lib/monitors/collectd.conf