From 16d51b3cf11b445b24189bf225d2c9b37013a4a5 Mon Sep 17 00:00:00 2001
From: Nico Schottelius <nico@bento.schottelius.org>
Date: Wed, 29 Jan 2014 22:40:59 +0100
Subject: [PATCH] backport ignoring install types in config mode from
 install_integration branch

Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
---
 cdist/config.py          | 6 +++++-
 cdist/core/cdist_type.py | 5 +++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/cdist/config.py b/cdist/config.py
index 3f8a7fc6..73ba4710 100644
--- a/cdist/config.py
+++ b/cdist/config.py
@@ -163,7 +163,11 @@ class Config(object):
         """Short name for object list retrieval"""
         for cdist_object in core.CdistObject.list_objects(self.local.object_path,
                                                          self.local.type_path):
-            yield cdist_object
+            if cdist_object.cdist_type.is_install:
+                self.log.debug("Running in config mode, ignoring install object: {0}".format(cdist_object))
+            else:
+                yield cdist_object
+
 
     def iterate_once(self):
         """
diff --git a/cdist/core/cdist_type.py b/cdist/core/cdist_type.py
index 46e126f9..ff1ebaec 100644
--- a/cdist/core/cdist_type.py
+++ b/cdist/core/cdist_type.py
@@ -101,6 +101,11 @@ class CdistType(object):
         """Check whether a type is a singleton."""
         return os.path.isfile(os.path.join(self.absolute_path, "singleton"))
 
+    @property
+    def is_install(self):
+        """Check whether a type is used for installation (if not: for configuration)"""
+        return os.path.isfile(os.path.join(self.absolute_path, "install"))
+
     @property
     def explorers(self):
         """Return a list of available explorers"""