~kick-d/maas/modev

« back to all changes in this revision

Viewing changes to modev/commands/cmd_modev.py

  • Committer: Scott Moser
  • Date: 2014-05-09 03:33:03 UTC
  • Revision ID: smoser@ubuntu.com-20140509033303-ep5qdpkbxffgmctc
implement config-create

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/python
2
2
 
3
3
import argparse
 
4
import os
 
5
import sys
4
6
import yaml
5
7
 
6
8
from modev import openstack
128
130
        if k in kwargs:
129
131
            cfg[k] = kwargs[k]
130
132
 
131
 
    try:
132
 
        cfg.update(openstack.load_keystone_creds())
133
 
    except ValueError as e:
134
 
        pass
 
133
    env_creds = openstack.load_keystone_creds()
 
134
    if env_creds:
 
135
        openstack.validate_keystone_creds(**env_creds)
 
136
        cfg.update({"os_" + k: v for k, v in env_creds.items()})
135
137
    
136
138
    if kwargs.get('openrc'):
137
 
        shcfg = util.parse_shell_config(kwargs['openrc'])
138
 
        cfg.update({k: v for k, v in shcfg if k.startswith("OS_")})
 
139
        shcfg = util.parse_shell_config(filepath=kwargs['openrc'])
 
140
        cfg.update({k.lower(): v for k, v in shcfg.items()
 
141
                    if k.startswith("OS_")})
139
142
 
140
143
    if config_file:
141
144
        with open(config_file, "r") as fp:
142
145
            cfg.update(yaml.safe_load(fp))
143
146
 
 
147
    return cfg
 
148
 
144
149
 
145
150
def main_config_create(args):
146
151
 
147
 
    cfg = load_config(openrc=args.openrc,
 
152
    config_file = args.config
 
153
    if not os.path.isfile(args.config):
 
154
        config_file = None
 
155
 
 
156
    cfg = load_config(config_file=config_file, openrc=args.openrc,
148
157
                      prefix=args.prefix,
149
158
                      maas_creds=args.maas_creds, maas_url=args.maas_url,
150
159
                      external_net=args.external_net)
151
160
 
152
 
    print(cfg)
153
 
 
154
 
    raise NotImplementedError()
 
161
    if args.config == "-":
 
162
        fp = sys.stdout
 
163
    else:
 
164
        fp = open(args.config, "w")
 
165
 
 
166
    for k in sorted(cfg.keys()):
 
167
        if cfg[k] is None:
 
168
            v = "null"
 
169
        else:
 
170
            v = "'%s'" % cfg[k]
 
171
        fp.write("%s: %s\n" % (k, v))
 
172
 
 
173
    if args.config != "-":
 
174
        fp.close()
155
175
 
156
176
 
157
177
def main_network_setup(args):