You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.4 KiB
79 lines
3.4 KiB
From ad9cf008dfed4918e3d1e521647e5f44f46bfc91 Mon Sep 17 00:00:00 2001 |
|
From: Hangbin Liu <haliu@redhat.com> |
|
Date: Wed, 21 Jul 2021 14:23:55 +0800 |
|
Subject: [PATCH 3/4] utils/team2bond: add cautions for the script |
|
|
|
Split the exec-cmd to Dangerous groups and add cautions to let customer |
|
know they need to remove old team device. Also fix a typo. |
|
|
|
Add parameter "actual" when dump team config. |
|
|
|
Signed-off-by: Hangbin Liu <haliu@redhat.com> |
|
--- |
|
utils/team2bond | 19 +++++++++++++------ |
|
1 file changed, 13 insertions(+), 6 deletions(-) |
|
|
|
diff --git a/utils/team2bond b/utils/team2bond |
|
index 265bc79..118f38b 100755 |
|
--- a/utils/team2bond |
|
+++ b/utils/team2bond |
|
@@ -1,7 +1,7 @@ |
|
#!/bin/env python3 |
|
# vim: sts=4 ts=4 sw=4 expandtab : |
|
|
|
-from optparse import OptionParser |
|
+from optparse import OptionParser, OptionGroup |
|
import subprocess |
|
import json |
|
import sys |
|
@@ -11,7 +11,7 @@ def handle_cmd_line(): |
|
parser.add_option('--config', dest='config', default = '', |
|
help = "convert the team JSON format configuration file " \ |
|
+ "to NetworkManager connection profile, please use " \ |
|
- + "'teamdctl TEAM config dump' to dump the config file." \ |
|
+ + "'teamdctl TEAM config dump [actual]' to dump the config file." \ |
|
+ " Note the script only convert config file. IP " \ |
|
+ "address configurations still need to be set manually.") |
|
parser.add_option('--rename', dest='rename', default = '', |
|
@@ -19,11 +19,17 @@ def handle_cmd_line(): |
|
+ " Careful: firewall rules, aliases interfaces, etc., " \ |
|
+ "will break after the renaming because the tool " \ |
|
+ "will only change the config file, nothing else.") |
|
- parser.add_option('--exec-cmd', dest='exec_cmd', action='store_true', default = False, |
|
+ |
|
+ group = OptionGroup(parser, 'Dangerous Options', |
|
+ "Caution: You need to dump the team configuration " \ |
|
+ "file first and then delete old team device to avoid " \ |
|
+ "device name conflicts.") |
|
+ group.add_option('--exec-cmd', dest='exec_cmd', action='store_true', default = False, |
|
help = "exec nmcli and add the connections directly " \ |
|
+ "instead of printing the nmcli cmd to screen. " \ |
|
- + "This parameter is NOT recommend, it would be good " \ |
|
+ + "This parameter is NOT recommended, it would be good " \ |
|
+ "to double check the cmd before apply.") |
|
+ parser.add_option_group(group) |
|
|
|
(options, args) = parser.parse_args() |
|
|
|
@@ -302,7 +308,8 @@ def main(): |
|
|
|
if not options.exec_cmd: |
|
print("### These are the commands to configure a bond interface " + |
|
- "similar to this team config:") |
|
+ "similar to this team config (remember to remove the old team " + |
|
+ "device before exec the following cmds):") |
|
|
|
if options.rename: |
|
bond_name = options.rename |
|
@@ -313,7 +320,7 @@ def main(): |
|
setup_ports(bond_name, team_opts, options.exec_cmd) |
|
|
|
if not options.exec_cmd: |
|
- print("### After this, IP addresses, routes and so need to be reconfigured.") |
|
+ print("### After this, IP addresses, routes, and so on, need to be configured.") |
|
|
|
if __name__ == '__main__': |
|
main() |
|
-- |
|
2.31.1 |
|
|
|
|