Giuseppe Lavagetto has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/394981 )

Change subject: [WiP] Puppet 4 compatibility
......................................................................

[WiP] Puppet 4 compatibility

Change-Id: I509e00f6363a7245f19c0717e35d0f2c9a48a00a
---
M puppet_compiler/differ.py
M puppet_compiler/puppet.py
2 files changed, 10 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/software/puppet-compiler 
refs/changes/81/394981/1

diff --git a/puppet_compiler/differ.py b/puppet_compiler/differ.py
index b9c9a71..212de38 100644
--- a/puppet_compiler/differ.py
+++ b/puppet_compiler/differ.py
@@ -95,11 +95,15 @@
         self.resources = {}
         with open(filename, 'r') as fh:
             catalog = json.load(fh, 'latin_1')
-        for resource in catalog['data']['resources']:
+        if 'data' in catalog:
+            base = catalog['data'] # Puppet 3
+        else:
+            base = catalog # Puppet 4 and above
+        for resource in base['resources']:
             r = PuppetResource(resource, resource_filter)
             self.resources[str(r)] = r
         self.all_resources = set(self.resources.keys())
-        self.name = catalog['data']['name']
+        self.name = base['name']
 
     def diff_if_present(self, other):
         diffs = []
diff --git a/puppet_compiler/puppet.py b/puppet_compiler/puppet.py
index 4b6261c..ba08eca 100644
--- a/puppet_compiler/puppet.py
+++ b/puppet_compiler/puppet.py
@@ -9,6 +9,7 @@
 
 
 def compile_cmd_env(hostname, label, vardir, *extra_flags):
+    puppet_version = os.environ.get('PUPPET_VERSION', 4)
     env = os.environ.copy()
     if label == 'prod':
         basedir = FHS.prod_dir
@@ -27,10 +28,11 @@
            '--trusted_node_data',
            '--compile=%s' % hostname,
            '--color=false',
-           '--parser=future',
            '--manifest=$confdir/manifests',
-           '--environment=future'
+           '--environmentpath=$confdir/environments'
            ]
+    if puppet_version < 4:
+        cmd.extend(['--trusted_node_data', '--parser=future', 
'--environment=future' ])
     cmd.extend(extra_flags)
     return (cmd, env)
 

-- 
To view, visit https://gerrit.wikimedia.org/r/394981
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I509e00f6363a7245f19c0717e35d0f2c9a48a00a
Gerrit-PatchSet: 1
Gerrit-Project: operations/software/puppet-compiler
Gerrit-Branch: master
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to