Result of running
$ pyupgrade --py38-plus $(git ls-files | grep ".py$")
This was inspired by Nova [1] and Octavia [2]
Fixed PEP8 errors introduced by pyupgrade by running:
$ autopep8 --select=E127,E128,E501 --max-line-length 79 -r \
--in-place designate
and manual updates.
[1]: https://review.opendev.org/c/openstack/nova/+/896986
[2]: https://review.opendev.org/c/openstack/octavia/+/899263
Change-Id: I27d09edb7e75081379002615f4ecdb1aa007dbcf
This patch adds a hacking check for line continuation backslashes and fixes the occurences that existed in the code.
Change-Id: I13cd03e16698b7f1d8036815d12a665bd1156f2f
This patch adds the Designate hacking checks to also run against
the Designate client code to maintain consistent style
checking across the Designate repositories.
It also resolves one style check failure.
Change-Id: I09786482b2e7fecaa3d4484c9b1a017fae04cfea
This patch removes the use of "six" as the package declares only
python3 support.
It also updates the appdirs lower-constraint to 1.4.0 to support
pip. This version is available on both centos8 and focal.
It also removes the linter related packages from lower-constraints.
Change-Id: I9337f1998749bc40737f2f0e2dcc406b6f3a0ddf
The v1 has officially been removed from Designate since
the Queens release, and was deperecated long before that.
Change-Id: Ic5b44761ff939e2b319924af87849b3a79f9cb07
oslo project provide jsonutils, and the others use it in many place,
this PS to update the json moudule to oslo jsonutils for consistency.
Change-Id: I8cbf78b0735572f550ece31611258c3da9ae1d35
With pbr 2.0 and Sphinx 1.5, the setting for treat sphinx warnings as
errors is setting warning-is-error in build_sphinx section. Migrate the
setting from the old warnerrors one.
This involves a couple of changes to the docs to fix the now broken
build.
Change-Id: I9bee7f6f9c69a9ed7bb22325ad1a0a1316dde526
This patch migrates designateclient to using keystoneauth Session
instead of deprecated keystoneclient's Session and plugins.
Also, this patch removes the old designateclient.auth module as it is
not used anywhere else in the code base and its purpose is overridden by
the fact that keystoneauth acts as an abstraction layer for
authentication (handling requests and reauthentication internally).
Change-Id: Ic3cc0fbb76977a04bab322ebcb1c818e75646772
Add endpoint_override keyword to v2.Client() and check for the
session argument in DesignateAdapter()
Add unit test, fix minor typos
Change-Id: I038ec7b0d1feadc9642bd47285e397b3fe84c13c
Closes-Bug: 1469739
The previous commit at [1] introduced a bug due to last
minute reordering of code, this fixes the ordering
and adds a couple of tests to verify the functionaility.
[1]: I2e3d74168976868ea1e4dd6c797f6340faa50d0f
Change-Id: Ia6f8df92b2700f63b2208290ede85f247b33bc63
edit_managed/all_tenants were moved from get_session
to the Client constructor, we should support both
for a period of time.
Change-Id: I2e3d74168976868ea1e4dd6c797f6340faa50d0f
Initializing designate client with a pre-existing keystone session
won't work as designate expects keystone session to have the
'all_tenants' and 'edit_managed' attributes:
Example code:
keystone_session = ksc_session.Session(
auth=keystone_auth,
verify=True,
cert=my_cert
)
than later:
self._designate_client = designate_client(
session=keystone_session,
region_name=region_name
)
with that code, wrap_api_call() will raise an exception:
AttributeError: 'Session' object has no attribute 'all_tenants'
Same goes for 'edit_managed'.
This patch moves both attributes from Keystone session to designate
Client.
Closes-Bug: 1457821
Change-Id: I13d6c9ed46406fefc8cfa5de46811e4be009f1af
Currently designate allows to identify a resource only by its id. This
change allows to identify domains by name or id. This change defines
the method find_resourceid_by_name_or_id which could be reused to
identify other resources by name or id.
Change-Id: I8e64cdbc5572623d05781d0c4e735ff0c429ea91
Closes-Bug: #1443858
The user has to use the command "designate --all-tenants domain-list" to list all domains from all tenants.
When the above command is used "X-Auth-All-Projects" value is set to true and it is passed as a header to
designate.This will allow us to list all domains from all tenants.
Change-Id: I4cd4dd5427f5f35cdec95dbdf36c7386b60a2949
Fixes: bug #1418156
This removes the code for checking if the service catalog has a version part in
the url or not aka /v1 and removing it as it's handled by the underlying
ksclient code in sessions. It also removes old authentication code.
Change-Id: I04109a935d7d94518c7dab05122a64ef37190d44
We now defer the majority of our auth to keystoneclient, rather
than continuing to maintain our custom code.
Change-Id: Ia8409940d3941bc82a8b54ec60e82efa6d043102
Closes-Bug: 1323435
H306, module imports should be in alphabetical order
This hacking check actually improves readability quite
a bit, as module imports can be sorted in groups (python stdlibs,
external imports, in-module imports)
Change-Id: I11dc9155fbfc84389f2a5956f393f705388f83ba