4c6da70b3c3acf19db0643769b20f93b4de33e4d
[barometer.git] / src / fuel-plugin / deployment_scripts / install.sh
1 #!/bin/bash
2 set -eux
3
4 INSTALL_HOME=/opt/collectd-ceilometer
5
6 HOST=$1
7 OS_AUTH_URL=$2
8 OS_USERNAME=$3
9 OS_PASSWORD=$4
10 enable_mcelog=$5
11 enable_hugepages=$6
12 enable_ovs_events=$7
13
14 CEILOMETER_URL_TYPE=${CEILOMETER_URL_TYPE:-internalURL}
15 CEILOMETER_TIMEOUT=${CEILOMETER_TIMEOUT:-1000}
16
17 MCELOG_SOCKET="socket-path = /var/run/mcelog-client"
18 MCELOG_CONF="/etc/mcelog/mcelog.conf"
19
20 rm -rf $INSTALL_HOME; mkdir -p $INSTALL_HOME
21 cd $INSTALL_HOME
22 curl http://$HOST:8080/plugins/fuel-plugin-collectd-ceilometer-1.0/repositories/ubuntu/collectd-ceilometer.tgz | tar xzvf -
23
24 apt-get install -y --allow-unauthenticated collectd python-dev libpython2.7 mcelog
25
26 cat << EOF > /etc/collectd/collectd.conf.d/collectd-ceilometer-plugin.conf
27 <LoadPlugin python>
28   Globals true
29 </LoadPlugin>
30
31 <Plugin python>
32     ModulePath "$INSTALL_HOME/collectd-ceilometer-plugin"
33     LogTraces true
34     Interactive false
35     Import "collectd_ceilometer.plugin"
36
37     <Module "collectd_ceilometer.plugin">
38
39         # Verbosity 1|0
40         #VERBOSE 0
41
42         # Batch size
43         BATCH_SIZE 3
44
45         # Service endpoint addresses
46         OS_AUTH_URL "$OS_AUTH_URL"
47
48         # Ceilometer address
49         #CEILOMETER_ENDPOINT
50         CEILOMETER_URL_TYPE "$CEILOMETER_URL_TYPE"
51
52         # Ceilometer timeout in ms
53         CEILOMETER_TIMEOUT "$CEILOMETER_TIMEOUT"
54
55         # # Ceilometer user creds
56         OS_USERNAME "$OS_USERNAME"
57         OS_PASSWORD "$OS_PASSWORD"
58         OS_TENANT_NAME "services"
59
60     </Module>
61 </Plugin>
62 EOF
63
64 if [ $enable_hugepages = 'true' ]
65 then
66     cat << EOF > /etc/collectd/collectd.conf.d/hugepages.conf
67 LoadPlugin hugepages
68
69 <Plugin hugepages>
70     ReportPerNodeHP  true
71     ReportRootHP     true
72     ValuesPages      true
73     ValuesBytes      false
74     ValuesPercentage false
75 </Plugin>
76 EOF
77 fi
78
79 if [ $enable_mcelog = 'true' ]
80 then
81     echo $MCELOG_SOCKET | sudo tee -a $MCELOG_CONF;
82     cat << EOF > /etc/collectd/collectd.conf.d/mcelog.conf
83 <LoadPlugin mcelog>
84   Interval 1
85 </LoadPlugin>
86 <Plugin "mcelog">
87    McelogClientSocket "/var/run/mcelog-client"
88 </Plugin>
89 EOF
90 fi
91
92 if [ $enable_ovs_events = 'true' ]
93 then
94     ovs-vsctl set-manager ptcp:6640
95     cat << EOF > /etc/collectd/collectd.conf.d/ovs.conf
96 <LoadPlugin ovs_events>
97   Interval 1
98 </LoadPlugin>
99 <Plugin "ovs_events">
100    SendNotification true
101 </Plugin>
102 EOF
103 fi
104
105 service collectd restart