[SEBA-351] Adding bandwidth profiles to the Subscriber and setting up a default one
Change-Id: Ib4c66652e5b6da24e08509805cd189bb090375d7
diff --git a/xos/synchronizer/models/models.py b/xos/synchronizer/models/models.py
index a9fbace..aa859ea 100644
--- a/xos/synchronizer/models/models.py
+++ b/xos/synchronizer/models/models.py
@@ -17,7 +17,11 @@
import random
from xos.exceptions import XOSValidationError, XOSProgrammingError, XOSPermissionDenied
-from models_decl import RCORDService_decl, RCORDSubscriber_decl, RCORDIpAddress_decl
+from models_decl import RCORDService_decl, RCORDSubscriber_decl, RCORDIpAddress_decl, BandwidthProfile_decl
+
+class BandwidthProfile(BandwidthProfile_decl):
+ class Meta:
+ proxy = True
class RCORDService(RCORDService_decl):
class Meta:
diff --git a/xos/synchronizer/models/rcord.xproto b/xos/synchronizer/models/rcord.xproto
index 13df2f6..0e84d0f 100644
--- a/xos/synchronizer/models/rcord.xproto
+++ b/xos/synchronizer/models/rcord.xproto
@@ -12,6 +12,19 @@
max_length = 30];
}
+message BandwidthProfile(XOSBase) {
+ option verbose_name = "Bandwidth Profile";
+ option description = "The Bandwidth Profile assinged to a residential subscriber";
+
+ // TODO add help_text
+ required string name = 3;
+ required int32 cir = 4;
+ required int32 cbs = 5;
+ required int32 eir = 6;
+ required int32 ebs = 7;
+ required int32 air = 8;
+}
+
message RCORDSubscriber (ServiceInstance) {
option kind = "RCORDSubscriber";
option verbose_name = "RCORD Subscriber";
@@ -50,6 +63,11 @@
help_text = "Option 82 Circuit ID for DHCP relay agent"];
optional string remote_id = 22 [
help_text = "Option 82 Remote ID for DHCP relay agent"];
+
+ required manytoone upstream_bps->BandwidthProfile:us_subscriber = 31:1001 [
+ help_text = "The subscriber the IP address belongs to"];
+ required manytoone downstream_bps->BandwidthProfile:ds_subscriber = 32:1002 [
+ help_text = "The subscriber the IP address belongs to"];
}
message RCORDIpAddress(XOSBase) {