summaryrefslogtreecommitdiffstats
path: root/deploy/transplant_fuel_settings.py
blob: e57a4fbc653238f3728200012e79dca1c3c327f5 (plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
###############################################################################
# Copyright (c) 2015 Ericsson AB and others.
# szilard.cserey@ericsson.com
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
###############################################################################


import sys
import io
import yaml
from dea import DeploymentEnvironmentAdapter

from common import (
    check_file_exists,
)

ASTUTE_YAML = '/etc/fuel/astute.yaml'


def usage():
    print '''
    Usage:
    python transplant_fuel_settings.py <deafile>
    '''


def parse_arguments():
    if len(sys.argv) != 2:
        usage()
        sys.exit(1)
    dea_file = sys.argv[-1]
    check_file_exists(dea_file)
    return dea_file


def transplant(dea, astute):
    fuel_conf = dea.get_fuel_config()
    for key in fuel_conf.iterkeys():
        if key == 'ADMIN_NETWORK':
            for skey in fuel_conf[key].iterkeys():
                astute[key][skey] = fuel_conf[key][skey]
        else:
            astute[key] = fuel_conf[key]
    return astute


def main():
    dea_file = parse_arguments()
    check_file_exists(ASTUTE_YAML)
    dea = DeploymentEnvironmentAdapter(dea_file)
    with io.open(ASTUTE_YAML) as stream:
        astute = yaml.load(stream)
    transplant(dea, astute)
    with io.open(ASTUTE_YAML, 'w') as stream:
        yaml.dump(astute, stream, default_flow_style=False)


if __name__ == '__main__':
    main()
r">- id: 3 interfaces: interfaces_1 role: mongo,controller transformations: transformations_1 - id: 4 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 - id: 5 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 settings: editable: additional_components: ceilometer: description: If selected, Ceilometer component will be installed label: Install Ceilometer type: checkbox value: true weight: 40 heat: description: '' label: '' type: hidden value: true weight: 30 metadata: label: Additional Components weight: 20 storage: ephemeral_ceph: description: Configures Nova to store ephemeral volumes in RBD. This works best if Ceph is enabled for volumes and images, too. Enables live migration of all types of Ceph backed VMs (without this option, live migration will only work with VMs launched from Cinder volumes). label: Ceph RBD for ephemeral volumes (Nova) type: checkbox value: true weight: 75 images_ceph: description: Configures Glance to use the Ceph RBD backend to store images. If enabled, this option will prevent Swift from installing. label: Ceph RBD for images (Glance) restrictions: - settings:storage.images_vcenter.value == true: Only one Glance backend could be selected. type: checkbox value: true weight: 30 dha-override-config: # disks: # contrail: 500G ############################################################################## # The verification pipeline may populate the section below with arbitrary # testing information, which post deploy can be retreived from the fuel master: # /root/deploy-config.yaml test: