Source code for jnpr.junos.facts.srx_cluster

[docs]def facts_srx_cluster(junos, facts): # we should check the 'cluster status' on redundancy group 0 to see who is # master. we use a try/except block for cases when SRX is not clustered try: cluster_st = junos.rpc.get_chassis_cluster_status(redundancy_group="0") if 'error' == cluster_st.tag: facts['srx_cluster'] = False return primary = cluster_st.xpath( './/redundancy-group-status[.="primary"]')[0] node = primary.xpath( 'preceding-sibling::device-name[1]')[0].text.replace('node', 'RE') if not facts.get('master'): facts['master'] = node elif node not in facts['master']: facts['master'].append(node) facts['srx_cluster'] = True except: # this device doesn't support SRX chassis clustering; i.e. # since we arbitrarily execute the RPC on all devices, if we # hit this exception we just ignore, A-OK, yo! pass