Ejemplo n.º 1
0
/*
 * slurm_print_front_end_info_msg - output information about all Slurm
 *	front_ends based upon message as loaded using slurm_load_front_end
 * IN out - file to write to
 * IN front_end_info_msg_ptr - front_end information message pointer
 * IN one_liner - print as a single line if true
 */
void
slurm_print_front_end_info_msg (FILE * out,
				front_end_info_msg_t * front_end_info_msg_ptr,
				int one_liner)
{
	int i;
	front_end_info_t *front_end_ptr;
	char time_str[32];

	front_end_ptr = front_end_info_msg_ptr->front_end_array;
	slurm_make_time_str((time_t *)&front_end_info_msg_ptr->last_update,
			    time_str, sizeof(time_str));
	fprintf(out, "front_end data as of %s, record count %d\n",
		time_str, front_end_info_msg_ptr->record_count);

	for (i = 0; i < front_end_info_msg_ptr-> record_count; i++) {
		slurm_print_front_end_table(out, &front_end_ptr[i],
					    one_liner ) ;
	}
}
Ejemplo n.º 2
0
/*
 * scontrol_print_front_end - print the specified front_end node's information
 * IN node_name - NULL to print all front_end node information
 * IN node_ptr - pointer to front_end node table of information
 * NOTE: call this only after executing load_front_end, called from
 *	scontrol_print_front_end_list
 * NOTE: To avoid linear searches, we remember the location of the
 *	last name match
 */
extern void
scontrol_print_front_end(char *node_name,
			 front_end_info_msg_t  *front_end_buffer_ptr)
{
	int i, j, print_cnt = 0;
	static int last_inx = 0;

	for (j = 0; j < front_end_buffer_ptr->record_count; j++) {
		if (node_name) {
			i = (j + last_inx) % front_end_buffer_ptr->record_count;
			if (!front_end_buffer_ptr->front_end_array[i].name ||
			    strcmp(node_name, front_end_buffer_ptr->
					      front_end_array[i].name))
				continue;
		} else if (front_end_buffer_ptr->front_end_array[j].name == NULL)
			continue;
		else
			i = j;
		print_cnt++;
		slurm_print_front_end_table(stdout,
					    &front_end_buffer_ptr->
					    front_end_array[i],
					    one_liner);

		if (node_name) {
			last_inx = i;
			break;
		}
	}

	if (print_cnt == 0) {
		if (node_name) {
			exit_code = 1;
			if (quiet_flag != 1)
				printf ("Node %s not found\n", node_name);
		} else if (quiet_flag != 1)
				printf ("No nodes in the system\n");
	}
}