summaryrefslogtreecommitdiff
path: root/cloudinit
AgeCommit message (Collapse)Author
2016-03-21add check_instance_id to ConfigDriveScott Moser
2016-03-21Added _write_network_fallback function to distros.debian and abstract toWesley Wiedenmeier
distros base, and apply_fallback_network to distros to call _write_network_fallback. Note that since _write_network_fallback is only implemented for debian and ubuntu a check is needed to ensure that it does not break behaviour for other distros. Added function to disable .cfg files to util, since it may be useful elsewhere
2016-03-21quickly check to see if the previous instance id is still validScott Moser
This adds a check in cloud-init to see if the existing (cached) datasource is still valid. It relies on support from the Datasource to implement 'check_instance_id'. That method should quickly determine (if possible) if the instance id found in the datasource is still valid. This means that we can still notice new instance ids without depending on a network datasource on every boot. I've also implemented check_instance_id for the superclass and for 3 classes: DataSourceAzure (check dmi data) DataSourceOpenstack (check dmi data) DataSourceNocloud (check the seeded data or kernel command line) LP: #1553815
2016-03-21Added net.find_fallback_network_device() to find an appropriate device to dhcpWesley Wiedenmeier
on in the event that no network configuration was provided to cloud-init - Devices in /sys/class/net aside from loopback devices are scanned - Each device is tested to determine if it has a carrier using /sys/class/net/DEV/carrier, devices which do are preferred as they are most likely connected to the outside world - Devices which do not have a carrier but which might still be connected due to being in a dormant or down state are used as fallbacks in case no devices are found which have a carrier - A network state dictionary is generated to be passed to render_network_state to write ENI - A systemd link file is generated that will rename the chosen device to eth0
2016-03-20 Misc fixes for VMware Support.Sankar Tanguturi
- Modified the code to look for customization specification file in /var/run/vmware-imc/ directory instead of /tmp - Fixed the 'seed file' issue. There was a regression in DataSourceOVF.py file. Fixed it.
2016-03-18Added commentsWesley Wiedenmeier
2016-03-18Handle static ip= entries by appending a static subnet to the deviceWesley Wiedenmeier
2016-03-18If proto not specified, determine it using logic from:Wesley Wiedenmeier
lp:cloud-initramfs-tools/dyn-netconf/scripts/init-bottom/cloud-initramfs-dyn-netconf
2016-03-18Fully parse files at /run/net-dev.conf, loading parameters for address,Wesley Wiedenmeier
broadcast, netmask, gateway and hostname if present
2016-03-18Merge from trunkWesley Wiedenmeier
2016-03-17Check for and merge in configuration caused by the 'ip' parameter on theWesley Wiedenmeier
kernel's cmdline during network configuration parsing. - Search for .conf files in /run with names starting with 'net', as these are created during early boot if the ip parameter is present - If any are present and valid they are merged with network configuration from the current data source - If the devices affected by the 'ip' parameter are already present in network configuration, then a subnet entry will be added to the device's configuration unless an identical entry is already present - If any of the devices affected are not present then a mostly blank configuration will be generated for the device and the appropriate subnet specified
2016-03-17Send proper SUCCESS / FAILED events to the underlying VMware hypervisor.Scott Moser
Added code to customize timezone. Added few utility functions to send events to the VMware hypervisor. Re-factored the code little bit. Added code to send SUCCESS event when customization succeeds. Added code to send FAILED event if any error occurs during customization.
2016-03-16fix regression when command line (ds=nocloud) is presentScott Moser
parsing the command line parameters returned a dictionary but _merge_new_seed was expecting a string to be yaml loaded. Change is to make _merge_new_seed take either string or dict.
2016-03-16In distros.debian call net.merge_from_cmdline_config to ensure that the resultsWesley Wiedenmeier
from any ip= parameters passed on the kernel cmdline are merged into network state
2016-03-15 - Added the code to customize timezone.Sankar Tanguturi
2016-03-14fix long lineScott Moser
2016-03-14merge with trunkScott Moser
2016-03-14merge with trunk for dmidecode changesScott Moser
2016-03-14change return value for dmi data of all \xff to be ""Scott Moser
Previously we returned a string of "." the same length as the dmi field. That seems confusing to the user as "." would seem like a valid response when in fact this value should not be considered valid. So now, in this case, return empty string.
2016-03-14strip return of dmidecode and do so before checking for all "."Scott Moser
2016-03-14change where we handle the translationScott Moser
2016-03-14change return value for dmi data of all \xff to be ""Scott Moser
Previously we returned a string of "." the same length as the dmi field. That seems confusing to the user as "." would seem like a valid response when in fact this value should not be considered valid. So now, in this case, return empty string.
2016-03-11 - Fixed few pep8 and flake8 issues.Sankar Tanguturi
- Changed the really long 'from ... import ...' statements.
2016-03-11fix toxScott Moser
2016-03-11minor changes use the helpers in cloudinit/netScott Moser
functional
2016-03-11fix use of network stateScott Moser
2016-03-11- Executed 'bzr merge' and resolved all the conflicts.Sankar Tanguturi
- Now my branch is identical to trunk.dist
2016-03-11merge with trunkScott Moser
2016-03-10commit planned implementation of datasourcenocloudScott Moser
this adds the consumption of 'network-config' to the datasourcenocloud. There is an implementation of the network rendering taht is untested in distros/debian.
2016-03-10dmi data: fix failure of reading dmi data for unset dmi valuesScott Moser
it is not uncommon to find dmi data in /sys full of 'ff'. utf-8 decoding of those would fail, causing warning and stacktrace. Return '.' instead of \xff. This is what dmidecode would return. $ dmidecode --string system-product-name
2016-03-10adjust net to fit with cloudinitScott Moser
at this point, this works: python -m cloudinit.net.network_state examples/network-all.yaml
2016-03-10initial copy of curtin netScott Moser
just add curtin/net as cloudinit/net and then copy curtin/udev.py as cloudinit/net/udev.py
2016-03-10improve commentScott Moser
2016-03-10dmi data: fix failure of reading dmi data for unset dmi valuesScott Moser
it is not uncommon to find dmi data in /sys full of 'ff'. utf-8 decoding of those would fail, causing warning and stacktrace. Return '.' instead of \xff. This maps to what dmidecode would return $ dmidecode --string system-product-name .................................
2016-03-09add default user to 'lxd' group and create groups when necessary.Scott Moser
This add 'lxd' to the list of groups that the default user is added to. It also changes behavior to create any necessary groups that are listed for the user rather than failing to add the user. Theres also a fix for usage of logexc that I found along the way. LP: #1539317
2016-03-09 - Fixed few issues with return values form util.subp()Sankar Tanguturi
- Added a new utility method to send a RPC for enabling NICS - Modified DataSourceOVF.py to enable nics. - Executed ./tools/run-pep8 and no issues were reported.
2016-03-08 - Ignored return code 1 for 'pkill' command in config_nic.pySankar Tanguturi
- Added few utility functions to report events to the underlying VMware Virtualization platform - Re-factored code little bit. - Executed ./tools/run-pep8 and no pep8 errors were reported.
2016-03-08No longer run pollinate by default in seed_randomScott Moser
The user can still choose to run pollinate here to seed their random data. And in an environment with network datasource, that would be expected to work. However, we do not want to run it any more from cloud-init because a.) pollinate's own init system jobs should get it ran before ssh, which is the primary purpose of wanting cloud-init to run it. b.) with a local datasource, there is no network guarantee when init_modules run, so pollinate -q would often cause issues then. c.) cloud-init would run pollinate and log the failure causing many cloud-init specific failures that it could do nothing about. Additionally, add documentation for the seed_random config module.
2016-03-07No longer run pollinate by default in seed_randomScott Moser
The user can still choose to run pollinate here to seed their random data. And in an environment with network datasource, that would be expected to work. However, we do not want to run it any more from cloud-init because a.) pollinate's own init system jobs should get it ran before ssh, which is the primary purpose of wanting cloud-init to run it. b.) with a local datasource, there is no network guarantee when init_modules run, so pollinate -q would often cause issues then. c.) cloud-init would run pollinate and log the failure causing many cloud-init specific failures that it could do nothing about. LP: #1554152
2016-03-07Implemented review concerning position of try and more information about the ↵Alex Sirbu
caught exception.
2016-03-07Returning false if file does not exist, instead of throwing errorAlex Sirbu
2016-03-07Enable Bigstep data source in default configurationAlex Sirbu
2016-03-04pep8: update formatting to pass pep8 1.4.6 (trusty) and 1.6.2 (xenial)Ryan Harper
make check fails in a trusty sbuild due to different rules on older pep8. Fix formatting to pass in older and newer pep8.
2016-03-04Added Bigstep datasourceDaniel Watkins
2016-03-04Enable password changing via a hashed stringDaniel Watkins
2016-03-04merge with trunkScott Moser
2016-03-04Apply pep8, pyflakes fixes for python2 and 3Scott Moser
Update make check target to run pep8 and run pyflakes or pyflakes3 depending on the value of 'PYVER'. This way the python3 build environment does not need python2 and vice versa. Also have make check run the 'yaml' test. tox: have tox run pep8 in the pyflakes
2016-03-03 Resolved all the pep8 errors.Sankar Tanguturi
Executed ./tools/run-pep8 cloudinit/sources/DataSourceOVF.py and no errors were reported.
2016-03-03Apply pep8, pyflakes fixes for python2 and 3 Ryan Harper
Update make check target to use pep8, pyflakes, pyflakes3.
2016-03-03Fix pyflake/pyflake3 errorsRyan Harper
Now we can run make check to assess pep8, pyflakes for python2 or 3 And execute unittests via nosetests (2 and 3).