cleaning stuff up
Change-Id: Ib7e91c6e92b6f6b3c93f4d8ca5dcbfcf74f6c671
diff --git a/models/physical/chassis.go b/models/physical/chassis.go
index 3f050aa..8f60838 100644
--- a/models/physical/chassis.go
+++ b/models/physical/chassis.go
@@ -30,6 +30,14 @@
Dataswitch DataSwitch
Linecards []OLT
}
+type UnprovisionedSlotError struct {
+ CLLI string
+ SlotNumber int
+}
+
+func (e *UnprovisionedSlotError) Error() string {
+ return fmt.Sprintf("SlotNumber %d in Chassis %s is currently unprovsioned", e.SlotNumber, e.CLLI)
+}
/*
AddOLTChassis - adds a reference to a new olt chassis
@@ -43,3 +51,10 @@
//TODO - api call to provison s/c vlans and ont serial number etc
fmt.Printf("chassis.provisionONT(%s,SVlan:%d,CVlan:%d)\n", ont.SerialNumber, ont.Svlan, ont.Cvlan)
}
+func (chassis *Chassis) ActivateSlot(slotNumber int) error {
+ // AT&T backend systems start at 1 and not 0 :P
+ if chassis.Linecards[slotNumber-1] == nil {
+ return &UnprovisionedSlotError{CLLI: chassis.CLLI, SlotNumber: slotNumber}
+ }
+ return chassis.Linecards[slotNumber-1].activate()
+}
diff --git a/models/physical/olt.go b/models/physical/olt.go
index beffec8..121fdac 100644
--- a/models/physical/olt.go
+++ b/models/physical/olt.go
@@ -29,6 +29,7 @@
GetPorts() []PONPort
GetParent() *Chassis
GetDataSwitchPort() int
+ activate() error
}
/*
@@ -73,3 +74,8 @@
func (s *SimpleOLT) GetDataSwitchPort() int {
return s.DataSwitchPort
}
+func (s *SimpleOLT) activate() error {
+ s.Active = true
+ //TODO make call to XOS to activate phyiscal OLT
+ return nil
+}