Ejemplo n.º 1
0
    def setUp(self):
        """INIT"""
        self.tool = flow_common_tool()
        self.ins = l3_ha()
        self.ins.default[
            "regression_image_folder"] = "/var/home/regress/Regression_image"
        self.ins.default[
            "higher_image_folder"] = "/var/home/regress/HIGHER_image"

        self.r0 = mock.Mock(spec=SrxSystem)
        self.r0.log = mock.Mock()
        self.r0.get_host_name.return_value = "vsrx_device_0"

        self.r1 = mock.Mock(spec=SrxSystem)
        self.r1.log = mock.Mock()
        self.r1.get_host_name.return_value = "vsrx_device_1"

        self.response = {}

        self.regression_image_filename = "junos-install-vsrx3-x86-64-19.4I-20190918_dev_common.0.0857.tgz"
        self.higher_image_filename = "junos-install-vsrx3-x86-64-19.4I-20190919_dev_common.0.1213.tgz"
        self.response["IMAGES"] = {
            "higher_image":
            os.path.join(self.ins.default["higher_image_folder"],
                         self.higher_image_filename),
            "higher_image_filename":
            self.higher_image_filename,
            "regression_image":
            os.path.join(self.ins.default["regression_image_folder"],
                         self.regression_image_filename),
            "regression_image_filename":
            self.regression_image_filename,
        }
Ejemplo n.º 2
0
    def __init__(self):
        """Init processing"""
        self.tool = flow_common_tool()
        self.chassis = chassis()

        self.default = {
            "CLI_SHOW_TIMEOUT": 300,
            "CLI_COMMIT_TIMEOUT": 300,
        }

        self.hidden_info = {}
Ejemplo n.º 3
0
    def __init__(self):
        """Init"""
        super().__init__()
        self.tool = flow_common_tool()

        self.default = {
            "CLI_SHOW_TIMEOUT": 300,
            "CLI_COMMIT_TIMEOUT": 300,
        }

        self.hidden_info = {}
        self.hidden_info["license"] = {}
Ejemplo n.º 4
0
    def __init__(self):
        """Init processing"""
        super().__init__()
        self.tool = flow_common_tool()

        self.default = {
            "cli_show_timeout":         120,
        }

        self.info = {
            "chassis_hardware_info":    {},
            "chassis_fpc_pic_info":     {},
        }
Ejemplo n.º 5
0
    def __init__(self):
        """Init processing"""
        self.tool = flow_common_tool()
        self.xml = xml_tool()

        self.debug_to_stdout = False
        self.default = {
            "cli_show_timeout": 300,
            "conf_commit_timeout": 300,
        }
        self.runtime = {}

        # MTS behavior compatible support
        self.get_route_instance_entry = self.fetch_route_instance_entry
        self.search_route_instance_entry = self.verify_route_instance_entry
Ejemplo n.º 6
0
    def __init__(self):
        """INIT"""
        self.tool = flow_common_tool()
        self.issu = issu()
        self.chassis = chassis()

        self.default = {
            "reboot_timeout": 1800,
            "regression_image_folder": "/var/home/regress/Regression_image",
            "higher_image_folder": "/var/home/regress/HIGHER_image",
        }

        self.runtime = {
            "get_image": {},
        }
Ejemplo n.º 7
0
    def __init__(self):
        """Initialization"""
        self.tool = flow_common_tool()

        self.default = {
            "username": credentials.Junos["USERNAME"],
            "password": credentials.Junos["PASSWORD"],
            "cli_cmd_timeout": 300,
            "issu_finish_timeout": 43200,  # 12 hours
        }

        self.prompt = {
            "shell": re.compile(r'\%\s+'),
            "cli": re.compile(r'\w+@\S+\>\s+'),
            "conf": re.compile(r'\w+@\S+\#\s+'),
        }
        self.hdl = None
Ejemplo n.º 8
0
    def __init__(self):
        """Init processing"""
        super().__init__()
        self.xml = xml_tool()
        self.tool = flow_common_tool()
        self.license = system_license()

        self.default = {
            "cli_commit_timeout":       120,
            "cli_show_timeout":         300,
            "cli_reboot_timeout":       600,
            "regress_username":         credentials.Junos["USERNAME"],
            "regress_password":         credentials.Junos["PASSWORD"],
            "root_username":            credentials.Junos["SU"],
            "root_password":            credentials.Junos["SUPASSWORD"],
        }

        self.info = {
            "version_info":                 {},             # for get_version_info method
            "tnpdump_info":                 {},             # for send_vty_cmd_and_get_response
            "root_permission":              {},             # indicate device whehter work in root
        }
Ejemplo n.º 9
0
    def setUp(self):
        """setup before all cases"""
        self.tool = flow_common_tool()
        self.xml = xml_tool()
        self.ins = lsys()

        self.response = {}
        self.response["SA_LSYS_MULTITENANCY"] = """
    <show-mtenancy xmlns="http://xml.juniper.net/junos/18.2I0/junos-lsys-lic">
        <mtenancy-mode-config>logical-domain</mtenancy-mode-config>
        <mtenancy-mode-running>logical-domain</mtenancy-mode-running>
    </show-mtenancy>
        """

        self.response["SA_LSYS_MULTITENANCY_IN_LSYS"] = """
    <show-mtenancy xmlns="http://xml.juniper.net/junos/18.2I0/junos-lsys-lic">
        <mtenancy-mode-config>logical-system</mtenancy-mode-config>
        <mtenancy-mode-running>logical-system</mtenancy-mode-running>
    </show-mtenancy>
        """

        self.response["HA_LSYS_MULTITENANCY"] = """
    <multi-routing-engine-results>

        <multi-routing-engine-item>

            <re-name>node1</re-name>

            <show-mtenancy xmlns="http://xml.juniper.net/junos/18.2I0/junos-lsys-lic">
                <mtenancy-mode-config>logical-domain</mtenancy-mode-config>
                <mtenancy-mode-running>logical-domain</mtenancy-mode-running>
            </show-mtenancy>
        </multi-routing-engine-item>

    </multi-routing-engine-results>
        """

        self.response["SA_LSYS_MULTITENANCY_NEED_REBOOT"] = """
Ejemplo n.º 10
0
    def setUp(self):
        """setup before all cases"""
        self.tool = flow_common_tool()
        self.xml = xml_tool()
        self.ins = services_offload()

        self.response = {}
        self.response["SA_HE_FPC_PIC_STATUS_WITH_SOF"] = """
Slot 1   Online       SRX5k IOC II
  PIC 0  Online       10x 10GE SFP+- np-cache/services-offload
Slot 3   Online       SPC3
  PIC 0  Online       SPU Cp-Flow
  PIC 1  Online       SPU Flow
        """

        self.response["SA_HE_FPC_PIC_STATUS_WITHOUT_SOF"] = """
Slot 1   Online       SRX5k IOC II
  PIC 0  Online       10x 10GE SFP+-
Slot 3   Online       SPC3
  PIC 0  Online       SPU Cp-Flow
  PIC 1  Online       SPU Flow
        """

        self.response["SA_HE_SHOW_INTERFACE"] = """
Ejemplo n.º 11
0
 def setUp(self):
     """setup before all case"""
     self.tool = flow_common_tool()
     self.ins = FTPClient()
Ejemplo n.º 12
0
    def __init__(self):
        """INIT"""
        self.tool = flow_common_tool()
        self.xml = xml_tool()

        self.default = {
            "CLI_SHOW_TIMEOUT": 300,
            "CLI_COMMIT_TIMEOUT": 300,
        }

        self.debug_to_stdout = False
        self.runtime = {}

        # MTS compatible keywords
        self.get_address_book = self.fetch_address_book
        self.get_appfw_profile = self.fetch_appfw_profile
        self.get_appfw_rule = self.fetch_appfw_rule
        self.get_appfw_rule_set = self.fetch_appfw_rule_set
        self.get_auth_entry = self.fetch_auth_entry
        self.get_flow_gate = self.fetch_flow_gate
        self.get_flow_session = self.fetch_flow_session
        self.get_dslite_softwire_initiator = self.fetch_dslite_softwire_initiator
        self.get_nat_cone_binding = self.fetch_nat_cone_binding
        self.get_nat_destination_pool = self.fetch_nat_destination_pool
        self.get_nat_destination_rule = self.fetch_nat_destination_rule
        self.get_nat_interface_port_ol = self.fetch_nat_interface_port_ol
        self.get_nat_nopat_address = self.fetch_nat_nopat_address
        self.get_nat_pat_address = self.fetch_nat_pat_address
        self.get_nat_pat_portnum = self.fetch_nat_pat_portnum
        self.get_nat_port_ol_ipnumber = self.fetch_nat_port_ol_ipnumber
        self.get_nat_rule_referenced_prefix = self.fetch_nat_rule_referenced_prefix
        self.get_nat_source_pool = self.fetch_nat_source_pool
        self.get_nat_source_rule = self.fetch_nat_source_rule
        self.get_nat_static_rule = self.fetch_nat_static_rule
        self.get_policy = self.fetch_policy
        self.get_policy_with_count = self.fetch_policy_with_count
        self.get_scheduler = self.fetch_scheduler
        self.get_security_log_stream_number = self.fetch_security_log_stream_number
        self.get_zone = self.fetch_zone
        self.search_address_book = self.verify_address_book
        self.search_appfw_profile = self.verify_appfw_profile
        self.search_appfw_rule = self.verify_appfw_rule
        self.search_appfw_rule_set = self.verify_appfw_rule_set
        self.search_auth_entry = self.verify_auth_entry
        self.search_dslite_softwire_initiator = self.verify_dslite_softwire_initiator
        self.search_flow_gate = self.verify_flow_gate
        self.search_flow_session = self.verify_flow_session
        self.search_nat_cone_binding = self.verify_nat_cone_binding
        self.search_nat_destination_pool = self.verify_nat_destination_pool
        self.search_nat_destination_rule = self.verify_nat_destination_rule
        self.search_nat_interface_port_ol = self.verify_nat_interface_port_ol
        self.search_nat_nopat_address = self.verify_nat_nopat_address
        self.search_nat_pat_address = self.verify_nat_pat_address
        self.search_nat_pat_portnum = self.verify_nat_pat_portnum
        self.search_nat_port_ol_ipnumber = self.verify_nat_port_ol_ipnumber
        self.search_nat_rule_referenced_prefix = self.verify_nat_rule_referenced_prefix
        self.search_nat_source_pool = self.verify_nat_source_pool
        self.search_nat_source_rule = self.verify_nat_source_rule
        self.search_nat_static_rule = self.verify_nat_static_rule
        self.search_policy = self.verify_policy
        self.search_policy_with_count = self.verify_policy_with_count
        self.search_scheduler = self.verify_scheduler
        self.search_security_log_stream_number = self.verify_security_log_stream_number
        self.search_zone = self.verify_zone
Ejemplo n.º 13
0
    def setUp(self):
        """setup before all cases"""
        self.tool = flow_common_tool()
        self.xml = xml_tool()
        self.ins = system_license()

        self.response = {}
        self.response["MULTI_LICENSE"] = """
    <license-usage-summary xmlns="http://xml.juniper.net/junos/15.1I0/junos-license">
        <features-used/>
        <feature-summary>
            <name>idp-sig</name>
            <description>IDP Signature</description>
            <licensed>1</licensed>
            <used-licensed>0</used-licensed>
            <needed>0</needed>
            <end-date junos:seconds="1545696000">2018-12-25</end-date>
        </feature-summary>
        <feature-summary>
            <name>appid-sig</name>
            <description>APPID Signature</description>
            <licensed>1</licensed>
            <used-licensed>0</used-licensed>
            <needed>0</needed>
            <end-date junos:seconds="1545696000">2018-12-25</end-date>
        </feature-summary>
        <feature-summary>
            <name>logical-system</name>
            <description>Logical System Capacity</description>
            <licensed>1</licensed>
            <used-licensed>1</used-licensed>
            <used-given>0</used-given>
            <needed>0</needed>
            <validity-type>permanent</validity-type>
        </feature-summary>
        <feature-summary>
            <name>remote-access-ipsec-vpn-client</name>
            <description>remote-access-ipsec-vpn-client</description>
            <licensed>2</licensed>
            <used-licensed>0</used-licensed>
            <needed>0</needed>
            <validity-type>permanent</validity-type>
        </feature-summary>
        <feature-summary>
            <name>Virtual Appliance</name>
            <description>Virtual Appliance</description>
            <licensed>1</licensed>
            <used-licensed>1</used-licensed>
            <needed>0</needed>
            <remaining-time>
                <remaining-validity-value junos:seconds="2572880">29 days</remaining-validity-value>
            </remaining-time>
        </feature-summary>
    </license-usage-summary>
        """

        self.response["SINGLE_PERMANENT_LICENSE"] = """
    <license-usage-summary xmlns="http://xml.juniper.net/junos/15.1I0/junos-license">
        <feature-summary>
            <name>logical-system</name>
            <description>Logical System Capacity</description>
            <licensed>1</licensed>
            <used-licensed>1</used-licensed>
            <used-given>0</used-given>
            <needed>0</needed>
            <validity-type>permanent</validity-type>
        </feature-summary>
    </license-usage-summary>
        """

        self.response["SINGLE_END_DATE_LICENSE"] = """
    <license-usage-summary xmlns="http://xml.juniper.net/junos/15.1I0/junos-license">
        <feature-summary>
            <name>idp-sig</name>
            <description>IDP Signature</description>
            <licensed>1</licensed>
            <used-licensed>0</used-licensed>
            <needed>0</needed>
            <end-date junos:seconds="1545696000">2018-12-25</end-date>
        </feature-summary>
    </license-usage-summary>
        """

        self.response["SINGLE_REMAINING_TIME_LICENSE"] = """
Ejemplo n.º 14
0
 def __init__(self):
     """Init processing"""
     self.tool = flow_common_tool()
     self.chassis = chassis()
     self.hidden_info = {}
Ejemplo n.º 15
0
# coding: UTF-8
# pylint: disable=too-many-arguments,invalid-name,too-many-statements
"""SRX Platform ROBOT keywords"""
import re
import time

from jnpr.toby.hldcl import device as dev
from jnpr.toby.utils.flow_common_tool import flow_common_tool
from jnpr.toby.utils.utils import run_multiple

TOOL = flow_common_tool()
RUNTIME = {}


def check_feature_support(device, feature, **kwargs):
    """Check device whether support specific feature

    This method get system license to check specific feature whether supported on device. Supported feature includes:

        +   "HE" - HighEnd series such as "SRX4100", "SRX4200", "SRX4600", "SRX5400", "SRX5600", "SRX5800", etc...

        +   "LE" - LowEnd (Branch) series. All platforms not in HE platform list.

        +   "MULTI_SPU", "MULTISPU" - Have multi-spu platform such as SRX5400, SRX5600, SRX5800

        +   "LSYS", "LD", "LOGICAL_SYSTEM", "LOGICAL_DOMAIN"

        +   "REMOTE_ACCESS_IPSEC_VPN", "IPSEC_VPN", "VPN"

        +   "VIRTUAL_APPLIANCE"
Ejemplo n.º 16
0
    def setUp(self):
        """setup before all case"""
        self.tool = flow_common_tool()
        self.xml = xml_tool()
        self.ins = route()

        self.response = {}
        self.response["HA_SINGLE_INSTANCE"] = """
    <instance-information xmlns="http://xml.juniper.net/junos/18.1I0/junos-routing" junos:style="terse">
        <instance-core>
            <instance-name>master</instance-name>
            <instance-type>forwarding</instance-type>
            <instance-rib>
                <irib-name>inet.0</irib-name>
                <irib-active-count>22</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.0</irib-name>
                <irib-active-count>7</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
    </instance-information>
        """

        self.response["HA_MULTI_INSTANCE"] = """
    <instance-information xmlns="http://xml.juniper.net/junos/18.1I0/junos-routing" junos:style="terse">
        <instance-core>
            <instance-name>master</instance-name>
            <instance-type>forwarding</instance-type>
            <instance-rib>
                <irib-name>inet.0</irib-name>
                <irib-active-count>22</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.0</irib-name>
                <irib-active-count>7</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
        <instance-core>
            <instance-name>__juniper_private1__</instance-name>
            <instance-type>forwarding</instance-type>
            <instance-rib>
                <irib-name>__juniper_private1__.inet.0</irib-name>
                <irib-active-count>12</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
        <instance-core>
            <instance-name>__juniper_private2__</instance-name>
            <instance-type>forwarding</instance-type>
            <instance-rib>
                <irib-name>__juniper_private2__.inet.0</irib-name>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>1</irib-hidden-count>
            </instance-rib>
        </instance-core>
        <instance-core>
            <instance-name>__juniper_private3__</instance-name>
            <instance-type>forwarding</instance-type>
        </instance-core>
        <instance-core>
            <instance-name>__juniper_private4__</instance-name>
            <instance-type>forwarding</instance-type>
            <instance-rib>
                <irib-name>__juniper_private4__.inet.0</irib-name>
                <irib-active-count>2</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
        <instance-core>
            <instance-name>__master.anon__</instance-name>
            <instance-type>forwarding</instance-type>
        </instance-core>
        <instance-core>
            <instance-name>mgmt_junos</instance-name>
            <instance-type>forwarding</instance-type>
        </instance-core>
    </instance-information>
        """

        self.response["HA_SINGLE_INSTANCE_BRIEF"] = """
    <instance-information xmlns="http://xml.juniper.net/junos/18.1I0/junos-routing" junos:style="terse">
        <instance-core>
            <instance-name>master</instance-name>
            <instance-type>forwarding</instance-type>
            <instance-rib>
                <irib-name>inet.0</irib-name>
                <irib-active-count>18</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.0</irib-name>
                <irib-active-count>1</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
    </instance-information>
        """

        self.response["HA_SINGLE_INSTANCE_DETAIL"] = """
    <instance-information xmlns="http://xml.juniper.net/junos/18.1I0/junos-routing" junos:style="detail">
        <instance-core>
            <instance-name>master</instance-name>
            <router-id>10.208.133.147</router-id>
            <instance-type>forwarding</instance-type>
            <instance-state>Active</instance-state>
            <instance-rib>
                <irib-name>inet.0</irib-name>
                <irib-route-count>18</irib-route-count>
                <irib-active-count>18</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.0</irib-name>
                <irib-route-count>1</irib-route-count>
                <irib-active-count>1</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
    </instance-information>
        """

        self.response["HA_SINGLE_INSTANCE_EXTENSIVE"] = """
    <instance-information xmlns="http://xml.juniper.net/junos/18.1I0/junos-routing" junos:style="detail">
        <instance-core>
            <instance-name>master</instance-name>
            <router-id>10.208.133.147</router-id>
            <instance-type>forwarding</instance-type>
            <instance-state>Active</instance-state>
            <instance-rib>
                <irib-name>inet.0</irib-name>
                <irib-route-count>20</irib-route-count>
                <irib-active-count>20</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet.1</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet.2</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet.3</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>iso.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>mpls.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>__mpls-oam__.mpls.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.0</irib-name>
                <irib-route-count>5</irib-route-count>
                <irib-active-count>5</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.1</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.2</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.3</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>l2circuit.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>mdt.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>l2protection.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>lsdist.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>lsdist.1</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inetcolor.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6color.0</irib-name>
                <irib-route-count>0</irib-route-count>
                <irib-active-count>0</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
    </instance-information>
        """

        self.response["HA_SINGLE_INSTANCE_SUMMARY"] = """
    <instance-information xmlns="http://xml.juniper.net/junos/18.1I0/junos-routing" junos:style="terse">
        <instance-core>
            <instance-name>master</instance-name>
            <instance-type>forwarding</instance-type>
            <instance-rib>
                <irib-name>inet.0</irib-name>
                <irib-active-count>22</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
            <instance-rib>
                <irib-name>inet6.0</irib-name>
                <irib-active-count>5</irib-active-count>
                <irib-holddown-count>0</irib-holddown-count>
                <irib-hidden-count>0</irib-hidden-count>
            </instance-rib>
        </instance-core>
    </instance-information>
        """

        self.response["SA_INSTANCE_TEXT"] = """