Makes it possible to configure the RBD namespace via the GUI.
RBD namespaces must be configured manually. The most likely use case is
when connecting to an external Ceph cluster as this makes it possible to
separate client PVE clusters by namespace, not by pool.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
instead of having two inputfields and displayfields (where only one gets the
correct value), have two inputfileds but one displayfield when we need it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this was added for our (also in other places used):
> xtype: me.isCreate ? 'pveCephPoolSelector' : 'displayfield',
construct. But as displayfield does not has a submitValue setter we
cannot bind it generally.
So add such a setter with a small override and declare the bindings
direct when declaring the items, less side effects and all the
configurations for an item stays in the same place.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
will be reused for CephFS, look at this with git's ignore whitespace
change flag '-w' to see that the changes consist mostly of indent and
hunk movement changes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Combine both dialogues. This reduces storage choices from the
Storage -> Add menu, and thus improves usability.
We make the whole dialog also more intelligent by querying the
monitors, so that we can show them for the hyper converged case
keeping a similar interface for both cases. Further we can use this
to decide if a hyperconverged setup is possible at all.
While this information would also be available through the fact if
the pool selector has entries I wanted to show them anyway and could
make logic a bit easier using it.
This removes *a lot* of code duplication.
I add a base class for the storage edit window and for its containing
input panel, they implement the shared stuff. Especially the window
was mostly a 1:1 copy...
I look hard for a way to split up this patch, but I did not really
found one which would not generate a lot of work for no value added
(value being 'revertability' and better git history here).
nd actually not too much happens, the same thing happens just over
and over again.
Thus, I've thrown in the dynamic creation of the storage add menu
items here too.
I remove all storage specific Edit windows, they where all just >95%
duplicates of each other.
Special functionallity, i.e. some data deletion/transforming before
submitting gets done with onGetValues.
For the RBD external vs PVE plugin I just added a minimal child class
to RBD which only tells it'S parent that it is the pve one, this is
nice for the mapping and should be easy to understand when reading
the code.
Tried to test an add and an edit of all visible storage plugins,
seems to be OK now.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this is for adding a pve managed ceph rbd storage, so that the user
just has to select the pool, and does not need to write the monitor
hosts and copy the keyring
the old "RBD" is renamed to "RBD (external)"
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
when having an rbd storage with no user, we displayed 'admin' by default,
this patch sets '' and will be overwritten from the backend if a value is set
when creating a rbd storage, the textfield still has 'admin' in
there by default
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a vtype which splits the given string into a list by
; or , or space
and checks if it is a valid (hostname|ip) port notation
also make the rbd monhost input field use it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
fix various type confusion, for example:
items: {} and items: []
style: string and style: {}
also fix object['property'] access with
object.property
also fix /=/ with either '=' or /\=/ where appropriate
(/=/ can be confused with /= according to jslint)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>