<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/python-keystoneclient.git/keystoneclient/adapter.py, branch icehouse-eol</title>
<subtitle>opendev.org: openstack/python-keystoneclient.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/'/>
<entry>
<title>Use oslo.utils and oslo.serialization</title>
<updated>2014-10-15T04:25:50+00:00</updated>
<author>
<name>Steve Martinelli</name>
<email>stevemar@ca.ibm.com</email>
</author>
<published>2014-10-14T21:49:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/commit/?id=802301ca1763043bf699a52043504ab71a4dbb3b'/>
<id>802301ca1763043bf699a52043504ab71a4dbb3b</id>
<content type='text'>
Left timeutils and strutils in openstack/common since they are used in
openstack/common/apiclient and memorycache.

Change-Id: Idb5f09c159d907dfba84cd1f7501f650318af7d9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Left timeutils and strutils in openstack/common since they are used in
openstack/common/apiclient and memorycache.

Change-Id: Idb5f09c159d907dfba84cd1f7501f650318af7d9
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow retrying some failed requests</title>
<updated>2014-09-16T00:59:29+00:00</updated>
<author>
<name>Jamie Lennox</name>
<email>jamielennox@redhat.com</email>
</author>
<published>2014-08-31T01:33:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/commit/?id=b5a435b9abd6b1275e2b6f1531498fef8194af02'/>
<id>b5a435b9abd6b1275e2b6f1531498fef8194af02</id>
<content type='text'>
Connection Errors can be transient and there are many clients (including
auth_token middleware) that allow retrying requests that fail.

We should support this in the session, disabled by default, rather than
have multiple implementations for it.

For the moment I have purposefully not added it as an option to
Session.__init__ though I can see arguments for it. This can be added
later if there becomes a particular need.

I have also purposefully distinguished between Connection Errors (and
connect_retries) and HTTP errors. I don't know a good way to generalize
retrying on HTTP errors and they can be added later if required.

Blueprint: session-retries
Change-Id: Ia219636663980433ddb9c00c6df7c8477df4ef99
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Connection Errors can be transient and there are many clients (including
auth_token middleware) that allow retrying requests that fail.

We should support this in the session, disabled by default, rather than
have multiple implementations for it.

For the moment I have purposefully not added it as an option to
Session.__init__ though I can see arguments for it. This can be added
later if there becomes a particular need.

I have also purposefully distinguished between Connection Errors (and
connect_retries) and HTTP errors. I don't know a good way to generalize
retrying on HTTP errors and they can be added later if required.

Blueprint: session-retries
Change-Id: Ia219636663980433ddb9c00c6df7c8477df4ef99
</pre>
</div>
</content>
</entry>
<entry>
<title>Expose auth methods on the adapter</title>
<updated>2014-09-01T00:50:16+00:00</updated>
<author>
<name>Jamie Lennox</name>
<email>jamielennox@redhat.com</email>
</author>
<published>2014-08-29T07:21:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/commit/?id=4be8e8db3f0760aa0debb093cd61fd6495158007'/>
<id>4be8e8db3f0760aa0debb093cd61fd6495158007</id>
<content type='text'>
Provide access to get_token, get_endpoint and invalidate to the adapter.
The adapter is essentially created per individual client and it can be
useful to know things like the endpoint that requests will be sent to
based on the parameters that are included in the endpoint_filter.

This essentially allows us to emulate the management_url and auth_token
properties of the existing clients.

Change-Id: Ic01bc52bb38e8fb72e7a6d93bfd2944b11d0b070
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide access to get_token, get_endpoint and invalidate to the adapter.
The adapter is essentially created per individual client and it can be
useful to know things like the endpoint that requests will be sent to
based on the parameters that are included in the endpoint_filter.

This essentially allows us to emulate the management_url and auth_token
properties of the existing clients.

Change-Id: Ic01bc52bb38e8fb72e7a6d93bfd2944b11d0b070
</pre>
</div>
</content>
</entry>
<entry>
<title>Add version parameter to adapter.</title>
<updated>2014-09-01T00:49:12+00:00</updated>
<author>
<name>Jamie Lennox</name>
<email>jamielennox@redhat.com</email>
</author>
<published>2014-08-29T01:23:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/commit/?id=0e6171904385550972b3a961e9cb1614403312dc'/>
<id>0e6171904385550972b3a961e9cb1614403312dc</id>
<content type='text'>
The version parameter was left out of adapter previously because setting
a version number triggers discovery and I felt that it was not ready for
the other services.

However if it isn't set then it won't be used and we may as well
implement it here once rather than have the individual services that do
support it override it themselves.

Change-Id: I707380a01175dc19b59de32cbb8fd2bb123d7335
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The version parameter was left out of adapter previously because setting
a version number triggers discovery and I felt that it was not ready for
the other services.

However if it isn't set then it won't be used and we may as well
implement it here once rather than have the individual services that do
support it override it themselves.

Change-Id: I707380a01175dc19b59de32cbb8fd2bb123d7335
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow providing an endpoint_override to requests</title>
<updated>2014-09-01T00:48:32+00:00</updated>
<author>
<name>Jamie Lennox</name>
<email>jamielennox@redhat.com</email>
</author>
<published>2014-08-28T01:57:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/commit/?id=22a93fceb40fd289e5c5d91d1b1b10e40b0a0ae9'/>
<id>22a93fceb40fd289e5c5d91d1b1b10e40b0a0ae9</id>
<content type='text'>
As much as I'd prefer not to need this functionality there are plenty of
existing clients that we want to have use the adapter that can accept a
bypass argument such that it ignores the service catalog and uses that
URL for all requests.

We therefore need to be able to support similar functionality in our
adapter.

Change-Id: I206705241ff9b84967d0d9c089b4795bcc26b65e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As much as I'd prefer not to need this functionality there are plenty of
existing clients that we want to have use the adapter that can accept a
bypass argument such that it ignores the service catalog and uses that
URL for all requests.

We therefore need to be able to support similar functionality in our
adapter.

Change-Id: I206705241ff9b84967d0d9c089b4795bcc26b65e
</pre>
</div>
</content>
</entry>
<entry>
<title>Use jsonutils to load adapter response</title>
<updated>2014-07-15T03:31:06+00:00</updated>
<author>
<name>Jamie Lennox</name>
<email>jamielennox@redhat.com</email>
</author>
<published>2014-07-07T05:19:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/commit/?id=1145d9424b0fc4ae5ff82719a53e4e067be592c3'/>
<id>1145d9424b0fc4ae5ff82719a53e4e067be592c3</id>
<content type='text'>
This is not technically needed, however we and the libraries we use,
aren't very good about keeping our strings and bytes straight for python
3. jsonutils has an attempt to decode stage that means we can let it
manage the correct types.

Change-Id: I2caf4a5b9a04495aa0286f2b6e3193a17ff246e5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is not technically needed, however we and the libraries we use,
aren't very good about keeping our strings and bytes straight for python
3. jsonutils has an attempt to decode stage that means we can let it
manage the correct types.

Change-Id: I2caf4a5b9a04495aa0286f2b6e3193a17ff246e5
</pre>
</div>
</content>
</entry>
<entry>
<title>Session Adapters</title>
<updated>2014-06-25T00:03:32+00:00</updated>
<author>
<name>Jamie Lennox</name>
<email>jamielennox@redhat.com</email>
</author>
<published>2014-06-04T02:17:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-keystoneclient.git/commit/?id=1893703b4f1c5f19d7b7401f13eb41e8eda1e4cb'/>
<id>1893703b4f1c5f19d7b7401f13eb41e8eda1e4cb</id>
<content type='text'>
A Session is a global object that can be shared around. There are
however many variables (those passed to session.request) that are
specific to the client that will be using that session. These often need
to be set for every request going through a client.

For this purpose we have a Session Adapter. An adapter is like a
view on a session. Where the session maintains very global state the
adapter maintains state relevant to a specific usage of a session. These
might be things like User-Agent which wants to be set per client using
the session, or possibly even auth plugins if we share a common session
object amongst a number of clients with different plugins.

Almost anything that gets passed to a Session.request() call is suitable
to go into an adapter (the exceptions are essentially the body data and
method which only makes sense per call)

Implements: blueprint session-propagation
Change-Id: I100c791806674213d3cdb5389d4b0a1cf88c82dd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A Session is a global object that can be shared around. There are
however many variables (those passed to session.request) that are
specific to the client that will be using that session. These often need
to be set for every request going through a client.

For this purpose we have a Session Adapter. An adapter is like a
view on a session. Where the session maintains very global state the
adapter maintains state relevant to a specific usage of a session. These
might be things like User-Agent which wants to be set per client using
the session, or possibly even auth plugins if we share a common session
object amongst a number of clients with different plugins.

Almost anything that gets passed to a Session.request() call is suitable
to go into an adapter (the exceptions are essentially the body data and
method which only makes sense per call)

Implements: blueprint session-propagation
Change-Id: I100c791806674213d3cdb5389d4b0a1cf88c82dd
</pre>
</div>
</content>
</entry>
</feed>
