projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
11349: Warn if management/status server is not enabled.
[arvados.git]
/
services
/
nodemanager
/
arvnodeman
/
launcher.py
diff --git
a/services/nodemanager/arvnodeman/launcher.py
b/services/nodemanager/arvnodeman/launcher.py
index 87ce48769e30235c8407f65bb73508633f97f916..11d38ecb76d22105b289d17cec5081aaa5bf3952 100644
(file)
--- a/
services/nodemanager/arvnodeman/launcher.py
+++ b/
services/nodemanager/arvnodeman/launcher.py
@@
-10,8
+10,10
@@
import time
import daemon
import pykka
import daemon
import pykka
+import libcloud
from . import config as nmconfig
from . import config as nmconfig
+from . import status
from .baseactor import WatchdogActor
from .daemon import NodeManagerDaemonActor
from .jobqueue import JobQueueMonitorActor, ServerCalculator
from .baseactor import WatchdogActor
from .daemon import NodeManagerDaemonActor
from .jobqueue import JobQueueMonitorActor, ServerCalculator
@@
-62,6
+64,7
@@
def setup_logging(path, level, **sublevels):
for logger_name, sublevel in sublevels.iteritems():
sublogger = logging.getLogger(logger_name)
sublogger.setLevel(sublevel)
for logger_name, sublevel in sublevels.iteritems():
sublogger = logging.getLogger(logger_name)
sublogger.setLevel(sublevel)
+ return root_logger
def build_server_calculator(config):
cloud_size_list = config.node_sizes(config.new_cloud_client().list_sizes())
def build_server_calculator(config):
cloud_size_list = config.node_sizes(config.new_cloud_client().list_sizes())
@@
-69,7
+72,8
@@
def build_server_calculator(config):
abort("No valid node sizes configured")
return ServerCalculator(cloud_size_list,
config.getint('Daemon', 'max_nodes'),
abort("No valid node sizes configured")
return ServerCalculator(cloud_size_list,
config.getint('Daemon', 'max_nodes'),
- config.getfloat('Daemon', 'max_total_price'))
+ config.getfloat('Daemon', 'max_total_price'),
+ config.getfloat('Daemon', 'node_mem_scaling'))
def launch_pollers(config, server_calculator):
poll_time = config.getint('Daemon', 'poll_time')
def launch_pollers(config, server_calculator):
poll_time = config.getint('Daemon', 'poll_time')
@@
-77,7
+81,7
@@
def launch_pollers(config, server_calculator):
timer = TimedCallBackActor.start(poll_time / 10.0).tell_proxy()
cloud_node_poller = CloudNodeListMonitorActor.start(
timer = TimedCallBackActor.start(poll_time / 10.0).tell_proxy()
cloud_node_poller = CloudNodeListMonitorActor.start(
- config.new_cloud_client(), timer, poll_time, max_poll_time).tell_proxy()
+ config.new_cloud_client(), timer,
server_calculator,
poll_time, max_poll_time).tell_proxy()
arvados_node_poller = ArvadosNodeListMonitorActor.start(
config.new_arvados_client(), timer, poll_time, max_poll_time).tell_proxy()
job_queue_poller = JobQueueMonitorActor.start(
arvados_node_poller = ArvadosNodeListMonitorActor.start(
config.new_arvados_client(), timer, poll_time, max_poll_time).tell_proxy()
job_queue_poller = JobQueueMonitorActor.start(
@@
-109,8
+113,11
@@
def main(args=None):
for sigcode in [signal.SIGINT, signal.SIGQUIT, signal.SIGTERM]:
signal.signal(sigcode, shutdown_signal)
for sigcode in [signal.SIGINT, signal.SIGQUIT, signal.SIGTERM]:
signal.signal(sigcode, shutdown_signal)
+ status.Server(config).start()
+
try:
try:
- setup_logging(config.get('Logging', 'file'), **config.log_levels())
+ root_logger = setup_logging(config.get('Logging', 'file'), **config.log_levels())
+ root_logger.info("%s %s, libcloud %s", sys.argv[0], __version__, libcloud.__version__)
node_setup, node_shutdown, node_update, node_monitor = \
config.dispatch_classes()
server_calculator = build_server_calculator(config)
node_setup, node_shutdown, node_update, node_monitor = \
config.dispatch_classes()
server_calculator = build_server_calculator(config)