|
47 | 47 | from . import plugins
|
48 | 48 | from .config_mgmt import ConfigMgmtDPB
|
49 | 49 | from . import mclag
|
| 50 | +from . import syslog |
50 | 51 |
|
51 | 52 | # mock masic APIs for unit test
|
52 | 53 | try:
|
@@ -1213,6 +1214,9 @@ def config(ctx):
|
1213 | 1214 | config.add_command(mclag.mclag_member)
|
1214 | 1215 | config.add_command(mclag.mclag_unique_ip)
|
1215 | 1216 |
|
| 1217 | +# syslog module |
| 1218 | +config.add_command(syslog.syslog) |
| 1219 | + |
1216 | 1220 | @config.command()
|
1217 | 1221 | @click.option('-y', '--yes', is_flag=True, callback=_abort_if_false,
|
1218 | 1222 | expose_value=False, prompt='Existing files will be overwritten, continue?')
|
@@ -5056,6 +5060,12 @@ def del_vrf(ctx, vrf_name):
|
5056 | 5060 | ctx.fail("'vrf_name' is not start with Vrf, mgmt or management!")
|
5057 | 5061 | if len(vrf_name) > 15:
|
5058 | 5062 | ctx.fail("'vrf_name' is too long!")
|
| 5063 | + syslog_table = config_db.get_table("SYSLOG_SERVER") |
| 5064 | + syslog_vrf_dev = "mgmt" if vrf_name == "management" else vrf_name |
| 5065 | + for syslog_entry, syslog_data in syslog_table.items(): |
| 5066 | + syslog_vrf = syslog_data.get("vrf") |
| 5067 | + if syslog_vrf == syslog_vrf_dev: |
| 5068 | + ctx.fail("Failed to remove VRF device: {} is in use by SYSLOG_SERVER|{}".format(syslog_vrf, syslog_entry)) |
5059 | 5069 | if (vrf_name == 'mgmt' or vrf_name == 'management'):
|
5060 | 5070 | vrf_delete_management_vrf(config_db)
|
5061 | 5071 | else:
|
@@ -6082,58 +6092,6 @@ def enable(enable):
|
6082 | 6092 | command = "ztp enable"
|
6083 | 6093 | clicommon.run_command(command, display_cmd=True)
|
6084 | 6094 |
|
6085 |
| -# |
6086 |
| -# 'syslog' group ('config syslog ...') |
6087 |
| -# |
6088 |
| -@config.group(cls=clicommon.AbbreviationGroup, name='syslog') |
6089 |
| -@click.pass_context |
6090 |
| -def syslog_group(ctx): |
6091 |
| - """Syslog server configuration tasks""" |
6092 |
| - config_db = ConfigDBConnector() |
6093 |
| - config_db.connect() |
6094 |
| - ctx.obj = {'db': config_db} |
6095 |
| - |
6096 |
| -@syslog_group.command('add') |
6097 |
| -@click.argument('syslog_ip_address', metavar='<syslog_ip_address>', required=True) |
6098 |
| -@click.pass_context |
6099 |
| -def add_syslog_server(ctx, syslog_ip_address): |
6100 |
| - """ Add syslog server IP """ |
6101 |
| - if not clicommon.is_ipaddress(syslog_ip_address): |
6102 |
| - ctx.fail('Invalid ip address') |
6103 |
| - db = ctx.obj['db'] |
6104 |
| - syslog_servers = db.get_table("SYSLOG_SERVER") |
6105 |
| - if syslog_ip_address in syslog_servers: |
6106 |
| - click.echo("Syslog server {} is already configured".format(syslog_ip_address)) |
6107 |
| - return |
6108 |
| - else: |
6109 |
| - db.set_entry('SYSLOG_SERVER', syslog_ip_address, {'NULL': 'NULL'}) |
6110 |
| - click.echo("Syslog server {} added to configuration".format(syslog_ip_address)) |
6111 |
| - try: |
6112 |
| - click.echo("Restarting rsyslog-config service...") |
6113 |
| - clicommon.run_command("systemctl restart rsyslog-config", display_cmd=False) |
6114 |
| - except SystemExit as e: |
6115 |
| - ctx.fail("Restart service rsyslog-config failed with error {}".format(e)) |
6116 |
| - |
6117 |
| -@syslog_group.command('del') |
6118 |
| -@click.argument('syslog_ip_address', metavar='<syslog_ip_address>', required=True) |
6119 |
| -@click.pass_context |
6120 |
| -def del_syslog_server(ctx, syslog_ip_address): |
6121 |
| - """ Delete syslog server IP """ |
6122 |
| - if not clicommon.is_ipaddress(syslog_ip_address): |
6123 |
| - ctx.fail('Invalid IP address') |
6124 |
| - db = ctx.obj['db'] |
6125 |
| - syslog_servers = db.get_table("SYSLOG_SERVER") |
6126 |
| - if syslog_ip_address in syslog_servers: |
6127 |
| - db.set_entry('SYSLOG_SERVER', '{}'.format(syslog_ip_address), None) |
6128 |
| - click.echo("Syslog server {} removed from configuration".format(syslog_ip_address)) |
6129 |
| - else: |
6130 |
| - ctx.fail("Syslog server {} is not configured.".format(syslog_ip_address)) |
6131 |
| - try: |
6132 |
| - click.echo("Restarting rsyslog-config service...") |
6133 |
| - clicommon.run_command("systemctl restart rsyslog-config", display_cmd=False) |
6134 |
| - except SystemExit as e: |
6135 |
| - ctx.fail("Restart service rsyslog-config failed with error {}".format(e)) |
6136 |
| - |
6137 | 6095 | #
|
6138 | 6096 | # 'ntp' group ('config ntp ...')
|
6139 | 6097 | #
|
|
0 commit comments