Add several helpers for creation of events and add events in puppet-example.py
This commit is contained in:
@@ -8,6 +8,7 @@ from solar.core import signals
|
|||||||
from solar.core import validation
|
from solar.core import validation
|
||||||
from solar.core.resource import virtual_resource as vr
|
from solar.core.resource import virtual_resource as vr
|
||||||
from solar import errors
|
from solar import errors
|
||||||
|
from solar import events as evapi
|
||||||
|
|
||||||
from solar.interfaces.db import get_db
|
from solar.interfaces.db import get_db
|
||||||
|
|
||||||
@@ -71,6 +72,7 @@ def setup_resources():
|
|||||||
|
|
||||||
# KEYSTONE
|
# KEYSTONE
|
||||||
keystone_puppet = vr.create('keystone_puppet', 'resources/keystone_puppet', {})[0]
|
keystone_puppet = vr.create('keystone_puppet', 'resources/keystone_puppet', {})[0]
|
||||||
|
evapi.add_dep(rabbitmq_service1.name, keystone_puppet.name, actions=('run', 'update'))
|
||||||
keystone_db = vr.create('keystone_db', 'resources/mariadb_db/', {
|
keystone_db = vr.create('keystone_db', 'resources/mariadb_db/', {
|
||||||
'db_name': 'keystone_db',
|
'db_name': 'keystone_db',
|
||||||
'login_user': 'root'
|
'login_user': 'root'
|
||||||
@@ -273,17 +275,17 @@ def setup_resources():
|
|||||||
signals.connect(cinder_puppet, cinder_api_puppet, {
|
signals.connect(cinder_puppet, cinder_api_puppet, {
|
||||||
'keystone_host': 'keystone_auth_host',
|
'keystone_host': 'keystone_auth_host',
|
||||||
'keystone_port': 'keystone_auth_port'})
|
'keystone_port': 'keystone_auth_port'})
|
||||||
|
evapi.add_react(cinder_puppet.name, cinder_api_puppet.name, actions=('update',))
|
||||||
# CINDER SCHEDULER
|
# CINDER SCHEDULER
|
||||||
cinder_scheduler_puppet = vr.create('cinder_scheduler_puppet', 'resources/cinder_scheduler_puppet', {})[0]
|
cinder_scheduler_puppet = vr.create('cinder_scheduler_puppet', 'resources/cinder_scheduler_puppet', {})[0]
|
||||||
signals.connect(node1, cinder_scheduler_puppet)
|
signals.connect(node1, cinder_scheduler_puppet)
|
||||||
signals.connect(cinder_puppet, cinder_scheduler_puppet)
|
signals.connect(cinder_puppet, cinder_scheduler_puppet)
|
||||||
|
evapi.add_react(cinder_puppet.name, cinder_scheduler_puppet.name, actions=('update',))
|
||||||
# CINDER VOLUME
|
# CINDER VOLUME
|
||||||
cinder_volume_puppet = vr.create('cinder_volume_puppet', 'resources/cinder_volume_puppet', {})[0]
|
cinder_volume_puppet = vr.create('cinder_volume_puppet', 'resources/cinder_volume_puppet', {})[0]
|
||||||
signals.connect(node1, cinder_volume_puppet)
|
signals.connect(node1, cinder_volume_puppet)
|
||||||
signals.connect(cinder_puppet, cinder_volume_puppet)
|
signals.connect(cinder_puppet, cinder_volume_puppet)
|
||||||
|
evapi.add_react(cinder_puppet.name, cinder_volume_puppet.name, actions=('update',))
|
||||||
# NOVA
|
# NOVA
|
||||||
nova_puppet = vr.create('nova_puppet', 'resources/nova_puppet', {})[0]
|
nova_puppet = vr.create('nova_puppet', 'resources/nova_puppet', {})[0]
|
||||||
nova_db = vr.create('nova_db', 'resources/mariadb_db/', {
|
nova_db = vr.create('nova_db', 'resources/mariadb_db/', {
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
from .api import *
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
__all__ = ['add_event', 'remove_event', 'all_events', 'set_events']
|
__all__ = ['add_dep', 'add_react']
|
||||||
|
|
||||||
import networkx as nx
|
import networkx as nx
|
||||||
|
|
||||||
@@ -34,6 +34,21 @@ def add_event(ev):
|
|||||||
[i.to_dict() for i in rst],
|
[i.to_dict() for i in rst],
|
||||||
collection=db.COLLECTIONS.events)
|
collection=db.COLLECTIONS.events)
|
||||||
|
|
||||||
|
|
||||||
|
def add_dep(parent, dep, actions, state='success'):
|
||||||
|
for act in actions:
|
||||||
|
d = Dep(parent, act, state=state,
|
||||||
|
depend_node=dep, depend_action=act)
|
||||||
|
add_event(d)
|
||||||
|
log.debug('Added event: %s', d)
|
||||||
|
|
||||||
|
def add_react(parent, dep, actions, state='success'):
|
||||||
|
for act in actions:
|
||||||
|
r = React(parent, act, state=state,
|
||||||
|
depend_node=dep, depend_action=act)
|
||||||
|
add_event(r)
|
||||||
|
log.debug('Added event: %s', r)
|
||||||
|
|
||||||
def remove_event(ev):
|
def remove_event(ev):
|
||||||
rst = all_events(ev.parent_node)
|
rst = all_events(ev.parent_node)
|
||||||
db.save(
|
db.save(
|
||||||
|
|||||||
Reference in New Issue
Block a user