This addresses CVE-2017-18342. I doubt anyone is actually using an
old version of PyYAML with oslo.config at this point, but that means
it shouldn't hurt to bump the minimum either.
Change-Id: I4f440eb9511333ce70db4184857dcbcdd0ed1b97
Closes-Bug: 1839398
Importing pkg_resources scans all of the installed modules for data
that won't be used. Switch to using importlib.metdata, which more
efficiently loads the metadata for a package.
Change-Id: Idd2a0d0026fef9296172c9995b428ea43a746483
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We don't need this in a Python 3-only world. We can't remove mock yet
since there's an issue with the stdlib variant in python3.6, but that is
called out.
Change-Id: I9657b1fd4409be90d645175a6e177d7e1d2ebac2
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
rfc3986.is_valid_uri is deprecated in 1.1.0. That generates a lot of
warnings: "Please use rfc3986.validators.Validator instead. This
method will be eventually removed.".
This patch updates URI type to use rfc3986.validators.
ValueError exception is preserved.
Change-Id: Ida56dfa17fca0080b74c1a80d5420ebed203431f
Define a config_source option that can be used to specify the
alternative sources that require drivers to load configuration
settings.
Co-Authored-By: Moises Guimaraes de Medeiros <moguimar@redhat.com>
Change-Id: Ibd5a6d306bb98d30d973dfe3604dcc0691d2e369
Blueprint: oslo-config-drivers
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Add a get_location() method to ConfigOpts to ask where the option
value was set. Update _do_get() to return this information based on
the search criteria.
The LocationInfo data structure has 2 fields. We are only using the
location for now, but the detail field will be filled in by changes
later in this series.
Change-Id: I3643c49b3de1850139913ce395199c238dbe6cf0
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
https://review.openstack.org/451081 added a requirement on PyYAML
without explicitly including it in requirements.txt
Change-Id: Ib11f5262f3cfd451eeaf0bd4a0374ab7bbc38058
argparse was external in python 2.6 but not anymore, remove it
from requirements.
This should help with pip 8.0 that gets confused in this situation.
Installation of the external argparse is really not needed.
Change-Id: Ib7e74912b36c1b5ccb514e31fac35efeff57378d
Add pbr to the list of installation requirements so that it is installed
via pip before this library is installed, instead of with easy_install.
This avoids issues like Bug #1384919, and ensures that projects that use
this library as a dependency are properly installed.
Change-Id: I6c155370dbd01fe4748d5137bdf288e8d3e1a67e
In order to validate correct input values for IP addresses new Opt was
introduced. Validation is done on parsing level so there is no need to
explicitly check for valid ip address in the code.
Requirement for netaddr package was added.
DocImpact
Change-Id: I9adc30d9b989e8c636fefd435885c4c363ca540c
Partial-Bug: #1284684
Add a sample config file generator utility. This is a dramatically
different approach from the generator in oslo-incubator, whereby we move
away from magic towards much more explicit control over the generator.
blueprint: oslo-config-generator
Closes-Bug: #1300546
Change-Id: I15686708fc9460948a58cfea3d18dae40ba1fda9