summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/CloudConfig/cc_bootcmd.py4
-rw-r--r--cloudinit/execute.py29
2 files changed, 3 insertions, 30 deletions
diff --git a/cloudinit/CloudConfig/cc_bootcmd.py b/cloudinit/CloudConfig/cc_bootcmd.py
index 11e9938c..5a9e4356 100644
--- a/cloudinit/CloudConfig/cc_bootcmd.py
+++ b/cloudinit/CloudConfig/cc_bootcmd.py
@@ -35,7 +35,9 @@ def handle(name,cfg,cloud,log,args):
raise
try:
- subprocess.check_call(['/bin/sh'], stdin=tmpf)
+ env=os.environ.copy()
+ env['INSTANCE_ID']=cloud.get_instance_id()
+ subprocess.check_call(['/bin/sh'], env=env, stdin=tmpf)
tmpf.close()
except:
log.warn("failed to run commands from bootcmd")
diff --git a/cloudinit/execute.py b/cloudinit/execute.py
deleted file mode 100644
index 17c3ad69..00000000
--- a/cloudinit/execute.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# vi: ts=4 expandtab
-#
-# Copyright (C) 2009-2010 Canonical Ltd.
-#
-# Author: Scott Moser <scott.moser@canonical.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3, as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-def run(args,cfg,log):
- import subprocess
- import traceback
- try:
- subprocess.check_call(args)
- return
- except subprocess.CalledProcessError as e:
- log.debug(traceback.format_exc(e))
- raise Exception("Cmd returned %s: %s" % ( e.returncode, args ))
- except OSError as e:
- log.debug(traceback.format_exc(e))
- raise Exception("Cmd failed to execute: %s" % ( args ))