Skip to content

Commit

Permalink
global oper state
Browse files Browse the repository at this point in the history
  • Loading branch information
Vipin Jain committed Jun 9, 2016
1 parent 018d768 commit bbba353
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 0 deletions.
11 changes: 11 additions & 0 deletions client/contivModelClient.go
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,19 @@ type Global struct {

}

type GlobalOper struct {
DefaultNetwork string `json:"defaultNetwork,omitempty"` //
FreeVXLANsStart int `json:"freeVXLANsStart,omitempty"` //
NumNetworks int `json:"numNetworks,omitempty"` //
VlansInUse string `json:"vlansInUse,omitempty"` //
VxlansInUse string `json:"vxlansInUse,omitempty"` //

}

type GlobalInspect struct {
Config Global

Oper GlobalOper
}

type Network struct {
Expand Down
35 changes: 35 additions & 0 deletions contivModel.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,19 @@ type Global struct {

}

type GlobalOper struct {
DefaultNetwork string `json:"defaultNetwork,omitempty"` //
FreeVXLANsStart int `json:"freeVXLANsStart,omitempty"` //
NumNetworks int `json:"numNetworks,omitempty"` //
VlansInUse string `json:"vlansInUse,omitempty"` //
VxlansInUse string `json:"vxlansInUse,omitempty"` //

}

type GlobalInspect struct {
Config Global

Oper GlobalOper
}
type Network struct {
// every object has a key
Expand Down Expand Up @@ -367,6 +378,7 @@ type ExtContractsGroupCallbacks interface {
}

type GlobalCallbacks interface {
GlobalGetOper(global *GlobalInspect) error
GlobalCreate(global *Global) error
GlobalUpdate(global, params *Global) error
GlobalDelete(global *Global) error
Expand Down Expand Up @@ -1843,10 +1855,33 @@ func httpInspectGlobal(w http.ResponseWriter, r *http.Request, vars map[string]s
}
obj.Config = *objConfig

if err := GetOperGlobal(&obj); err != nil {
log.Errorf("GetGlobal error for: %+v. Err: %v", obj, err)
return nil, err
}

// Return the obj
return &obj, nil
}

// Get a globalOper object
func GetOperGlobal(obj *GlobalInspect) error {
// Check if we handle this object
if objCallbackHandler.GlobalCb == nil {
log.Errorf("No callback registered for global object")
return errors.New("Invalid object type")
}

// Perform callback
err := objCallbackHandler.GlobalCb.GlobalGetOper(obj)
if err != nil {
log.Errorf("GlobalDelete retruned error for: %+v. Err: %v", obj, err)
return err
}

return nil
}

// CREATE REST call
func httpCreateGlobal(w http.ResponseWriter, r *http.Request, vars map[string]string) (interface{}, error) {
log.Debugf("Received httpGetGlobal: %+v", vars)
Expand Down
17 changes: 17 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,23 @@
"title": "Allwed vxlan range",
"format": "^([0-9]{1,8}?-[0-9]{1,8}?)$"
}
},
"operProperties": {
"numNetworks": {
"type": "int"
},
"defaultNetwork": {
"type": "string"
},
"vlansInUse": {
"type": "string"
},
"vxlansInUse": {
"type": "string"
},
"freeVXLANsStart": {
"type": "int"
}
}
}
]
Expand Down

0 comments on commit bbba353

Please sign in to comment.