Connectivity
ANTA catalog for connectivity tests
  
  
      Test functions related to various connectivity checks
  
  
          VerifyReachability
  
          
            Bases: AntaTest
  
      Test network reachability to one or many destination IP(s).
  Expected Results
  
- success: The test will pass if all destination IP(s) are reachable.
 
- failure: The test will fail if one or many destination IP(s) are unreachable.
 
- error: The test will give an error if the destination IP(s) or the source interface/IP(s) are not provided as template_params.
 
 
            
              Source code in anta/tests/connectivity.py
               9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46  | class VerifyReachability(AntaTest):
    """
    Test network reachability to one or many destination IP(s).
    Expected Results:
        * success: The test will pass if all destination IP(s) are reachable.
        * failure: The test will fail if one or many destination IP(s) are unreachable.
        * error: The test will give an error if the destination IP(s) or the source interface/IP(s) are not provided as template_params.
    """
    name = "VerifyReachability"
    description = "Test the network reachability to one or many destination IP(s)."
    categories = ["connectivity"]
    template = AntaTemplate(template="ping {dst} source {src} repeat 2")
    @AntaTest.anta_test
    def test(self) -> None:
        """
        Run VerifyReachability validation.
        """
        failures = []
        for command in self.instance_commands:
            if command.params and ("src" and "dst") in command.params:
                src, dst = command.params["src"], command.params["dst"]
            else:
                self.result.is_error("The destination IP(s) or the source interface/IP(s) are not provided as template_params")
                return
            if "2 received" not in command.json_output["messages"][0]:
                failures.append((src, dst))
        if not failures:
            self.result.is_success()
        else:
            self.result.is_failure(f"Connectivity test failed for the following source-destination pairs: {failures}")
  | 
 
             
  
  
          test
  
  
      Run VerifyReachability validation.
          
            Source code in anta/tests/connectivity.py
            24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46  | @AntaTest.anta_test
def test(self) -> None:
    """
    Run VerifyReachability validation.
    """
    failures = []
    for command in self.instance_commands:
        if command.params and ("src" and "dst") in command.params:
            src, dst = command.params["src"], command.params["dst"]
        else:
            self.result.is_error("The destination IP(s) or the source interface/IP(s) are not provided as template_params")
            return
        if "2 received" not in command.json_output["messages"][0]:
            failures.append((src, dst))
    if not failures:
        self.result.is_success()
    else:
        self.result.is_failure(f"Connectivity test failed for the following source-destination pairs: {failures}")
  | 
 
           
   
 
   
   
 
   
   
 
  
  
    
      Last update:
      July 19, 2023