Hi Jeff,

Thank you for your comment. I believe nothing in this patch prevents you
from continuing to do that :-) You can select one, two, three etc., nodes
and perform the action you desire on them.

However, in our setup, we often have 20+ nodes in various backends (Haproxy
rocks btw! being able to handle that!), and we often have occasions were we
want to take an entire backend (pool) out - for testing, performance and
A/B requirements. Our trusted testers (and developers) expressed a desire
to do this quickly without having to select each node individually or do a
modification of the configuration file and a reload.

Having a simple checkbox to select all nodes and perform the desired action
in four clicks (if you count the dropdown of the select box and the action
selection), has been met with good positive feedback here at our place of
work and I'm convinced that this is a nice, user-friendly (hopefully minor)
feature to add :-)

-=david=-

On 30 December 2016 at 14:56, Jeff Palmer <j...@palmerit.net> wrote:

> I'd be happy if i could just manually select 2 or more backends and hit
> apply once.
>
> On Dec 30, 2016 7:31 AM, "David Harrigan" <dharri...@gmail.com> wrote:
>
>> FYI, here is the patch:
>>
>> From 218a6c42d47ccf2d8970e1d332c91429a2c34bbb Mon Sep 17 00:00:00 2001
>> From: David Harrigan <dharri...@gmail.com>
>> Date: Fri, 30 Dec 2016 12:12:49 +0000
>> Subject: [PATCH] MINOR: stats: Support "select all" for backend actions
>>
>> Allow the user to quickly select all servers within a group before
>> invoking an
>> action.
>> ---
>>  src/stats.c | 10 ++++++++--
>>  1 file changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/stats.c b/src/stats.c
>> index 497aa477..d5fcec82 100644
>> --- a/src/stats.c
>> +++ b/src/stats.c
>> @@ -636,7 +636,8 @@ static int stats_dump_fields_html(struct chunk *out,
>> const struct field *stats,
>>
>>   if (flags & ST_SHOWADMIN)
>>   chunk_appendf(out,
>> -              "<td><input type=\"checkbox\" name=\"s\"
>> value=\"%s\"></td>",
>> +              "<td><input class='%s-checkbox' type=\"checkbox\"
>> name=\"s\" value=\"%s\"></td>",
>> +              field_str(stats, ST_F_PXNAME),
>>                field_str(stats, ST_F_SVNAME));
>>
>>   chunk_appendf(out,
>> @@ -1642,7 +1643,12 @@ static void stats_dump_html_px_hdr(struct
>> stream_interface *si, struct proxy *px
>>
>>   if ((px->cap & PR_CAP_BE) && px->srv && (appctx->ctx.stats.flags &
>> STAT_ADMIN)) {
>>   /* Column heading for Enable or Disable server */
>> - chunk_appendf(&trash, "<th rowspan=2 width=1></th>");
>> +        chunk_appendf(&trash,
>> +                "<th rowspan=2 width=1><input type=\"checkbox\" \
>> +                onclick=\"for(c in 
>> document.getElementsByClassName('%s-checkbox'))
>> \
>> +                document.getElementsByClassNa
>> me('%s-checkbox').item(c).checked = this.checked\"></th>",
>> +                px->id,
>> +                px->id);
>>   }
>>
>>   chunk_appendf(&trash,
>> --
>> 2.11.0
>>
>>
>> -=david=-
>>
>> --
>> I prefer encrypted and signed messages.
>> Fingerprint: 110A F423 3647 54E2 880F ADAD 1C52 85BF B20A 22F9
>>
>> No trees were harmed in the sending of this message, however, a number of
>> electrons were inconvenienced.
>>
>


-- 
I prefer encrypted and signed messages.
Fingerprint: 110A F423 3647 54E2 880F ADAD 1C52 85BF B20A 22F9

No trees were harmed in the sending of this message, however, a number of
electrons were inconvenienced.

Reply via email to