diff options
| author | PMR <pmr@pmr-lander> | 2017-03-06 03:32:06 +0000 |
|---|---|---|
| committer | PMR <pmr@pmr-lander> | 2017-03-06 03:32:06 +0000 |
| commit | 573fff67d94422a8b158859f4943881a0a7a2750 (patch) | |
| tree | fcd71b08eff25077e00275cdacd8344aef7772bb | |
| parent | b8e5fb6158ef5ee9b819228aee58266a3b23506b (diff) | |
| parent | ebb1f2b354f1ea4124e62a037fa7cfaa489111b0 (diff) | |
Merge #318157 from ~bladernr/plainbox-provider-checkbox:1662724-fix-no-ip-traceback
| -rwxr-xr-x | bin/network | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/bin/network b/bin/network index 88fd931..8291674 100755 --- a/bin/network +++ b/bin/network @@ -260,7 +260,7 @@ class Interface(socket.socket): nic_data = fcntl.ioctl(self.fileno(), 0x8915, freq) except IOError: logging.error("No IP address for %s", self.interface) - return 1 + return None return socket.inet_ntoa(nic_data[20:24]) @property @@ -271,7 +271,7 @@ class Interface(socket.socket): mask_data = fcntl.ioctl(self.fileno(), 0x891b, freq) except IOError: logging.error("No netmask for %s", self.interface) - return 1 + return None return socket.inet_ntoa(mask_data[20:24]) @property @@ -433,9 +433,15 @@ def make_target_list(iface, test_targets, log_warnings): List form of input string, minus invalid values """ test_targets_list = test_targets.split(",") - net = ipaddress.IPv4Network("{}/{}".format(Interface(iface).ipaddress, - Interface(iface).netmask), - False) + try: + net = ipaddress.IPv4Network("{}/{}".format(Interface(iface).ipaddress, + Interface(iface).netmask), + False) + except ipaddress.AddressValueError as e: + logging.error("Device {}: Invalid IP Address".format(iface)) + logging.error(" {}".format(e)) + logging.error("Aborting test now") + sys.exit(1) first_addr = net.network_address + 1 last_addr = first_addr + net.num_addresses - 2 return_list = list(test_targets_list) @@ -471,7 +477,8 @@ def interface_test(args): if (args.test_type.lower() == "iperf" or args.test_type.lower() == "stress"): test_targets = test_parameters["test_target_iperf"] - test_targets_list = make_target_list(args.interface, test_targets, True) + test_targets_list = make_target_list(args.interface, test_targets, + True) # Validate that we got reasonable values if not test_targets_list or "example.com" in test_targets: @@ -535,7 +542,9 @@ def interface_test(args): if not test_targets_list: logging.info(" Exhausted test target list; trying again " .center(60, "=")) - test_targets_list = make_target_list(args.interface, test_targets, False) + test_targets_list = make_target_list(args.interface, + test_targets, + False) time.sleep(30) first_loop = False |
