@@ -78,23 +78,23 @@ func BridgeDelete(ID string, domainid string) {
7878}
7979
8080func 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 )
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 )
9898}
9999
100100func FindDomainFromNetwork (ID string ) (domainid string , netid string ) {
@@ -222,20 +222,20 @@ func DomainDelete(domainID string) {
222222
223223func GetNeId (NeName string , DomainID string ) (NeID string ) {
224224
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- return NeID
236- }
237- }
238- return ""
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+ return NeID
236+ }
237+ }
238+ return ""
239239}
240240
241241func CreateNetworkLink (NeName string , DomainID string , NetworkID string , IP string , Netmask string ) {
@@ -384,3 +384,28 @@ func RemoveMetaconfig(domainID string, netID string, endpointID string) {
384384 }
385385 }
386386}
387+
388+ func DeleteAttachedLB (DomainID string , NetworkID string ) {
389+
390+ url := "/0/connectivity/domain_prop/" + DomainID + "/ne"
391+ body , _ := RestCall ("GET" , url + "?configonly=true" , nil )
392+ var domain_data map [string ]interface {}
393+ err := json .Unmarshal ([]byte (body ), & domain_data )
394+ if err != nil {
395+ panic (err )
396+ }
397+ for a , b := range domain_data {
398+ if b .(map [string ]interface {})["ne_metadata" ] == "lbaas" {
399+ x := b .(map [string ]interface {})["prop" ].(map [string ]interface {})["vip" ].(map [string ]interface {})["hint" ]
400+ y := strings .Split (x .(string ), "," )
401+ for _ , z := range y {
402+ if strings .HasPrefix (z , "attachment" ) {
403+ if strings .HasSuffix (z , NetworkID ) {
404+ url = "/v0/vd/" + DomainID + "/lbaas/" + a
405+ RestCall ("DELETE" , url , nil )
406+ }
407+ }
408+ }
409+ }
410+ }
411+ }
0 commit comments