sslhttpsopenstackcloudify

Cloudify with Openstack:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed


I want to use Cloudify 3.1 with my Openstack in my company.

Unfortunately, I had the prolem that the keystone authentication failed. When I see the log,it says,"SSL3_GET_SERVER_CERTIFICATE:certificate verify failed"

I think it is HTTPS that make it failed. I see the curl below.

curl -i  'https://identity.example.com/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-novaclient" -d '{"auth": {"tenantName": "xxxx", "passwordCredentials": {"username": "xxxx", "password": "xxxxx"}}}'

HTTP/1.0 200 Connection Established
Proxy-agent: Apache

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

How can I make the curl succeed without using -k or --insecure?

OR IF ANYONE HAS THE EXPERIENCE TO DO WITH openstack THAT KEYSTONE IS USING HTTPS WHEN INSTALLING Cloudify?


Solution

  • Using Openstack services with insecure SSL certificates is not possible in Cloudify 3.1. However, in Cloudify 3.2 it's possible to pass the --insecure (or ca_cert) flags directly to be used by the Openstack clients.

    You can read the documentation for this feature here: http://getcloudify.org/guide/3.2/plugin-openstack.html#openstack-configuration

    So, for example, to use Nova service with insecure certificate, your Openstack configuration could look something like this:

    openstack_config:
      ...
      custom_configuration:
        nova_client:
          insecure: true
    

    Hope this helps.