Hi,
We have been using the Ceph MGR Dashboard to successfully manage S3 buckets and user accounts since Octopus (https://forum.proxmox.com/threads/pve-6-3-with-ha-ceph-iscsi.81991/). This continued to work with us migrating to Ceph Pacific and exchanging civetweb for beast, although we annoyingly had to disable SSL verification as the Ceph Dashboard doesn't appear to read/honour the 'rgw_dns_name' value.
This worked up until Ceph Pacific 16.2.9, but broke after upgrading to Pacific 16.2.11. We recreated the RADOS gateway (aka RGW) user account and completely reconfigured everything with no success. We constantly obtained a 403 SignatureDoesNotMatch error when navigating to any of the Object Gateway sub menus. The moment we however then upgraded to Ceph Quincy 17.2.5 everything worked again perfectly.
The frustrating thing is that I couldn't figure out how to debug the RGW interactions initiated by Ceph MGR's dashboard.
Also really concerned that the problem with Pacific 16.2.11 is possibly due to a patch which will be included in the next version of Quincy, possibly 17.2.6.
NB: We validated this problem by upgrading another cluster where we could manage the Object Gateway via the Ceph dashboard which then also yielded the same problem after upgrading from 16.2.9 to 16.2.11, also remediated by simply then upgrading to 17.2.5.
I know Proxmox don't bundle/build cephadm,
Ceph tracker:
https://tracker.ceph.com/issues/58811
Summary:
Attempted to enable debugging with the following:
Cepn dashboard / RGW configuration, as well as validation that S3 access and secret keys matched the system account 'dashboard':
Herewith is the section from the mgr log after enabling debugging with a debug level of 20. It enumerates variables but then doesn't actually log the RGW interactions which are failing:
Additional information:
Regards
David Herselman
We have been using the Ceph MGR Dashboard to successfully manage S3 buckets and user accounts since Octopus (https://forum.proxmox.com/threads/pve-6-3-with-ha-ceph-iscsi.81991/). This continued to work with us migrating to Ceph Pacific and exchanging civetweb for beast, although we annoyingly had to disable SSL verification as the Ceph Dashboard doesn't appear to read/honour the 'rgw_dns_name' value.
This worked up until Ceph Pacific 16.2.9, but broke after upgrading to Pacific 16.2.11. We recreated the RADOS gateway (aka RGW) user account and completely reconfigured everything with no success. We constantly obtained a 403 SignatureDoesNotMatch error when navigating to any of the Object Gateway sub menus. The moment we however then upgraded to Ceph Quincy 17.2.5 everything worked again perfectly.
The frustrating thing is that I couldn't figure out how to debug the RGW interactions initiated by Ceph MGR's dashboard.
Also really concerned that the problem with Pacific 16.2.11 is possibly due to a patch which will be included in the next version of Quincy, possibly 17.2.6.
NB: We validated this problem by upgrading another cluster where we could manage the Object Gateway via the Ceph dashboard which then also yielded the same problem after upgrading from 16.2.9 to 16.2.11, also remediated by simply then upgrading to 17.2.5.
I know Proxmox don't bundle/build cephadm,
- Is it though expected that the dashboard doesn't connect to the defined RADOS gateway DNS FQDN as configured?
- Anyone aware of patches having been merged relating to MGR's dashboard and its RGW calls?
- Lastly, could anyone share tips on how to allow debugging the RGW interactions done by MGR's dashboard?
Ceph tracker:
https://tracker.ceph.com/issues/58811
Summary:
Attempted to enable debugging with the following:
Code:
ceph dashboard debug enable
ceph tell mgr config set debug_mgr 20
Cepn dashboard / RGW configuration, as well as validation that S3 access and secret keys matched the system account 'dashboard':
Code:
[admin@kvm7a ~]# radosgw-admin user info --uid=dashboard | grep _key.:
"access_key": "********************",
"secret_key": "****************************************"
[admin@kvm7a ~]# ceph config dump | grep -i -e rgw -e dash
mgr advanced mgr/dashboard/RGW_API_ACCESS_KEY ************
mgr advanced mgr/dashboard/RGW_API_SECRET_KEY ********************************
mgr advanced mgr/dashboard/RGW_API_SSL_VERIFY false
mgr advanced mgr/dashboard/debug false
mgr advanced mgr/dashboard/server_addr 0.0.0.0
mgr advanced mgr/dashboard/ssl true
client.radosgw.kvm7a advanced rgw_dns_name kvm7a.redacted.com
client.radosgw.kvm7a basic rgw_frontends beast ssl_port=7480 ssl_certificate=/etc/pve/local/radosgw-ssl.pem
client.radosgw.kvm7b advanced rgw_dns_name kvm7b.redacted.com
client.radosgw.kvm7b basic rgw_frontends beast ssl_port=7480 ssl_certificate=/etc/pve/local/radosgw-ssl.pem
client.radosgw.kvm7e advanced rgw_dns_name kvm7e.redacted.com
client.radosgw.kvm7e basic rgw_frontends beast ssl_port=7480 ssl_certificate=/etc/pve/local/radosgw-ssl.pem
Herewith is the section from the mgr log after enabling debugging with a debug level of 20. It enumerates variables but then doesn't actually log the RGW interactions which are failing:
Code:
2023-02-19T12:48:04.965+0200 7f24607fb700 10 mgr.server ms_handle_authentication ms_handle_authentication new session 0x5592faf37200 con 0x55930353e400 entity client.admin addr
2023-02-19T12:48:04.965+0200 7f24607fb700 10 mgr.server ms_handle_authentication session 0x5592faf37200 client.admin has caps allow * 'allow *'
2023-02-19T12:48:05.001+0200 7f24489c1700 10 module pg_autoscaler health checks:
2023-02-19T12:48:05.001+0200 7f2443b78700 20 mgr get_config key: mgr/rbd_support/mirror_snapshot_schedule
2023-02-19T12:48:05.001+0200 7f2443b78700 10 mgr get_typed_config mirror_snapshot_schedule not found
2023-02-19T12:48:05.025+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/AUDIT_API_ENABLED
2023-02-19T12:48:05.025+0200 7f24275c0700 10 mgr get_typed_config AUDIT_API_ENABLED not found
2023-02-19T12:48:05.025+0200 7f24275c0700 4 mgr get_store get_store key: mgr/dashboard/jwt_token_block_list
2023-02-19T12:48:05.025+0200 7f24275c0700 10 ceph_store_get jwt_token_block_list found: {"cd1a1a80-bca1-48ba-89fe-cd4d061a043b": 1676602596}
2023-02-19T12:48:05.025+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_ACCESS_KEY
2023-02-19T12:48:05.025+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_ACCESS_KEY found
2023-02-19T12:48:05.025+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_SECRET_KEY
2023-02-19T12:48:05.025+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_SECRET_KEY found
2023-02-19T12:48:05.025+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_ACCESS_KEY
2023-02-19T12:48:05.025+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_ACCESS_KEY found
2023-02-19T12:48:05.025+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_SECRET_KEY
2023-02-19T12:48:05.029+0200 7f2442375700 20 mgr get_config key: mgr/rbd_support/trash_purge_schedule
2023-02-19T12:48:05.029+0200 7f2442375700 10 mgr get_typed_config trash_purge_schedule not found
2023-02-19T12:48:05.029+0200 7f2443b78700 20 mgr get_config key: mgr/rbd_support/kvm7b/mirror_snapshot_schedule
2023-02-19T12:48:05.029+0200 7f2443b78700 20 mgr get_config key: mgr/rbd_support/mirror_snapshot_schedule
2023-02-19T12:48:05.029+0200 7f2443b78700 10 mgr get_typed_config [kvm7b/]mirror_snapshot_schedule not found
2023-02-19T12:48:05.029+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_SECRET_KEY found
2023-02-19T12:48:05.049+0200 7f2442375700 20 mgr get_config key: mgr/rbd_support/kvm7b/trash_purge_schedule
2023-02-19T12:48:05.049+0200 7f2442375700 20 mgr get_config key: mgr/rbd_support/trash_purge_schedule
2023-02-19T12:48:05.049+0200 7f2442375700 10 mgr get_typed_config [kvm7b/]trash_purge_schedule not found
2023-02-19T12:48:05.089+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_ADMIN_RESOURCE
2023-02-19T12:48:05.089+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_ADMIN_RESOURCE found
2023-02-19T12:48:05.089+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_SSL_VERIFY
2023-02-19T12:48:05.089+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_SSL_VERIFY found
2023-02-19T12:48:05.089+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_ACCESS_KEY
2023-02-19T12:48:05.089+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_ACCESS_KEY found
2023-02-19T12:48:05.089+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_ACCESS_KEY
2023-02-19T12:48:05.089+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_ACCESS_KEY found
2023-02-19T12:48:05.089+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_SECRET_KEY
2023-02-19T12:48:05.089+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_SECRET_KEY found
2023-02-19T12:48:05.089+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_SSL_VERIFY
2023-02-19T12:48:05.089+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_SSL_VERIFY found
2023-02-19T12:48:05.089+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/RGW_API_ADMIN_RESOURCE
2023-02-19T12:48:05.089+0200 7f24275c0700 10 mgr get_typed_config get_typed_config RGW_API_ADMIN_RESOURCE found
2023-02-19T12:48:05.093+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/REST_REQUESTS_TIMEOUT
2023-02-19T12:48:05.093+0200 7f24275c0700 10 mgr get_typed_config REST_REQUESTS_TIMEOUT not found
2023-02-19T12:48:05.093+0200 7f24275c0700 20 mgr get_config key: mgr/dashboard/REST_REQUESTS_TIMEOUT
2023-02-19T12:48:05.093+0200 7f24275c0700 10 mgr get_typed_config REST_REQUESTS_TIMEOUT not found
2023-02-19T12:48:05.181+0200 7f244c288700 10 mgr.server tick
Additional information:
Code:
[admin@kvm7a ~]# ceph dashboard feature status
Feature 'rbd': enabled
Feature 'mirroring': enabled
Feature 'iscsi': enabled
Feature 'cephfs': enabled
Feature 'rgw': enabled
Feature 'nfs': enabled
[admin@kvm7a ~]# ceph mgr services | jq .dashboard
"https://10.250.1.3:8443/"
Regards
David Herselman
Last edited: