@@ -167,6 +167,7 @@ struct RSC_USAGE {
167167};
168168
169169// verbosity levels
170+ #define VERBOSE_NONE 0
170171#define VERBOSE_STD 1
171172 // include only start/pause/end commands
172173#define VERBOSE_ALL 2
@@ -188,7 +189,7 @@ struct CONFIG {
188189 // additional args for docker build command
189190 string create_args;
190191 // additional args for docker create command
191- int verbose;
192+ int verbose; // see above
192193 bool use_gpu;
193194 // tell Docker to enable GPU access
194195 int web_graphics_guest_port;
@@ -242,12 +243,21 @@ DOCKER_TYPE docker_type;
242243string wsl_distro_name;
243244double cpu_time = 0 ;
244245
246+ inline bool verbose_std () {
247+ return config.verbose >= VERBOSE_STD;
248+ }
249+
250+ inline bool verbose_all () {
251+ return config.verbose >= VERBOSE_ALL;
252+ }
253+
245254// parse job config file (job.toml)
246255//
247256int parse_config_file () {
248257 // defaults
249258 config.workdir = " /app" ;
250259 config.use_gpu = false ;
260+ config.verbose = VERBOSE_STD;
251261
252262 std::ifstream ifs (config_file);
253263 if (ifs.fail ()) {
@@ -401,7 +411,7 @@ void get_image_name() {
401411int image_exists (bool &exists) {
402412 vector<string> out;
403413
404- int retval = docker_conn.command (" images" , out);
414+ int retval = docker_conn.command (" images" , out, verbose_std () );
405415 if (retval) return retval;
406416 string image_name_space = image_name + string (" " );
407417 for (string line: out) {
@@ -420,7 +430,7 @@ int build_image() {
420430 snprintf (cmd, sizeof (cmd), " build \" %s\" -t %s -f %s %s" ,
421431 escaped_cwd, image_name, dockerfile, config.build_args .c_str ()
422432 );
423- int retval = docker_conn.command (cmd, out);
433+ int retval = docker_conn.command (cmd, out, verbose_std () );
424434 if (retval) return retval;
425435 return 0 ;
426436}
@@ -473,7 +483,7 @@ int get_container_state(int &state) {
473483
474484 container_name
475485 );
476- retval = docker_conn.command (cmd, out);
486+ retval = docker_conn.command (cmd, out, verbose_all () );
477487 if (retval) return retval;
478488 for (string line: out) {
479489 char buf[256 ];
@@ -606,7 +616,7 @@ int create_container() {
606616
607617 strcat (cmd, " " );
608618 strcat (cmd, image_name);
609- retval = docker_conn.command (cmd, out);
619+ retval = docker_conn.command (cmd, out, verbose_std () );
610620 if (retval) {
611621 fprintf (stderr, " create command failed: %d\n " , retval);
612622 return retval;
@@ -627,7 +637,7 @@ int container_op(const char *op) {
627637 char cmd[1024 ];
628638 vector<string> out;
629639 snprintf (cmd, sizeof (cmd), " %s %s" , op, container_name);
630- int retval = docker_conn.command (cmd, out);
640+ int retval = docker_conn.command (cmd, out, verbose_std () );
631641 if (retval) {
632642 fprintf (stderr, " %s command failed: %d\n " , op, retval);
633643 return retval;
@@ -648,21 +658,21 @@ void cleanup() {
648658 vector<string> out;
649659
650660 snprintf (cmd, sizeof (cmd), " logs %s" , container_name);
651- docker_conn.command (cmd, out);
661+ docker_conn.command (cmd, out, verbose_std () );
652662 fprintf (stderr, " stderr from container:\n " );
653663 for (string line: out) {
654664 fprintf (stderr, " %s" , line.c_str ());
655665 }
656666 fprintf (stderr, " stderr end\n " );
657667
658668 snprintf (cmd, sizeof (cmd), " container rm %s" , container_name);
659- docker_conn.command (cmd, out);
669+ docker_conn.command (cmd, out, verbose_std () );
660670
661671 // don't remove image if it was specified in config
662672 //
663673 if (config.image_name .empty ()) {
664674 snprintf (cmd, sizeof (cmd), " image rm %s" , image_name);
665- docker_conn.command (cmd, out);
675+ docker_conn.command (cmd, out, verbose_std () );
666676 }
667677}
668678
@@ -732,7 +742,7 @@ JOB_STATUS poll_app() {
732742 int retval;
733743
734744 snprintf (cmd, sizeof (cmd), " ps --all -f \" name=%s\" " , container_name);
735- retval = docker_conn.command (cmd, out);
745+ retval = docker_conn.command (cmd, out, verbose_all () );
736746 if (retval) return JOB_FAIL;
737747 for (string line: out) {
738748 if (strstr (line.c_str (), container_name)) {
@@ -773,7 +783,7 @@ int get_stats(RSC_USAGE &ru) {
773783 container_name
774784 );
775785#endif
776- retval = docker_conn.command (cmd, out);
786+ retval = docker_conn.command (cmd, out, verbose_all () );
777787 if (retval) return -1 ;
778788 if (out.empty ()) return -1 ;
779789
@@ -857,7 +867,7 @@ int wsl_init() {
857867 fprintf (stderr, " Using WSL distro %s\n " , dp->distro_name .c_str ());
858868 wsl_distro_name = dp->distro_name ;
859869 docker_type = dp->docker_type ;
860- return docker_conn.init (*dp, config. verbose > 0 );
870+ return docker_conn.init (*dp);
861871}
862872#endif
863873
@@ -894,7 +904,7 @@ int main(int argc, char** argv) {
894904 if (!strcmp (argv[j], " --sporadic" )) {
895905 sporadic = true ;
896906 } else if (!strcmp (argv[j], " --verbose" )) {
897- config.verbose = VERBOSE_STD ;
907+ config.verbose = VERBOSE_ALL ;
898908 } else if (!strcmp (argv[j], " --config" )) {
899909 config_file = argv[++j];
900910 } else if (!strcmp (argv[j], " --dockerfile" )) {
@@ -977,7 +987,7 @@ int main(int argc, char** argv) {
977987 }
978988 docker_type = aid.host_info .docker_type ;
979989 }
980- retval = docker_conn.init (docker_type, config. verbose > 0 );
990+ retval = docker_conn.init (docker_type);
981991 if (retval) {
982992 fprintf (stderr, " docker_conn.init() failed: %d\n " , retval);
983993 boinc_finish (1 );
0 commit comments