1. 26 Aug, 2014 1 commit
  2. 20 Mar, 2014 1 commit
  3. 18 Feb, 2014 1 commit
  4. 28 Jan, 2014 1 commit
    • Scott Moser's avatar
      DataSourceNoCloud: support reading vendor-data · c1253945
      Scott Moser authored
      Here we add the ability to read vendor-data from a file named
      vendor-data at the same location as the user-data and meta-data files.
      At the moment, vendor-data is not read at all from 'seedfrom'.
  5. 19 Jun, 2013 1 commit
  6. 05 Jun, 2013 1 commit
  7. 26 Mar, 2013 1 commit
    • Greg Padgett's avatar
      compatibility fixes for Fedora and RHEL · 984c72e5
      Greg Padgett authored
      This patch fixes issues in Fedora 18 (and upcoming RHEL 7) which are
      present due to their use of systemd:
       - store locale configuration in /etc/locale.conf
       - store hostname in /etc/hostname
       - use a symlink for /etc/localtime (prior code would set the timezone
         but corrupt data in /usr/share/zoneinfo due to presence of symlink)
      It also contains fixes for issues unrelated to systemd adoption:
       - explicitly scan /dev/sr0 with blkid in order to get the optical drive
         in the blkid cache.  This prevents an issue on systems running 2.6
         kernels (such as RHEL 6) in which config disks on some devices won't
         be detected unless the device has previously been queried.
          (For reference, see https://patchwork.kernel.org/patch/1770241/)
       - append a newline when rewriting sysconfig files, as this is customary
         text configuration file formatting and is expected by some parsers
         (such as the ifcfg-rh plugin for NetworkManager)
  8. 07 Mar, 2013 2 commits
  9. 01 Mar, 2013 1 commit
  10. 07 Feb, 2013 2 commits
  11. 05 Feb, 2013 1 commit
  12. 21 Jun, 2012 2 commits
  13. 16 Jun, 2012 2 commits
    • Joshua Harlow's avatar
    • Joshua Harlow's avatar
      Complete initial cleanup for refactoring/rework. · 508168ac
      Joshua Harlow authored
      Some of the cleanups were the following
      1. Using standard (logged) utility functions for sub process work, writing, reading files, and other file system/operating system options
      2. Having distrobutions impelement there own subclasses to handle system specifics (if applicable)
      3. Having a cloud wrapper that provides just the functionality we want to expose (cloud.py)
      4. Using a path class instead of globals for all cloud init paths (it is configured via config)
      5. Removal of as much shared global state as possible (there should be none, minus a set of constants)
      6. Other various cleanups that remove transforms/handlers/modules from reading/writing/chmoding there own files. 
       a. They should be using util functions to take advantage of the logging that is now enabled in those util functions (very useful for debugging)
      7. Urls being read and checked from a single module that serves this and only this purpose (+1 for code organization)
      8. Updates to log whenever a transform decides not to run
      9. Ensure whenever a exception is thrown (and possibly captured) that the util.logexc function is called 
       a. For debugging, tracing this is important to not just drop them on the floor.
      10. Code shuffling into utils.py where it makes sense (and where it could serve a benefit for other code now or in the future)
  14. 07 Jun, 2012 2 commits
  15. 05 Apr, 2012 2 commits
  16. 28 Feb, 2012 1 commit
    • Scott Moser's avatar
      DataSourceNoCloud: fix local cloud sources other than from devices · f7eba5ca
      Scott Moser authored
      The purely local non-device (vfat/iso9660) sources were broken by the
      last set of changes here.  This restores them to functional.
      If the seed is from a device, then the default behavior is to be 'net' mode.
      For seed via cmdline, the user can specify 'ds=nocloud-net' and for
      seed via filesystem seed dir, they can just populate the other directory.
      To make it easier, when attaching a seed device, the user does not need
      to specify 'dsmode' of 'net' in the metadata file.  They still can, but that is
      the default.  It seems that that is more likely to be what is desired.
      LP: #942695
  17. 17 Feb, 2012 1 commit
  18. 16 Feb, 2012 1 commit
  19. 18 Jan, 2012 1 commit
  20. 17 Jan, 2012 4 commits
  21. 12 Jan, 2012 2 commits
  22. 31 Aug, 2011 1 commit
  23. 20 Jul, 2011 1 commit
    • Scott Moser's avatar
      increase timeout on read_seed when a seedfrom was explicitly given · be623b70
      Scott Moser authored
      In the case where a seedfrom value was given on the command line or in the
      config file, we were timing out in 2 seconds on the connection.  That timeout
      was put in place to support "probing" for sources, but seedfrom is explictly
      So, in that case, do a urllib.open without a timeout value.  Looking at source
      code, default timeout is 'socket._GLOBAL_DEFAULT_TIMEOUT', but rather than
      importing that and using  it, I will call without a timeout value.
      LP: #812646
  24. 04 Feb, 2011 1 commit
    • Scott Moser's avatar
      fix logging in DataSource modules · 38b21ce3
      Scott Moser authored
      Previous logging was getting 'None' set in the DataSource collections.
      Thus, 'log.debug' would throw error.  I think it is proper to pull in
      the base cloudinit's log.
  25. 31 Jan, 2011 2 commits
  26. 26 Jan, 2011 1 commit
    • Scott Moser's avatar
      rework of DataSource loading. · dc5e7116
      Scott Moser authored
      The DataSources that are loaded are now controlled entirely via
      configuration file of 'datasource_list', like:
         datasource_list: [ "NoCloud", "OVF", "Ec2" ]
      Each item in that list is a "DataSourceCollection".  for each item
      in the list, cloudinit will attempt to load:
      and, failing that,
      The module is required to have a method named 'get_datasource_list'
      in it that takes a single list of "dependencies" and returns
      a list of python classes inside the collection that can run needing
      only those dependencies.
      The dependencies are defines in DataSource.py. Currently:
      When 'get_datasource_list' is called for the DataSourceOVF module with
      [DEP_FILESYSTEM], then DataSourceOVF returns a single item list with a
      reference to the 'DataSourceOVF' class.
      When 'get_datasource_list' is called for the DataSourceOVF module with
      [DEP_FILESYSTEM, DEP_NETWORK], it will return a single item list
      with a reference to 'DataSourceOVFNet'.
      cloudinit will then instanciate the class and call its 'get_data' method.
      if the get_data method returns 'True', then it selects this class as the
      selected Datasource.
  27. 19 Jan, 2011 1 commit
  28. 18 Jan, 2011 1 commit
    • Scott Moser's avatar
      support reading cloud_config from kernel command line · c11b93cf
      Scott Moser authored
      This allows the user to specify portions of the cloud-config
      system config on the kernel command line.  values found on the
      kernel command line have preference over those in system config.
      The format is:
       cc:[ ]<yaml content here> [end_cc]
       'cc:' indicates the beginning of cloud config syntax
       [ ]   optionally followed by whitespace (which will be trimmed)
       <yaml content here> :
          this content is passed untouched to yaml
          this is optional.  If no 'end_cc' tag is found, all data from
          the begin tag to the end of the command line is consumed
      Multiple occurences of the cc:<data>end_cc will be joined with
      carriage return before passing to yaml.
      Any litteral '\n' (backslash followed by lower case 'n') are converted
      to a carriage return.
      The following are examples:
        cc: ssh_import_id: [smoser, kirkland]
        cc: ssh_import_id: [smoser, bob]\\nruncmd: [ [ ls, -l ], echo hi ] end_cc
        cc:ssh_import_id: [smoser] end_cc cc:runcmd: [ [ ls, -l ] ] end_cc
  29. 13 Aug, 2010 1 commit