moldified the file to parse the common inventory file. 71/10171/1
authorNarinder Gupta <narinder.gupta@canonical.com>
Wed, 17 Feb 2016 14:57:25 +0000 (08:57 -0600)
committerNarinder Gupta <narinder.gupta@canonical.com>
Thu, 18 Feb 2016 00:06:59 +0000 (00:06 +0000)
Change-Id: If21f110d67abcec0dc1db9f47f242625f2f9ab02
(cherry picked from commit 0ac2b2f67d46cf5aadf6779eec85cdecce618fd7)

ci/deploy.py [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 078a3df..d52bd60
@@ -1,57 +1,59 @@
-#!/usr/bin/env python
-"""
-MAAS Deployment Tool
-"""
-import copy
-import itertools
-import json
-import logging
-import os
-import sys
-import time
 import yaml
+import pprint
+
+with open('example.yaml', 'r') as f:
+    doc = yaml.load(f)
+txt = doc["nodes"][0]["power"]
+
+with open('deployment.yaml', 'r') as ft:
+    doc1 = yaml.load(ft)
+
+def setInDict(dataDict, mapList, value):
+    getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value
+
+def getFromDict(dataDict, mapList):
+    return reduce(lambda d, k: d[k], mapList, dataDict)
+
+if len(doc["nodes"]) > len(doc1["demo-maas"]["maas"]["nodes"]):
+    exit 0
+
+c=0
+while c < len(doc["nodes"]):
+
+    value = getFromDict(doc, ["nodes",c, "name"])
+    setInDict(doc1, ["demo-maas", "maas", "nodes", c, "name"], value)
+
+    value = getFromDict(doc, ["nodes",c, "tags"])
+    setInDict(doc1, ["demo-maas", "maas", "nodes", c, "tags"], value)
+
+    value = getFromDict(doc, ["nodes",c, "arch"])
+    if value == "x86_64":
+        value="amd64/generic"
+    setInDict(doc1, ["demo-maas", "maas", "nodes", c, "architecture"], value)
+
+    value = getFromDict(doc, ["nodes",c, "mac_address"])
+    setInDict(doc1, ["demo-maas", "maas", "nodes", c, "mac_addresses"], value)
+
+    value = getFromDict(doc, ["nodes",c, "power", "type"])
+    setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "type"], value)
+
+    if value == "wakeonlan":
+        value = getFromDict(doc, ["nodes",c, "power", "mac_address"])
+        setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "mac_address"], value)
+
+    if value == "ipmi":
+        value = getFromDict(doc, ["nodes",c, "power", "address"])
+        setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "address"], value)
+
+        value = getFromDict(doc, ["nodes",c, "power", "user"])
+        setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "user"], value)
+
+        value = getFromDict(doc, ["nodes",c, "power", "pass"])
+        setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "pass"], value)
+
+    c=c+1
+
+with open('deployment.yaml', 'w') as ft:
+   yaml.dump(doc1, ft)
+
 
-from maas_deployer.vmaas.util import CONF as cfg
-
-from maas_deployer.vmaas import (
-    vm,
-    util,
-    template,
-)
-
-
-# Setup logging before imports
-logging.basicConfig(
-    filename='maas_deployer.log',
-    level=logging.DEBUG,
-    format=('%(asctime)s %(levelname)s '
-            '(%(funcName)s) %(message)s'))
-
-log = logging.getLogger('vmaas.main')
-handler = logging.StreamHandler()
-formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
-handler.setFormatter(formatter)
-log.addHandler(handler)
-
-def main():
-
-    maasipaddress = str(sys.argv); 
-
-    script = """
-        sudo apt-get install git -y 
-        git clone https://gerrit.opnfv.org/gerrit/joid
-        juju init -y
-        cp /home/juju/.juju/environments.yaml ~/.juju/
-        cd joid/ci/
-        ./deploy.sh 
-        """ 
-    try:
-        util.exec_script_remote('ubuntu', maasipaddress[1], script)
-    except:
-        # Remove console handler to avoid displaying the exception twice
-        log.removeHandler(handler)
-        log.exception("MAAS deployment failed.")
-        raise
-
-if __name__ == '__main__':
-    main()