diff options
| author | Scott Moser <smoser@nelson> | 2010-01-11 23:29:18 -0500 |
|---|---|---|
| committer | Scott Moser <smoser@nelson> | 2010-01-11 23:29:18 -0500 |
| commit | 969cbd1b5daa98a6e4d0d87750bde348fcf267e6 (patch) | |
| tree | 62e3678a5c6dfea631726acb112fc9c924a4095b /cloud-init-cfg.py | |
| parent | d29998f111bf02e66d600b0aefbb12fc2517d5d6 (diff) | |
| download | vyos-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-x | cloud-init-cfg.py | 40 |
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() |
