When logging, headers, url, method, etc, were in different lines
making it hard to distinguish what belonged to the same request
or response. This puts everything in the same line.
Change-Id: I9aa8ce64fa98a13d5d26f80f4e690f2a8eda847b
This fixes the case that when a request looking like
http://example.com/resource/volume
and containing a token comes to the proxy, we translate it to
http://cinder.local/volume/<project_id>
This happens because we populate the project_id information of
a request either from the url, or from the token.
Change-Id: Ie83fec4910eff750ba15f5485428c23ec3505e3b
Create a new extension to the proxy, which will allow networks to be
extended across clouds.
Additionally, provide lots of documentation for this new feature.
Change-Id: I9088e3509f71fb363ddc7f504cbb96f94932cc1e
Per RFC2616. Within the codebase itself we represent headers as
uppercase strings, but now they can be passed with any capitalization
style. (Including whatever keystoneauth or requests chooses to send.)
Change-Id: Ia4e932a91dec030b9efeb947759ceebdb7a426fc
Closes-Bug: #1720433
To simplify the writing of extensions, and to reduce reliance on
importing the flask.request global object, store pertinent attributes
of flask.request in the RequestDetails class.
Change-Id: Idff737155a6110d0520a74e36a5b0c23b5b5d93c
This adds a cli for management commands that is run through
`mixmatch-manage`.
Also added `db_sync` which is creates the tables in the database
based on the model. No upgrade functionality exists yet.
Change-Id: I18187967bb62865529712c83ef60482c3d1ed8ca
This patch adds a .ini file with the configuration for running
mixmatch through uwsgi, replacing the previous `run_proxy.sh`
script which passed the configuration as arguments.
This patch also removed the wsgi configuration, making it
unsupported. The wsgi documentation has also been removed. A
follow on patch will also remove any remnants of wsgi logic.
The default port for running the proxy has been changed to
9913.
This patch also updates the `setup.cfg` file, adding the
parameters for wsgi_scripts so that pbr install the wsgi exec
on package installation.
This patch also uses apache and mod_proxy to map /resource to
the uwsgi port 9913.
Change-Id: I2069d0f28e8e14da59109158cd2912ddb284a4e3
For a better developer experience, accomplish removal of six.b and
six.u by changing how Werkzeug response objects are handled in the
relevant unit tests.
Change-Id: Iac36e5fd9eb7ef78e6c8e9e8bff1c596e2e5823e
Now junk in MM-SERVICE-PROVIDER will lead to a client side error,
instead of a server-side one.
Change-Id: Ic930b4093fe005c3abc6c8561ee1114846fb80a6
Closes-Bug: #1705773
This introduces preliminary support for extensions.
Extensions are registered to routes, and if the
request matches the registered route they will be
called to handle the request and the response.
The interface is still not finalized and will
progress as more extensions with their different
requirements are added.
Also included dependency on oslo_serialization for
loading the json response. Follow up patch will
change all instances of json.loads to
jsonutils.loads
Change-Id: I9c573ce1d4ebe85c07c8ff219f384e3c6c67b39a
Endpoing registering which was previously restricted to the
functional tests, now can be enabled in the devstack plugin by
adding `REGISTER_MIXMATCH=true` to `local.conf`.
Change-Id: I1aedcd57819d41a26f38dd5e30b6bc4692684f36
This tentatively adds support for that API by letting the
microversion header OpenStack-API-Version go through. Also
added a few unit tests just to check that we're properly routing
the messages path.
Change-Id: Ie21b15ee5d33085e0515a129ea4ef89836ca8d57
The get_service function returns ValueError
when the service response is neither cinder
nor glance. Switch this over to abort 404.
Closes-Bug: #1700144
Change-Id: If2cf585dd555eab4771a27fe6f272842a3d498fe
Particularly for client-side errors, we ought to at least return the
actual error status instead of a generic 404.
Enablement of negative Tempest tests.
Change-Id: Ieaf658c9bd202dbb5000c10c43bdd1afa15a2aa1
This splits the configuration module into a package with multiple
modules.
Additionally adds support for oslo-config-generator.
Additionally adds mixmatch.conf to .gitignore
Change-Id: I735c6e852ef3cddb6dff654e1b8777ba239b91ab
Restart Nova and Cinder after endpoints are set to the ones of the
proxy to ensure that the new endpoints are used by these services.
Change-Id: I4097cee1707e58415def310535c1786e3a03e51e
Some tests fail because of the new volume v3 messages API. Some
fail because tempest is now checking also the URL which we do no
rewrite with the proxies URL but we still return the original one.
And some need investigation. Comments about each test are in the
blacklist file.
Change-Id: I8ef19c471f7f77f57335b640953826450dbb53de
Takes into account the differences between volumes details
in volume v1 and v2
Co-Authored-By: Kristi Nikolla <knikolla@bu.edu>
Change-Id: Ied7f6f1cca752eb300a284ca1267ad1ef79e6db5
Closes-bug: 1646520
Tenant_id is old keystone terminology. Replace all instances of
tenant in the model with project. The listener still uses tenant_id
when listening to messages in the message queue. Investigate if
it is safe to rename those too to project_id.
Change-Id: I5126238eb5c4e5ade8effbd9fdc9b73a09b4ea90