~andrewjbeach/juju-ci-tools/make-local-patcher

« back to all changes in this revision

Viewing changes to inject-metadata

  • Committer: Aaron Bentley
  • Date: 2014-02-24 17:18:29 UTC
  • mto: This revision was merged to the branch mainline in revision 252.
  • Revision ID: aaron.bentley@canonical.com-20140224171829-sz644yhoygu7m9dm
Use tags to identify and shut down instances.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/env python
2
 
 
3
 
 
4
 
from argparse import ArgumentParser
5
 
import json
6
 
import os
7
 
 
8
 
from jujuconfig import (
9
 
    describe_substrate,
10
 
    get_selected_environment,
11
 
    )
12
 
 
13
 
 
14
 
def describe_env(env):
15
 
    return describe_substrate(get_selected_environment(env)[0])
16
 
 
17
 
 
18
 
def main():
19
 
    parser = ArgumentParser()
20
 
    parser.add_argument('file')
21
 
    parser.add_argument('env', nargs='*', default=('local',))
22
 
    args = parser.parse_args()
23
 
    with open(args.file) as file_obj:
24
 
        test_json = json.load(file_obj)
25
 
    metadata = test_json.setdefault('metadata', {})
26
 
    metadata['job_name'] = os.environ['JOB_NAME']
27
 
    metadata['build_number'] = os.environ['BUILD_NUMBER']
28
 
    metadata['build_url'] = os.environ['BUILD_URL']
29
 
    metadata['environments'] = dict((env, {'substrate': describe_env(env)})
30
 
             for env in args.env)
31
 
    with open(args.file, 'w') as file_obj:
32
 
        test_json = json.dump(test_json, file_obj, indent=2)
33
 
 
34
 
if __name__ == '__main__':
35
 
    main()