Enable uploading of an image through Horizon with self-managed SSL certificates

Enable uploading of an image through Horizon with self-managed SSL certificates

By default, the OpenStack Dashboard (Horizon) supports direct uploading of images to Glance. However, if an MCP cluster is deployed using self-signed certificates for public API endpoints and Horizon, uploading of images to Glance through the Horizon web UI may fail. While accessing the Horizon web UI of such MCP deployment for the first time, a warning informs that the site is insecure and you must force trust the certificate of this site. However, when trying to upload an image directly from the web browser, the certificate of the Glance API is still not considered by the web browser as a trusted one since host:port of the site is different. In this case, you must explicitly trust the certificate of the Glance API.

To enable uploading of an image through Horizon with self-managed SSL certificates:

  1. Navigate to the Horizon web UI.

  2. On the page that opens, configure your web browser to trust the Horizon certificate if you have not done so yet:

    • In Google Chrome or Chromium, click Advanced > Proceed to <URL> (unsafe).

    • In Mozilla Firefox, navigate to Advanced > Add Exception, enter the URL in the Location field, and click Confirm Security Exception.

    Note

    For other web browsers, the steps may vary slightly.

  3. Navigate to Project > API Access.

  4. Copy the Service Endpoint URL of the Image service.

  5. Open this URL in a new window or tab of the same web browser.

  6. Configure your web browser to trust the certificate of this site as described in the step 2.

    As a result, the version discovery document should appear with contents depending on the OpenStack version. For example, for OpenStack Ocata:

    {"versions": [{"status": "CURRENT", "id": "v2.5", "links": \
    [{"href": "http://cloud-cz.bud.mirantis.net:9292/v2/", "rel": "self"}]}, \
    {"status": "SUPPORTED", "id": "v2.4", "links": \
    [{"href": "http://cloud-cz.bud.mirantis.net:9292/v2/", "rel": "self"}]}, \
    {"status": "SUPPORTED", "id": "v2.3", "links": \
    [{"href": "http://cloud-cz.bud.mirantis.net:9292/v2/", "rel": "self"}]}, \
    {"status": "SUPPORTED", "id": "v2.2", "links": \
    [{"href": "http://cloud-cz.bud.mirantis.net:9292/v2/", "rel": "self"}]}, \
    {"status": "SUPPORTED", "id": "v2.1", "links": \
    [{"href": "http://cloud-cz.bud.mirantis.net:9292/v2/", "rel": "self"}]}, \
    {"status": "SUPPORTED", "id": "v2.0", "links": \
    [{"href": "http://cloud-cz.bud.mirantis.net:9292/v2/", "rel": "self"}]}]}
    

Once done, you should be able to upload an image through Horizon with self-managed SSL certificates.