From 7e2460911adfc0040820e735ce4b8bca73745c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Ole=C5=9B?= Date: Fri, 23 Oct 2015 11:37:25 +0200 Subject: [PATCH] Defining actions is meta.yaml works again --- solar/solar/core/resource/resource.py | 6 ++++++ solar/solar/interfaces/orm.py | 1 + 2 files changed, 7 insertions(+) diff --git a/solar/solar/core/resource/resource.py b/solar/solar/core/resource/resource.py index f7427714..0ebdd8d8 100644 --- a/solar/solar/core/resource/resource.py +++ b/solar/solar/core/resource/resource.py @@ -78,6 +78,7 @@ class Resource(object): 'id': name, 'name': name, 'actions_path': metadata.get('actions_path', ''), + 'actions': metadata.get('actions', ''), 'base_name': metadata.get('base_name', ''), 'base_path': metadata.get('base_path', ''), 'handler': metadata.get('handler', ''), @@ -126,6 +127,11 @@ class Resource(object): @property def actions(self): + if self.db_obj.actions: + return {action: os.path.join( + self.db_obj.actions_path, name) + for action, name in self.db_obj.actions.items()} + # else ret = { os.path.splitext(p)[0]: os.path.join( self.db_obj.actions_path, p diff --git a/solar/solar/interfaces/orm.py b/solar/solar/interfaces/orm.py index 7ae564e0..144df903 100644 --- a/solar/solar/interfaces/orm.py +++ b/solar/solar/interfaces/orm.py @@ -617,6 +617,7 @@ class DBResource(DBObject): id = db_field(schema='str', is_primary=True) name = db_field(schema='str!') actions_path = db_field(schema='str') + actions = db_field(schema={}, default_value={}) base_name = db_field(schema='str') base_path = db_field(schema='str') handler = db_field(schema='str') # one of: {'ansible_playbook', 'ansible_template', 'puppet', etc}