Skip to content

Commit 53a8079

Browse files
author
Fawad Khaliq
committed
Fix the routine to update network metadata
1 parent b5cfad1 commit 53a8079

2 files changed

Lines changed: 33 additions & 35 deletions

File tree

plugin/driver/driver.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,7 @@ func (driver *driver) createNetwork(w http.ResponseWriter, r *http.Request) {
139139
neName := create.Options[netlabel.GenericData].(map[string]interface{})["bridge"]
140140

141141
if neName != nil {
142-
neID := GetNeId(neName.(string), domainid.(string))
143-
AddNetworkInfo(create.NetworkID, neID)
142+
AddNetworkInfo(create.NetworkID, neName.(string), domainid.(string))
144143
AddGatewayInfo(create.NetworkID, domainid.(string), gatewayip)
145144
emptyResponse(w)
146145

plugin/driver/pg_helper.go

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -77,25 +77,24 @@ func BridgeDelete(ID string, domainid string) {
7777
RestCall("DELETE", url, nil)
7878
}
7979

80-
func AddNetworkInfo(dNetwork string, neID string) {
81-
82-
url := "/0/connectivity/domain?configonly=true&level=3"
83-
body, _ := RestCall("GET", url, nil)
84-
var domain_data map[string]interface{}
85-
err := json.Unmarshal([]byte(body), &domain_data)
86-
if err != nil {
87-
panic(err)
88-
}
89-
for domains, domain_val := range domain_data {
90-
if nes, ok := domain_val.(map[string]interface{})["ne"]; ok {
91-
if ne, ok := nes.(map[string]interface{})[neID]; ok {
92-
ne.(map[string]interface{})["metadata"] = dNetwork
93-
ne_data, _ := json.Marshal(ne)
94-
RestCall("PUT", "/0/connectivity/domain/"+domains+"/ne/"+neID, ne_data)
95-
break
96-
}
97-
}
98-
}
80+
func AddNetworkInfo(dNetwork string, neName string, domain string) {
81+
id := GetNeId(neName, domain)
82+
var neId string
83+
if id == "" {
84+
neId = neName
85+
} else {
86+
neId = id
87+
}
88+
url := "/0/connectivity/domain/" + domain + "/ne/" + neId
89+
body, _ := RestCall("GET", url+"?configonly=true", nil)
90+
var netData map[string]interface{}
91+
err := json.Unmarshal([]byte(body), &netData)
92+
if err != nil {
93+
panic(err)
94+
}
95+
netData["metadata"] = dNetwork
96+
finalData, _ := json.Marshal(netData)
97+
RestCall("PUT", url, finalData)
9998
}
10099

101100
func FindDomainFromNetwork(ID string) (domainid string, netid string) {
@@ -222,20 +221,20 @@ func DomainDelete(domainID string) {
222221

223222
func GetNeId(NeName string, DomainID string) (NeID string) {
224223

225-
url := "/0/connectivity/domain/" + DomainID + "/ne?configonly=true&level=1"
226-
body, _ := RestCall("GET", url, nil)
227-
var ne_data map[string]interface{}
228-
err := json.Unmarshal([]byte(body), &ne_data)
229-
if err != nil {
230-
panic(err)
231-
}
232-
for nes, ne_val := range ne_data {
233-
if ne_val.(map[string]interface{})["ne_dname"] == NeName {
234-
NeID = nes
235-
break
236-
}
237-
}
238-
return
224+
url := "/0/connectivity/domain/" + DomainID + "/ne?configonly=true&level=1"
225+
body, _ := RestCall("GET", url, nil)
226+
var ne_data map[string]interface{}
227+
err := json.Unmarshal([]byte(body), &ne_data)
228+
if err != nil {
229+
panic(err)
230+
}
231+
for nes, ne_val := range ne_data {
232+
if ne_val.(map[string]interface{})["ne_dname"] == NeName {
233+
NeID = nes
234+
return NeID
235+
}
236+
}
237+
return ""
239238
}
240239

241240
func CreateNetworkLink(NeName string, DomainID string, NetworkID string, IP string, Netmask string) {

0 commit comments

Comments
 (0)