<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 5, 2016 at 1:03 PM, Dolph Mathews <span dir="ltr"><<a href="mailto:dolph.mathews@gmail.com" target="_blank">dolph.mathews@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Fri, Feb 5, 2016 at 12:37 PM, Andrey Pavlov <span dir="ltr"><<a href="mailto:andrey.mp@gmail.com" target="_blank">andrey.mp@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">swift3(s3) works like ec2-api.<br>
<br>
1. swift3/ec2-api recieves AWS request<br>
2. it parses signature and access_key (and other headers)<br>
3. it sends these values (and token that calculated from request) to keystone<br>
4. keystone gets secret_key from DB, then calculates signature by<br>
recieved access_key and token<br>
5. keystone compares recived signature and claculated signature and<br>
then return 'error' or auth_token<br>
6. swift3/ec2-api recieves answer from keystone and return 'forbidden'<br>
or continues execution<br>
7. in case of continue swift3/ec2-api uses recieved auth_token for<br>
calls other services: nova, cinder, neutron, swift...<br>
<br>
So I don't understand how implement this functionality outside of keystone...<br></blockquote><div><br></div></span><div>EC2 support is implemented in middleware on top of keystone, and that middleware happens to live in the openstack/keystone repository. This change is just proposing to move that middleware code into a dedicated new repository and change the community support & maintenance model - it would not affect how the code actually operates. The only affect on operators is that it would require an extra step to deploy it. End users would not be affected.</div><div><br></div><div><a href="https://github.com/openstack/keystone/blob/5f51912b54dff0a71f00987e9f5c1d6015ad08bd/keystone/contrib/ec2/routers.py#L27" target="_blank">https://github.com/openstack/keystone/blob/5f51912b54dff0a71f00987e9f5c1d6015ad08bd/keystone/contrib/ec2/routers.py#L27</a><br></div><div><br></div><div><a href="https://github.com/openstack/keystone/blob/5f51912b54dff0a71f00987e9f5c1d6015ad08bd/etc/keystone-paste.ini#L27-L31" target="_blank">https://github.com/openstack/keystone/blob/5f51912b54dff0a71f00987e9f5c1d6015ad08bd/etc/keystone-paste.ini#L27-L31</a><br></div><span class=""><div> </div></span></div></div></div></blockquote><div><br></div><div>One of the things that prompted this discussion is a proposal to make EC2 and S3 required, and not removable by editing the paste config: <a href="https://review.openstack.org/#/c/274973/">https://review.openstack.org/#/c/274973/</a><br><br></div><div>Some of us were taking advantage of this ability, but others think that all APIs should be supported.<br></div><div><br></div><div>- Brant<br><br></div></div></div></div>