<div dir="ltr"><div><div><div><div>Hi Brian,<br></div>I found where is the problem<br></div>In glance-api.conf I must setup the registry_host entry and it must be equal to the bind_host  entry in the file glance-registry.conf.<br></div>So, enable v1 api and the abive parameters, heat works.<br></div>My problem is that I am using 3 controllers and the bind_host in the registry cannot be equal to glance-api.conf registry_host because I must use the VIP of the cluster :-(<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-01 14:38 GMT+02:00 Ignazio Cassano <span dir="ltr"><<a href="mailto:ignaziocassano@gmail.com" target="_blank">ignaziocassano@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="auto">Hi Brian, when I enable v1 and v2 api in glance-api.conf , using the same heat template I got http 500.<br></div><div>Now in my glance-api.conf I have the same configuration used on ubuntu 16 (whete heat works fine):<br>#enable_v1_api = false<br>#enable_v1_registry = true<br>#enable_v2_api = true<br>#enable_v2_registry = true<br><br></div><div>The above probably enables either ve or v1 glance apis, because whani I start glance api server it reports in its log:<br><br>WARNING glance.api.versions [-] The Images (Glance) v1 API is deprecated and will be removed on or after the Pike release, following the standard OpenStack deprecation policy. Currently, the solution is to set enable_v1_api=False and enable_v2_api=True in your glance-api.conf file. Once those options are removed from the code, Images (Glance) v2 API will be switched on by default and will be the only option to deploy and use<br></div><div><br></div><div dir="auto"><div dir="auto"><br></div><div>Now executing my simple heat stack :<span class=""><br><br><br>description: simple test<br>resources:<br>  my_instance:<br>    type: OS::Nova::Server<br>    properties:<br>      key_name: opstkcsi<br></span>      image: cirros2<span class=""><br>      flavor: m1.small<br>      networks:<br>      - network: "0bfd37f8-779f-4b51-bb79-<wbr>b03745409c15"<br><br><br><br><br></span></div><div>I run:<br>heat --debug stack-create -f simple.yaml simple<br><br></div><div>And the error now is changed from http 300 to 500:<br><br><br>DEBUG (session) REQ: curl -g -i -X GET <a href="http://10.102.184.83:35357/v3" target="_blank">http://10.102.184.83:35357/v3</a> -H "Accept: application/json" -H "User-Agent: heat keystoneauth1/2.12.2 python-requests/2.11.1 CPython/2.7.5"<br>INFO (connectionpool) Starting new HTTP connection (1): 10.102.184.83<br>DEBUG (connectionpool) "GET /v3 HTTP/1.1" 200 253<br>DEBUG (session) RESP: [200] Date: Sat, 01 Apr 2017 12:23:03 GMT Server: Apache/2.4.6 (CentOS) mod_wsgi/3.4 Python/2.7.5 Vary: X-Auth-Token x-openstack-request-id: req-ee104844-7197-4e9e-971a-<wbr>2346a2fcc716 Content-Length: 253 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/json <br>RESP BODY: {"version": {"status": "stable", "updated": "2016-10-06T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.<wbr>identity-v3+json"}], "id": "v3.7", "links": [{"href": "<a href="http://10.102.184.83:35357/v3/" target="_blank">http://10.102.184.83:35357/<wbr>v3/</a>", "rel": "self"}]}}<br><br>DEBUG (base) Making authentication request to <a href="http://10.102.184.83:35357/v3/auth/tokens" target="_blank">http://10.102.184.83:35357/v3/<wbr>auth/tokens</a><br>DEBUG (connectionpool) "POST /v3/auth/tokens HTTP/1.1" 201 6518<br>DEBUG (base) {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "<wbr>1f4991f9876142e482818c9a4d32a8<wbr>22", "name": "admin"}], "expires_at": "2017-04-01T13:23:03.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c", "name": "admin"}, "catalog": [{"endpoints": [{"url": "<a href="http://10.102.184.83:8000/v1" target="_blank">http://10.102.184.83:8000/v1</a>"<wbr>, "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>0bbf9fdfee4a4d8fbdc7f8f5daf5fa<wbr>e5"}, {"url": "<a href="http://10.102.184.83:8000/v1" target="_blank">http://10.102.184.83:8000/v1</a>"<wbr>, "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>aa306926c7574b1aaf7683d995c80f<wbr>da"}, {"url": "<a href="http://10.102.184.83:8000/v1" target="_blank">http://10.102.184.83:8000/v1</a>"<wbr>, "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>cea39689301646c09f8fc625639e48<wbr>bb"}], "type": "cloudformation", "id": "<wbr>062a6f275773460aaf16dc87c3e824<wbr>8f", "name": "heat-cfn"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:9696" target="_blank">http://10.102.184.83:9696</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>6ce0146b75a44bc1b69730e4ce856f<wbr>68"}, {"url": "<a href="http://10.102.184.83:9696" target="_blank">http://10.102.184.83:9696</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>7ad03cb9c1eb4420999f979db195df<wbr>4f"}, {"url": "<a href="http://10.102.184.83:9696" target="_blank">http://10.102.184.83:9696</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>9bcf232652034580adbdaf732b30a7<wbr>97"}], "type": "network", "id": "<wbr>2c5081ee3ff9480780cd9e23a74221<wbr>f5", "name": "neutron"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:8774/v2.1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8774/v2.<wbr>1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>6981c10c692a4202bbe6c4f08aa708<wbr>26"}, {"url": "<a href="http://10.102.184.83:8774/v2.1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8774/v2.<wbr>1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>b932eace25fc436098dbb0a6d653be<wbr>b9"}, {"url": "<a href="http://10.102.184.83:8774/v2.1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8774/v2.<wbr>1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>bc9a7fac693a409fa72a23a56b3035<wbr>5f"}], "type": "compute", "id": "<wbr>76b1aa4c18b9473f96beb009b9c20f<wbr>a6", "name": "nova"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:8776/v2/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8776/v2/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>0dcac5539e7c4d3f9d2802544f4396<wbr>97"}, {"url": "<a href="http://10.102.184.83:8776/v2/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8776/v2/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>585c829416254b0d9f3d214f4d4510<wbr>c9"}, {"url": "<a href="http://10.102.184.83:8776/v2/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8776/v2/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>609ea825a1714e59b68e7314ee1801<wbr>d4"}], "type": "volumev2", "id": "<wbr>c485085f798044189d7bd1f98ae994<wbr>40", "name": "cinderv2"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:8777" target="_blank">http://10.102.184.83:8777</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>0d854fa2e12f46f4b73b46c61ca44f<wbr>de"}, {"url": "<a href="http://10.102.184.83:8777" target="_blank">http://10.102.184.83:8777</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>9f296b3a0f744a4090cba6210d0389<wbr>51"}, {"url": "<a href="http://10.102.184.83:8777" target="_blank">http://10.102.184.83:8777</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>f9296dc9e9234c2cb9efbdf647917c<wbr>d3"}], "type": "metering", "id": "<wbr>cb23ccfe815346a997c6e01bf69f71<wbr>54", "name": "ceilometer"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:35357/v3/" target="_blank">http://10.102.184.83:35357/<wbr>v3/</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>1983eb0b878844dbbb720e8de7f374<wbr>2a"}, {"url": "<a href="http://10.102.184.83:5000/v3/" target="_blank">http://10.102.184.83:5000/v3/</a><wbr>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>53343747f77c4fb2b0ebdf48e0c1ca<wbr>7f"}, {"url": "<a href="http://10.102.184.83:35357/v3/" target="_blank">http://10.102.184.83:35357/<wbr>v3/</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>b738c671c4af4f3681138671a6838d<wbr>82"}], "type": "identity", "id": "<wbr>ce9ee1fe31944b28a50ed59c42d6b7<wbr>00", "name": "keystone"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:8776/v1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8776/v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>05dbccddc78f4dd7b4cf9b5a6e4e7a<wbr>51"}, {"url": "<a href="http://10.102.184.83:8776/v1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8776/v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>7705ae601d7443d8a14808e0900eb5<wbr>0d"}, {"url": "<a href="http://10.102.184.83:8776/v1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8776/v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>812904fec377469b876050539b8804<wbr>11"}], "type": "volume", "id": "<wbr>eaa8023241c343d2a98d29600af8f5<wbr>12", "name": "cinder"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:9292" target="_blank">http://10.102.184.83:9292</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>1b636b1d6b5041f798e32df235e3ff<wbr>7c"}, {"url": "<a href="http://10.102.184.83:9292" target="_blank">http://10.102.184.83:9292</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>516251539fbc4a5b8c3080f165505c<wbr>cf"}, {"url": "<a href="http://10.102.184.83:9292" target="_blank">http://10.102.184.83:9292</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>8d6c3f59e5b548fca17c6f84c806b8<wbr>00"}], "type": "image", "id": "<wbr>f4d88c661e18480481371376db554b<wbr>73", "name": "glance"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:8042" target="_blank">http://10.102.184.83:8042</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>681a97644cca407da777e14c7845c8<wbr>f3"}, {"url": "<a href="http://10.102.184.83:8042" target="_blank">http://10.102.184.83:8042</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>b7d3b99fcc9547839f19dcd2642eb0<wbr>53"}, {"url": "<a href="http://10.102.184.83:8042" target="_blank">http://10.102.184.83:8042</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>e783089c310646558d46e225e0c239<wbr>fd"}], "type": "alarming", "id": "<wbr>f746a1996ea14e7faff734137a32f8<wbr>79", "name": "aodh"}, {"endpoints": [{"url": "<a href="http://10.102.184.83:8004/v1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8004/v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>7e7cfce48e9b4aa883ca806bdf3a23<wbr>11"}, {"url": "<a href="http://10.102.184.83:8004/v1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8004/v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>a6c8f27bebec4d07a8107ec092bbc4<wbr>39"}, {"url": "<a href="http://10.102.184.83:8004/v1/3919bd9727354f6a82d0a4feaf85dc8c" target="_blank">http://10.102.184.83:8004/v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c</a>", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "<wbr>c8fa2acf08954a29b2e6bf1e6b5663<wbr>47"}], "type": "orchestration", "id": "<wbr>f75fb3fb3b454708ba08e8bb4c57d0<wbr>43", "name": "heat"}], "user": {"domain": {"id": "default", "name": "Default"}, "id": "<wbr>18efc2d756ba40a996a29784cc00e4<wbr>92", "name": "admin"}, "audit_ids": ["MCfWe0BdRuS2YcyM8YXp2g"], "issued_at": "2017-04-01T12:23:03.000000Z"}<wbr>}<br>WARNING (shell) "heat stack-create" is deprecated, please use "openstack stack create" instead<br>DEBUG (session) REQ: curl -g -i -X POST <a href="http://10.102.184.83:8004/v1/3919bd9727354f6a82d0a4feaf85dc8c/stacks" target="_blank">http://10.102.184.83:8004/v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c/stacks</a> -H "User-Agent: python-heatclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}<wbr>9982bbbc2867cbb00e59a35151e7cd<wbr>feaf39cbdd" -d '{"files": {}, "disable_rollback": true, "parameters": {}, "stack_name": "simple", "environment": {}, "template": {"heat_template_version": "2015-10-15", "description": "simple test", "resources": {"my_instance": {"type": "OS::Nova::Server", "properties": {"key_name": "opstkcsi", "image": "cirros2", "flavor": "m1.small", "networks": [{"network": "0bfd37f8-779f-4b51-bb79-<wbr>b03745409c15"}]}}}}}'<br>INFO (connectionpool) Starting new HTTP connection (1): 10.102.184.83<br>DEBUG (connectionpool) "POST /v1/<wbr>3919bd9727354f6a82d0a4feaf85dc<wbr>8c/stacks HTTP/1.1" 400 325<br>DEBUG (session) RESP: [400] Content-Type: application/json; charset=UTF-8 Content-Length: 325 X-Openstack-Request-Id: req-30ebd832-d819-430f-acf6-<wbr>ad6f2f2358d2 Date: Sat, 01 Apr 2017 12:23:04 GMT <br>RESP BODY: {"explanation": "The server could not comply with the request since it is either malformed or otherwise incorrect.", "code": 400, "error": {"message": "Property error: : resources.my_instance.<wbr>properties.image: : HTTPInternalServerError (HTTP 500)", "traceback": null, "type": "StackValidationFailed"}, "title": "Bad Request"}<br><br>Traceback (most recent call last):<br>  File "/usr/bin/heat", line 10, in <module><br>    sys.exit(main())<br>  File "/usr/lib/python2.7/site-<wbr>packages/heatclient/shell.py", line 612, in main<br>    HeatShell().main(args)<br>  File "/usr/lib/python2.7/site-<wbr>packages/heatclient/shell.py", line 562, in main<br>    args.func(client, args)<br>  File "/usr/lib/python2.7/site-<wbr>packages/heatclient/v1/shell.<wbr>py", line 139, in do_stack_create<br>    hc.stacks.create(**fields)<br>  File "/usr/lib/python2.7/site-<wbr>packages/heatclient/v1/stacks.<wbr>py", line 172, in create<br>    data=kwargs, headers=headers)<br>  File "/usr/lib/python2.7/site-<wbr>packages/keystoneauth1/<wbr>adapter.py", line 193, in post<br>    return self.request(url, 'POST', **kwargs)<br>  File "/usr/lib/python2.7/site-<wbr>packages/heatclient/common/<wbr>http.py", line 318, in request<br>    raise exc.from_response(resp)<br>heatclient.exc.HTTPBadRequest: ERROR: Property error: : resources.my_instance.<wbr>properties.image: : HTTPInternalServerError (HTTP 500)<br><br><br></div><div><br></div><div><br><br></div><div dir="auto"><div dir="auto">Probably in centos 7 newton glance api v1 does not work?  </div><div dir="auto">The sale configuration world come in newton in Ubuntu 16.</div></div></div><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">Il 01/Apr/2017 13:51, "Brian Rosmaita" <<a href="mailto:rosmaita.fossdev@gmail.com" target="_blank">rosmaita.fossdev@gmail.com</a>> ha scritto:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Ignazio.  A few things:<br>
<br>
(1) You can run both glance v1 and v2 simultaneously.  They share the<br>
same database and storage backend.  The difference is that you, as a<br>
client, interact with the APIs in different ways (v1 does a lot of<br>
info-passing in http headers, v2 does everything in JSON; v2 has more<br>
features because we've stopped development on v1 except for critical<br>
bugfixes).<br>
<br>
(2) (see below)<br>
<br>
(3) (see below)<br>
<br>
Hope this helps!<br>
brian<br>
<br>
<br>
On 3/31/17 3:55 PM, Ignazio Cassano wrote:<br>
> I've just tried to disableglance v2 api and load a new image cirros2, but<br>
> If I show it:<br>
><br>
>  Field            | Value                                                |<br>
> +------------------+----------<wbr>------------------------------<wbr>--------------+<br>
> | checksum         | ee1eca47dc88f4879d8a229cc70a07<wbr>c6                     |<br>
> | container_format | bare                                                 |<br>
> | created_at       | 2017-03-31T19:47:52Z                                 |<br>
> | disk_format      | qcow2                                                |<br>
> | file             | /v2/images/e9794e0b-73e5-4a91-<wbr>9159-5701e521b289/file |<br>
<br>
(2) This isn't actually the image's location.  This is just the URL<br>
you'd use to get the image data via the v2 API.  The /v2 part tells the<br>
glance router that the v2 API needs to handle the request, and the v2<br>
API knows how to read this "file" URL to locate the data you're<br>
requesting in whatever storage backend Glance is configured to use.<br>
<br>
> | id               | e9794e0b-73e5-4a91-9159-5701e5<wbr>21b289                 |<br>
> | min_disk         | 0                                                    |<br>
> | min_ram          | 0                                                    |<br>
> | name             | cirros2                                              |<br>
> | owner            | 3919bd9727354f6a82d0a4feaf85dc<wbr>8c                     |<br>
> | protected        | False                                                |<br>
> | schema           | /v2/schemas/image                                    |<br>
> | size             | 13287936                                             |<br>
> | status           | active                                               |<br>
> | tags             |                                                      |<br>
> | updated_at       | 2017-03-31T19:47:52Z                                 |<br>
> | virtual_size     | None                                                 |<br>
> | visibility       | public                                               |<br>
> +------------------+----------<wbr>------------------------------<wbr>--------------+<br>
><br>
> It seems to  under /v2 :-(<br>
> So an heat stack with cirros2 does not work anycase<br>
><br>
><br>
><br>
><br>
> 2017-03-31 21:07 GMT+02:00 Brian Rosmaita <<a href="mailto:rosmaita.fossdev@gmail.com" target="_blank">rosmaita.fossdev@gmail.com</a>>:<br>
><br>
>> On 3/31/17 10:52 AM, Ignazio Cassano wrote:<br>
>>> Hi all,<br>
>>> I just installed openstack newton on centos 7 and enabled glance with v2<br>
>>> api.<br>
<br>
(3) Make sure you keep the Images v2 API enabled as well as enabling v1.<br>
 Newton is the release where Nova began using the Image v2 API to<br>
communicate with Glance.<br>
<br>
>>> When I execute a simple heat stack, it returns the following error:<br>
>>><br>
>>> ERROR: Property error: : resources.my_instance.properti<wbr>es.image: :<br>
>>> HTTPMultipleChoices (HTTP 300) Requested version of OpenStack Images API<br>
>> is<br>
>>> not available.<br>
>><br>
>> Hi Ignazio.  I'm pretty sure Newton Heat still requires the Images v1<br>
>> API, so you'll need to make sure it's enabled in your installation.<br>
>><br>
>> cheers,<br>
>> brian<br>
>><br>
>>><br>
>>> the following is my very simple stack:<br>
>>><br>
>>> heat_template_version: 2015-10-15<br>
>>> description: simple test<br>
>>> resources:<br>
>>>   my_instance:<br>
>>>     type: OS::Nova::Server<br>
>>>     properties:<br>
>>>       key_name: opstkcsi<br>
>>>       image: cirros<br>
>>>       flavor: m1.small<br>
>>>       networks:<br>
>>>       - network: "0bfd37f8-779f-4b51-bb79-b0374<wbr>5409c15"<br>
>>><br>
>>><br>
>>> I am able to create instances from image using the dashboard and creating<br>
>>> volume from images but it does not work.<br>
>>> Please, help me !!!<br>
>>> Thanks<br>
>>> Ignazio<br>
>>><br>
>>><br>
>>><br>
>>> ______________________________<wbr>_________________<br>
>>> OpenStack-operators mailing list<br>
>>> <a href="mailto:OpenStack-operators@lists.openstack.org" target="_blank">OpenStack-operators@lists.open<wbr>stack.org</a><br>
>>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-operators</a><br>
>>><br>
>><br>
>><br>
><br>
<br>
</blockquote></div></div>
</div></div></div>
</blockquote></div><br></div>