Age | Commit message (Collapse) | Author |
|
|
|
|
|
Managing resolv.conf can be quite handy when running in an environment
where you would like to control DNS resolution, despite being provided
DNS server information by DHCP. This module will allow one to define the
structure of their resolv.conf and write it PER_ONCE.
Right now this makes the most sense on RedHat, and therefore, has defined 'distros' as such.
Note that when a config drive is used, and dhcp is not used that this module
may not be applicable since in the RedHat based distros the config drive typically
contains a ubuntu style network configuration which contains nameservers that can
be used in /etc/resolv.conf, but for other types of datasources it is useful to
have a module which can be specifically configured to write out /etc/resolv.conf
|
|
Adding a HACKING file based upon a message from smoser on the mailing list from 12/12/2012.
|
|
As per harlowja's suggestion addding an example to the doc directory for
cc_resolv_conf.py
|
|
As per harlowja's suggestion, moving this HACKING file to restructured
text format.
|
|
|
|
|
|
|
|
When the old user: style entry is found, don't forget that
we need to use the distro settings that are provided but
override the name with the new name, this is now accomplished
by merging them together in the correct order (using the standard
cloud-init merging algo).
|
|
Include a new set of docs that can be used to
create a readthedocs.org site, which includes
examples, directory layout, capabilities and
such. This in-code documentation then allows
for readthedocs.org to create a website directly
from the cloud-init codebase.
|
|
|
|
|
|
Often it is convenient to classify a distro as being part of an
operating system family. for instance, file templates may be
identical for both debian and ubuntu, but to support this under
the current templating code, one would need multiple templates for the
same code.
Similarly, configuration handlers often fall into the same bucket: the
configuraton is known to work/has been tested on a particular family
of operating systems. right now this is handled with a declaration
like:
distros = ['fedora', 'rhel']
This fix seeks to address both of these issues. it allows for the
simplification of the above line to:
osfamilies = ['redhat']
It also provides a mechanism for operating system family templates.
|
|
When the old user: style entry is found, don't forget that
we need to use the distro settings that are provided but
override the name with the new name, this is now accomplished
by merging them together in the correct order (using the standard
cloud-init merging algo).
|
|
Previously if a legacy user: XYZ entry was found, XYZ would not automatically
be promoted to the default user but would instead just be added on as a new
entry to the normalized user list. It appears the behavior that is wanted is
for the XYZ entry to be added on as the default user (thus overriding a distro
provided default user), which better matches how the code previous worked.
LP: #1100920
|
|
Forgot to pass cfg to this function, and thus this would have never
worked.
|
|
Managing resolv.conf can be quite handy when running in an environment
where you would like to control DNS resolution, despite being provided
DNS server information by DHCP. This module will allow one to define the
structure of their resolv.conf and write it PER_ONCE.
Right now this makes the most sense on RedHat, and therefore, has defined
'distros' as such.
|
|
previously, there was an attempt in the config drive source to limit
the source device to a "full block device" rather than a partition.
This was done by a simplistic approach of checking that the last
character of the name was not a number. That was filtering out
CD-rom devices (sr0).
Now, we have a bit more sophisticated approach to that same problem.
We filter out block devices that have a 'partition' entry in
/sys/class/block/DEVICE_NAME/partition .
LP: #1100545
|
|
accidentally removed a line between two functions.
|
|
often it is convenient to classify a distro as being part of an
operating system family. for instance, file templates may be
identical for both debian and ubuntu, but to support this under
the current templating code, one would need multiple templates for the
same code.
similarly, configuration handlers often fall into the same bucket: the
configuraton is known to work/has been tested on a particular family
of operating systems. right now this is handled with a declaration
like:
distros = ['fedora', 'rhel']
this fix seeks to address both of these issues. it allows for the
simplification of the above line to:
osfamilies = ['redhat']
and provides a mechanism for operating system family templates.
|
|
Adding a HACKING file based upon a message from smoser on the mailing
list from 12/12/2012.
|
|
This function can be used to ensure that mocker objects
are restored and verified during usage if exceptions are
thrown while the mock object is being used.
Ensure it is used in the config drive test when multiple
mock objects are being created and restored.
LP: #1098430
|
|
This function can be used to ensure that mocker objects
are restored and verified during usage if exceptions are
thrown while the mock object is being used.
Ensure it is used in the config drive test when multiple
mock objects are being created and restored.
LP: #1098430
|
|
Previously cloud-config to get a '/dev/sr0' entry written to /etc/fstab
would have had to have the full /dev/sr0. This change allows cloud-config
to reference it without the '/dev/' prefix. Like:
| mounts:
| - [ sr0, /media/sr0 ]
|
|
Changes in revision 753 broke cloud-init on ubuntu, as it has a different
dhclient directory than Fedora where the change was developed and tested.
This change does 2 things:
* searches multiple directories (including /var/lib/dhcp) for the lease
files.
* adds a fallback to the old code path of choosing the default route
as the virtual router if there were no virtual routers found in the
lease files.
LP: #1089989
|
|
This simiplifies the logic, by just making it independent of 'system'.
LP: #1096423
|
|
We were trying to avoid the user's password being written to the log, but that
was looking for the wrong option.
LP: #1096417
|
|
Instead of only not locking when system is present
the logic should handle the correct case when lock
password is set and system is not present.
LP: #1096423
|
|
LP: #1096417
|
|
|
|
|
|
In CloudStack's documentation, it is stated that meta/user-data can be
retrieved from CloudStack's Virtual Router [1].
However, cloud-init retrieves these information from default gateway. VR
and default gateway may be the same machine (i.e. have the same address)
in some cases, but that is not be always true (actually, in my case, it is
not).
This change searches the lease files in /var/lib/dhclient to pick out
the dhcp-server-identifier.
It admittedly does make this specific to dhclient.
--
[1] http://incubator.apache.org/cloudstack/docs/en-US/Apache_CloudStack/4.0.0-incubating/html/Admin_Guide/user-data-and-meta-data.html).
LP: #1089989
|
|
|
|
Invoking 'initctl reload-configuration' is only required if inotify
does not work. overlayroot does not support inotify. So, we just
call initctl always, which wont hurt anything.
LP: #1080841
|
|
After parsing and merging datasource's config, the changes in were not making
it into the datasource's 'distro.
The end result was that the when a config module was called, it's 'cloud'
argument would be updated in 'cloud.distro', but not in
'cloud.datasource.distro'. This path was required for getting mirror settings
to take affect, because they include information from the datasource.
Ie:
cc_apt_configure had
mirror_info = cloud.datasource.get_package_mirror_info()
the datasource then used *its* copy of sys_cfg to call
self.distro.get_package_mirror_info
and *that* distro's sys_cfg had not been updated.
LP: #1090482
|
|
This adds 'omnibus' to the values supported for chef's "omnibus_url" config
option. It also:
* makes 'omnibus_url' configurable in cloud-config.
* adds a 'force_install' flag, to allow the install code to
act even if /usr/bin/chef-client is already present.
|
|
Instead of always installing puppet give users the ability to opt-out.
LP: #1090205
|
|
|
|
Thanks to Anatoliy Dobrosynets
|
|
The Init._read_base_cfg() was really a static function, this just moves
it to its own static function. Its not used anywhere else at the moment.
|
|
--stderr would be preferred for readability, but older versions of
logger do not support the long form. Use the short form for compatibility.
LP: #1083715
|
|
instead of using '--stderr' on non-rhel based on the presense of
/etc/redhat-release, just use the short form '-s' everywhere.
|
|
|
|
|
|
when /etc/ca-certificates.conf is read by update-ca-certificates
lines after a blank line get ignored. Here, ensure that
there are no blank lines, and no duplicate entries for cloud-init are
added.
LP: #1077020
|
|
It seems like at least RHEL does not have the "--stderr" option
but instead only supports the short version "-s" so add a check
that will switch from the long version to the short version when
RHEL is detected.
LP: #1083715
|
|
resize_root: noblock
has been broken in the 0.7.0 series. Using it would disable resizing.
LP: #1080985
|
|
|
|
LP: #1080717
|