Skip to content
Snippets Groups Projects
Commit 7cf60949 authored by Brian Christiansen's avatar Brian Christiansen
Browse files

Update scontrol show fed output

Display local cluster first and don't show persistconn.
$ scontrol show fed
Federation: f1
Self:       fed1:127.0.0.1:31002 ID:1 FedState:ACTIVE Weight:0
Sibling:    fed2:127.0.0.1:32002 ID:2 FedState:ACTIVE Weight:0 PersistConn:Connected
Sibling:    fed3:127.0.0.1:33002 ID:3 FedState:ACTIVE Weight:0 PersistConn:Connected
parent 84aa0978
No related branches found
No related tags found
No related merge requests found
......@@ -99,7 +99,7 @@ extern void slurm_print_federation(void *ptr)
ListIterator itr;
slurmdb_cluster_rec_t *cluster;
int left_col_size;
char *conn_status[] = {"Disconnected", "Connected", "Self"};
char *conn_status[] = {"Disconnected", "Connected"};
char *cluster_name = slurm_get_cluster_name();
slurmdb_federation_rec_t *fed = (slurmdb_federation_rec_t *)ptr;
......@@ -113,12 +113,30 @@ extern void slurm_print_federation(void *ptr)
printf("%-*s %s\n", left_col_size, "Federation:", fed->name);
list_sort(fed->cluster_list, (ListCmpF)_sort_clusters_by_name);
itr = list_iterator_create(fed->cluster_list);
/* Display local Cluster*/
while ((cluster = list_next(itr))) {
if (!xstrcmp(cluster->name, cluster_name)) {
char *tmp_str =
slurmdb_cluster_fed_states_str(
cluster->fed.state);
printf("%-*s %s:%s:%d ID:%d FedState:%s Weight:%d\n",
left_col_size, "Self:", cluster->name,
cluster->control_host, cluster->control_port,
cluster->fed.id, (tmp_str ? tmp_str : ""),
cluster->fed.weight);
}
}
/* Display siblings */
list_iterator_reset(itr);
while ((cluster = list_next(itr))) {
char *tmp_str = NULL;
int conn_type = 0;
if (!xstrcmp(cluster->name, cluster_name))
conn_type = 2;
else if (cluster->sockfd != -1)
continue;
if (cluster->sockfd != -1)
conn_type = 1;
tmp_str = slurmdb_cluster_fed_states_str(cluster->fed.state);
......@@ -129,5 +147,7 @@ extern void slurm_print_federation(void *ptr)
cluster->fed.id, (tmp_str ? tmp_str : ""),
cluster->fed.weight, conn_status[conn_type]);
}
list_iterator_destroy(itr);
xfree(cluster_name);
}
......@@ -106,6 +106,19 @@ proc test_fed_status {cname cluster_list} {
if {[regexp "Federation: $fed_name" $line match]} {
send_user "matched: $match\n"
incr matches
} elseif {[regexp {Self:\s+(\S+):(\S+):(\d+) ID:(\d+) FedState:(\S*) Weight:(\d+)} \
$line match name host port id state weight]} {
send_user "matched: $match\n"
if {$expected_matches &&
![string compare [dict get $clusters($name) host] $host] &&
![string compare [dict get $clusters($name) state] $state] &&
![string compare [dict get $clusters($name) conn] Self] &&
[dict get $clusters($name) port] == $port &&
[dict get $clusters($name) id] == $id &&
[dict get $clusters($name) weight] == $weight} {
send_user "matched self: $name\n"
incr matches
}
} elseif {[regexp {Sibling:\s+(\S+):(\S+):(\d+) ID:(\d+) FedState:(\S*) Weight:(\d+) PersistConn:(\S+)} \
$line match name host port id state weight conn]} {
send_user "matched: $match\n"
......@@ -116,7 +129,7 @@ proc test_fed_status {cname cluster_list} {
[dict get $clusters($name) port] == $port &&
[dict get $clusters($name) id] == $id &&
[dict get $clusters($name) weight] == $weight} {
send_user "matched: $name\n"
send_user "matched sibling: $name\n"
incr matches
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment