Image Upload Fails due to Missing Endpoint

Problem

  • Image upload is failing via CLI due to missing admin endpoint.

$ echo $OS_INTERFACE admin $ openstack image create --insecure --container-format bare --disk-format qcow2 --file <IMAGE_PATH> <IMAGE_NAME> admin endpoint for image service in [REGION_NAME] region not found

Environment

  • Platform9 Cloud Director Virtualization - v2025.4 and Higher

  • Component - Image Library

Cause

  • Image uploads greater than 1 Gi are recommended to be performed via CLI command. Also, adding an admin endpoint interface is a prerequisite before uploading the image via CLI.

  • The admin endpoint is missing from glance service catalog; that blocks any Glance administrative tasks.

$ openstack catalog show image +-----------+---------------------------------------------------------------------------+ | Field | Value | +-----------+---------------------------------------------------------------------------+ | endpoints | [REGION_NAME] | | | public: https://[FQDN]/glance/ | | | [REGION_NAME] | | | internal: http://glance-api.[REGION_NAME].svc.cluster.local:9292/ | | id | [IMAGE_UUID] | | name | glance | | type | image | +-----------+---------------------------------------------------------------------------+
  • It can also be verified by listing endpoint information for a image service.

$ openstack --insecure endpoint list --service image --region <REGION_NAME> +------------------+---------------+--------------+--------------+-----------+-----------+---------------------------------------------------------+ | ID | Region | Service Name | Service Type | Enabled | Interface | URL | +------------------+---------------+--------------+--------------+-----------+-----------+---------------------------------------------------------+ | [ENDPOINT_UUID1] | [REGION_NAME] | glance | image | True | public | https://[FQDN]/glance/ | | [ENDPOINT_UUID1] | [REGION_NAME] | glance | image | True | internal | http://glance-api.[REGION_NAME].svc.cluster.local:9292/ | +----------------------------------+--------------+--------------+-----------+-----------+-----------+---------------------------------------------+

Resolution

  • Manually creating admin endpoint for the image service will allow the images to be uploaded.

$ openstack endpoint create --region <REGION_NAME> image admin https://<GLANCE_HOST_IP>:9494
  • Verfiy the newly created admin endpoint.

$ openstack catalog show image +-----------+---------------------------------------------------------------------------+ | Field | Value | +-----------+---------------------------------------------------------------------------+ | endpoints | [REGION_NAME] | | | public: https://[FQDN]/glance/ | | | [REGION_NAME] | | | admin: https://[HOST_IP]:9494 | | | [REGION_NAME] | | | internal: http://glance-api.[REGION_NAME].svc.cluster.local:9292/ | | id | [IMAGE_UUID] | | name | glance | | type | image | +-----------+---------------------------------------------------------------------------+

Additional Information

  • When the OS_INTERFACE is set as public[default configuration], image upload fails with the below error. This is because, nginx placed in front of Glance API, blocks an image upload (or download) as the file size exceeds the configured limit [not more than 1Gi].

HttpException: 413: Client Error for url: https://[FQDN]/glance/v2/images/[IMAGE_UUID]/file, 413 Request Entity Too Large: nginx