def setUp(self):
        self.tap = None
        self.tap_id = None
        self.quiet = TEST_OPTION_QUIET
        self.options = None

        self.topology_setup_required = int(os.environ.get("TOPOLOGY",
                                                          "1")) == 1

        self.count = os.environ.get("ECHO_COUNT", "400")

        fabric_seed = os.environ.get("FABRIC_SEED", DEFAULT_FABRIC_SEED)

        if "FABRIC_OFFSET" in list(os.environ.keys()):
            self.fabric_id = format(
                int(fabric_seed, 16) + int(os.environ["FABRIC_OFFSET"]),
                'x').zfill(5)
        else:
            self.fabric_id = fabric_seed

        self.eui64_prefix = os.environ.get("EUI64_PREFIX", '18:B4:30:AA:00:')

        self.customized_eui64_seed = self.eui64_prefix + self.fabric_id[
            0:2] + ':' + self.fabric_id[2:4] + ':' + self.fabric_id[4:]

        # TODO: Once LwIP bugs for tunnel are fix, enable this test on LwIP
        if "WEAVE_SYSTEM_CONFIG_USE_LWIP" in list(os.environ.keys(
        )) and os.environ["WEAVE_SYSTEM_CONFIG_USE_LWIP"] == "1":
            self.tap = True
            self.tap_id = "wpan0"
            return
        else:
            self.tap = False

        self.case = int(os.environ.get("CASE", "0")) == 1

        self.use_service_dir = int(os.environ.get("USE_SERVICE_DIR", "0")) == 1

        if self.topology_setup_required:
            self.topology = thread_wifi_ap_internet_configurable_topology(
                quiet=self.quiet,
                fabric_id=self.fabric_id,
                customized_eui64_seed=self.customized_eui64_seed,
                tap=self.tap,
                dns=None)
            self.topology.createTopology()
        else:
            print("topology set up not required")

        self.show_strace = False

        self.weave_wdm = None
        # Wait for a second to ensure that Weave ULA addresses passed dad
        # and are no longer tentative
        delayExecution(2)
Ejemplo n.º 2
0
    def setUp(self):
        self.tap = None
        self.tap_id = None
        self.quiet = TEST_OPTION_QUIET
        self.options = None

        if "weave_service_address" in os.environ.keys():
            if "unstable" not in os.environ["weave_service_address"]:
                found = re.search('.(\w+).nestlabs.com',
                                  os.environ["weave_service_address"])
                self.tier = found.group(1)
                self.customized_tunnel_port = None
            else:
                self.customized_tunnel_port = 9204

        self.topology_setup_required = int(os.environ.get("TOPOLOGY",
                                                          "1")) == 1

        fabric_seed = os.environ.get("FABRIC_SEED", DEFAULT_FABRIC_SEED)

        if "FABRIC_OFFSET" in os.environ.keys():
            self.fabric_id = format(
                int(fabric_seed, 16) + int(os.environ["FABRIC_OFFSET"]),
                'x').zfill(5)
        else:
            self.fabric_id = fabric_seed

        self.eui64_prefix = os.environ.get("EUI64_PREFIX", '18:B4:30:AA:00:')

        self.customized_eui64_seed = self.eui64_prefix + self.fabric_id[
            0:2] + ':' + self.fabric_id[2:4] + ':' + self.fabric_id[4:]

        self.device_numbers = int(os.environ.get("DEVICE_NUMBERS", 1))

        self.test_timeout = int(os.environ.get("TEST_TIMEOUT", 60 * 30))

        self.username = os.environ.get(
            "WEAVE_USERNAME",
            "*****@*****.**" % self.fabric_id)

        self.password = os.environ.get("WEAVE_PASSWORD", "nest-egg")

        self.initial_device_index = int(
            os.environ.get("INITIAL_DEVICE_INDEX", "8"))

        # TODO: Once LwIP bugs for tunnel are fix, enable this test on LwIP
        if "WEAVE_SYSTEM_CONFIG_USE_LWIP" in os.environ.keys(
        ) and os.environ["WEAVE_SYSTEM_CONFIG_USE_LWIP"] == "1":
            self.tap = True
            self.tap_id = "wpan0"
            return
        else:
            self.tap = False

        self.case = int(os.environ.get("CASE", "0")) == 1

        self.use_service_dir = int(os.environ.get("USE_SERVICE_DIR", "0")) == 1

        if self.topology_setup_required:
            self.topology = thread_wifi_ap_internet_configurable_topology(
                quiet=self.quiet,
                fabric_id=self.fabric_id,
                customized_eui64_seed=self.customized_eui64_seed,
                tap=self.tap,
                dns=None,
                device_numbers=self.device_numbers,
                mobile=True,
                initial_device_index=self.initial_device_index)
            self.topology.createTopology()
        else:
            print "topology set up not required"

        self.show_strace = False

        self.weave_wdm = None
        # Wait for a second to ensure that Weave ULA addresses passed dad
        # and are no longer tentative
        delayExecution(2)

        # topology has nodes: ThreadNode, BorderRouter, onhub and NestService instance
        # we run tunnel between BorderRouter and NestService

        # Start tunnel
        value, data = self.__start_tunnel_from("BorderRouter")
        delayExecution(1)
    def setUp(self):
        self.tap = None
        self.tap_id = None
        self.quiet = TEST_OPTION_QUIET
        self.options = None

        self.topology_setup_required = int(os.environ.get("TOPOLOGY",
                                                          "1")) == 1

        self.count = os.environ.get("ECHO_COUNT", "400")

        self.device_numbers = int(os.environ.get("DEVICE_NUMBERS", 1))

        self.failover_start_seconds = int(os.environ.get("FAILOVER_START", 15))

        self.failover_duration_seconds = int(
            os.environ.get("FAILOVER_DURATION", 240))

        fabric_seed = os.environ.get("FABRIC_SEED", DEFAULT_FABRIC_SEED)

        if "FABRIC_OFFSET" in list(os.environ.keys()):
            self.fabric_id = format(
                int(fabric_seed, 16) + int(os.environ["FABRIC_OFFSET"]),
                'x').zfill(5)
        else:
            self.fabric_id = fabric_seed

        self.eui64_prefix = os.environ.get("EUI64_PREFIX", '18:B4:30:AA:00:')

        self.customized_eui64_seed = self.eui64_prefix + self.fabric_id[
            0:2] + ':' + self.fabric_id[2:4] + ':' + self.fabric_id[4:]

        self.test_timeout = int(os.environ.get("TEST_TIMEOUT", 60 * 30))

        # TODO: Once LwIP bugs for tunnel are fix, enable this test on LwIP
        if "WEAVE_SYSTEM_CONFIG_USE_LWIP" in list(os.environ.keys(
        )) and os.environ["WEAVE_SYSTEM_CONFIG_USE_LWIP"] == "1":
            self.tap = True
            self.tap_id = "wpan0"
            return
        else:
            self.tap = False

        self.case = int(os.environ.get("CASE", "0")) == 1

        self.use_service_dir = int(os.environ.get("USE_SERVICE_DIR", "0")) == 1
        if self.topology_setup_required:
            self.topology = thread_wifi_ap_internet_configurable_topology(
                quiet=self.quiet,
                fabric_id=self.fabric_id,
                customized_eui64_seed=self.customized_eui64_seed,
                tap=self.tap,
                dns=None,
                cellular=True,
                device_numbers=self.device_numbers)
            self.topology.createTopology()
        else:
            print("topology set up not required")
        self.show_strace = False

        # Wait for a second to ensure that Weave ULA addresses passed dad
        # and are no longer tentative
        delayExecution(2)

        # topology has nodes: ThreadNode, BorderRouter, onhub and NestService instance
        # we run tunnel between BorderRouter and NestService
        happy.HappyTopologyMgr.HappyTopologyMgr().HappyNodeTcpReset(
            node_id="BorderRouter",
            action="RESET",
            quiet=self.quiet,
            interface="wlan0",
            dstPort=11095,
            start=self.failover_start_seconds,
            duration=self.failover_duration_seconds)
        # Start tunnel

        value, data = self.__start_tunnel_from("BorderRouter")
        delayExecution(1)
Ejemplo n.º 4
0
    def setUp(self):
        self.tap = None
        self.tap_id = None
        self.quiet = TEST_OPTION_QUIET
        self.options = None

        self.topology_setup_required = int(os.environ.get("TOPOLOGY",
                                                          "1")) == 1

        self.device_numbers = int(os.environ.get("DEVICE_NUMBERS", 1))

        self.success_threshold = float(os.environ.get("SUCCESS_THRESHOLD",
                                                      0.9))

        self.wdm_client_liveness_check_period = int(
            os.environ.get("WDM_CLIENT_LIVENESS_CHECK_PERIOD", 30))

        fabric_seed = os.environ.get("FABRIC_SEED", DEFAULT_FABRIC_SEED)

        if "FABRIC_OFFSET" in os.environ.keys():
            self.fabric_id = format(
                int(fabric_seed, 16) + int(os.environ["FABRIC_OFFSET"]),
                'x').zfill(5)
        else:
            self.fabric_id = fabric_seed

        self.eui64_prefix = os.environ.get("EUI64_PREFIX", '18:B4:30:AA:00:')

        self.customized_eui64_seed = self.eui64_prefix + self.fabric_id[
            0:2] + ':' + self.fabric_id[2:4] + ':' + self.fabric_id[4:]

        self.total_client_count = int(os.environ.get("TOTAL_CLIENT_COUNT", 4))

        self.test_client_delay = int(os.environ.get("TEST_CLIENT_DELAY",
                                                    30000))

        self.timer_client_period = int(
            os.environ.get("TIMER_CLIENT_PERIOD", 15000))

        self.test_timeout = int(os.environ.get("TEST_TIMEOUT", 60 * 30))

        self.case = int(os.environ.get("CASE", "0")) == 1

        self.use_service_dir = int(os.environ.get("USE_SERVICE_DIR", "0")) == 1

        self.enable_random_fabric = int(
            os.environ.get("ENABLE_RANDOM_FABRIC", "0")) == 1

        # TODO: Once LwIP bugs for tunnel are fix, enable this test on LwIP
        if "WEAVE_SYSTEM_CONFIG_USE_LWIP" in os.environ.keys(
        ) and os.environ["WEAVE_SYSTEM_CONFIG_USE_LWIP"] == "1":
            self.tap = True
            self.tap_id = "wpan0"
            return
        else:
            self.tap = False

        if self.topology_setup_required:
            self.topology = thread_wifi_ap_internet_configurable_topology(
                quiet=self.quiet,
                fabric_id=self.fabric_id,
                customized_eui64_seed=self.customized_eui64_seed,
                tap=self.tap,
                dns=None,
                device_numbers=self.device_numbers,
                enable_random_fabric=self.enable_random_fabric)
            self.topology.createTopology()
        else:
            print "topology set up not required"

        self.show_strace = False

        self.weave_wdm = None
        # Wait for a second to ensure that Weave ULA addresses passed dad
        # and are no longer tentative
        delayExecution(2)

        # topology has nodes: ThreadNode, BorderRouter, onhub and NestService instance
        # we run tunnel between BorderRouter and NestService

        # Start tunnel
        value, data = self.__start_tunnel_from("BorderRouter")