I have an IceHouse OpenStack installation, where the endpoints are using
https as protocol (i.e. in the keystone.endpoint table the https
protocol is specified).
Now, I want to migrate this installation to Kilo. For this purpose I
followed these steps:
- I scratched the controller/network node, but the DB was untouched (it
resides on different machines), and re-installed with CentOS7
- I installed the Juno rpms (without configuring Juno services)
- I synced the keystone DB to the Juno version using the usual "db_sync"
command:
su -s /bin/sh -c "keystone-manage db_sync" keystone
- Then, I scratched the controller/network node, re-installed again with
CentOS7 and installed all the Kilo RPMs required to sync the DB to the
Kilo version.
With all the Kilo's RPM installed, I started from there to configure the
Kilo Keystone service as described in the official guide
docs.openstack.org.
That installation configures Keystone exposing v3 API, which can be used
only with the openstackclient (and not by the legacy keystone one). But
it seems there's a problem with the https endpoints.
After setting the following env vars
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=XXXXXXXX
export OS_AUTH_URL=https://cloud-areapd-test.pd.infn.it:35357/v3
export OS_CACERT=/etc/grid-security/certificates/INFN-CA-2006.pem
openstack fires out the following error:
[root@controller-01 ~]# openstack user list
/usr/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90:
InsecurePlatformWarning: A true SSLContext object is not available. This
prevents urllib3 from configuring SSL appropriately and may cause
certain SSL connections to fail. For more information, see
https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
ERROR: openstack Unable to establish connection to
http://cloud-areapd-test.pd.infn.it:35357/v3/auth/tokens
With a deeper investigation I see that the Keystone service returns an
"http" protocol for the endpoint despite the fact that there's https in
the backend database:
[root@controller-01 ~]# curl -g -i --cacert
"/etc/grid-security/certificates/INFN-CA-2006.pem" -X GET
https://cloud-areapd-test.pd.infn.it:35357/v3 -H "Accept:
application/json" -H "User-Agent: python-keystoneclient"
HTTP/1.1 200 OK
Vary: X-Auth-Token
Content-Type: application/json
Content-Length: 268
X-Openstack-Request-Id: req-a47a2873-f81b-490a-b249-7f970754914b
Date: Tue, 27 Oct 2015 10:32:20 GMT
Connection: close
{"version": {"status": "stable", "updated": "2015-03-30T00:00:00Z",
"media-types": [{"base": "application/json", "type":
"application/vnd.openstack.identity-v3+json"}], "id": "v3.4", "links":
[{"href": "http://cloud-areapd-test.pd.infn.it:35357/v3/", "rel":
"self"}]}}
The above curl command is grabbed from the output of "openstack --debug
user list".
If I switch back to v2.0 API in env var OS_AUTH_URL, keystone client
works correctly (and openstack stops working) and shows me the users,
tenants, etc.:
[root@controller-01 ~]# export
OS_AUTH_URL=https://cloud-areapd-test.pd.infn.it:35357/v2.0
[root@controller-01 ~]# keystone user-list
/usr/lib/python2.7/site-packages/keystoneclient/shell.py:65:
DeprecationWarning: The keystone CLI is deprecated in favor of
python-openstackclient. For a Python library, continue using
python-keystoneclient.
'python-keystoneclient.', DeprecationWarning)
/usr/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90:
InsecurePlatformWarning: A true SSLContext object is not available. This
prevents urllib3 from configuring SSL appropriately and may cause
certain SSL connections to fail. For more information, see
https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
+----------------------------------+----------+---------+---------------------+
| id | name | enabled | email |
+----------------------------------+----------+---------+---------------------+
| 62e64ee442cc42e7b07c0209010148c3 | admin | True | ADMIN_EMAIL |
| 96ab92677d43476a820428e281d229f2 | cinder | True |
[email protected] |
| e737d7af46ab46838bbef6c5d16aff7e | glance | True |
[email protected] |
| 84546c19c2b242738235022f73b2e9c2 | neutron | True |
[email protected] |
| b99c5365b6c448d4956fdae02fe0ef11 | nova | True |
[email protected] |
| 3c2bde47975b4f738b316d87f3727ec3 | sgaravat | True
| |
+----------------------------------+----------+---------+---------------------+
So, the question is: is there a bug in the service code which forcely
translates https to http ?
thanks,
Alvise Dorigo
_______________________________________________
OpenStack-operators mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators