"Fossies" - the Fresh Open Source Software Archive

Member "magnum-8.1.0/contrib/drivers/dcos_centos_v1/scale_manager.py" (1 Oct 2019, 1095 Bytes) of package /linux/misc/openstack/magnum-8.1.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 # Licensed under the Apache License, Version 2.0 (the "License"); you may
    2 # not use this file except in compliance with the License. You may obtain
    3 # a copy of the License at
    4 #
    5 #      http://www.apache.org/licenses/LICENSE-2.0
    6 #
    7 # Unless required by applicable law or agreed to in writing, software
    8 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
    9 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   10 # License for the specific language governing permissions and limitations
   11 # under the License.
   12 
   13 from magnum.conductor.scale_manager import ScaleManager
   14 from marathon import MarathonClient
   15 
   16 
   17 class DcosScaleManager(ScaleManager):
   18 
   19     def __init__(self, context, osclient, cluster):
   20         super(DcosScaleManager, self).__init__(context, osclient, cluster)
   21 
   22     def _get_hosts_with_container(self, context, cluster):
   23         marathon_client = MarathonClient(
   24             'http://' + cluster.api_address + '/marathon/')
   25         hosts = set()
   26         for task in marathon_client.list_tasks():
   27             hosts.add(task.host)
   28 
   29         return hosts