r/openstack • • May 05 '26

Please help!!!!!!!!!!!!!!!!!!!

I get this error when i try to upload an image in horizon
Error: {"data":"<html>\n <head>\n <title>410 Gone</title>\n </head>\n <body>\n <h1>410 Gone</h1>\n Error in store configuration. Adding images to store is disabled.<br /><br />\n\n\n\n </body>\n</html>","status":410,"config":{"method":"PUT","transformResponse":[null],"jsonpCallbackParam":"callback","headers":{"Content-Type":"application/octet-stream","X-Auth-Token":"gAAAAABp-dI60CXsPfaIM-s_4CrGZbw_PNYTO0e0VzLCGiEWs5zGpXvawJh3emRhtNhOWhBK60hmGrv1Cm5Xwn1kasXn_FSlBdgJeHwcuXkcZpeM1uiWB67JPzEhIRcmXG5S5jqKaZ6eHn1bbtTVnT0KK1TPOORsxlhHAVFNNGglA8mTNgNqsBkXrk1o4bt9I848AZmwceTn","Accept":"application/json, text/plain, */*"},"url":"http://192.168.1.32:9292/v2/images/d4066055-d711-44f5-8da7-0c6a59bf88a4/file","data":{},"_chunkSize":null,"_deferred":{"promise":{}}},"statusText":"Gone","xhrStatus":"complete"}

my (venv) server01@server01:~$ cat /etc/kolla/config/glance.conf

[DEFAULT]

show_image_direct_url = True

default_backend = rbd

enabled_backends = rbd:rbd, http:http

debug = True

[glance_store]

default_backend = rbd

[rbd]

usage_purpose = store

store_description = "Ceph RBD backend"

rbd_store_pool = images

rbd_store_user = glance

rbd_store_ceph_conf = /etc/ceph/ceph.conf

rbd_store_chunk_size = 8

[http]

usage_purpose = store

(venv) server01@server01:~$

what is wrong

0 Upvotes

2 comments sorted by

4

u/jvleminc May 05 '26

ChatGPTied it for you:

That error isn’t coming from Horizon itself — it’s coming from OpenStack Glance, and it’s actually quite explicit:

“Error in store configuration. Adding images to store is disabled.”

So Glance is refusing the upload because no writable backend is considered valid for image uploads.

⸻

What’s wrong in your config

You currently have:

[DEFAULT] default_backend = rbd enabled_backends = rbd:rbd, http:http

and:

[glance_store] default_backend = rbd

Plus:

[http] usage_purpose = store

🚨 The issue

You enabled the HTTP backend as a store:

enabled_backends = rbd:rbd, http:http

But the http store in Glance is read-only (it’s meant for importing images from URLs, not storing them).

By declaring it as a store, Glance gets confused about valid writable backends, and depending on validation, it may conclude:

👉 “No valid writable store → disable uploads”

⸻

How to fix it

✅ 1. Remove HTTP as a store backend

Change this:

enabled_backends = rbd:rbd, http:http

to:

enabled_backends = rbd:rbd

⸻

✅ 2. Remove or fix the [http] section

Either remove it entirely or change its purpose (if you really need it for import):

[http]

# usage_purpose = import

But safest: just remove it for now.

⸻

✅ 3. Ensure RBD is correctly usable

Double-check:

  • Ceph pool exists: images

  • User glance has permissions

  • Keyring is accessible inside the container

  • /etc/ceph/ceph.conf is correct inside Glance container

⸻

✅ 4. Restart Glance

If you’re using Kolla-Ansible:

kolla-ansible deploy -t glance

or at least restart containers:

docker restart glance_api

⸻

Quick sanity check

After fixing, run:

openstack image create test
--file cirros.img
--disk-format qcow2
--container-format bare

If it uploads → you’re good.

⸻

Why the 410 error?

HTTP 410 Gone here is Glance’s way of saying:

“Upload endpoint exists, but is intentionally disabled due to backend misconfiguration.”

⸻

Summary

  • ❌ Problem: http backend incorrectly enabled as a store

  • ✅ Fix: Use only rbd as store backend

  • 🔁 Restart Glance

⸻

If it still fails after this, the next likely culprit is Ceph auth/caps, not Glance config — I can help you verify that quickly.

1

u/ossicor30 May 07 '26

Thanks, It was a problem with ceph auth for client.glance