1. 04 Feb, 2016 1 commit
    • Robert Jennings's avatar
      SmartOS: Add support for Joyent LX-Brand Zones (LP: #1540965) · 75ba44d2
      Robert Jennings authored
      LX-brand zones on Joyent's SmartOS use a different metadata source
      (socket file) than the KVM-based SmartOS virtualization (serial port).
      This patch adds support for recognizing the different flavors of
      virtualization on SmartOS and setting up a metadata source file object.
      After the file object is created, the rest of the code for the datasource
      
      LP: #1540965
      75ba44d2
  2. 08 Sep, 2015 1 commit
    • Scott Moser's avatar
      power_state: support 'condition' argument · ba3e59cb
      Scott Moser authored
        
        if 'condition' is provided to config in power_state, then
        consult it before powering off.
        
        This allows the user to shut down only if a condition is met, and
        leave the system in a debuggable state otherwise.
        
        An example is as simple as:
         power_state:
           mode: poweroff
           condition: ['sh', '-c', '[ -f /disable-poweroff ]']
      ba3e59cb
  3. 07 Aug, 2015 1 commit
  4. 28 Jul, 2015 2 commits
  5. 24 Jul, 2015 1 commit
  6. 14 May, 2015 1 commit
  7. 04 Apr, 2015 1 commit
  8. 01 Apr, 2015 1 commit
  9. 04 Mar, 2015 1 commit
  10. 11 Feb, 2015 1 commit
  11. 06 Jan, 2015 1 commit
  12. 22 Nov, 2014 1 commit
  13. 24 Oct, 2014 4 commits
  14. 17 Oct, 2014 1 commit
  15. 30 Sep, 2014 1 commit
  16. 27 Sep, 2014 1 commit
  17. 22 Aug, 2014 1 commit
  18. 10 Jun, 2014 1 commit
  19. 25 Feb, 2014 2 commits
  20. 19 Feb, 2014 1 commit
    • Kiril Vladimiroff's avatar
      Read encoded with base64 user data · d1e26fc1
      Kiril Vladimiroff authored
      This allows users of CloudSigma's VM to encode their user data with base64.
      In order to do that thet have to add the ``cloudinit-user-data`` field to
      the ``base64_fields``. The latter is a comma-separated field with
      all the meta fields whit base64 encoded values.
      d1e26fc1
  21. 13 Feb, 2014 1 commit
    • Scott Moser's avatar
      cloudsigma: change default dsmode to 'net' · 18b8d40d
      Scott Moser authored
      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.
      18b8d40d
  22. 12 Feb, 2014 2 commits
    • Scott Moser's avatar
      Add 'unverified_modules' config option and skip unverified modules · 7204a820
      Scott Moser authored
      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).
      7204a820
    • Kiril Vladimiroff's avatar
      Add CloudSigma data source · 09f39269
      Kiril Vladimiroff authored
      09f39269
  23. 10 Feb, 2014 2 commits
  24. 24 Jan, 2014 2 commits
    • Scott Moser's avatar
      pep8/pylint fixes · c92cd051
      Scott Moser authored
      tools/run-pep8 wasn't checking all python files.
      tools/run-pylint wasnt checking bin/cloud-init
      
      fixed resultant pep8 issues after finding them.
      c92cd051
    • Ben Howard's avatar
      Fixes for SmartOS datasource (LP: #1272115): · fb55c107
      Ben Howard authored
      1. fixed conflation of user-data and cloud-init user-data. Cloud-init
         user-data is now namespaced as 'cloud-init:user-data'.
      2. user-scripts are now fetched from the meta-data service each boot and
         executed as in the scripts directory
      3. datacenter name is now namespaced as sdc:datacenter
      4. user-scripts should be shebanged if there is no file magic
      fb55c107
  25. 21 Jan, 2014 1 commit
  26. 17 Jan, 2014 4 commits
  27. 09 Jan, 2014 1 commit
    • Ben Howard's avatar
      Significant re-working of the userdata handling and introduction of · a5727fe1
      Ben Howard authored
      vendordata.
      
      Vendordata is a datasource provided userdata-like blob that is parsed
      similiarly to userdata, execept at the user's pleasure.
      
      
      cloudinit/config/cc_scripts_vendor.py: added vendor script cloud config
      
      cloudinit/config/cc_vendor_scripts_per_boot.py: added vendor per boot
          cloud config
      
      cloudinit/config/cc_vendor_scripts_per_instance.py: added vendor per
          instance vendor cloud config
      
      cloudinit/config/cc_vendor_scripts_per_once.py: added per once vendor
          cloud config script
      
      doc/examples/cloud-config-vendor-data.txt: documentation of vendor-data
          examples
      
      doc/vendordata.txt: documentation of vendordata for vendors
      
      (RENAMED) tests/unittests/test_userdata.py => tests/unittests/test_userdata.py
            TO: tests/unittests/test_userdata.py => tests/unittests/test_data.py:
          userdata test cases are not expanded to confirm superiority over vendor
          data.
      
      bin/cloud-init: change instances of 'consume_userdata' to 'consume_data'
      
      cloudinit/handlers/cloud_config.py: Added vendor script handling to default
          cloud-config modules
      
      cloudinit/handlers/shell_script.py: Added ability to change the path key to
          support vendor provided 'vendor-scripts'. Defaults to 'script'.
      
      cloudinit/helpers.py:
          - Changed ConfigMerger to include handling of vendordata.
          - Changed helpers to include paths for vendordata.
      
      cloudinit/sources/__init__.py: Added functions for helping vendordata
          - get_vendordata_raw(): returns vendordata unprocessed
          - get_vendordata(): returns vendordata through userdata processor
          - has_vendordata(): indicator if vendordata is present
          - consume_vendordata(): datasource directive for indicating explict
              user approval of vendordata consumption. Defaults to 'false'
      
      cloudinit/stages.py: Re-jiggered for handling of vendordata
          - _initial_subdirs(): added vendor script definition
          - update(): added self._store_vendordata()
          - [ADDED] _store_vendordata(): store vendordata
          - _get_default_handlers(): modified to allow for filtering
              which handlers will run against vendordata
          - [ADDED] _do_handlers(): moved logic from consume_userdata
              to _do_handlers(). This allows _consume_vendordata() and
              _consume_userdata() to use the same code path.
          - [RENAMED] consume_userdata() to _consume_userdata()
          - [ADDED] _consume_vendordata() for handling vendordata
              - run after userdata to get user cloud-config
              - uses ConfigMerger to get the configuration from the
                  instance perspective about whether or not to use
                  vendordata
          - [ADDED] consume_data() to call _consume_{user,vendor}data
      
      cloudinit/util.py:
          - [ADDED] get_nested_option_as_list() used by cc_vendor* for
              getting a nested value from a dict and returned as a list
          - runparts(): added 'exe_prefix' for running exe with a prefix,
              used by cc_vendor*
      
      config/cloud.cfg: Added vendor script execution as default
      
      tests/unittests/test_runs/test_merge_run.py: changed consume_userdata() to
          consume_data()
      
      tests/unittests/test_runs/test_simple_run.py: changed consume_userdata() to
          consume_data()
      a5727fe1
  28. 14 Dec, 2013 1 commit
    • Scott Moser's avatar
      support calling apt with eatmydata, enable by default if available. · 923a7d0e
      Scott Moser authored
      This allows a general config option to prefix apt-get commands via
      'apt_get_wrapper'.  By default, the command is set to 'eatmydata', and the
      mode set to 'auto'.  That means if eatmydata is available (via which), it
      will use it.
      
      The 'command' can be either a array or a string.
      
      
      LP: #1236531
      923a7d0e
  29. 12 Dec, 2013 1 commit