Skip to content

Commit 054e25c

Browse files
Fix counterpoll CLI to allow global namespace on Multi-Asic (#4404)
CLI does not allow the empty '' global namespace and this causes MGMT test failures. Signed-off-by: Peter <peterbailey@arista.com>
1 parent 147a791 commit 054e25c

1 file changed

Lines changed: 24 additions & 16 deletions

File tree

counterpoll/main.py

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@ def connect_to_db(namespace):
4141
return configdb
4242

4343

44+
def get_valid_namespace_choices():
45+
current_ns = multi_asic.get_current_namespace()
46+
if current_ns:
47+
return [current_ns]
48+
49+
return multi_asic.get_namespace_list() + [DEFAULT_NAMESPACE]
50+
51+
4452
@click.group()
4553
def cli():
4654
""" SONiC Static Counter Poll configurations """
@@ -50,7 +58,7 @@ def cli():
5058
@cli.group()
5159
@click.option('-n', '--namespace', help='Namespace name',
5260
required=False,
53-
type=click.Choice(multi_asic.get_namespace_list()),
61+
type=click.Choice(get_valid_namespace_choices()),
5462
default=multi_asic.get_current_namespace())
5563
@click.pass_context
5664
def queue(ctx, namespace):
@@ -91,7 +99,7 @@ def queue_disable(ctx):
9199
@cli.group()
92100
@click.option('-n', '--namespace', help='Namespace name',
93101
required=False,
94-
type=click.Choice(multi_asic.get_namespace_list()),
102+
type=click.Choice(get_valid_namespace_choices()),
95103
default=multi_asic.get_current_namespace())
96104
@click.pass_context
97105
def port(ctx, namespace):
@@ -132,7 +140,7 @@ def port_disable(ctx):
132140
@cli.group()
133141
@click.option('-n', '--namespace', help='Namespace name',
134142
required=False,
135-
type=click.Choice(multi_asic.get_namespace_list()),
143+
type=click.Choice(get_valid_namespace_choices()),
136144
default=multi_asic.get_current_namespace())
137145
@click.pass_context
138146
def port_buffer_drop(ctx, namespace):
@@ -219,7 +227,7 @@ def disable(ctx): # noqa: F811
219227
@cli.group()
220228
@click.option('-n', '--namespace', help='Namespace name',
221229
required=False,
222-
type=click.Choice(multi_asic.get_namespace_list()),
230+
type=click.Choice(get_valid_namespace_choices()),
223231
default=multi_asic.get_current_namespace())
224232
@click.pass_context
225233
def pg_drop(ctx, namespace):
@@ -262,7 +270,7 @@ def pg_drop_disable(ctx):
262270
@cli.group()
263271
@click.option('-n', '--namespace', help='Namespace name',
264272
required=False,
265-
type=click.Choice(multi_asic.get_namespace_list()),
273+
type=click.Choice(get_valid_namespace_choices()),
266274
default=multi_asic.get_current_namespace())
267275
@click.pass_context
268276
def rif(ctx, namespace):
@@ -303,7 +311,7 @@ def rif_disable(ctx):
303311
@cli.group()
304312
@click.option('-n', '--namespace', help='Namespace name',
305313
required=False,
306-
type=click.Choice(multi_asic.get_namespace_list()),
314+
type=click.Choice(get_valid_namespace_choices()),
307315
default=multi_asic.get_current_namespace())
308316
@click.pass_context
309317
def watermark(ctx, namespace):
@@ -354,7 +362,7 @@ def watermark_disable(ctx):
354362
@cli.group()
355363
@click.option('-n', '--namespace', help='Namespace name',
356364
required=False,
357-
type=click.Choice(multi_asic.get_namespace_list()),
365+
type=click.Choice(get_valid_namespace_choices()),
358366
default=multi_asic.get_current_namespace())
359367
@click.pass_context
360368
def acl(ctx, namespace):
@@ -397,7 +405,7 @@ def acl_disable(ctx):
397405
@cli.group()
398406
@click.option('-n', '--namespace', help='Namespace name',
399407
required=False,
400-
type=click.Choice(multi_asic.get_namespace_list()),
408+
type=click.Choice(get_valid_namespace_choices()),
401409
default=multi_asic.get_current_namespace())
402410
@click.pass_context
403411
def tunnel(ctx, namespace):
@@ -437,7 +445,7 @@ def tunnel_disable(ctx):
437445
@cli.group()
438446
@click.option('-n', '--namespace', help='Namespace name',
439447
required=False,
440-
type=click.Choice(multi_asic.get_namespace_list()),
448+
type=click.Choice(get_valid_namespace_choices()),
441449
default=multi_asic.get_current_namespace())
442450
@click.pass_context
443451
def flowcnt_trap(ctx, namespace):
@@ -477,7 +485,7 @@ def flowcnt_trap_disable(ctx):
477485
@cli.group()
478486
@click.option('-n', '--namespace', help='Namespace name',
479487
required=False,
480-
type=click.Choice(multi_asic.get_namespace_list()),
488+
type=click.Choice(get_valid_namespace_choices()),
481489
default=multi_asic.get_current_namespace())
482490
@click.pass_context
483491
def flowcnt_route(ctx, namespace):
@@ -518,7 +526,7 @@ def flowcnt_route_disable(ctx):
518526
@click.group()
519527
@click.option('-n', '--namespace', help='Namespace name',
520528
required=False,
521-
type=click.Choice(multi_asic.get_namespace_list()),
529+
type=click.Choice(get_valid_namespace_choices()),
522530
default=multi_asic.get_current_namespace())
523531
@click.pass_context
524532
def eni(ctx, namespace):
@@ -595,7 +603,7 @@ def ha_set_disable(ctx):
595603
@cli.group()
596604
@click.option('-n', '--namespace', help='Namespace name',
597605
required=False,
598-
type=click.Choice(multi_asic.get_namespace_list()),
606+
type=click.Choice(get_valid_namespace_choices()),
599607
default=multi_asic.get_current_namespace())
600608
@click.pass_context
601609
def wredqueue(ctx, namespace):
@@ -635,7 +643,7 @@ def wredqueue_disable(ctx):
635643
@cli.group()
636644
@click.option('-n', '--namespace', help='Namespace name',
637645
required=False,
638-
type=click.Choice(multi_asic.get_namespace_list()),
646+
type=click.Choice(get_valid_namespace_choices()),
639647
default=multi_asic.get_current_namespace())
640648
@click.pass_context
641649
def wredport(ctx, namespace):
@@ -675,7 +683,7 @@ def wredport_disable(ctx):
675683
@cli.group()
676684
@click.option('-n', '--namespace', help='Namespace name',
677685
required=False,
678-
type=click.Choice(multi_asic.get_namespace_list()),
686+
type=click.Choice(get_valid_namespace_choices()),
679687
default=multi_asic.get_current_namespace())
680688
@click.pass_context
681689
def srv6(ctx, namespace):
@@ -712,7 +720,7 @@ def srv6_disable(ctx):
712720
@cli.group()
713721
@click.option('-n', '--namespace', help='Namespace name',
714722
required=False,
715-
type=click.Choice(multi_asic.get_namespace_list()),
723+
type=click.Choice(get_valid_namespace_choices()),
716724
default=multi_asic.get_current_namespace())
717725
@click.pass_context
718726
def switch(ctx, namespace):
@@ -767,7 +775,7 @@ def switch_disable(ctx):
767775
@cli.command()
768776
@click.option('-n', '--namespace', help='Namespace name',
769777
required=False,
770-
type=click.Choice(multi_asic.get_namespace_list()),
778+
type=click.Choice(get_valid_namespace_choices()),
771779
default=multi_asic.get_current_namespace())
772780
def show(namespace):
773781
""" Show the counter configuration """

0 commit comments

Comments
 (0)