first steps with hook
This commit is contained in:
parent
bbd63210bc
commit
c51eb5b95e
|
@ -0,0 +1,56 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import time
|
||||
|
||||
from utils import *
|
||||
from lib.openstack_common import *
|
||||
|
||||
config = config_get()
|
||||
|
||||
packages = "python-ceilometer ceilometer-common ceilometer-agent-central ceilometer-collector ceilometer-api"
|
||||
service = "ceilometer"
|
||||
|
||||
def install_hook():
|
||||
if config["openstack-origin"]!="distro":
|
||||
configure_installation_source(config["openstack-origin"])
|
||||
|
||||
# determine package depending on virt type
|
||||
|
||||
execute("apt-get update", die=True)
|
||||
execute("apt-get -y install %s" % packages, die=True, echo=True)
|
||||
|
||||
def amqp_joined():
|
||||
relation_data = {
|
||||
}
|
||||
relation_set(relation_data)
|
||||
|
||||
def amqp_changed():
|
||||
relation_data = relation_get_dict()
|
||||
if ('rabbit-host' not in relation_data or 'rabbit-password' not in relation_data):
|
||||
juju_log('Missing rabbit_host || rabbit_passwd, peer not ready? Will retry.')
|
||||
exit(0)
|
||||
update_config_block('DEFAULT', rabbit_host=relation_data["rabbit-host"])
|
||||
update_config_block('DEFAULT', rabbit_userid=config["rabbit-user"])
|
||||
update_config_block('DEFAULT', rabbit_password=relation_data["rabbit-password"])
|
||||
update_config_block('DEFAULT', rabbit_virtual_host=config["rabbit-vhost"])
|
||||
|
||||
# restart services
|
||||
execute("service ceilometer-agent-central stop", echo=True)
|
||||
execute("service ceilometer-agent-central start", echo=True)
|
||||
execute("service ceilometer-collector stop", echo=True)
|
||||
execute("service ceilometer-collector start", echo=True)
|
||||
time.sleep(5)
|
||||
|
||||
hooks = {
|
||||
"install": install_hook,
|
||||
"amqp-relation-joined": amqp_joined,
|
||||
"amqp-relation-changed": amqp_changed
|
||||
}
|
||||
|
||||
# ceilometer-hooks gets called by symlink corresponding to the requested relation
|
||||
# hook.
|
||||
arg0 = sys.argv[0].split("/").pop()
|
||||
if arg0 not in hooks.keys():
|
||||
error_out("Unsupported hook: %s" % arg0)
|
||||
hooks[arg0]()
|
|
@ -0,0 +1,56 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import time
|
||||
|
||||
from utils import *
|
||||
from lib.openstack_common import *
|
||||
|
||||
config = config_get()
|
||||
|
||||
packages = "python-ceilometer ceilometer-common ceilometer-agent-central ceilometer-collector ceilometer-api"
|
||||
service = "ceilometer"
|
||||
|
||||
def install_hook():
|
||||
if config["openstack-origin"]!="distro":
|
||||
configure_installation_source(config["openstack-origin"])
|
||||
|
||||
# determine package depending on virt type
|
||||
|
||||
execute("apt-get update", die=True)
|
||||
execute("apt-get -y install %s" % packages, die=True, echo=True)
|
||||
|
||||
def amqp_joined():
|
||||
relation_data = {
|
||||
}
|
||||
relation_set(relation_data)
|
||||
|
||||
def amqp_changed():
|
||||
relation_data = relation_get_dict()
|
||||
if ('rabbit-host' not in relation_data or 'rabbit-password' not in relation_data):
|
||||
juju_log('Missing rabbit_host || rabbit_passwd, peer not ready? Will retry.')
|
||||
exit(0)
|
||||
update_config_block('DEFAULT', rabbit_host=relation_data["rabbit-host"])
|
||||
update_config_block('DEFAULT', rabbit_userid=config["rabbit-user"])
|
||||
update_config_block('DEFAULT', rabbit_password=relation_data["rabbit-password"])
|
||||
update_config_block('DEFAULT', rabbit_virtual_host=config["rabbit-vhost"])
|
||||
|
||||
# restart services
|
||||
execute("service ceilometer-agent-central stop", echo=True)
|
||||
execute("service ceilometer-agent-central start", echo=True)
|
||||
execute("service ceilometer-collector stop", echo=True)
|
||||
execute("service ceilometer-collector start", echo=True)
|
||||
time.sleep(5)
|
||||
|
||||
hooks = {
|
||||
"install": install_hook,
|
||||
"amqp-relation-joined": amqp_joined,
|
||||
"amqp-relation-changed": amqp_changed
|
||||
}
|
||||
|
||||
# ceilometer-hooks gets called by symlink corresponding to the requested relation
|
||||
# hook.
|
||||
arg0 = sys.argv[0].split("/").pop()
|
||||
if arg0 not in hooks.keys():
|
||||
error_out("Unsupported hook: %s" % arg0)
|
||||
hooks[arg0]()
|
|
@ -8,20 +8,47 @@ from lib.openstack_common import *
|
|||
|
||||
config = config_get()
|
||||
|
||||
packages = "ceilometer"
|
||||
packages = "python-ceilometer ceilometer-common ceilometer-agent-central ceilometer-collector ceilometer-api"
|
||||
service = "ceilometer"
|
||||
|
||||
def install_hook():
|
||||
if config["openstack-origin"]!="distro":
|
||||
configure_installation_source(config["openstack-origin"])
|
||||
|
||||
# determine package depending on virt type
|
||||
|
||||
execute("apt-get update", die=True)
|
||||
execute("apt-get -y install %s" % packages, die=True, echo=True)
|
||||
|
||||
def amqp_joined():
|
||||
relation_data = {
|
||||
}
|
||||
relation_set(relation_data)
|
||||
|
||||
def amqp_changed():
|
||||
relation_data = relation_get_dict()
|
||||
if ('rabbit-host' not in relation_data or 'rabbit-password' not in relation_data):
|
||||
juju_log('Missing rabbit_host || rabbit_passwd, peer not ready? Will retry.')
|
||||
exit(0)
|
||||
update_config_block('DEFAULT', rabbit_host=relation_data["rabbit-host"])
|
||||
update_config_block('DEFAULT', rabbit_userid=config["rabbit-user"])
|
||||
update_config_block('DEFAULT', rabbit_password=relation_data["rabbit-password"])
|
||||
update_config_block('DEFAULT', rabbit_virtual_host=config["rabbit-vhost"])
|
||||
|
||||
# restart services
|
||||
execute("service ceilometer-agent-central stop", echo=True)
|
||||
execute("service ceilometer-agent-central start", echo=True)
|
||||
execute("service ceilometer-collector stop", echo=True)
|
||||
execute("service ceilometer-collector start", echo=True)
|
||||
time.sleep(5)
|
||||
|
||||
hooks = {
|
||||
"install": install_hook,
|
||||
"amqp-relation-joined": amqp_joined,
|
||||
"amqp-relation-changed": amqp_changed
|
||||
}
|
||||
|
||||
# ceiloemter-hooks gets called by symlink corresponding to the requested relation
|
||||
# ceilometer-hooks gets called by symlink corresponding to the requested relation
|
||||
# hook.
|
||||
arg0 = sys.argv[0].split("/").pop()
|
||||
if arg0 not in hooks.keys():
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
ceilometer:
|
||||
debug: "true"
|
||||
verbose: "true"
|
||||
openstack-origin: "ppa:openstack-ubuntu-testing/grizzly-trunk-testing"
|
||||
config-file: "/etc/ceilometer/ceilometer.conf"
|
||||
service-port: 8777
|
|
@ -15,7 +15,7 @@ provides:
|
|||
api-service:
|
||||
interface: http
|
||||
requires:
|
||||
shared-db:
|
||||
interface: mongo
|
||||
shared-db:
|
||||
interface: mysql-shared
|
||||
amqp:
|
||||
interface: rabbitmq
|
||||
|
|
Loading…
Reference in New Issue