summaryrefslogtreecommitdiff
path: root/ec2init
AgeCommit message (Collapse)Author
2010-02-03globally remove ec2init and rename to cloudinitScott Moser
2010-02-03make up a 'hostname' if there is a ip in local-hostname LP: #513842Scott Moser
2010-01-29move etc/ec2-init/templates to etc/cloud/templatesScott Moser
2010-01-29tighten permissions on cloud-config and user-data to protect itScott Moser
2010-01-29make disable-ec2-metadata persistent across bootsScott Moser
The sem_and_run and such needs some work, donesn't make a lot of sense for "always".
2010-01-28add the part-handler pluginScott Moser
If a part of a multipart file is 'text/part-handler' then it is expected to be python code that implements 2 methods - list_types() list the types that this part-handler supports, return a list. ie: return(['text/plain']) - handle_parts(data,ctype,filename,payload) this method will be called: once, when loaded, with ctype == '__begin__' once per part once, at the end, with ctype == '__end__' - ctype is the content type ('text/plain') - filename is the filename portion of the mime data - payload is the content of the part - data is currently the cloud object, but this could change
2010-01-28Add support for user defined mount pointsScott Moser
Also, move swap to use this format for specifying mounts. That way the user can turn off swap if they want with: | mounts: | - [ swap ] Other change wrapped in here is to have DataSourceEc2 read plain text (evalable) text for its metadata rather than pickl. This is really for debuging anyway, so any speed difference is not important.
2010-01-26in #include type, allow comment linesScott Moser
2010-01-26add 'starts_with' mapping for upstart-jobScott Moser
2010-01-26move writing sources.list to CloudConfig. add 'apt_preserve_sources_list'Scott Moser
Move the writing of sources.list to CloudConfig. This way we have access to the cloud-config user data. Then, allow the user to specify the archive mirror using 'apt_mirror' key. Now, if specified in cloud-config, that is used, otherwise, we get one from the DataSource. One other change here is adding 'apt_preserve_sources_list'. If set to true, then overwriting of the sources.list with the selected mirror will not be done.
2010-01-26if datasource is already defined do not re-load it (even from cache)Scott Moser
2010-01-26support reading keys from ssh_authorized_keys field of cloud-configScott Moser
2010-01-26add cloud config support for apt_sourcesScott Moser
This includes support for - signing key import via 'keyid' and 'keyserver' or 'key' - ppa:* support (provided by 'add-apt-repository') now there is a dependency on python-software-properties
2010-01-25no longer stop and restart ssh, rely on normal ssh serviceScott Moser
Experimentation indicates that: a.) sshd will start without ssh_host_keys in place b.) sshd does not need to be restarted to read new keys written there any new ssh connection will use new keys see LP: #512377 for example of tests that found the above. With changes to ec2-automated-builds under 512377, the keys will not exist in the image, so the unlink will be generally not needed. The ssh server may start up before this code runs, however it will have no keys availalble until this writes or generates it.
2010-01-23comment out unusable call to boto.log.exception in boto_utils.pyScott Moser
2010-01-22Add support for ssh keys in cloud-config. move write_file to util.Scott Moser
---- #cloud-config apt_update: true ssh_keys: rsa_private: | -----BEGIN RSA PRIVATE KEY----- MIIBxwIBAAJhAKD0YSHy73nUgysO13XsJmd4fHiFyQ+00R7VVu2iV9Qcon2LZS/x ... REPPOyrAspdeOAV+6VKRavstea7+2DZmSUgE -----END RSA PRIVATE KEY----- rsa_public: ssh-rsa AAAAB3NzaC1yc2E...18QJvWPocKJtlsDNi3 smoser@host dsa_private: | -----BEGIN DSA PRIVATE KEY----- MIIBuwIBAAKBgQDP2HLu7pTExL89USyM0264RCyWX/CMLmukxX0Jdbm29ax8FBJT ... 8KucvUYbOEI+yv+5LW9u3z/BAoGBAI0q6JP+JvJmwZFaeCMMVxXUbqiSko/P1lsa -----END DSA PRIVATE KEY----- dsa_public: ssh-dss AAAAB3NzaC1kc3M...ybngIy66PMEoQ= smoser@host ----
2010-01-22function ec2 metadata service removal. also fix issues with empty cloud-configScott Moser
2010-01-22fix reading of cloudconfigScott Moser
2010-01-22re-work generation of keys. be more sure that ssh service will be runningScott Moser
2010-01-20remove some debug statementsScott Moser
2010-01-20support 'packages' in cloud-configScott Moser
2010-01-20add util libraryScott Moser
2010-01-20lots of shuffling around. more fully support old ec2-init.cfg and, addScott Moser
new preferred config file /etc/cloud/cloud.cfg. cloud.cfg is read, its values are overridden by the cloud-config data from user data
2010-01-14functional cloud-config-ssh.conf nowScott Moser
This fixes LP: #506599 , LP: #507070 . Also, here, we move config parsing out of the EC2Init class. Instead the parsing of /etc/ec2-init/ec2-init.cfg is now done in the CloudConfig class, and prepended to the cloud-config that comes in from user data. This means that values in user data will over-ride the settings in /etc/ec2-init. Still TODO is support reading the public and private key files from the cloud-config
2010-01-12add swap devices if there are any foundScott Moser
2010-01-12moving towards getting apt-update-upgrade workingScott Moser
2010-01-12work around differences in uec and ec2 metadata servicesScott Moser
LP: #506332
2010-01-11refactor the config class and jobs to run through cloud-init-cfgScott Moser
At this point, the following should be functional: cloud-init-cfg apt-update-upgrade
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-08pull in chuck's repo at rev 75Scott Moser
bzr+ssh://bazaar.launchpad.net/~zulcss/ec2-init/ec2-init-config/
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-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-06add UserDataHandler.py, it handles includes and normalizing of userdataScott 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-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
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-08-11Consolidate on the use of urllib2 (rather than both urllib and urllib2)Soren Hansen
2009-08-11Extend config API to allow for default values.Soren Hansen
Handle undefined config values gracefully.
2009-08-11Remove call to update-motd from the init script. It is Ubuntu specific (and ↵Soren Hansen
is possibly not even needed there) Fix a bit of fallout due to code shuffling between EC2Init, ec2-set-apt-sources, and ec2-set-defaults.