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.
Change-Id: I28e0fb37b603364eea72cdc5299a29259489b820
Closes-Bug: #1437952
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.
Blueprint: remove-namespace-packages
https://blueprints.launchpad.net/oslo-incubator/+spec/remove-namespace-packages
Change-Id: If51059c31c82d5235e2ae21143911b5561783ca6
keystoneclient discover can't get v3 auth_url using v2 auth_url. It
accepts an url without version number. This patch fixes this issue.
Change-Id: I45b4c016bd91afc39d39620920951043bb71df05
Closes-Bug: #1398254
We currently explode if local collector is enabled with the data
directory missing. Changing this to a warning allows us to have this
turned on by default without greatly inconveniencing users.
Change-Id: I36364ba1a0706a5a2c820eadd526f2ba424ac665
This change implements a collector which does an HTTP GET via
python requests to fetch the metadata.
It should work with any GET-able URL, however it is designed to
work with Swift TempURLs.
Swift objects are not consistent, so the Last-Modified header is
checked for each poll and metadata is not fetched if the last
modified is not newer than the previous successful poll.
This collector will be enabled for OS::Nova::Server
software_config_transport: POLL_TEMP_URL which is available
in the Juno release of Heat. Using POLL_TEMP_URL will result
in no metadata polling load on heat, which has historically been
an issue with tripleo scalability.
Change-Id: I22155c22bdcc3c81a5e945ca5436a8f29f196528
When we detect a failed command we log ERROR but we do not return an
error status. This makes it difficult for programs which may run
os-collect-config to detect whether a run was sucessful.
This only applies to runs which are performed with --one-time argument
as this is a straightforward case.
Change-Id: I168862e8c75c15d1ea405a417908d1284feb7b32
A popen call is made in the Python 3 platform module which causes our
assertions for our mock'd popen to fail. Also fixing a locale issue to
use defaultlocale() rather than LC_ALL.
Co-Authored-By: Steve Kowalik <steven@wedontsleep.org>
Change-Id: I45cdf7d921fbca5f09e5f65bd69fcee83fb7c8e4
This patch uses keystone client discover to find correct V3
auth_url which is expected by heat collector.
Change-Id: I2b8b5a768bdeb1cd1d20fab3b4234306c1429d6d
Closes-Bug: #1341936
Make changes pretty much all over the code base with respect to
encoding strings and fixing imports to support Python 3.
Change-Id: Id1920129001b8e223474c1b2faf8bd9d527fe7e7
Update the copy of oslo's log to oslo-incubator
0533894d6bfacd82a371bccd628b61d5016032cd.
This is the first step towards supporting Python 3 in
os-collect-config.
Change-Id: If282091d7f0cbd4e2ce90d70c066bb11cbf56d38
The local collector is not in DEFAULT_COLLECTORS, but should be usable
explicitly. It, however, suffers from a bug where only
DEFAULT_COLLECTORS are allowed through.
Change-Id: Ia42d1acd39638b448e2e2bfa26aff1c7ae415b71
This collector will collect data from the local system, allowing image
builds or simple processes to influence the metadata.
implements bp tripleo-juno-occ-localdatasource
Change-Id: I0e58e8c631ffe8b63e8b4117df2c9ce2f413044f
The configuration will dictate whether or not something is configured.
If it is not, this is a normal state and should not be logged as a
warning.
Change-Id: I479f0aed5837871009bc69fa028f5eb64a060c53
Closes-Bug: #1321551
This reverts commit 6b478e9d90bce18b03f5411822897740f68c3dd0.
We will break anybody who is expecting CFN to be tried in all
circumstances with this. We probably just need to base which collectors
to try on what configuration we have, and not log warnings on
unconfigured collectors.
Change-Id: I4bf7d6f9af9487bf9d2c0942381c0ba68fc03ee9
Previously we were relying on the CFN compatibility API. This makes the
native Heat version the default.
Note that we want to keep full coverage, which is why we are explicitly
adding cfn back in during tests.
Change-Id: I5adedd052827e176e2f39071c719600df62019d7
Closes-Bug: #1321551
Auth_ref is documented as a serializable object which we can save off
and use to reinitialize keystoneclient. That should in turn be passable
to heatclient directly. With this code, we will avoid authorizing with
Heat if we have a token in the cache.
Change-Id: I3dc6c3726054e77449cc9be46229e6d3521d4ef2
Closes-Bug: #1321437
In later commits we will use this cache to memoize access to the
authentication details.
Change-Id: I389f78fe1eb176e37c90a1a87a4ba5fde3b33f05
Related-Bug: #1321437
This will help segregate the changes as we abstract away details of
keystone such as caching the tokens.
Change-Id: I81ccb17658e5c9fa349fb183240f901d61b1fa93
Related-Bug: #1321437
Previously no coverage report was produced as the package name was
confusing the coverage module. We were also using the wrong command.
This also adds a coveragerc so that the results are sane.
Change-Id: I204f52eeae71ac11274431f9cdf518d19e42f94b
It turns out sometimes json will serialize differently given the same
python structure. A check of the two parsed data structures will detect
changes more reliably.
Change-Id: Id165b36c0fa0fa89730c3507444a41c68bd70fb3
Closes-Bug: #1320262
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
Heat::Ungrouped.
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
change.
This change is to fix heat software config when the config is not
json.
Change-Id: I16e42825121cf4968d4b0f0d266f4f6daa962921
Closes-Bug: #1299109