blob: a7233950699f2aa125f8030e1bde0e6f51381d25 [file] [log] [blame]
Andy Bavier8d51c6c2015-04-01 11:40:22 -04001#!/usr/bin/python
2
3import subprocess
4import time
5import argparse
6
7sleep_interval = 1
8
9relations = ["keystone mysql",
10 "nova-cloud-controller mysql",
11 "nova-cloud-controller rabbitmq-server",
12 "nova-cloud-controller glance",
13 "nova-cloud-controller keystone",
14 "glance mysql",
15 "glance keystone",
Andy Bavier093e6a82015-08-21 13:31:31 -040016 "neutron-gateway neutron-api",
17 "neutron-gateway:amqp rabbitmq-server:amqp",
18 "neutron-gateway nova-cloud-controller",
19 "neutron-gateway mysql",
20 "neutron-api keystone",
21 "neutron-api neutron-openvswitch",
22 "neutron-api mysql",
23 "neutron-api rabbitmq-server",
24 "neutron-api nova-cloud-controller",
25 "neutron-openvswitch rabbitmq-server",
Andy Bavier8d51c6c2015-04-01 11:40:22 -040026 "openstack-dashboard keystone",
27 "ntp nova-cloud-controller",
28 "mysql nagios",
29 "rabbitmq-server nagios",
30 "keystone nagios",
31 "glance nagios",
32 "nova-cloud-controller nagios",
Andy Bavier093e6a82015-08-21 13:31:31 -040033 "neutron-gateway nagios",
Andy Bavier8d51c6c2015-04-01 11:40:22 -040034 "openstack-dashboard nagios",
35 "nagios nrpe",
36 "mysql nrpe",
37 "rabbitmq-server nrpe",
38 "keystone nrpe",
39 "glance nrpe",
40 "nova-cloud-controller nrpe",
Andy Bavier093e6a82015-08-21 13:31:31 -040041 "neutron-gateway nrpe",
Andy Bavier8d51c6c2015-04-01 11:40:22 -040042 "openstack-dashboard nrpe",
43 "ceilometer mongodb",
44 "ceilometer rabbitmq-server",
45 "ceilometer:identity-service keystone:identity-service",
46 "ceilometer:ceilometer-service ceilometer-agent:ceilometer-service",
47 "ceilometer nagios",
48 "ceilometer nrpe",
49 ]
50
51def addrelation(relation):
52 subprocess.check_call("juju add-relation %s" % relation, shell=True)
53
54def destroyrelation(relation):
55 subprocess.check_call("juju destroy-relation %s" % relation, shell=True)
56
57def addrelations():
58 for relation in relations:
59 print "Adding relation %s" % relation
60 try:
61 addrelation(relation)
62 time.sleep(sleep_interval)
63 except:
64 pass
Andy Bavier093e6a82015-08-21 13:31:31 -040065
Andy Bavier8d51c6c2015-04-01 11:40:22 -040066def destroyrelations():
67 for relation in relations:
68 print "Destroying relation %s" % relation
69 try:
70 destroyrelation(relation)
71 time.sleep(sleep_interval)
72 except:
73 pass
74
75def main():
76 parser = argparse.ArgumentParser(description='Deploy OpenStack controller services')
77 parser.add_argument('--destroy', action='store_true',
78 help='Destroy the relations instead of adding them')
79
80 args = parser.parse_args()
81 if args.destroy:
82 destroyrelations()
83 else:
84 addrelations()
Andy Bavier093e6a82015-08-21 13:31:31 -040085
Andy Bavier8d51c6c2015-04-01 11:40:22 -040086if __name__ =='__main__':
87 main()