X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3b3c3a0869c2cf528b9e1c45c969bbbd47f6446e..e6cc23100178e5edc90f8e9d04e6c663944b5da9:/services/nodemanager/arvnodeman/daemon.py diff --git a/services/nodemanager/arvnodeman/daemon.py b/services/nodemanager/arvnodeman/daemon.py index c0413f626c..e476e5e3e2 100644 --- a/services/nodemanager/arvnodeman/daemon.py +++ b/services/nodemanager/arvnodeman/daemon.py @@ -1,4 +1,7 @@ #!/usr/bin/env python +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 from __future__ import absolute_import, print_function @@ -387,7 +390,7 @@ class NodeManagerDaemonActor(actor_class): arvados_client=self._new_arvados(), arvados_node=arvados_node, cloud_client=self._new_cloud(), - cloud_size=cloud_size).proxy() + cloud_size=self.server_calculator.find_size(cloud_size.id)).proxy() self.booting[new_setup.actor_ref.actor_urn] = new_setup self.sizes_booting[new_setup.actor_ref.actor_urn] = cloud_size @@ -517,6 +520,16 @@ class NodeManagerDaemonActor(actor_class): def shutdown(self): self._logger.info("Shutting down after signal.") self.poll_stale_after = -1 # Inhibit starting/stopping nodes + + # Shut down pollers + self._server_wishlist_actor.stop() + self._arvados_nodes_actor.stop() + self._cloud_nodes_actor.stop() + + # Clear cloud node list + self.update_cloud_nodes([]) + + # Stop setup actors unless they are in the middle of setup. setup_stops = {key: node.stop_if_no_cloud_node() for key, node in self.booting.iteritems()} self.booting = {key: self.booting[key]