Support multiple storage providers for secondary storage in a zone
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
ISSUE TYPE
Enhancement/Improvement request
COMPONENT NAME
Component: UI
CLOUDSTACK VERSION
Cloudstack version 4.19
SUMMARY
Support multiple storage providers for secondary storage
Steps to reproduce the issue
Have an existing nfs secondary storage present
1. Navigate to Infrastructure > Secondary storage >
2. Add secondary storage for storage provider s3


Logs
```
root@ref-trl-7087-k-Mu24-kiran-chavala-mgmt1:~# cat /var/log/cloudstack/management/management-server.log |grep -i "logid:ab39b82d"
2024-08-02 07:17:32,204 DEBUG [c.c.a.ApiServlet] (qtp364604394-20:ctx-36924578) (logid:ab39b82d) ===START=== 10.0.3.251 -- GET name=minio&details[2].key=bucket&details[2].value=kiran-bucket2&details[3].key=usehttps&details[3].value=false&details[4].key=endpoint&details[4].value=http:%2F%2F10.0.32.251:9000&provider=S3&command=addImageStore&response=json
2024-08-02 07:17:32,204 DEBUG [c.c.a.ApiServlet] (qtp364604394-20:ctx-36924578) (logid:ab39b82d) Two factor authentication is already verified for the user 2, so skipping
2024-08-02 07:17:32,210 DEBUG [c.c.a.ApiServer] (qtp364604394-20:ctx-36924578 ctx-4856a5f7) (logid:ab39b82d) CIDRs from which account 'Account [{"accountName":"admin","id":2,"uuid":"97bbbe87-4fc8-11ef-82b1-1e00590001cf"}]' is allowed to perform API calls: 0.0.0.0/0,::/0
2024-08-02 07:17:32,213 DEBUG [o.a.c.a.StaticRoleBasedAPIAccessChecker] (qtp364604394-20:ctx-36924578 ctx-4856a5f7) (logid:ab39b82d) RoleService is enabled. We will use it instead of StaticRoleBasedAPIAccessChecker.
2024-08-02 07:17:32,214 DEBUG [o.a.c.r.ApiRateLimitServiceImpl] (qtp364604394-20:ctx-36924578 ctx-4856a5f7) (logid:ab39b82d) API rate limiting is disabled. We will not use ApiRateLimitService.
2024-08-02 07:17:32,216 INFO [c.c.a.ApiServer] (qtp364604394-20:ctx-36924578 ctx-4856a5f7) (logid:ab39b82d) You can only add new image stores from the same provider NFS already added
2024-08-02 07:17:32,216 DEBUG [c.c.a.ApiServlet] (qtp364604394-20:ctx-36924578 ctx-4856a5f7) (logid:ab39b82d) ===END=== 10.0.3.251 -- GET name=minio&details[2].key=bucket&details[2].value=kiran-bucket2&details[3].key=usehttps&details[3].value=false&details[4].key=endpoint&details[4].value=http:%2F%2F10.0.32.251:9000&provider=S3&command=addImageStore&response=json
```
Expected behaviour
It would be a useful feature if end user wants to migrate the secondary storage other storage providers
Contributor guide
Research direction
Start with the Infrastructure > Secondary storage UI flow and the addImageStore API request shown in the issue logs. Trace where the existing NFS provider restriction is enforced, then define and verify behavior for adding multiple secondary-storage providers, including migrating storage between providers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100