| #!/usr/bin/python |
| |
| import subprocess |
| import time |
| import argparse |
| |
| sleep_interval = 1 |
| |
| relations = ["keystone mysql", |
| "nova-cloud-controller mysql", |
| "nova-cloud-controller rabbitmq-server", |
| "nova-cloud-controller glance", |
| "nova-cloud-controller keystone", |
| "glance mysql", |
| "glance keystone", |
| "neutron-gateway neutron-api", |
| "neutron-gateway:amqp rabbitmq-server:amqp", |
| "neutron-gateway nova-cloud-controller", |
| "neutron-gateway mysql", |
| "neutron-api keystone", |
| "neutron-api neutron-openvswitch", |
| "neutron-api mysql", |
| "neutron-api rabbitmq-server", |
| "neutron-api nova-cloud-controller", |
| "neutron-openvswitch rabbitmq-server", |
| "openstack-dashboard keystone", |
| "mysql nagios", |
| "rabbitmq-server nagios", |
| "keystone nagios", |
| "glance nagios", |
| "nova-cloud-controller nagios", |
| "neutron-gateway nagios", |
| "openstack-dashboard nagios", |
| "neutron-api nagios", |
| "nagios nrpe", |
| "mysql:juju-info nrpe:general-info", |
| "rabbitmq-server nrpe", |
| "keystone nrpe", |
| "glance nrpe", |
| "nova-cloud-controller nrpe", |
| "neutron-gateway nrpe", |
| "openstack-dashboard nrpe", |
| "neutron-api nrpe", |
| "ceilometer mongodb", |
| "ceilometer rabbitmq-server", |
| "ceilometer:identity-service keystone:identity-service", |
| "ceilometer:ceilometer-service ceilometer-agent:ceilometer-service", |
| "ceilometer nagios", |
| "ceilometer nrpe", |
| ] |
| |
| def addrelation(relation): |
| subprocess.check_call("juju add-relation %s" % relation, shell=True) |
| |
| def destroyrelation(relation): |
| subprocess.check_call("juju destroy-relation %s" % relation, shell=True) |
| |
| def addrelations(): |
| for relation in relations: |
| print "Adding relation %s" % relation |
| try: |
| addrelation(relation) |
| time.sleep(sleep_interval) |
| except: |
| pass |
| |
| def destroyrelations(): |
| for relation in relations: |
| print "Destroying relation %s" % relation |
| try: |
| destroyrelation(relation) |
| time.sleep(sleep_interval) |
| except: |
| pass |
| |
| def main(): |
| parser = argparse.ArgumentParser(description='Deploy OpenStack controller services') |
| parser.add_argument('--destroy', action='store_true', |
| help='Destroy the relations instead of adding them') |
| |
| args = parser.parse_args() |
| if args.destroy: |
| destroyrelations() |
| else: |
| addrelations() |
| |
| if __name__ =='__main__': |
| main() |