summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-01-11clean out 'build' directory in install.shScott Moser
2010-01-11correctly mark content type of simple filesScott Moser
For user data that is not a mime message, we were not applying the starts with rules. In fact, they were not getting applied at all. Other fix here is to have the 'main' function decompress input
2010-01-112 changes to cloud-run-user-scriptScott Moser
1. arguments to run-parts came before run-parts 2. explicitly state that we dont want this script to run until cloud-config is done
2010-01-11mark cloud-config-cat-debug upstart job as debugScott Moser
2010-01-11make sure all user-scripts get run, and only once-per-instanceScott Moser
run-parts didn't like scripts ending in .sh apparently. the man page says: If neither the --lsbsysinit option nor the --regex option is given then the names must consist entirely of upper and lower case letters, digits, under‐ scores, and hyphens. We dont want to have such a restriction. so run with --regex '.*' Second change is making this run once-per-instance .
2010-01-08pull in chuck's repo at rev 75Scott Moser
bzr+ssh://bazaar.launchpad.net/~zulcss/ec2-init/ec2-init-config/
2010-01-08run later in boot, but more reliablyScott Moser
2010-01-08change DataSourceEc2 to use the local boto_utilsScott Moser
2010-01-08add boto_utilsScott Moser
There are some problems with boto 1.9, (eucatools has issues with it). For now, I'm copying the portions of boto that i needed here to boto_utils. This gets me the newer get_instance_metadata() without needing boto
2010-01-08read cached user-data without pickling -- its just a stringScott Moser
2010-01-08fixes found testing in ec2Scott Moser
2010-01-07fix ec2init.conf upstart job to have correct start onScott Moser
2010-01-07remove old 'tests.py'Scott Moser
2010-01-07remove dead/unused code, call this 0.5.0Scott Moser
2010-01-07support setting hostnameScott Moser
2010-01-07add setting of default locale and apt-sourcesScott Moser
2010-01-07support getting public ssh keys from ec2 metadata serviceScott Moser
2010-01-07functional state now in kvm testsScott Moser
supports user data as mime-multipart and handling types of text/x-shellscript - execute at rc.local text/cloud-config - feed to cloud config text/upstart-job - add to /etc/init as upstart job text/x-include-url - include urls as if they were in-line
2010-01-07get usage of cloud-init-run-module correctScott Moser
2010-01-06add UserDataHandler.py, it handles includes and normalizing of userdataScott Moser
2010-01-06mention where it came fromScott Moser
2010-01-06add tools/ directory and 'write-mime-multipart'Scott Moser
write-mime-multipart text/x-shellscript path/filename.sh \ text/x-cloud-config my.yaml \ > my.userdata
2010-01-06add cloud-run-user-script upstart job to run rc.local style scriptsScott Moser
2010-01-06put upstart files in upstart/, minor other changesScott Moser
adding cat-cloud-config.conf, a debug file that just cats the config
2010-01-06add cloud-init-run-module and ec2init/execute.pyScott Moser
cloud-init-run-module handles some boilerplate code for running items on a 'frequency'. It has the following usefulness - a config module can be put into ec2init dir and implement a 'run' method that takes a list of arguments and the path to a config file - it handles invoking module.run() only at a given frequency This is similar to karmic's ec2init's "run_once_ever" or run_once_per_ami execute.py is an example module that executes the arguments given to it An example usage in an upstart job would be with a 'exec' line like: exec cloud-init-run-module once_per_ami clean-core execute rm /var/run/core The above would then run the command 'rm /var/run/core' only once
2010-01-06add semaphore utilities to ec2init moduleScott Moser
2010-01-06add general flow of ec2-init.pyScott Moser
2010-01-06support compressed user data, use cPickle instead of pickleScott Moser
2010-01-06add initctl_emit and defines for different data locationsScott Moser
2010-01-05initial re-org, ec2 data source successfully reads from cache if presentScott Moser
2010-01-05add hacked 'install.sh' for installing to a directoryScott Moser
this 'install.sh <dir>' script ends up rendering a directory structure under <dir> like would be packaged in a deb
2010-01-05ec2-init-user-data is not present, remove it from setup.pyScott Moser
2009-12-16fix but that required 'ec2init=X' to be last thing on the cmdlineScott Moser
2009-12-16add ec2-is-compat-env as it is in lucid/karmic nowScott Moser
2009-12-16add current working ec2init.conf, save ec2init.conf.goal, add disablerScott Moser
I'm saving ec2init.conf.goal off as the goal. At some point in the future that should be functional. ec2init-disable.conf is present as a debugging tool. If boot hangs due to unsatisfiable conditions in start-on for ec2init.conf, this will disable ec2init.conf so a reboot will come up ec2init.conf running.
2009-12-16fix typo in ec2init.confScott Moser
2009-12-15add ec2init.conf upstart jobScott Moser
2009-12-14sync karmic and trunkScott Moser
This commit merges lp:~soren/ec2-init/0.5 at rev 67 and lp:ubuntu/lucid at 0.4.999-0ubuntu8
2009-09-25replace multiple '| logger' in regenerate_ssh_host_keys with a single oneScott Moser
This is a speed improvement as previous would make a fork/subshell for each pipe. This will only make a single fork. I've also verified that each line in logger output will still get the 'ec2' prefix $ printf "%s\n%s\n" "hi world" "by world" | logger -s -t ec2 2>/dev/null $ tail -n 2 /var/log/messages Sep 24 19:06:10 ip-10-242-225-190 ec2: hi world Sep 24 19:06:10 ip-10-242-225-190 ec2: by world The other thing to note is that I redirected stderr of the regenerate_ssh_host_keys call to logger, so it will go to the logs also.
2009-09-04Add a unittest for veriyfing that shell scripts passed in user-data get called.Soren Hansen
2009-08-26Tag 0.4.999 releaseSoren Hansen
2009-08-26Use /var/run/ec2 for mounting EBS volumes.Soren Hansen
2009-08-26Don't advertise a force-stop option to the init script that we don't ↵Soren Hansen
actually offer.
2009-08-25Merge with lp:~soren/ec2-init/appliancexmlSoren Hansen
This gives us the bulk of the magic needed on the instance side to implement http://wiki.ubuntu.com/VirtualApplianceSpec
2009-08-25Merge decorator based content_type mappings from lp:~soren/ec2-init/decoratorSoren Hansen
2009-08-25Implement EBS volume mountingSoren Hansen
This can either be invoked by instrumenting the user-data with a mime part with content-type 'text/x-ebs-mount-description' with a body like so: device=/dev/sde:/var/lib/mysql,/etc/alfresco device=/dev/sdf:/other/things or by using the appliance config XML format like so: <appliance> <storage device="/dev/sde"> <path>/var/lib/mysql</path> <path>/etc/alfresco</path> </storage> <storage device="/dev/sdf"> <path>/other/things</path> </appliance> </appliance> In either case, if the volume does not yet have a filesystem, one will be created. For each path that is to live on the volume, a directory is created, and populated with the data currently in the target directory (e.g. /var/lib/mysql is copied to ${ebs_volume_path}/_var_lib_mysql). Once this is done, the directories are bind-mounted to the relevant paths. If the directories in question already exist, they will just be bind-mounted.
2009-08-25Merge with lp:~soren/ec2-init/decoratorSoren Hansen
Add @handler decorator for appliance config
2009-08-25Replace static content_type_handler dictionary with a decorator.Soren Hansen
LP: #376740
2009-08-25Added script handling to appliance config handling.Soren Hansen
Added test cases for this.
2009-08-25Added basic appliance config handling (specifically package installation and ↵Soren Hansen
removal) Also added unit tests for the above.