summaryrefslogtreecommitdiff
path: root/cloudinit
AgeCommit message (Collapse)Author
2013-03-06Continue working on merging code.Joshua Harlow
2013-03-05Add in a bunch of changes and tests.Joshua Harlow
2012-11-22More cleanups.Joshua Harlow
2012-11-22Allow mergers to take options.Joshua Harlow
2012-11-22Add which files the yaml blob came from.Joshua Harlow
2012-11-22Adjust naming and exception catching.Joshua Harlow
2012-11-22Change the yaml merge header extraction to be in a sep. function that can ↵Joshua Harlow
look in more places.
2012-11-22Continue work.Joshua Harlow
2012-11-22Select merge-type from either header or content after loading as yaml.Joshua Harlow
2012-11-22Continue working on merging prototype.Joshua Harlow
2012-11-20Start allowing different merging types to be appliedJoshua Harlow
After user data handling splits apart all the different content types into there various mime messages it is nice to be able to have each message specify how it should be merged (mainly for cloud-config or cloud-archive) into the single cloud config that is eventually used. This starts to add a plugable merging framework and the needed components to activate said headers and merging.
2012-11-20fix "resize_root: noblock"Scott Moser
resize_root: noblock has been broken in the 0.7.0 series. Using it would disable resizing. LP: #1080985
2012-11-20pep8 and pylintScott Moser
2012-11-15Raise a type error when a sudoers rule is not an accepted type.Joshua Harlow
2012-11-14Fix sudoers being written multiple times when strings are used.Joshua Harlow
LP: #1079002
2012-11-14Bump the version to 0.7.2Joshua Harlow
2012-11-13Only attempt to read the previous hostname file if it exists.Scott Moser
- Instead of always reading the previous hostname file even if it did not exist lets only read it if it is a valid variable and is actually a existent file instead of just attempting to read it always. - Also update the logging that is done when a previous file does not exist. LP: #1078452
2012-11-13Update how errors are handled when writing and reading hostnames.Joshua Harlow
2012-11-13Only attempt to read the previous hostname file if it exists.Joshua Harlow
Instead of always reading the previous hostname file even if it did not exist lets only read it if it is a valid variable and is actually a existent file instead of just attempting to read it always. LP: #1078452
2012-11-13check for a marker file by the normal name alsoScott Moser
This check is a waste of a stat any time after the migrator module had run. As it would take care of moving markers. However, if the user runs: sudo cloud-init modules --mode final after an upgrade, they'd otherwise run any module that had a '-' in its name again. To avoid that, we just return true in that case, and inform the user how to run the migrator themselves.
2012-11-13make migrator walk the "cloud" path alsoScott Moser
the migrator was not renaming items in the "cloud" semaphore path. Those were items that would run once only. Now we just check both ipath('sem') and cpath('sem')
2012-11-13support 'power_state' cloud-config for specifying shutdownScott Moser
this adds 'power-state-change' config module that allows the user to specify in cloud-config syntax that a system reboot or shutdown should occur after cloud-init is done.
2012-11-13use os.devnull [trivial]Scott Moser
2012-11-13Even when using boto < 2.6 force the unlazying to occurScott Moser
It seems like its possible that boto 2.5.2 and below have the lazy loading metadata dictionary so as a precaution we will always take the hit of unlazying the metadata dictionary by traversing it which in the non-lazy dictionary case has no effect (its marginal). This also removes the need to check the boto version and the dependency on setup tools just for this case.
2012-11-13add sleep, allow errno '3' (ESRCH) on the open of /proc/pid/cmdlineScott Moser
The sleep is added here simply to not completely spin cpu on waiting for the parent pid to die. the allowing of errno 3 is because I was getting this. I dont have a perfect explanation, but I suspect that the 'open' was actually getting this back from the /proc filesystem after the pid had died. Possibly in the window between when the 'open' was done and the 'read()' was done.
2012-11-13Even when using boto < 2.6 force the unlazying to occurJoshua Harlow
It seems like its possible that boto 2.5.2 and below have the lazy loading metadata dictionary so as a precaution we will always take the hit of unlazying the metadata dictionary by traversing it which in the non-lazy dictionary case has no effect (its marginal). This also removes the need to check the boto version and the dependency on setup tools just for this case.
2012-11-13clean up exit to single function callScott Moser
2012-11-13fix read of /proc/cmdlineScott Moser
2012-11-13implement power_state with tests.Scott Moser
2012-11-13pep8 and pylintScott Moser
2012-11-13rename module 'finalcmd' to power-state-changeScott Moser
2012-11-13merge from trunkScott Moser
2012-11-12Remove these lines which are not needed.Joshua Harlow
2012-11-12Pylint and pep8 cleanups.Joshua Harlow
2012-11-12Fix variable.Joshua Harlow
2012-11-12Rebased with HEAD and resolved conflicts.Joshua Harlow
2012-11-12pass execmd a list, not tuple or stringScott Moser
2012-11-12add 'finalcmd' module for running code after cloud-init-finalScott Moser
This allows the user to easily run stuff even after cloud-init-final has finished. The initial reason for it is to be able to run /sbin/poweroff and not have cloud-init complain loudly that it is being killed. LP: #1064665
2012-11-12pylint and pep8 fixesScott Moser
2012-11-12Cleanup of /etc/hosts ordering and pep8/pylint adjustments.Joshua Harlow
Fix how the comparison of a fqdn and its aliases was done via sorting instead of existence checking which is the better way to check if a alias already exists as well as cleanup the new files pep8/pylint issues. LP: #1078097
2012-11-12change the "null datasource" for stages.py to NoneScott Moser
Previous commit set up an object for checking "None" in the stages class. Here, change that to be None. The benefit of the DataSourceNone was so that the stages was generally functional even with that "None" object. The negative affect of that is that you could go down the error path much longer when using it. If we use None type, then self.datasource.<something> will fail immediately and loudly.
2012-11-12stages.py: fix issue that resulted in broken data source searchingScott Moser
This just replaces the portions of stages.py that were checking or setting self.datasource to a DataSourceNone to use a static/global datasource. And then, check for None is done against that.
2012-11-12config-drive-v2: support public keysScott Moser
This does a couple things: * separates out the 'normalize_public_keys' from the DataSource's get_public_ssh_keys * uses that from config-drive datasource * supports config drive v1 or v2 public-keys * adds a test. LP: #1077700
2012-11-12pep8 and pylint fixupsScott Moser
2012-11-12REVERT revno 714: config-drive-v2: populate metadata['public-keys'] from ↵Scott Moser
'public_keys'
2012-11-12add comment to get_instance_userdata reguarding empty/un-provided userdataScott Moser
2012-11-12merge from trunkScott Moser
2012-11-11config-drive-v2: populate metadata['public-keys'] from 'public_keys'Scott Moser
other datasources populate 'public-keys' rather than 'public_keys' and there is a more complete handler in the base DataSource. So, to take advantage of that, have DataSourceConfigDrive copy public_keys to public-keys, and remove the 'get_public_ssh_keys' from the DataSourcEConfigDrive. LP: #1077700
2012-11-10whitespace / indentation cleanupsScott Moser
These changes were pulled out of the previous merge (cc_yum_add_repo) as they were unrelated there. Re-applying them here.
2012-11-10add yum_add_repo configuration moduleScott Moser
Add in a configuration module that can write out the yum.repo format for those that want to hook into different repos for installing.