forked from MirantisWorkloadMobility/CloudFerry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfabfile.py
47 lines (41 loc) · 1.46 KB
/
fabfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Copyright (c) 2014 Mirantis Inc.
#
# 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 fabric.api import task, env
from cloudferrylib.scheduler.namespace import Namespace
from cloudferrylib.scheduler.scheduler import Scheduler
import cfglib
from utils import get_log
from cloudferrylib.utils import utils
from cloud import cloud_ferry
env.forward_agent = True
env.user = 'root'
LOG = get_log(__name__)
@task
def migrate(name_config=None, name_instance=None):
"""
:name_config - name of config yaml-file, example 'config.yaml'
"""
cfglib.collector_configs_plugins()
cfglib.init_config(name_config)
utils.init_singletones(cfglib.CONF)
env.key_filename = cfglib.CONF.migrate.key_filename
cloud = cloud_ferry.CloudFerry(cfglib.CONF)
cloud.migrate()
@task
def get_info(name_config):
LOG.info("Init getting information")
namespace = Namespace({'name_config': name_config})
scheduler = Scheduler(namespace)
if __name__ == '__main__':
migrate(None)