Profiles
ANTA catalog for profiles tests
  
  
      Test functions related to ASIC profiles
  
  
          VerifyTcamProfile
  
          
            Bases: AntaTest
  
      Verifies the device is using the configured TCAM profile.
            
              Source code in anta/tests/profiles.py
              41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68  | class VerifyTcamProfile(AntaTest):
    """
    Verifies the device is using the configured TCAM profile.
    """
    name = "VerifyTcamProfile"
    description = "Verify that the assigned TCAM profile is actually running on the device"
    categories = ["profiles"]
    commands = [AntaCommand(command="show hardware tcam profile", ofmt="json")]
    @skip_on_platforms(["cEOSLab", "vEOS-lab"])
    @AntaTest.anta_test
    def test(self, profile: Optional[str] = None) -> None:
        """
        Run VerifyTcamProfile validation
        Args:
            profile: Expected TCAM profile.
        """
        if not profile:
            self.result.is_skipped("VerifyTcamProfile was not run as no profile was given")
            return
        command_output = self.instance_commands[0].json_output
        if command_output["pmfProfiles"]["FixedSystem"]["status"] == command_output["pmfProfiles"]["FixedSystem"]["config"] == profile:
            self.result.is_success()
        else:
            self.result.is_failure(f"Incorrect profile running on device: {command_output['pmfProfiles']['FixedSystem']['status']}")
  | 
 
             
  
  
          test
test(profile: Optional[str] = None) -> None
 
  
  
      Run VerifyTcamProfile validation
  Parameters:
  
    
      
        | Name | 
        Type | 
        Description | 
        Default | 
      
    
    
        
          profile | 
          
                Optional[str]
           | 
          
            
           | 
          
                None
           | 
        
    
  
          
            Source code in anta/tests/profiles.py
            51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68  | @skip_on_platforms(["cEOSLab", "vEOS-lab"])
@AntaTest.anta_test
def test(self, profile: Optional[str] = None) -> None:
    """
    Run VerifyTcamProfile validation
    Args:
        profile: Expected TCAM profile.
    """
    if not profile:
        self.result.is_skipped("VerifyTcamProfile was not run as no profile was given")
        return
    command_output = self.instance_commands[0].json_output
    if command_output["pmfProfiles"]["FixedSystem"]["status"] == command_output["pmfProfiles"]["FixedSystem"]["config"] == profile:
        self.result.is_success()
    else:
        self.result.is_failure(f"Incorrect profile running on device: {command_output['pmfProfiles']['FixedSystem']['status']}")
  | 
 
           
   
 
   
   
 
          VerifyUnifiedForwardingTableMode
  
          
            Bases: AntaTest
  
      Verifies the device is using the expected Unified Forwarding Table mode.
            
              Source code in anta/tests/profiles.py
              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  | class VerifyUnifiedForwardingTableMode(AntaTest):
    """
    Verifies the device is using the expected Unified Forwarding Table mode.
    """
    name = "VerifyUnifiedForwardingTableMode"
    description = ""
    categories = ["profiles"]
    commands = [AntaCommand(command="show platform trident forwarding-table partition", ofmt="json")]
    @skip_on_platforms(["cEOSLab", "vEOS-lab"])
    @AntaTest.anta_test
    def test(self, mode: Optional[str] = None) -> None:
        """
        Run VerifyUnifiedForwardingTableMode validation
        Args:
            mode: Expected UFT mode.
        """
        if not mode:
            self.result.is_skipped("VerifyUnifiedForwardingTableMode was not run as no mode was given")
            return
        command_output = self.instance_commands[0].json_output
        if command_output["uftMode"] == mode:
            self.result.is_success()
        else:
            self.result.is_failure(f"Device is not running correct UFT mode (expected: {mode} / running: {command_output['uftMode']})")
  | 
 
             
  
  
          test
test(mode: Optional[str] = None) -> None
 
  
  
      Run VerifyUnifiedForwardingTableMode validation
  Parameters:
  
          
            Source code in anta/tests/profiles.py
            21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38  | @skip_on_platforms(["cEOSLab", "vEOS-lab"])
@AntaTest.anta_test
def test(self, mode: Optional[str] = None) -> None:
    """
    Run VerifyUnifiedForwardingTableMode validation
    Args:
        mode: Expected UFT mode.
    """
    if not mode:
        self.result.is_skipped("VerifyUnifiedForwardingTableMode was not run as no mode was given")
        return
    command_output = self.instance_commands[0].json_output
    if command_output["uftMode"] == mode:
        self.result.is_success()
    else:
        self.result.is_failure(f"Device is not running correct UFT mode (expected: {mode} / running: {command_output['uftMode']})")
  | 
 
           
   
 
   
   
 
   
   
 
  
  
    
      Last update:
      July 19, 2023