From ed672bb70d07de292a01bd41ed3b02770fb5748b Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Sun, 30 Oct 2011 17:41:01 -0400 Subject: Make enabling puppet service work on Fedora configure puppet service to start on fedora based on one of: * presence of /etc/default/puppet (Ubuntu) * /bin/systemctl * /sbin/chkconfig taken from git://pkgs.fedoraproject.org/cloud-init.git commit 87f33190f43d2b26cced4597e7298835024466c2 Author: Garrett Holmstrom Patch7: cloud-init-0.6.2-puppetenable.patch --- cloudinit/CloudConfig/cc_puppet.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cloudinit/CloudConfig/cc_puppet.py b/cloudinit/CloudConfig/cc_puppet.py index 1dcd6a75..3dc40873 100644 --- a/cloudinit/CloudConfig/cc_puppet.py +++ b/cloudinit/CloudConfig/cc_puppet.py @@ -16,6 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . import os +import os.path import pwd import socket import subprocess @@ -84,10 +85,15 @@ def handle(name,cfg,cloud,log,args): with open('/etc/puppet/puppet.conf', 'wb') as configfile: puppet_config.write(configfile) util.restorecon_if_possible('/etc/puppet/puppet.conf') - # Set puppet default file to automatically start - subprocess.check_call(['sed', '-i', - '-e', 's/^START=.*/START=yes/', - '/etc/default/puppet']) + # Set puppet to automatically start + if os.path.exists('/etc/default/puppet'): + subprocess.check_call(['sed', '-i', + '-e', 's/^START=.*/START=yes/', + '/etc/default/puppet']) + elif os.path.exists('/bin/systemctl'): + subprocess.check_call(['/bin/systemctl', 'enable', 'puppet.service']) + elif os.path.exists('/sbin/chkconfig'): + subprocess.check_call(['/sbin/chkconfig', 'puppet', 'on']) # Start puppetd subprocess.check_call(['service', 'puppet', 'start']) -- cgit v1.2.3