apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
1.98k stars 1.09k forks source link

Support multiple storage providers for secondary storage in a zone #9521

Open kiranchavala opened 1 month ago

kiranchavala commented 1 month ago

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

Screenshot 2024-08-13 at 1 35 07 PM

Screenshot 2024-08-13 at 2 51 15 PM

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

andrijapanicsb commented 1 month ago

I don't think that S3 even works, so adding support for mixing different providers, while the other provider (S3) is broken, doesn't make much sense (I recall @rajujith testing S3 as the Sec.Stor.) - unless this has been fixed - then I take it back.

What is the use case for this? I see code getting more complicated and I'm unaware of a single user request for such (IMO) unusual feature? Happy to be said I'm wrong/have missed something.

rajujith commented 1 month ago

@kiranchavala @andrijapanicsb Adding S3 secondary storage got fixed: https://github.com/apache/cloudstack/issues/8956 The seeding template remains to be fixed: https://github.com/apache/cloudstack/issues/9002 IMO this feature request will be a valid use once we have S3 secondary storage fully working.