Hi Tom,

This is the right place for the discussion.

I think what you are suggesting makes sense. If the user wants to update the 
accessKey and secretKey, it should be allowed.

We can create a validation function for the Storage Plugins as per the selected 
provider to validate the details map. And if for some reason, the provider 
doesn't support the update for a particular key, the request will fail.

If you raise a PR for the changes, I can review it.

Regards
Vishesh

 


________________________________
From: Tom O'Dowd <tpod...@cloudian.com.INVALID>
Sent: Thursday, October 10, 2024 11:02 AM
To: dev@cloudstack.apache.org <dev@cloudstack.apache.org>
Subject: Updating Object Store Configuration

I have a question about updating the Object Store Information.

The current code only allows updating either the Name or the Object Store URL.

https://github.com/apache/cloudstack/blame/d6181d542108d02cca31daa758234bb29e1b317a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java#L4180

I think it is necessary to also update the other fields, namely accessKey and 
secretKey of the admin user of the different object stores. Currently there is 
no way to update them. I’m sure MinIO and Ceph will need this as well as 
Cloudian.

For our Cloudian implementation I would also like to be able to update other 
store details which are the S3 URL and the IAM URL and whether or not the SSL 
Certificate should be validated.

When the object store is first created, this information is sent in a “details” 
map. Therefore, it might make sense to ask the object store that is being 
updated for its “details" Map, the GUI can be changed to allow editing these 
and new details then passed back to this method which asks the object store to 
set and validate them (rather than what it is doing here where the update 
method itself is actually updating the store with potentially bad data, then 
checking if it works before reverting it on failure.

So something like:

User clicks Edit Object Storage
GUI requests Object Storage Info (url, name, details map etc)
      (should ask the Object Storage Implementation for its configuration 
information new function - details map)
      displays the fields appropriate to the providerName (similar to create 
Object Storage) using the details map.
When GUI updates, the details map is also posted along with the URL and name.
a new Object Storage Implementation update configuration function is called 
which validates and saves the information if good.

Anyway this probably needs some kind of formal discussion to make progress? Is 
that this thread or does that happen elsewhere?

Thanks,

Tom.


Reply via email to