]> git.proxmox.com Git - novnc-pve.git/commitdiff
parse 'already running' error on guest start
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 22 Feb 2022 15:33:50 +0000 (16:33 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 24 Feb 2022 12:37:58 +0000 (13:37 +0100)
Starting an already running container results in an sync-error
instead of a task that fails async. So, to have similar behaviour
between VMs and CTs, check any request error for the start command
and silent the 'already running' one.

Put this change in the first downstream patch and rebase the rest of
them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
debian/patches/0001-add-PVE-specific-JS-code.patch
debian/patches/0012-pass-custom-command-to-vnc.patch
debian/patches/0014-avoid-passing-deprecated-upgrade-parameter.patch
debian/patches/0015-create-own-class-for-hidden-buttons.patch
debian/patches/0016-hide-fullscreen-button-on-isFullscreen-get-variable.patch
debian/patches/0018-show-start-button-on-not-running-vm-ct.patch

index 885b092e16e8eadd068d189b472a29f1d4cde29b..f1cd8daabfc1eede245272875901f4c15c153e22 100644 (file)
@@ -12,18 +12,18 @@ for `autoresizing`, `commandstoggle`, etc., get setup.
 Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
 Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
 ---
- app/pve.js | 418 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ app/pve.js | 427 +++++++++++++++++++++++++++++++++++++++++++++++++++++
  app/ui.js  |  66 +++++++--
  vnc.html   |  10 +-
- 3 files changed, 480 insertions(+), 14 deletions(-)
+ 3 files changed, 489 insertions(+), 14 deletions(-)
  create mode 100644 app/pve.js
 
 diff --git a/app/pve.js b/app/pve.js
 new file mode 100644
-index 0000000..e2c37fb
+index 0000000..e3c7758
 --- /dev/null
 +++ b/app/pve.js
-@@ -0,0 +1,418 @@
+@@ -0,0 +1,427 @@
 +/*
 + * PVE Utility functions for noVNC
 + * Copyright (C) 2017 Proxmox GmbH
@@ -292,7 +292,16 @@ index 0000000..e2c37fb
 +          url: baseUrl + "/status/" + cmd,
 +          method: 'POST',
 +          failure: function(msg) {
-+              me.UI.showStatus(msg, 'warning');
++              if (cmd === 'start' && msg.match(/already running/) !== null) {
++                  // we wanted to start, but it was already running, so
++                  // reload anyway
++                  me.UI.showStatus("VM command '" + cmd +"' successful", 'normal');
++                  setTimeout(function() {
++                      location.reload();
++                  }, 1000);
++              } else {
++                  me.UI.showStatus(msg, 'warning');
++              }
 +          },
 +          success: function() {
 +              me.UI.showStatus("VM command '" + cmd +"' successful", 'normal');
index b3aca0c7006e6a13f5d94d1fd9b6b6254f06b18d..7c993e949197eb8dd52323bdaa600f14b3da31ed 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
  1 file changed, 7 insertions(+)
 
 diff --git a/app/pve.js b/app/pve.js
-index e2c37fb..9cf4b09 100644
+index e3c7758..446b85d 100644
 --- a/app/pve.js
 +++ b/app/pve.js
 @@ -11,6 +11,7 @@ export default function PVEUI(UI){
index b84a5c3cb1bf87bafdeb41e24f812ec28ab4e462..7758e4a1952cd777806278ab39c5fc06dc9e8a8f 100644 (file)
@@ -9,7 +9,7 @@ Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/app/pve.js b/app/pve.js
-index 9cf4b09..0ab825a 100644
+index 446b85d..dfff1b0 100644
 --- a/app/pve.js
 +++ b/app/pve.js
 @@ -45,7 +45,7 @@ export default function PVEUI(UI){
index 76bc2cb24a633d5a67bef5fc8a8b64ec9c3c1f23..ebfbb269ed7c21c1079c46f24978212887e3dc5f 100644 (file)
@@ -13,10 +13,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
  2 files changed, 8 insertions(+), 4 deletions(-)
 
 diff --git a/app/pve.js b/app/pve.js
-index 0ab825a..486bd5c 100644
+index dfff1b0..4774e3a 100644
 --- a/app/pve.js
 +++ b/app/pve.js
-@@ -293,15 +293,15 @@ PVEUI.prototype = {
+@@ -302,15 +302,15 @@ PVEUI.prototype = {
  
        // show/hide the buttons
        document.getElementById('noVNC_disconnect_button')
@@ -35,7 +35,7 @@ index 0ab825a..486bd5c 100644
        }
  
        // add command logic
-@@ -326,7 +326,7 @@ PVEUI.prototype = {
+@@ -335,7 +335,7 @@ PVEUI.prototype = {
                    me.pve_vm_command(item.cmd);
                };
            } else {
index 1cdafd23d469af4b100af8f47b63e86ca7a3c32c..bb4dc78bc0fcad7b1d3d792f829d8c4862349ad3 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
  1 file changed, 7 insertions(+)
 
 diff --git a/app/pve.js b/app/pve.js
-index 486bd5c..042eb7c 100644
+index 4774e3a..583a406 100644
 --- a/app/pve.js
 +++ b/app/pve.js
 @@ -12,6 +12,7 @@ export default function PVEUI(UI){
@@ -24,7 +24,7 @@ index 486bd5c..042eb7c 100644
      this.lastFBWidth = undefined;
      this.lastFBHeight = undefined;
      this.sizeUpdateTimer = undefined;
-@@ -304,6 +305,12 @@ PVEUI.prototype = {
+@@ -313,6 +314,12 @@ PVEUI.prototype = {
                .classList.add('pve_hidden');
        }
  
index 85319226a3b1494815822b76e9149217cd305e26..1e9e73d79f628fe2621c4a012f4ee3b92de552c0 100644 (file)
@@ -19,10 +19,10 @@ Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
  3 files changed, 99 insertions(+), 2 deletions(-)
 
 diff --git a/app/pve.js b/app/pve.js
-index 042eb7c..9da23ed 100644
+index 583a406..8144fdb 100644
 --- a/app/pve.js
 +++ b/app/pve.js
-@@ -311,6 +311,11 @@ PVEUI.prototype = {
+@@ -320,6 +320,11 @@ PVEUI.prototype = {
                .classList.add('pve_hidden');
        }
  
@@ -34,7 +34,7 @@ index 042eb7c..9da23ed 100644
        // add command logic
        var commandArray = [
            { cmd: 'start', kvm: 1, lxc: 1},
-@@ -359,8 +364,8 @@ PVEUI.prototype = {
+@@ -368,8 +373,8 @@ PVEUI.prototype = {
        return { width: ow, height: oh };
      },
  
@@ -45,7 +45,7 @@ index 042eb7c..9da23ed 100644
        me.API2Request({
            url: me.url,
            method: 'POST',
-@@ -382,6 +387,31 @@ PVEUI.prototype = {
+@@ -391,6 +396,31 @@ PVEUI.prototype = {
        });
      },