Changeset 701 for branches/0.4/jobmond/jobmond.py
- Timestamp:
- 03/21/13 16:53:24 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/0.4/jobmond/jobmond.py
r700 r701 55 55 def processArgs( args ): 56 56 57 SHORT_L 58 LONG_L 59 60 global PIDFILE 61 PIDFILE 62 63 config_filename= '/etc/jobmond.conf'57 SHORT_L = 'p:hvc:' 58 LONG_L = [ 'help', 'config=', 'pidfile=', 'version' ] 59 60 global PIDFILE JOBMOND_CONF 61 PIDFILE = None 62 63 JOBMOND_CONF = '/etc/jobmond.conf' 64 64 65 65 try: … … 77 77 if opt in [ '--config', '-c' ]: 78 78 79 config_filename= value79 JOBMOND_CONF = value 80 80 81 81 if opt in [ '--pidfile', '-p' ]: 82 82 83 PIDFILE 83 PIDFILE = value 84 84 85 85 if opt in [ '--help', '-h' ]: … … 93 93 sys.exit( 0 ) 94 94 95 return loadConfig( config_filename)95 return loadConfig( JOBMOND_CONF ) 96 96 97 97 class GangliaConfigParser: … … 459 459 global BATCH_API, QUEUE, GMETRIC_TARGET, USE_SYSLOG 460 460 global SYSLOG_LEVEL, SYSLOG_FACILITY, GMETRIC_BINARY 461 462 DEBUG_LEVEL = cfg.getint( 'DEFAULT', 'DEBUG_LEVEL' ) 463 464 DAEMONIZE = cfg.getboolean( 'DEFAULT', 'DAEMONIZE' ) 461 global METRIC_MAX_VAL_LEN 462 463 DEBUG_LEVEL = cfg.getint( 'DEFAULT', 'DEBUG_LEVEL' ) 464 465 DAEMONIZE = cfg.getboolean( 'DEFAULT', 'DAEMONIZE' ) 465 466 466 467 SYSLOG_LEVEL = -1 467 SYSLOG_FACILITY 468 SYSLOG_FACILITY = None 468 469 469 470 try: 470 USE_SYSLOG 471 USE_SYSLOG = cfg.getboolean( 'DEFAULT', 'USE_SYSLOG' ) 471 472 472 473 except ConfigParser.NoOptionError: 473 474 474 USE_SYSLOG 475 USE_SYSLOG = True 475 476 476 477 debug_msg( 0, 'ERROR: no option USE_SYSLOG found: assuming yes' ) … … 479 480 480 481 try: 481 SYSLOG_LEVEL 482 SYSLOG_LEVEL = cfg.getint( 'DEFAULT', 'SYSLOG_LEVEL' ) 482 483 483 484 except ConfigParser.NoOptionError: 484 485 485 486 debug_msg( 0, 'ERROR: no option SYSLOG_LEVEL found: assuming level 0' ) 486 SYSLOG_LEVEL 487 SYSLOG_LEVEL = 0 487 488 488 489 try: … … 498 499 try: 499 500 500 BATCH_SERVER 501 BATCH_SERVER = cfg.get( 'DEFAULT', 'BATCH_SERVER' ) 501 502 502 503 except ConfigParser.NoOptionError: … … 505 506 # 506 507 507 BATCH_SERVER 508 api_guess 508 BATCH_SERVER = cfg.get( 'DEFAULT', 'TORQUE_SERVER' ) 509 api_guess = 'pbs' 509 510 510 511 try: 511 512 512 BATCH_POLL_INTERVAL 513 BATCH_POLL_INTERVAL = cfg.getint( 'DEFAULT', 'BATCH_POLL_INTERVAL' ) 513 514 514 515 except ConfigParser.NoOptionError: … … 517 518 # 518 519 519 BATCH_POLL_INTERVAL 520 api_guess = 'pbs'520 BATCH_POLL_INTERVAL = cfg.getint( 'DEFAULT', 'TORQUE_POLL_INTERVAL' ) 521 api_guess = 'pbs' 521 522 522 523 try: 523 524 524 GMOND_CONF = cfg.get( 'DEFAULT', 'GMOND_CONF' )525 GMOND_CONF = cfg.get( 'DEFAULT', 'GMOND_CONF' ) 525 526 526 527 except ConfigParser.NoOptionError: … … 528 529 # Not specified: assume /etc/gmond.conf 529 530 # 530 GMOND_CONF = '/etc/gmond.conf'531 532 ganglia_cfg 531 GMOND_CONF = '/etc/gmond.conf' 532 533 ganglia_cfg = GangliaConfigParser( GMOND_CONF ) 533 534 534 535 # Let's try to find the GMETRIC_TARGET ourselves first from GMOND_CONF 535 536 # 536 gmetric_dest_ip 537 gmetric_dest_ip = ganglia_cfg.getStr( 'udp_send_channel', 'mcast_join' ) 537 538 538 539 if not gmetric_dest_ip: … … 540 541 # Maybe unicast target then 541 542 # 542 gmetric_dest_ip = ganglia_cfg.getStr( 'udp_send_channel', 'host' ) 543 544 gmetric_dest_port = ganglia_cfg.getStr( 'udp_send_channel', 'port' ) 545 543 gmetric_dest_ip = ganglia_cfg.getStr( 'udp_send_channel', 'host' ) 544 545 gmetric_dest_port = ganglia_cfg.getStr( 'udp_send_channel', 'port' ) 546 547 #TODO: use multiple udp send channels (if found) 546 548 if gmetric_dest_ip and gmetric_dest_port: 547 549 548 GMETRIC_TARGET 550 GMETRIC_TARGET = '%s:%s' %( gmetric_dest_ip, gmetric_dest_port ) 549 551 else: 550 552 551 debug_msg( 0, "WARNING: Can't parse udp_send_channel from: '%s' " %GMOND_CONF)553 debug_msg( 0, "WARNING: Can't parse udp_send_channel from: '%s' - Trying: %s" %( GMOND_CONF, JOBMOND_CONF ) ) 552 554 553 555 # Couldn't figure it out: let's see if it's in our jobmond.conf … … 558 560 559 561 # Guess not: now just give up 560 #562 561 563 except ConfigParser.NoOptionError: 562 564 … … 565 567 debug_msg( 0, "ERROR: GMETRIC_TARGET not set: internal Gmetric handling aborted. Failing back to DEPRECATED use of gmond.conf/gmetric binary. This will slow down jobmond significantly!" ) 566 568 567 gmetric_bin = findGmetric() 568 569 if gmetric_bin: 570 571 GMETRIC_BINARY = gmetric_bin 572 else: 573 debug_msg( 0, "WARNING: Can't find gmetric binary anywhere in $PATH" ) 574 575 try: 576 577 GMETRIC_BINARY = cfg.get( 'DEFAULT', 'GMETRIC_BINARY' ) 578 579 except ConfigParser.NoOptionError: 580 581 debug_msg( 0, "FATAL ERROR: GMETRIC_BINARY not set and not in $PATH" ) 582 sys.exit( 1 ) 583 569 gmetric_bin = findGmetric() 570 571 if gmetric_bin: 572 573 GMETRIC_BINARY = gmetric_bin 574 else: 575 debug_msg( 0, "WARNING: Can't find gmetric binary anywhere in $PATH" ) 576 577 try: 578 579 GMETRIC_BINARY = cfg.get( 'DEFAULT', 'GMETRIC_BINARY' ) 580 581 except ConfigParser.NoOptionError: 582 583 debug_msg( 0, "FATAL ERROR: GMETRIC_BINARY not set and not in $PATH" ) 584 sys.exit( 1 ) 585 586 #TODO: is this really still needed or should be automatic 584 587 DETECT_TIME_DIFFS = cfg.getboolean( 'DEFAULT', 'DETECT_TIME_DIFFS' ) 585 588 586 BATCH_HOST_TRANSLATE 589 BATCH_HOST_TRANSLATE = getlist( cfg.get( 'DEFAULT', 'BATCH_HOST_TRANSLATE' ) ) 587 590 588 591 try: … … 607 610 QUEUE = None 608 611 612 METRIC_MAX_VAL_LEN = ganglia_cfg.getInt( 'globals', 'max_udp_msg_len' ) 613 609 614 return True 610 615 … … 616 621 617 622 return (parts[0], string.join(parts[1:], ".")) 618 619 METRIC_MAX_VAL_LEN = 900620 623 621 624 class DataProcessor:
Note: See TracChangeset
for help on using the changeset viewer.