summaryrefslogtreecommitdiff
path: root/cloudinit
AgeCommit message (Collapse)Author
2012-10-24Handle the case where newer versions of botoJoshua Harlow
are used that lazily load the metadata from the ec2 metadata service. 1. Add a ec2_utils module that checks which version of boto is being used and under the right versions the metadata dictionary will be expanded. 2. Use this new ec2_utils module in the cloudstack and ec2 datasources as there entrypoints into boto.
2012-10-23use only util methods for reading/loading/appending/peekingScott Moser
Use only util methods for reading/loading/appending/peeking at files since it is likely soon that we will add a new way of adjusting the root of files read, also it is useful for debugging to track what is being read/written in a central fashion.
2012-10-23No need for the get defaultJoshua Harlow
users groups function when its provided by the get user function.
2012-10-23multipart or cloud-config-archive, do not fail on unknown headersScott Moser
LP: #1065116
2012-10-23restart landscape after config or installThomas Herve
LP: #1070345
2012-10-23Make sure that /etc/sudoers.d is used by /etc/sudoersScott Moser
Create /etc/sudoers.d if not present. Attempt to determine if /etc/sudoers.d will be used by /etc/sudoers. If determined not, then add a line to /etc/sudoers.
2012-10-23Restart landscape at the end of the configurationThomas Hervé
2012-10-23fix pep8/pylintScott Moser
2012-10-23move default user info out of code and into configScott Moser
Remove the need to have 'default_user' and 'default_user_groups' groups be hard coded into the distro class, instead let that set of configuration be located in the config file where it should be specified instead.
2012-10-17More cleanups, fix header function.Joshua Harlow
2012-10-17Make the yum value 'string' translation a function.Joshua Harlow
2012-10-16Add in a created by cloud-init header.Joshua Harlow
2012-10-16Move the recursive flushing to the log module.Joshua Harlow
2012-10-16Add a more generic package install mechansimJoshua Harlow
that removes some of the code in apt_update_upgrade to do upgrades and installs and places it in a generic package module and adjusts some of the reboot backoffs and log flushing/sleeping that was happening there.
2012-10-16Update comments as to why format is the way it is.Joshua Harlow
2012-10-16Fix copyright.Joshua Harlow
2012-10-16Remove some pylint buggies.Joshua Harlow
2012-10-16Add in a configuration module that canJoshua Harlow
write out the yum.repo format for those that want to hook into different repos for installing.
2012-10-15Skip install when there is not configuration, and install the package to be ↵Thomas Hervé
setup properly.
2012-10-11Add some more sysconfig tests + pylint cleanups.Joshua Harlow
2012-10-11Fix the single item string quoting function.Joshua Harlow
2012-10-11Handle the case where the value contains shellJoshua Harlow
variables to be expanded which when using pipes.quote will now not be expanded, so add some checks to ensure that this case will still happen.
2012-10-11Update to use pipes.quote to ensure that Joshua Harlow
variables adjusted in sysconfig files are properly quoted for there common use case, that being sourced into shell scripts.
2012-10-11Update log message to use the more appropriate 'non-persistently' wording.Joshua Harlow
2012-10-11More adjustments/cleanups for the system configurationJoshua Harlow
helper objects. 1. Add in a parser for the /etc/hostname file that can be shared 2. Adjust the sysconfig configobj parser to not always quote fields that it does not need to quote + add in tests around this to ensure that we don't go nuts with quoting again.
2012-10-10Add comment explaining why the '_apply_hostname'Joshua Harlow
function will not be permanent and catch the exception that occurs if it fails and log that instead of blowing up (which isn't typically useful for something that is temporary anyway).
2012-10-10Add comments as to a future refactoringJoshua Harlow
of this function that needs to occur since its pretty much the same now.
2012-10-10System config niceness!Joshua Harlow
1. Move out the old helpers that provided oop access/reading/writing to various standard conf files and place those in parsers instead. 2. Unify the 'update_hostname' which varied very little between distros and make it generic so that subclasses can only provide a couple of functions to obtain the hostname updating functionality 3. Implement that new set of functions in rhel/debian 4. Use the new parsers chop_comment function for similar use cases as well as add a new utils make header function that can be used for configuration files that are newly generated to use (less duplication here of this same thing being done in multiple places. 5. Add in a distro '_apply_hostname' which calls out to the 'hostname' program to set the system hostname (more duplication elimination). 6. Make the 'constant' filenames being written to for configuration by the various distros be instance members instead of string constants 'sprinkled' throughout the code
2012-10-10Merge the resolv.conf branch inJoshua Harlow
preparation for having a new branch for all of these changes.
2012-10-10Fixed typo on dict value referenceAvishai Ish-Shalom
LP: #1065116
2012-10-05Add checks around the device names that are foundJoshua Harlow
to ensure that even if they are found that they are also valid, before they are assumed to be the correct device name.
2012-10-05Add tests to show that the assigned bug is fixed.Joshua Harlow
Also fix the extraction of the metadata key name since it actually uses 'dashes' instead of being a single word.
2012-10-05Ensure that config drive datasource attempts toJoshua Harlow
translate the device name to a actual device using logic that will try the ec2 metadata (if avail) or will try using 'blkid' to find a corresponding label. LP: #1062540
2012-10-05bump version to 0.7.1Scott Moser
2012-10-04Ensure that for config drive thatJoshua Harlow
we map 'hostname' to 'local-hostname' so that the modules work correctly with the cfgdrive style of data.
2012-10-01fix oauth time skew. actual implementation was returning 401 not 403.Scott Moser
This fixes (tested) bug 978127. The server was actually returning a 401 not a 403. As such, the fix here was insufficient. This will now take either of those 2 error codes. I've also tested it by changing the clock in the cloud-init upstart job with a stanza like below, and verifying that we do see the problem and then it resolve itself: pre-start script offset="10 minutes ago" past=$(date -R --date "$offset") date --set "$past" && echo ===== "set date to $past [$offset]" ===== || echo ===== "failed to set date to $past [$offset]" ==== end script LP: #978127
2012-09-30Ensure that the include dir starts the lineJoshua Harlow
and is not a part of a comment or other part of the line.
2012-09-30rework the rest of the users of old single 'user' to support listsJoshua Harlow
Rework the rest of the locations that used the previous 'user' and make those locations go through the new distros functions to select the default user or the user list (depending on usage). Adjust the tests to check the new 'default' field that signifies the default user + test the new method to extract just the default user from a normalized user dictionary. "default" user is now marked in the user dict and get_default_user uses that.
2012-09-30[pylint]: remove unused importScott Moser
2012-09-28Update the log statement used here to beJoshua Harlow
a little more relevant.
2012-09-28Dir should be 0755, not 0440Joshua Harlow
2012-09-28Ensure that the directory where the sudoersJoshua Harlow
file is being added actually exists before it is written into and ensure that the directory is included in the main sudoers file.
2012-09-28Sync with head and fix conflicts.Joshua Harlow
2012-09-28Make byobu more tolerant of the user not beingJoshua Harlow
located and warn when it is not found + only run the shell command when actual contents exist to run.
2012-09-28Add a comment as to why distros can't beJoshua Harlow
imported without being renamed due to previous usage of the attribute 'distros'
2012-09-28make DataSourceMAAS 'main()' use load_yamlScott Moser
2012-09-28Rework the rest of the locations that usedJoshua Harlow
the previous 'user' and make those locations go through the new distros functions to select the default user or the user list (depending on usage). Adjust the tests to check the new 'default' field that signifies the default user + test the new method to extract just the default user from a normalized user dictionary.
2012-09-28fix pep8 and pylintScott Moser
2012-09-28add 'safeyaml' to cloudinitScott Moser
In 0.7.0 we started using yaml.safe_load to load data rather than yaml.load. Some producers (namely, ubuntu MAAS created) have produced cloud-config data in the past that included python unicode types. This creates a specialized safe_loader that is basically safe_load + support for python unicode.
2012-09-28rpm spec and rpm build, better handle case with no package_mirrorsJoshua Harlow