# Image Creation Using CLI Failed

## Problem

When image creation failures occur during VM image uploads through the OpenStack or [pcdctl](https://platform9.com/docs/private-cloud-director/private-cloud-director/pcdctl-command-line) command-line tool, this troubleshooting guide provides resolution steps.

## Environment

* Private Cloud Director - v2025.4 and Higher.
* Self-Hosted Private Cloud Director Virtualisation – v2025.4 and Higher.

## Procedure

1. Ensure the the [prerequisites](https://platform9.com/docs/private-cloud-director/private-cloud-director/pre-requisites#image-library-prerequisites) are meet also refer documentation about [importing image via CLI](https://platform9.com/docs/private-cloud-director/private-cloud-director/image-library---images#importing-images-via-the-cli)
2. Source the OpenStack `admin.rc` file. Ensure that `OS_USERNAME` and `OS_PASSWORD` are correct as per your <code class="expression">space.vars.product\_name</code> account.
3. Ensure you have `administrator` permission to upload the image.
4. Make sure that the `OS_INTERFACE` variable is set to the `admin` value as specified in the UI like mentioned in [documentation.](https://platform9.com/docs/private-cloud-director/private-cloud-director/image-library---images#step-3---upload-the-image)
5. Use command debug mode during image creation using:

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">$ openstack --debug image create 
   or 
   $ openstack --verbose image create
   </code></pre>
6. Review glance server logs in the `glance-api` pod logs in case of Self-Hosted PCD. On the host, review the `/var/log/pf9/glance-api.log` to track the relevant events against a specific image ID.
7. Get glance API public endpoint which can be fetched using:

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">$ openstack endpoint list --service glance
   $ openstack endpoint list --service glance-cluster
   </code></pre>
8. Verify the glance API service by connecting to the glance endpoint. It will return the version, status and other details.

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">$ curl -s https://&#x3C;PCD_FQDN>/glance/
   </code></pre>
9. If these steps prove insufficient to resolve the issue, kindly reach out to the [Platform9 Support Team](https://support.platform9.com/) for additional assistance.

## Most common causes

* Glance service on the underlying host is down.
* Glance host is unreachable from the VM from where the upload is being performed.
* OpenStack `admin.rc` file does not have the `OS_INTERFACE` variable set to the `admin`.
* The `--insecure` flag was not used as the Glance node uses self-signed certificates.
* The user does not have sufficient permissions to perform the image upload.
* Ensure that the glance [Pre-Requisites](https://platform9.com/docs/private-cloud-director/private-cloud-director/image-library---images#prerequisites) are met.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://platform9.com/kb/pcd-ts/image-library/image-creation-failed-using-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
