summaryrefslogtreecommitdiffstats
path: root/fuel/prototypes/auto-deploy/deploy/functions/deaParse.py
blob: 7ca6501718c7f95495d04d0fb88f307d8f820219 (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/usr/bin/python
##############################################################################
# Copyright (c) 2015 Ericsson AB and others.
# stefan.k.berg@ericsson.com
# jonas.bjurel@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 yaml
import re
import sys
import os

def test(arr):
    print "Nodes"
    nodes = doc["nodes"]
    for node in nodes:
        print "Node %d " % node["id"]
        print "  Mac: %s" % node["adminMac"]
        print "  Role: %s" % node["role"]

def getNodeRole(arg):
    for node in doc["nodes"]:
        print node
        try:
            if node["role"] == arg[0]:
                print doc["id"]
        except KeyError:
            exit(1)

def getNodes(arg):
    for node in doc["nodes"]:
        print node["id"]


def getProperty(arg):
    result = doc
    for level in arg:
        result = result[level]
    print result

def getNodeRole(arg):
    for node in doc["nodes"]:
        if int(arg[0]) == node["id"]:
            print node["role"]

def getNode(arg):
    id=arg[0]
    key=arg[1]
    for node in doc["nodes"]:
        if int(node["id"]) == int(id):
            print node[key]

    # for node in doc["nodes"]:
    #     if int(node["id"]) == int(arg[0]):
    #         print node

infile = sys.argv[1]

if not os.path.exists(infile):
    sys.stderr.write("ERROR: The file "+infile+" could not be opened\n")
    sys.exit(1)


f1 = open(infile, 'r')
doc = yaml.load(f1)
f1.close()

cmd = sys.argv[2]
args = sys.argv[3:]

if cmd == "getProperty":
    getProperty(args)
elif cmd == "getNodeRole":
    getNodeRole(args)
elif cmd == "getNode":
    getNode(args)
elif cmd == "get":
    get(args)
else:
  print "No such command: %s" % cmd
  exit(1)