On 11/14/2016 12:23 PM, Dietmar Maurer wrote:
without any functionality for now.

Signed-off-by: Dietmar Maurer <diet...@proxmox.com>
---
  src/PVE/HA/Config.pm          |  1 +
  src/PVE/HA/Resources.pm       | 11 ++++++++++-
  src/PVE/HA/Resources/PVECT.pm |  1 +
  src/PVE/HA/Resources/PVEVM.pm |  1 +
  src/PVE/HA/Sim/Hardware.pm    |  3 ++-
  5 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/PVE/HA/Config.pm b/src/PVE/HA/Config.pm
index 1802a7d..552cb1a 100644
--- a/src/PVE/HA/Config.pm
+++ b/src/PVE/HA/Config.pm
@@ -98,6 +98,7 @@ sub read_and_check_resources_config {
        $d->{state} = 'enabled' if !defined($d->{state});
        $d->{max_restart} = 1 if !defined($d->{max_restart});
        $d->{max_relocate} = 1 if !defined($d->{max_relocate});
+       $d->{start} = 1 if !defined($d->{start});
        if (PVE::HA::Resources->lookup($d->{type})) {
            if (my $vmd = $vmlist->{ids}->{$name}) {
                if (!$vmd) {
diff --git a/src/PVE/HA/Resources.pm b/src/PVE/HA/Resources.pm
index 96d2f8f..5556ee4 100644
--- a/src/PVE/HA/Resources.pm
+++ b/src/PVE/HA/Resources.pm
@@ -40,7 +40,16 @@ my $defaultData = {
            optional => 1,
            default => 1,
            minimum => 0,
-       },
+        },
+       start => {
+           type => 'boolean',
+           optional => 1,
+           default => 0,

default should here be 1? Does not affects functionality, but for code -> documentation consistence.

+           description => "Flag for marking a resource as not able to " .
+               "start. This can be useful for Templates or also other " .
+               "resources which should be recovered on failure but not " .
+               "touched otherwise.",

Looking at patch 2 this not entirely true, we actively stop them as we place them in request_stop state. So they get touched - if a VM is running an the start flag gets set to false we stop it.
The behaviour is OK for me, it just does not matches the description.

+        },
        comment => {
            description => "Description.",
            type => 'string',
diff --git a/src/PVE/HA/Resources/PVECT.pm b/src/PVE/HA/Resources/PVECT.pm
index d1312ab..0fb8c9a 100644
--- a/src/PVE/HA/Resources/PVECT.pm
+++ b/src/PVE/HA/Resources/PVECT.pm
@@ -29,6 +29,7 @@ sub options {
        comment => { optional => 1 },
        max_restart => { optional => 1 },
        max_relocate => { optional => 1 },
+       start => { optional => 1 },
      };
  }
diff --git a/src/PVE/HA/Resources/PVEVM.pm b/src/PVE/HA/Resources/PVEVM.pm
index 55d4368..7414544 100644
--- a/src/PVE/HA/Resources/PVEVM.pm
+++ b/src/PVE/HA/Resources/PVEVM.pm
@@ -28,6 +28,7 @@ sub options {
        comment => { optional => 1 },
        max_restart => { optional => 1 },
        max_relocate => { optional => 1 },
+       start => { optional => 1 },
      };
  }
diff --git a/src/PVE/HA/Sim/Hardware.pm b/src/PVE/HA/Sim/Hardware.pm
index 383b10e..a722495 100644
--- a/src/PVE/HA/Sim/Hardware.pm
+++ b/src/PVE/HA/Sim/Hardware.pm
@@ -100,9 +100,10 @@ sub read_service_config {
        } else {
            die "implement me";
        }
-       $d->{state} = 'disabled' if !$d->{state};
+       $d->{state} = 'disabled' if !defined($d->{state});
        $d->{max_restart} = 1 if !defined($d->{max_restart});
        $d->{max_relocate} = 1 if !defined($d->{max_relocate});
+       $d->{start} = 1 if !defined($d->{start});
      }
return $conf;


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to