Age | Commit message (Collapse) | Author |
|
the migrator was not renaming items in the "cloud" semaphore path.
Those were items that would run once only.
Now we just check both ipath('sem') and cpath('sem')
|
|
this adds 'power-state-change' config module that allows the user to
specify in cloud-config syntax that a system reboot or shutdown should occur
after cloud-init is done.
|
|
|
|
It seems like its possible that boto 2.5.2 and below have the lazy loading
metadata dictionary so as a precaution we will always take the hit of
unlazying the metadata dictionary by traversing it which in the non-lazy
dictionary case has no effect (its marginal). This also removes the need
to check the boto version and the dependency on setup tools just for this
case.
|
|
The sleep is added here simply to not completely spin cpu on waiting
for the parent pid to die.
the allowing of errno 3 is because I was getting this. I dont have
a perfect explanation, but I suspect that the 'open' was actually
getting this back from the /proc filesystem after the pid had died.
Possibly in the window between when the 'open' was done and the 'read()'
was done.
|
|
It seems like its possible that boto 2.5.2 and below have
the lazy loading metadata dictionary so as a precaution
we will always take the hit of unlazying the metadata dictionary
by traversing it which in the non-lazy dictionary case has
no effect (its marginal). This also removes the need to check
the boto version and the dependency on setup tools just for
this case.
|
|
|
|
|
|
if 'name' for the user had something other than all lower case, then
pwd.getpwname would fail.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Previously file modification of system configuration was done
in a functional and hard to test manner. Now instead this patch
allows for a manner that provides a nice object oriented
interface to those objects as well as makes it possible to test
those parsing entities without having to invoke distro class code.
- Created parsers for:
- /etc/sysconfig
- /etc/hostname
- resolv.conf
- /etc/hosts
Moved duplicated functionality into the root level distro class including:
- apply_hostname
- set_hostname
- *various shared configuration file names/paths*
|
|
I'm guessing that
with self.assertRaises(Exception):
something here
is an acceptable form in a newer or older python. But my
python (2.7.3-0ubuntu7) doesn't like it.
Interestingly, python unittest doc says:
| Changed in version 2.7: Added the ability to use assertRaises() as
| a context manager.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This allows the user to easily run stuff even after cloud-init-final
has finished. The initial reason for it is to be able to run
/sbin/poweroff and not have cloud-init complain loudly that it is
being killed.
LP: #1064665
|
|
|
|
LP: #1078097
|
|
Fix how the comparison of a fqdn and its aliases was done
via sorting instead of existence checking which is the better
way to check if a alias already exists as well as cleanup
the new files pep8/pylint issues.
LP: #1078097
|
|
Add in entry for LP: 1068801 and LP: 1075756
as well as LP: 1077245 and add in reason why
we are switching back to using 'None' as the
initial datasource value.
|
|
Add in entry for LP: 1068801 and LP: 1075756
as well as LP: 1077245 and add in reason why
we are switching back to using 'None' as the
initial datasource value.
|
|
Previous commit set up an object for checking "None" in the stages class.
Here, change that to be None. The benefit of the DataSourceNone was so that
the stages was generally functional even with that "None" object.
The negative affect of that is that you could go down the error path much
longer when using it. If we use None type, then self.datasource.<something>
will fail immediately and loudly.
|
|
|
|
This just replaces the portions of stages.py that were checking or
setting self.datasource to a DataSourceNone to use a static/global
datasource. And then, check for None is done against that.
|
|
|
|
This does a couple things:
* separates out the 'normalize_public_keys' from the DataSource's get_public_ssh_keys
* uses that from config-drive datasource
* supports config drive v1 or v2 public-keys
* adds a test.
LP: #1077700
|
|
|
|
'public_keys'
|
|
newer versions of boto lazily load the metadata from the ec2
metadata service. Here, we:
1. Add a ec2_utils module that checks which version of boto is being used and
under the right versions the metadata dictionary will be expanded.
2. Use this new ec2_utils module in the cloudstack and ec2
datasources as there entrypoints into boto.
3. Add a dependency on python-pkg-resources (from pkg_resources import
parse_version) to determine the boto version.
LP: #1068801
|
|
|
|
|
|
|
|
other datasources populate 'public-keys' rather than 'public_keys'
and there is a more complete handler in the base DataSource.
So, to take advantage of that, have DataSourceConfigDrive copy
public_keys to public-keys, and remove the 'get_public_ssh_keys'
from the DataSourcEConfigDrive.
LP: #1077700
|
|
These changes were pulled out of the previous merge (cc_yum_add_repo)
as they were unrelated there. Re-applying them here.
|
|
Add in a configuration module that can write out the yum.repo format for
those that want to hook into different repos for installing.
|
|
|
|
|
|
|
|
This migrator module does a few things
* fixes filename markers that were written with a '-' in them to have
an '_' instead
* support renaming modules. Explicitly this handles the name change
of 'apt-update-upgrade' to 'apt-configure' and
'package-update-upgrade-install'
Also, just be more consistent everywhere where writing semaphore/marker
files and use '_' instead of '-' (canon_sem_name).
|