You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcpcfg/lib/get_all_rtp_interfaces

47 lines
908 B

[%
# vi: ft=tt2
# Returns a list of RTP-enabled interfaces from all hosts.
#
# @param argv.status node status [ online, offline, inactive ]
# default value: ['online', 'inactive']
# @return out The array of interfaces.
IF !argv.status.size;
argv.status = ['online', 'inactive'];
END;
status = {
online = 0
offline = 0
inactive = 0
};
FOREACH val IN argv.status;
status.$val = 1;
END;
X_out = {};
FOREACH X_host IN hosts.keys;
X_hd = hosts.$X_host;
X_roles = X_hd.role;
NEXT UNLESS status.item(X_hd.status);
NEXT IF X_roles.grep('^rtp$').size() == 0;
FOREACH X_iface IN X_hd.interfaces;
X_if = X_hd.$X_iface;
X_types = X_if.type;
X_tgl = X_types.grep('^rtp_.');
NEXT IF X.tgl.size() == 0;
X_type = X_tgl.0;
X_type = X_type.remove('^rtp_');
X_out.$X_type = 1;
END;
END;
X_vals = X_out.keys;
out = X_vals.sort;
-%]