X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ci%2Fdeploy.py;h=99dce0df87dc6a8cd74082861805c1b3e33bac8c;hb=619773c3be56822439e26c828bbdb3f173b03cff;hp=72002e6f905332680bd5e131493d9a76a2dd504c;hpb=d17896f8f943ac15ed333633bcb68247d122c1ce;p=joid.git diff --git a/ci/deploy.py b/ci/deploy.py index 72002e6f..99dce0df 100644 --- a/ci/deploy.py +++ b/ci/deploy.py @@ -18,6 +18,7 @@ with open('labconfig.yaml', 'r') as labf: labcfg = yaml.load(labf) opnfvcfg={} +opnfvlabcfg={} def getFromDict(dataDict, mapList): return reduce(lambda d, k: d[k], mapList, dataDict) @@ -52,16 +53,21 @@ opnfvcfg['demo-maas']={'juju-bootstrap':{'memory': 4096,'name': "bootstrap",\ }\ } +opnfvlabcfg['opnfv']={'ext-port':'','floating-ip-range':'','dataNetwork':'','ceph-disk':'/srv/',\ + 'storageNetwork':'','interface-enable':'','publicNetwork':''} -opnfvcfg['demo-maas']['maas']['apt_sources'].append("ppa:maas/stable") -opnfvcfg['demo-maas']['maas']['apt_sources'].append("ppa:juju/stable") +opnfvcfg['demo-maas']['maas']['apt_sources'].append("ppa:maas/stable") +opnfvcfg['demo-maas']['maas']['apt_sources'].append("ppa:juju/stable") # lets modify the maas general settings: -updns = getFromDict(labcfg, ["labconfig","labsettings","upstream_dns"]) +updns = getFromDict(labcfg, ["lab","racks",0,"dns"]) opnfvcfg["demo-maas"]["maas"]["settings"]["upstream_dns"]=updns -value = getFromDict(labcfg, ["labconfig","lab_location"]) +location = getFromDict(labcfg, ["lab","location"]) +rack = getFromDict(labcfg, ["lab","racks",0,"rack"]) +value=location+rack + opnfvcfg["demo-maas"]["maas"]["settings"]["maas_name"]=value opnfvcfg["demo-maas"]["maas"]["name"]="opnfv-"+value @@ -81,6 +87,8 @@ while c < len(labcfg["opnfv"]["spaces"]): ethbrAdmin = getFromDict(labcfg, ["opnfv","spaces",c,"bridge"]) brgway = getFromDict(labcfg, ["opnfv","spaces",c,"gateway"]) tmpcidr = brcidr[:-4] + opnfvlabcfg["opnfv"]["admNetwork"]=tmpcidr+"2" + opnfvlabcfg["opnfv"]["admNetgway"]=brgway nodegroup={"device": "eth"+str(y), "ip": tmpcidr+"5","subnet_mask": "255.255.255.0", \ "broadcast_ip": tmpcidr+"255", "router_ip": brgway,\ @@ -125,6 +133,7 @@ while c < len(labcfg["opnfv"]["spaces"]): y=y+1 if brtype == "public": opnfvcfg["demo-maas"]["juju-bootstrap"]["interfaces"].append("bridge="+brname+",model=virtio") + opnfvlabcfg["opnfv"]["publicNetwork"]=brcidr if brtype == "external": ipaddress = getFromDict(labcfg, ["opnfv","spaces",c,"ipaddress"]) ethbrAdm = (ethbrAdm+'\n' @@ -133,6 +142,10 @@ while c < len(labcfg["opnfv"]["spaces"]): ' address '+ipaddress+'\n' ' netmask 255.255.255.0\n') opnfvcfg["demo-maas"]["juju-bootstrap"]["interfaces"].append("bridge="+brname+",model=virtio") + if brtype == "data": + opnfvlabcfg["opnfv"]["dataNetwork"]=brcidr + if brtype == "storage": + opnfvlabcfg["opnfv"]["storageNetwork"]=brcidr c=c+1 @@ -142,35 +155,36 @@ value = "qemu+ssh://"+getpass.getuser()+"@"+value+"/system" opnfvcfg['demo-maas']['maas']['virsh']['uri']=value opnfvcfg['demo-maas']['maas']['network_config']=ethbrAdm -if len(labcfg["labconfig"]["nodes"]) < 1: +if len(labcfg["lab"]["racks"][0]["nodes"]) < 1: print("looks like virtual deployment where nodes were not defined") opnfvcfg["demo-maas"]["maas"]["nodes"].remove() exit() #lets insert the node details here: c=0 +ifnamelist=[] # -while c < len(labcfg["labconfig"]["nodes"]): +while c < len(labcfg["lab"]["racks"][0]["nodes"]): valuemac=[] y = 0 # setup value of name and tags accordigly - noderoleslist = labcfg["labconfig"]["nodes"][c]["roles"] + noderoleslist = labcfg["lab"]["racks"][0]["nodes"][c]["roles"] noderoles = " ".join(noderoleslist) - valuetype = getFromDict(labcfg, ["labconfig","nodes",c, "power", "type"]) - namevalue = labcfg["labconfig"]["nodes"][c]["name"] - valuearc = getFromDict(labcfg, ["labconfig","nodes",c, "architecture"]) + valuetype = getFromDict(labcfg, ["lab","racks",0,"nodes",c, "power", "type"]) + namevalue = labcfg["lab"]["racks"][0]["nodes"][c]["name"] + valuearc = getFromDict(labcfg, ["lab","racks",0,"nodes",c, "architecture"]) # setup value of architecture if valuearc == "x86_64": valuearc="amd64/generic" if valuetype == "wakeonlan": - macvalue = getFromDict(labcfg, ["labconfig","nodes",c, "power", "mac_address"]) + macvalue = getFromDict(labcfg, ["lab","racks",0,"nodes",c, "power", "mac_address"]) power={"type": "ether_wake", "mac_address": macvalue} if valuetype == "ipmi": - valueaddr = getFromDict(labcfg, ["labconfig","nodes",c, "power", "address"]) - valueuser = getFromDict(labcfg, ["labconfig","nodes",c, "power", "user"]) - valuepass = getFromDict(labcfg, ["labconfig","nodes",c, "power", "pass"]) + valueaddr = getFromDict(labcfg, ["lab","racks",0,"nodes",c, "power", "address"]) + valueuser = getFromDict(labcfg, ["lab","racks",0,"nodes",c, "power", "user"]) + valuepass = getFromDict(labcfg, ["lab","racks",0,"nodes",c, "power", "pass"]) valuedriver = "LAN_2_0" power={"type": valuetype, "address": valueaddr,"user": valueuser,\ "pass": valuepass, "driver": valuedriver} @@ -179,10 +193,13 @@ while c < len(labcfg["labconfig"]["nodes"]): "architecture":valuearc,"interfaces":[],"mac_addresses":[],\ "power":power,'tags':noderoles}) y = 0 - while y < len(labcfg["labconfig"]["nodes"][c]["nics"]): - valueifname = labcfg["labconfig"]["nodes"][c]["nics"][y]["ifname"] - valueifmac = labcfg["labconfig"]["nodes"][c]["nics"][y]["mac"][0] - valuemac += labcfg["labconfig"]["nodes"][c]["nics"][y]["mac"] + while y < len(labcfg["lab"]["racks"][0]["nodes"][c]["nics"]): + valuespaces = labcfg["lab"]["racks"][0]["nodes"][c]["nics"][y]["spaces"] + valueifname = labcfg["lab"]["racks"][0]["nodes"][c]["nics"][y]["ifname"] + if "admin" not in valuespaces: + ifnamelist += [valueifname] + valueifmac = labcfg["lab"]["racks"][0]["nodes"][c]["nics"][y]["mac"][0] + valuemac += labcfg["lab"]["racks"][0]["nodes"][c]["nics"][y]["mac"] opnfvcfg["demo-maas"]["maas"]["nodes"][c]["interfaces"]\ .append({"name":valueifname,"mac_address":valueifmac,"mode": "auto"}) @@ -193,6 +210,13 @@ while c < len(labcfg["labconfig"]["nodes"]): c=c+1 +opnfvlabcfg["opnfv"]["floating-ip-range"]=labcfg["lab"]["racks"][0]["floating-ip-range"] +opnfvlabcfg["opnfv"]["ext-port"]=labcfg["lab"]["racks"][0]["ext-port"] +opnfvlabcfg["opnfv"]["ceph-disk"]=labcfg["opnfv"]["storage"][0]["disk"] +opnfvlabcfg["opnfv"]["interface-enable"]=",".join(list(set(ifnamelist))) + with open('deployment.yaml', 'wa') as opnfvf: yaml.dump(opnfvcfg, opnfvf, default_flow_style=False) +with open('deployconfig.yaml', 'wa') as opnfvf: + yaml.dump(opnfvlabcfg, opnfvf, default_flow_style=False)