summaryrefslogtreecommitdiff
path: root/cloud-init-cfg.py
diff options
context:
space:
mode:
authorScott Moser <smoser@nelson>2010-01-11 23:29:18 -0500
committerScott Moser <smoser@nelson>2010-01-11 23:29:18 -0500
commit969cbd1b5daa98a6e4d0d87750bde348fcf267e6 (patch)
tree62e3678a5c6dfea631726acb112fc9c924a4095b /cloud-init-cfg.py
parentd29998f111bf02e66d600b0aefbb12fc2517d5d6 (diff)
downloadvyos-cloud-init-969cbd1b5daa98a6e4d0d87750bde348fcf267e6.tar.gz
vyos-cloud-init-969cbd1b5daa98a6e4d0d87750bde348fcf267e6.zip
refactor the config class and jobs to run through cloud-init-cfg
At this point, the following should be functional: cloud-init-cfg apt-update-upgrade
Diffstat (limited to 'cloud-init-cfg.py')
-rwxr-xr-xcloud-init-cfg.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/cloud-init-cfg.py b/cloud-init-cfg.py
new file mode 100755
index 00000000..88216e10
--- /dev/null
+++ b/cloud-init-cfg.py
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+import sys
+import ec2init
+
+def Usage(out = sys.stdout):
+ out.write("Usage: %s name\n" % sys.argv[0])
+
+def main():
+ # expect to be called with
+ # name freq [ args ]
+ if len(sys.argv) < 2:
+ Usage(sys.stderr)
+ sys.exit(1)
+
+ name=sys.argv[1]
+ run_args=sys.argv[2:]
+
+ import ec2init.CloudConfig
+ import os
+
+ cfg_path = ec2init.cloud_config
+ cfg_env_name = ec2init.cfg_env_name
+ if os.environ.has_key(cfg_env_name):
+ cfg_path = os.environ[cfg_env_name]
+
+ cc = ec2init.CloudConfig.CloudConfig(cfg_path)
+
+ try:
+ cc.handle(name,run_args)
+ except:
+ import traceback
+ traceback.print_exc(file=sys.stderr)
+ sys.stderr.write("config handling of %s failed\n" % name)
+ sys.exit(1)
+
+ sys.exit(0)
+
+if __name__ == '__main__':
+ main()