A timeout config value is added for each collector which uses requests
to fetch data, and this value is used for any requests calls.
Without a timeout a request may stall indefinitely and
os-collect-config will stop polling.
A timeout default of 10 seconds is chosen as the default. This is used
for both the connection timeout and the read timeout.
This isn't quite right and broke on stable/liberty. Pushing
a revert in case I3c22d77dece399d21ab94783b74990789a1e1481
doesn't actually fix the problem. We should probably merge
whichever passes first.
This reverts commit 69653318f4.
The old oslo-incubator log module isn't maintained (and doesn't even
exist anymore), so we don't really want to be using it. It appears
this was the only incubator module we were actually using, so this
allows us to remove all of the unmaintained incubator code.
This is required so that a swift-enabled TripleO undercloud can switch
to polling for metadata from a TempURL rather than heat.
This is a pure refactoring change which moves the os-apply-config
deployment data merging into its own module. This will allow
other collectors (request, heat) to do the same merging.
Users who are debugging unrelated issues are frequently interpreting
logged warnings as an indication that os-collect-config is misconfigured
when the warning is actually harmless.
This change uses info instead of warn for this logging.
The Oslo libraries have moved all of their code out of the 'oslo'
namespace package into per-library packages. The namespace package was
retained during kilo for backwards compatibility, but will be removed by
the liberty-2 milestone. This change removes the use of the namespace
package, replacing it with the new package names.
The patches in the libraries will be put on hold until application
patches have landed, or L2, whichever comes first. At that point, new
versions of the libraries without namespace packages will be released as
a major version update.
Please merge this patch, or an equivalent, before L2 to avoid problems
with those library releases.
Only config which contains os-apply-config data should be written
to the top level config structure. This change will only top-level
configs which are in the group os-apply-config or the default group
This tripleo-heat-templates change will specify a group for all
config resources https://review.openstack.org/#/c/91731/ however
the expected top-levels will still be written out without this
This change is to fix heat software config when the config is not
In recent changes support was added to explode the deployment key into
multiple json files for merging by os-apply-config. But this breaks
other users who want direct access to the full deployments structure.
There seems to be no real reason to delete the key other than tidiness,
so we will stop deleting it from the main cfn structure.
Will result in multiple cache files to be merged per
OS::Heat::StructuredDeployment. This is needed as the new features for
software configuration break things up a bit differently in Metadata.
With the new OS::Heat::StructuredDeployment resource, each Metadata
section may have multiple "deployments" in it. With this, we will return
a list with tuples of key and content to write to the cache.
Heat does not give us the exact API version to request, so we must infer
version 1 (/v1/) since that is what we speak. The other test cases are
all updated to use /v1/ too, so that the fakes can remain the same.
Heat passes this in via cloud-init to assist heat-cfntools in finding the
cfn metadata server url. This will likely be the primary location used,
and cfn.metadata_url will be an override.
Also doing some cleanup, removed unused cfn.EC2_METADATA_URL and
reordered and regrouped imports.