[pve-devel] [PATCH ha-manager 08/13] Add stop command to simulation
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Sep 26 15:07:13 CEST 2019
On 9/26/19 1:38 PM, Fabian Ebner wrote:
> Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
> ---
>
> The name 'target' doesn't fit with the 'stop' command,
> so I wanted to change it.
> I went with 'param', but suggestions are welcome.
>
can be OK, but would be two patches (or maybe but the change to $param in
the target -> params changes from 01/13?)
> src/PVE/HA/Sim/Hardware.pm | 26 +++++++++++++++++---------
> 1 file changed, 17 insertions(+), 9 deletions(-)
>
> diff --git a/src/PVE/HA/Sim/Hardware.pm b/src/PVE/HA/Sim/Hardware.pm
> index d2c0ec0..7e1a8bc 100644
> --- a/src/PVE/HA/Sim/Hardware.pm
> +++ b/src/PVE/HA/Sim/Hardware.pm
> @@ -543,6 +543,7 @@ sub get_cfs_state {
> # restart-lrm <node>
> # service <sid> <started|disabled|stopped|ignored>
> # service <sid> <migrate|relocate> <target>
> +# service <sid> stop <timeout>
> # service <sid> lock/unlock [lockname]
>
> sub sim_hardware_cmd {
> @@ -553,7 +554,7 @@ sub sim_hardware_cmd {
>
> my $cstatus = $self->read_hardware_status_nolock();
>
> - my ($cmd, $objid, $action, $target) = split(/\s+/, $cmdstr);
> + my ($cmd, $objid, $action, $param) = split(/\s+/, $cmdstr);
>
> die "sim_hardware_cmd: no node or service for command specified"
> if !$objid;
> @@ -617,10 +618,10 @@ sub sim_hardware_cmd {
> } elsif ($cmd eq 'cfs') {
> die "sim_hardware_cmd: unknown cfs action '$action' for node '$node'"
> if $action !~ m/^(rw|update)$/;
> - die "sim_hardware_cmd: unknown cfs command '$target' for '$action' on node '$node'"
> - if $target !~ m/^(work|fail)$/;
> + die "sim_hardware_cmd: unknown cfs command '$param' for '$action' on node '$node'"
> + if $param !~ m/^(work|fail)$/;
>
> - $cstatus->{$node}->{cfs}->{$action} = $target eq 'work';
> + $cstatus->{$node}->{cfs}->{$action} = $param eq 'work';
> $self->write_hardware_status_nolock($cstatus);
>
> } elsif ($cmd eq 'reboot' || $cmd eq 'shutdown') {
> @@ -656,13 +657,20 @@ sub sim_hardware_cmd {
> } elsif ($action eq 'migrate' || $action eq 'relocate') {
>
> die "sim_hardware_cmd: missing target node for '$action' command"
> - if !$target;
> + if !$param;
>
> - $self->queue_crm_commands_nolock("$action $sid $target");
> + $self->queue_crm_commands_nolock("$action $sid $param");
> +
> + } elsif ($action eq 'stop') {
> +
> + die "sim_hardware_cmd: missing timeout for '$action' command"
> + if !defined($param);
> +
> + $self->queue_crm_commands_nolock("$action $sid $param");
>
> } elsif ($action eq 'add') {
>
> - $self->add_service($sid, {state => 'started', node => $target});
> + $self->add_service($sid, {state => 'started', node => $param});
>
> } elsif ($action eq 'delete') {
>
> @@ -670,11 +678,11 @@ sub sim_hardware_cmd {
>
> } elsif ($action eq 'lock') {
>
> - $self->lock_service($sid, $target);
> + $self->lock_service($sid, $param);
>
> } elsif ($action eq 'unlock') {
>
> - $self->unlock_service($sid, $target);
> + $self->unlock_service($sid, $param);
>
> } else {
> die "sim_hardware_cmd: unknown service action '$action' " .
>
More information about the pve-devel
mailing list