summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-26SmartOS: do not run on arm as dmidecode causes problemsScott Moser
See LP: #1243287 for more information, but the easiest thing to do here is just not run smartos on arm. LP: #1243287
2014-02-26netinfo.py: fix regression causing ubuntu to show 'addr:v.x.y.z'Scott Moser
after freebsd merge, ubuntu shows addr:v.x.y.z instead of v.x.y.z for the ipv4 address. This should fix that by just skipping the 'inet' (or inet6) token if the next token starts with 'addr:'. LP: #1285185
2014-02-24ConfigDrive: trim trailing newlines in previous-instance-idScott Moser
When cloud-init writes previous-instance-id, it does so with a trailing '\n'. This isn't ideal, as other readers also have to know that this will have a trailing '\n' on it, but here we just trim that off.
2014-02-24DataSourceOpenStack: debug, not warn on non-ideal version. do not use latest.Scott Moser
do not search 'latest', as that would be assuming the versioned api would never break. Also, instead of warning when we use something else, just debug.
2014-02-24Reduce OSds LOG levels when detecting and use HAVANA instead of latestJoshua Harlow
2014-02-24Ensure we strip the previous_iid file contentsJoshua Harlow
The instance-id file contains the instance id and a newline, to compare correctly make sure we strip the newline before further usage.
2014-02-24test_smartos: remove bad test caseScott Moser
This test case isn't really valid any more as we've changed the way this works.
2014-02-18NoCloud: fix broken seed from external imageScott Moser
2014-02-18CloudSigma: remove 'WARN' in not found caseScott Moser
The CloudSigma datasource would attempt to read /dev/ttyS1 and if not found would warn (which gets logged to stdout by default). Better to just debug.
2014-02-14DataSourceGCE: fix 'is_resolvable', remove unnecessary WARNScott Moser
2014-02-14DataSourceOpenStack: allow vendor-data to be a dict with 'cloud-init' insideScott Moser
There might be multiple things to put inside a vendor-data. So, if it is a dict and that dict has 'cloud-init', assume that the whole thing was not meant for cloud-init, and set vendordata_raw to the specific item.
2014-02-14smartos: fix bug in previous commitScott Moser
The code in the previous commit was creating /var/lib/cloud/instance/ when it should not have. This is better handled now by using /var/lib/cloud/instances/<instance-id>, and then letting the link get created by cloud-init elsewhere.
2014-02-14The symlink of /var/lib/cloud/instance is not created at the time that theBen Howard
datasource for SmartOS runs. This patch creates the instance's directory.
2014-02-14re-work vendor-data and smartosScott Moser
This reduces how much cloud-init is explicitly involved in what "vendor-data" could accomplish. The goal of vendor-data was to provide the vendor with a channel to run arbitrary code that accomodate for their specific platform. Much of those accomodations are currently being done in cloud-init. However, this now moves some of those things to default "vendor-data", instead of cloud-init proper. Basically, now we have an 'sdc:vendor-data' key in the metadata. If that does not exist, then cloud-init will use the default. The default, provides a boothook. That boothook writes a file into /var/lib/cloud/per-boot/ . That file will be both written on every boot and then executed at rc.local time frame (by 'scripts-per-boot'). It will then execute /var/lib/cloud/instance/data/user-script and /var/lib/cloud/instance/data/operator-script if they exist. So, the things that cloud-init is now doing outside of the default vendor-data that I would rather be done in vendor-data is: * managing the population of instance/data/user-script and instance/data/operator-script. These could very easily be done from the boothook, but doing them in cloud-init removes the necessity for having a 'mdata-get' command in the image (or some other way for the boothook script to query the datasource). * managing the LEGACY things.
2014-02-13re-work vendor-data and smartosScott Moser
This reduces how much cloud-init is explicitly involved in what "vendor-data" could accomplish. The goal of vendor-data was to provide the vendor with a channel to run arbitrary code that accomodate for their specific platform. Much of those accomodations are currently being done in cloud-init. However, this now moves some of those things to default "vendor-data", instead of cloud-init proper. Basically, now we have an 'sdc:vendor-data' key in the metadata. If that does not exist, then cloud-init will use the default. The default, provides a boothook. That boothook writes a file into /var/lib/cloud/per-boot/ . That file will be both written on every boot and then executed at rc.local time frame (by 'scripts-per-boot'). It will then execute /var/lib/cloud/instance/data/user-script and /var/lib/cloud/instance/data/operator-script if they exist. So, the things that cloud-init is now doing outside of the default vendor-data that I would rather be done in vendor-data is: * managing the population of instance/data/user-script and instance/data/operator-script. These could very easily be done from the boothook, but doing them in cloud-init removes the necessity for having a 'mdata-get' command in the image (or some other way for the boothook script to query the datasource). * managing the LEGACY things.
2014-02-13merge from trunkScott Moser
2014-02-13GCE: add some tests, some small fixesScott Moser
2014-02-13some style changes, some pylint, be less noisyScott Moser
this changes url_map to a list and adds 'required' information. * If we've not already found an entry, and this is required, then debug log (ie, this is just not GCE). * if we already found an entry and this is required: warn split the keys fixing out of the loop.
2014-02-13Define default vendordata for SmartOS. In absence of a vendordata, use aBen Howard
default #cloud-config that writes per-boot script that fetches subsequent sdc:operator-scripts and executes it.
2014-02-13GCE: use dns name instead of IP addressVaidas Jablonskis
2014-02-13GCE: add unit tests, user-data support and few other fixesVaidas Jablonskis
2014-02-13Add a openstack specific datasourceJoshua Harlow
Openstack has a unique derivative datasource that is gaining usage. Previously the config drive datasource provided part of this functionality as well as the ec2 datasource, but since new functionality is being added to openstack's special datasource it seems beneficial to combine the used parts into a new datasource just made for handling openstack deployments that use the openstack metadata service (possibly in combination with the ec2 metadata service). This patch factors out the common logic shared between the config drive and the openstack metadata datasource and places that in a shared helper file and then creates a new openstack datasource that readers from the openstack metadata service and refactors the config drive datasource to use this common logic.
2014-02-13make 'Loaded datasource' a info messageScott Moser
2014-02-13do not warn on waiting for urlScott Moser
2014-02-13wait less for the metadata service (by default)Scott Moser
Waiting around for a metadata service in a given datasource means that if its not there all the subsequent datasources have to wait, and boot is slowed down. As it is right now, EC2 is the only one that has the right to wait. In the past, we had to wait around for the EC2 metadata service. I really do not want to extend that courtesy to other cloud platforms. A network based metadata service should be up as soon as networking is up.
2014-02-13add Openstack to default datasourcesScott Moser
2014-02-13merge from trunkScott Moser
2014-02-13Add initial GCE datasourceScott Moser
There are some rough edges here and its missing some test, but I want to get this pulled in.
2014-02-13add 'user-data' support.Scott Moser
This just adds user-data in 'instance/attributes/user-data'. Also turns retries to 0 on all other things.
2014-02-13cloudsigma: change default dsmode to 'net'Scott Moser
Previously this had 'local' as the default datasource mode, meaning that user-data code such as boot hooks and such would not be guaranteed to have network access. That would be out of sync with the expectation on other platforms where the default is 'network up'. The user can still specify 'dsmode' as local if necessary and the local datasource will claim itself found.
2014-02-13merge from trunkScott Moser
2014-02-12support configuration of MD_URL, disable if not resolvable.Scott Moser
this allows the metadata url to be configured by setting: datasource: GCE: metadata_url: <value> Then also, if its not resolvable, we just deactivate the datasource quickly.
2014-02-12initial Gentoo and Arch linux supportNate House
2014-02-12merge from trunkScott Moser
2014-02-12Add support for the CloudSigma server context.Kiril Vladimiroff
2014-02-12merge from trunkScott Moser
2014-02-12Add 'unverified_modules' config option and skip unverified modulesScott Moser
Config modules are able to declare distros that they were verified to run on by setting 'distros' as a list in the config module. Previously, if a module was configured to run and the running distro was not listed as supported, it would run anyway, and a warning would be written. Now, we change the behavior to skip those modules. The distro (or user) can specify that a given list of modules should run anyway by declaring the 'unverified_modules' config variable. run_once modules will be run without this filter (ie, expecting that the user explicitly wanted to run it).
2014-02-12drop 'is_excluded'.Scott Moser
for now, this the mechanism just doesn't seem right. I think i'd rather have the module declare supported distros than have distros declare [un]supported modules.
2014-02-12fix pylint warning (and real bug) in bad spelling of resolve_conf_fnScott Moser
2014-02-12cc_emit_upstart: do not bother filteringScott Moser
this module should "work" everywhere, in that it will only do anything if /sbin/initctl exists (which is going to be upstart).
2014-02-12merge from trunkScott Moser
2014-02-12Add CloudSigma data sourceKiril Vladimiroff
2014-02-10doc/examples/cloud-config-landscape.txt: fix invalid exampleDavid Britton
LP: #1277746
2014-02-10oopsDavid Britton
2014-02-10properlly format the landscape exampleDavid Britton
2014-02-10DataSourceEc2: Fix incorrect return in _get_url_settingsScott Moser
get_url_settings should return a pair of max wait and timeout and not false, fix this bug by checking the max_wait <= 0 in the calling function and returning correctly from there instead.
2014-02-10rpm build fixesScott Moser
- failing build due to missing Requires (changed to requirements.txt) - RH: require sudo >= 1.7.2p2-3 (with sudoers.d/)
2014-02-10remove the 'tools/sudo' file and references in cloud-init.spec.inScott Moser
I'm not really sure what the function of tools/sudo was, and it was definitely not required for fixing the rpm build.
2014-02-10Azure: fix issue with stale data in /var/lib/waagentScott Moser
If a datasource was found other than in /var/lib/waagent, and /var/lib/waagent contained all the files necessary for 'wait_for_files' (most likely 'SharedConfig.xml'), then cloud-init would continue on before looking properly. To address this, if the ovf-env.xml came from somewhere other than /var/lib/waagent, and it differs from the file in /var/lib/waagent, then we clean up some files that we expect to be provided by 'wait_for_files'. Also some minor changes to the tests here. LP: #1269626
2014-02-10make a defined var of DATA_DIR_CLEAN_LIST, some pylint cleanupsScott Moser