summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-27Helpful cleanups.harlowja
1. Remove the usage of the path.join function now that all code should be going through the util file methods (and they can be mocked out as needed). 2. Adjust all occurences of the above join function to either not use it or replace it with the standard os.path.join (which can also be mocked out as needed) 3. Fix pylint from complaining about the tests folder 'helpers.py' not being found 4. Add a pylintrc file that is used instead of the options hidden in the 'run_pylint' tool.
2012-10-24Move the comment to the top + mark as fixing.Joshua Harlow
LP: #1068801
2012-10-24Remove function that shouldn't have shown up.Joshua Harlow
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-23Add helpers for wrapping file operationsScott Moser
Add a new example test that will patch utils and os functions so that they can be 'retargeted' to a temporary directory, which allows us the ability to run a full set of cloud-init stages. Neat things: 1. All cloud-init code is unchanged (as long as it goes through the utils functions for most functionality) 2. Allows for a natural way to setup a temporary directory then patch the new directory as the new 'root' and then run cloud-init stages and then check the contents of what was placed as desired. Note: This is now exposing what I think was just an issue in ./tools/run-pylint. ./tools/run-pylint ./tests/unittests/test_filters/test_launch_index.py and ./tools/run-pylint ./tests/unittests/test_simple_run was always failing, but now I'm seeing errors. need to fix that. any tests that 'import helper' have issues.
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-23tweak default ubuntu userScott Moser
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-22More cleanups for using the requests module.Joshua Harlow
1. Handle our own retries (so that we can sleep in between) 2. Cleanup the url so that partially invalid (no scheme) urls will continue working. 3. Allow redirects option now a param.
2012-10-21Fix the checking and capturing of exceptions.Joshua Harlow
2012-10-21Fix the requires after using requests.Joshua Harlow
2012-10-21Use the python requests lib instead of urllib3Joshua Harlow
since it provides the same support (and it uses that library). Urllib3 doesn't seem to exist as its own package (requests hides it) so solve that by using requests and handling its oddness ourself.
2012-10-19Remove the need for boto just for fetching the Joshua Harlow
userdata and metadata. Add in this crawling functionality to the ec2_utils module that will fully crawl (not lazily) the ec2 metadata and parse it in the same manner as boto. 1. Make the ec2 datasource + cloudstack now call into these. 2. Fix phone_home due to urllib3 change (TBD)
2012-10-18Start fixing how boto and our url fetching can notJoshua Harlow
use ssl correctly (they can not do validation due to the underlying usage of urllib/httplib). Adjust to use urllib3 which can in cloud-init url fetching. For now also take the metadata/userdata extraction code from boto (small amount) and fix it in a new local file called 'ec2_utils'.
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-15cc_landscape: do nothing if config not give. install landscape-client.Thomas Hervé
LP: #1066115
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-08Merge rpm subrelease branch.Joshua Harlow
2012-10-08Make the subrelease a new k/v entry that is handledJoshua Harlow
differently in the rpm spec file template instead of being joined with the release.
2012-10-08Add the ability to have a 'private'Joshua Harlow
release number which can be to increment cloud-init while still maintaining the 'major' cloud-init version number from bzr.
2012-10-05Bring in the config drive fixes so thatJoshua Harlow
it adjusts the fstab correctly and adds tests in that verify the actions that should happen (also tested on a real system).
2012-10-05Pylint cleanups.Joshua Harlow
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