canonical / canonical/microceph
Support to configure multiple configs in single go for daemon API
- Dominant language
- Go
- Stars
- 396
- Forks
- 74
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 7
Description
# Enhancement
Trying to access microceph daemon API using a python client similar to [1]
Currently multiple configs cannot be updated in single API call and have to run PUT /1.0/configs API call multiple times one for each config [2] which results in restart of corresponding service for each API call.
This is an enhacement request to export API call to accept multiple configs in a single go.
The use case for this is to configure all keystone related configs for radosgw.
Currently there are atleast 12 configs to set this integration which restarts radosgw 12 times.
[1] https://github.com/canonical/charm-microceph/pull/83/files#diff-29c083e8f4fd7ea8a9d6d5d47ec84ca0423cca647a63f51678edb615e7c5fe1b
[2] https://github.com/canonical/microceph/blob/main/microceph/api/configs.go#L59
## What version of MicroCeph are you using ?
reef/stable
## What are the steps to reproduce this issue ?
1. Deploy microceph
2. Enable rgw service
3. Use the following python script to connect to microceph daemon API https://pastebin.canonical.com/p/NhTzvqP52P/
Contributor guide
Research direction
Start with microceph/api/configs.go at the referenced line and review the daemon API configuration handling, then inspect the linked Python client example. Reproduce the setup with MicroCeph, enable rgw, and configure the Keystone-related settings. Done means one API call accepts multiple configs and avoids restarting radosgw separately for each setting.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100