在Openstack中创建实例后收听通知

时间:2013-12-05 06:09:01

标签: openstack openstack-nova openstack-horizon

有兴趣了解是否有办法在openstack中创建一个侦听器,每次创建新实例时都会收到通知。

2 个答案:

答案 0 :(得分:2)

尝试查看OpenStack工作负载测量项目https://launchpad.net/ceilometer

答案 1 :(得分:0)

执行此操作的一种方法是使用Django signals。因此,您可以创建一个信号并在创建实例的代码行之后发送它。期望通知的功能可以成为收​​听该信号的接收器。该函数将一直等到收到信号。例如:

#Declaring a signal
from django.dispatch import Signal
instance_signal = Signal(providing_args=['param1', 'param2'])


#function that sends the signal
def instance_create():
--code that creates the instance  
instance_signal.send(sender='instance_create', param1='I am param 1', param2='I am param 2')


#Defining the function that listens to this signal(the receiver)
def notify_me(**kwargs):
x, y= kwargs['param1'], kwargs['param2']



#Connect the signal to the receiver (Can be written anywhere in the code)
instance_signal.connect(notify_me)

关于Django Signals的最好的部分是你可以创建信号,接收器功能并将它们连接到整个应用程序的任何地方。 Django信号在调度任务或在您的情况下接收通知非常有用。