radosgw
package./etc/pve/ceph.conf
by default. To fix that, I added the secondary group www-data
to user ceph
.ceph-mgr-dashboard
doesn't include code for the rgw module. You can manually fetch these two files from source. You need to do this for each of your ceph-mgr instances, then enable the rgw module on one.cephadmin
/ceph orch
to manage daemons in some random places. The Proxmox distribution of Ceph doesn't use cephadmin
. It manages Ceph daemons in a different way.2025-01-24T11:32:25.534-0500 7df4e90006c0 0 [dashboard INFO rgw_client] Found RGW daemon with configuration: host=192.168.1.201, port=7480, ssl=False
2025-01-24T11:32:25.534-0500 7df4e90006c0 0 [dashboard INFO rgw_client] Found RGW daemon with configuration: host=192.168.1.203, port=7480, ssl=False
2025-01-24T11:32:25.535-0500 7df4e90006c0 0 [dashboard INFO rgw_client] Found RGW daemon with configuration: host=192.168.1.202, port=7480, ssl=False
2025-01-24T11:32:25.535-0500 7df4e90006c0 0 [dashboard INFO rgw_client] Configuring dashboard RGW credentials
2025-01-24T11:32:25.563-0500 7df4e90006c0 0 [dashboard ERROR rgw_client] Unable to list RGW realms: global_init: unable to open config file from search list /etc/ceph/ceph.conf
2025-01-24T11:32:25.618-0500 7df4e90006c0 0 [dashboard ERROR rgw_client] Unable to create rgw user "dashboard": global_init: unable to open config file from search list /etc/ceph/ceph.conf
2025-01-24T11:32:25.618-0500 7df4e90006c0 0 [dashboard ERROR rgw_client]
Traceback (most recent call last):
File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 283, in configure_rgw_credentials
assert access_key and secret_key
AssertionError
2025-01-24T11:32:25.619-0500 7df4e90006c0 0 [dashboard ERROR exception] Internal Server Error
Traceback (most recent call last):
File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 283, in configure_rgw_credentials
assert access_key and secret_key
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/share/ceph/mgr/dashboard/services/exception.py", line 47, in dashboard_exception_handler
return handler(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3/dist-packages/cherrypy/_cpdispatch.py", line 54, in __call__
return self.callable(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/ceph/mgr/dashboard/controllers/_base_controller.py", line 263, in inner
ret = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/ceph/mgr/dashboard/controllers/rgw.py", line 58, in status
instance = RgwClient.admin_instance()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 404, in admin_instance
return RgwClient.instance(daemon_name=daemon_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 351, in instance
configure_rgw_credentials()
File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 288, in configure_rgw_credentials
raise NoCredentialsException
dashboard.services.rgw_client.NoCredentialsException: No RGW credentials found, please consult the documentation on how to enable RGW for the dashboard.
2025-01-24T11:32:25.619-0500 7df4e90006c0 0 [dashboard ERROR request] [::ffff:192.168.1.232:62290] [GET] [500] [0.088s] [cephdash] [513.0B] /ui-api/rgw/status
2025-01-24T11:32:25.619-0500 7df4e90006c0 0 [dashboard ERROR request] [b'{"status": "500 Internal Server Error", "detail": "The server encountered an unexpected condition which prevented
it from fulfilling the request.", "request_id": "7f43a57d-25c3-4a3b-b5ee-e3451113f2bd"}
']
# radosgw-admin user list
[
"dashboard",
"benchmark"
]
# ceph dashboard set-rgw-credentials
Error EINVAL: No RGW credentials found, please consult the documentation on how to enable RGW for the dashboard.
ceph dashboard set-rgw-api-access-key
+ ceph dashboard set-rgw-api-secret-key
. I'll try to figure that out next.radosgw-admin user info --uid=dashboard | less
to find the access and secret keys for the user I'd already createdaccess.key
and the secret to secret.key
.# ceph dashboard set-rgw-api-access-key -i access.key
Option RGW_API_ACCESS_KEY updated
root@baldr:~# ceph dashboard set-rgw-api-secret-key -i secret.key
Option RGW_API_SECRET_KEY updated
500 - Internal Server Error
- Unable to fetch realm list
- Unable to fetch zone list
- Unable to fetch zonegroup list
500 - Internal Server Error
Unable to fetch realm list
--system
parameter is important.radosgw-admin user create --uid=dashboard-system-user --display-name="dashboard" --system
[CODE]
Thank you, I am currently able to use RGW well, but the problems that arise as you talked about are not a problem for me. Thank you for your response.I was able to set the RGW credentials for the dashboard! Here are the steps I followed:
- Run
radosgw-admin user info --uid=dashboard | less
to find the access and secret keys for the user I'd already created- Save the access key value to
access.key
and the secret tosecret.key
.- Set the credentials in the dashboard:
Code:# ceph dashboard set-rgw-api-access-key -i access.key Option RGW_API_ACCESS_KEY updated root@baldr:~# ceph dashboard set-rgw-api-secret-key -i secret.key Option RGW_API_SECRET_KEY updated
The Object pages load for me now. But I'm still getting a few error.
The Object -> Overview page loads, but I get an error that pops up and says:
Similarly, the Object -> Multi-site page gives the error:
Edit: Here's the command I used originally to create the 'dashboard' user. From another post in this forum, apparently the--system
parameter is important.
Code:radosgw-admin user create --uid=dashboard-system-user --display-name="dashboard" --system [CODE]
I would love to see this playbook or the files needed if you get a moment to post it. Many thanks!I've got an ansible playbook that does most of the steps above. Let me know if you want me to share it.
We use essential cookies to make this site work, and optional cookies to enhance your experience.