magnum/contrib/drivers/dcos_centos_v1/scale_manager.py
fengbeihong 977f3af83f Support dcos installation on centos vm cluster
This patch provides support for installing dcos on centos using magnum.
A new coe type(dcos) is added. This provides support for vm.
Design spec and steps on how to test can be found in
contrib/drivers/dcos_centos_v1/README.md.

Public agent nodes are not supported now.

Co-Authored-By: fengbeihong (fengbeihong@gmail.com)
Co-Authored-By: vmud213 (vinay50muddu@yahoo.com)

Change-Id: I58b378b4bd6df34fd43307e4252cfbbd9bf593d8
Partially-Implements: blueprint mesos-dcos
2017-04-10 12:05:45 +08:00

30 lines
1.1 KiB
Python

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from magnum.conductor.scale_manager import ScaleManager
from marathon import MarathonClient
class DcosScaleManager(ScaleManager):
def __init__(self, context, osclient, cluster):
super(DcosScaleManager, self).__init__(context, osclient, cluster)
def _get_hosts_with_container(self, context, cluster):
marathon_client = MarathonClient(
'http://' + cluster.api_address + '/marathon/')
hosts = set()
for task in marathon_client.list_tasks():
hosts.add(task.host)
return hosts