It should use an asynchronous API call to create an image,
because some storages may need longer to alloc an image.
If a storage needs more than 30 sec
the proxy will timeout and we have an orphan image.
Also, it is possible to increase the timeout for some
storages if an asynchronous call is used
this is a major rework of the memory inputpanel
previously we had to select fixed/variable and
could set shares/ballooning, depending on what was selected
now the panel is much simpler:
non advanced:
memory: the target maximum memory
advanced:
min-memory: the minimum memory, if different from the memory field
we have 'dynamic' memory
shares, only if we have 'dynamic' memory
ballooning-device: better naming, deactivates the ballooning device
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
cloudinit images do not have an editor so return here
and value has to be a string to match
also set the remove button text correctly when selecting a cloudinit disk
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
make ProcessorEdit static and merge with CPUOptions
moves some fields in the advanced options
this also changes how we add the flag checkboxes,
which is static now, but if we want to add more, we have to
create a better way than add a checkbox for each flag anyway
also increases the cpulimit to 128 (as per api)
and fixes a small whitespace error
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
so that we can reuse it for containers
while we do this, we also have to adapt the SnapshotSelector
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this was missing from my original series
also enable deletion of the password field via remove button
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
let them use a one/two column layout depending on browser width
optimize stylings/padding values
get rid of the (now long) unecessary lazyitems plugin
(this was necessary for performance when we still used tabpanels instead
of our own configpanel with treelist)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this adds a new component 'AgentIPView' which
uses the qemu-agent api call to tries to get the ip information for
the guests
only for vms at the moment, since for containers you already
set it on their network tab
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Use a ViewModel directly, instead of emulating its behaviour with a
ViewController.
The rest consists mostly of indentation changes, moving some
components directly inside their parent declaration.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
DisplayEdit did not get a cleanup during our ExtJS 4 to ExtJS 6
cleanup, in fact it was really touched in the last 5 years.
So refactor it to a declarative syntax, at least almost, we keep the
me.load in initComponent, just to much hassle to adress this for now.
Also purge DisplaySelector. It was a component inheriting from
KVComboBox with the possible VGA values as items only used here.
So just use a KVComboBox directly and set comboboxItems directly.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
when using the 'run_editor' function provided by the ObjectGrid,
we have to make sure the function runs in the context of the grid,
not in that of the button, else we cannot access the
selectionModel/rows/etc. of the grid
this happened with the switch to the widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
instead of directly setting the minvalue when the maxvalue is lower
we invalidate it and only on blur we set the minvalue
without this we lose the minvalue when editing only the maxvalue
e.g.:
Max: 2048
Min: 1024
if we now edit the maxvalue to 4096, on pressing the '4', we are
setting the minvalue to '4' because 4 is lower than 1024
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
and make them available with the up/down arrow key
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Proxmox.button.Help renamed the css class for the button styling, as
this class is only used rarely and the widget toolkit does not
provides a (shared) css file itself, just rename it here too.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Ther's a little delay with the revert button on pending changes, but
that was the case previously too, so don't worry for that in this
patch
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
some function are now in Proxmox.Utils instead, so we have to use that
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
there we implemented deleteEmpty, which we can use in some cases.
this also fixes a bug in the ControllerSelector where
an empty field would be allowed (but should not)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
also make the mechanism for the flag checkboxes generic
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
but not in wizard, and default is off
(because we do not know if the cpu supports it)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
The type confusion warnings arose from string and integer concatenation,
and object properties of the name which were alternatively set with
strings and integers.
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
The SKU (Stock Keeping Unit) field was never translated anyway in our po files,
probably because nobody knew what the initials meant.
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
when changing between elements in the tree, either the
start or shutdown buttons were visually flashing (meaning they are
enabled/disabled for a short time and change state shortly after)
this patch fixes that
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Acked-by: Emmanuel Kasper <e.kasper@proxmox.com>
This was done previously without any kind of user visible feedback, so users
would not know that they had a Virtio SCSI controller as default controller
for Linux VMs.
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We keep the same logic as before: once the iothread option is selected,
the SCSI controller is switched to virtio-scsi-single, until iothread
is unselected again.
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We use the field label 'SCSI Controller'. 'Type' is redundant, otherwise
we would have Network Card Type, Display Type, Network Card type, etc ...
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
The bus selector is displayed when we add a Hard Disk or CD Drive.
When it is displayed, we *always* preselect the next available
slot on the controller of our choice.
So this test is not needed.
We keep the test on the string value of 'autoselect' to select
a bus position when adding a CD Drive.
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Allows to add an unmanaged VM to HA or to edit the HA settings of a
managed one.
Fixes: #1518
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>
add a 'More' Button to the VM and CT Config Panel (its base panel)
and move all buttons which may result in config changes there.
After that we have separated power/migrate actions from system
affecting actions (clone, remove, convert to template).
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>
We had a single column for the CD/DVD panel, fill the second column
with the now in size reduced OS type selector, as ISO selection and
OS type selection are tied together.
Reduces steps needed for creating a VM.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Move from the radiogroup to two comboboxes, where the base OS and
then a specific Version can be choosen.
Avoids multiple occurences of strings like "Microsoft Windows" and
saves a lot of space - which will be used to merge this panel with
the ISO selector panel in the create wizard.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
encapuslation wise it makes sense to have a helper which assembles a
os specific setting object in the OSDefaults class, where those
settings are defined.
Else we always need to check if the current OSType on the user side
of this class, which is against encapsulation.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
First, there was an additional space between "'" and ")" which lead
me to this.
I could never trigger the case where vmname is undefined, and saw
that we have a almost same default handling in data/ResourceStore.js
So, just use that one instead here - it misses the single-quotes
inside the parentheses, but as there are already said parentheses
this is visually still very OK, IMO.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
A user may set the `iothread` option and then change the bus type to
something which does not support it (sata, ide), while we disable
it the previously set value remains, which is confusing.
An user could think he coulkd trick the Wizard into using iothreads
for SATA/IDE but we just ignore the value in this case.
Set iothread to false in the case it gets disabled.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
If not, the following could happen:
* user has a VM with two disks attached to a LSI controller
* adding a third disk, he notices the iothread option, and clicks it
* the scsihw type for all disks is changed now to virtio-scsi-single
* on next cold restart, STOP 0x0000007B INACCESSABLE_BOOT_DEVICE for a Windows VM
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
It isn't needed as its obvious that the table below show the
configuration. It just takes away space.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this hides not usuable buttons for qemu
e.g. start/shutdown for templates
migrate for non-cluster setups
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Camel Case names for component alias follow Ext recommended practises
and are used otherwise everyelse in the code base.
No functionnal changes, aliases for these components were not used
anyway.
This will allow to disable replication, when for instance we
add a disk on a non-replicatable storage.
The option is hidden in the wizard, because at that time no VM
replication has been set.
there were a number of problems in how we reselected vms when they
migrated and selected:
we relied on the data in the configpanel to be static, but since
pveselnode is a reference, it actually changes when the resourcestore
changes
also, handling the reselection as a response to the statusstore failure
is very inconsistent, because we know exactly when a vm moves node in
the tree
this patch removes the whole configpanel vm migration code,
and lets the tree handle it
for this, we have to check if we have to reselect the entry,
deselect it manually and after the treeupdate reselect it
also in the right click selection check we have to check if it is
already selected, else the next selection will get canceled
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
the edit window has 3 radiobuttons (spice,device,port)
and a checkbox for usb3 (which gets disabled and checked
if you choose a usb3 device)
also it makes use of the help feature
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>