[SEBA-742] Validating Tech-profile ID only if the subscriber is not pre-provision (same validation as onu_sn)
Change-Id: I0ff4fbc785f3a0d2e1f0c867e742ff982547a3f8
diff --git a/xos/synchronizer/models/models.py b/xos/synchronizer/models/models.py
index c80cb63..fd25d01 100755
--- a/xos/synchronizer/models/models.py
+++ b/xos/synchronizer/models/models.py
@@ -251,9 +251,9 @@
if not volt_service.has_access_device(self.onu_device):
raise XOSValidationError("The onu_device you specified (%s) does not exists" % self.onu_device)
- # validate that the tech_profile_id actually exists
- if not self.validate_tech_profile_id():
- raise XOSValidationError("The technology profile you specified [%s] does not exist" % self.tech_profile_id)
+ # if the access network is managed by voltha, validate that the tech_profile_id actually exists
+ if not self.validate_tech_profile_id():
+ raise XOSValidationError("The technology profile you specified [%s] does not exist" % self.tech_profile_id)
super(RCORDSubscriber, self).save(*args, **kwargs)
self.invalidate_related_objects()
diff --git a/xos/synchronizer/models/rcord.xproto b/xos/synchronizer/models/rcord.xproto
index e08cf34..847bc23 100644
--- a/xos/synchronizer/models/rcord.xproto
+++ b/xos/synchronizer/models/rcord.xproto
@@ -63,9 +63,9 @@
help_text = "Subscriber MAC Address",
max_length = 256];
required int32 tech_profile_id = 23 [
- help_text = "Technology profile id to be used along with Technology type to retreive the profile",
- min_value = 0,
- max_value = 65535];
+ help_text = "Technology profile id to be used along with Technology type to retreive the profile. Make sure that the profile ID specified exists for the technology this subscriber's OLT is using.",
+ min_value = 64,
+ max_value = 255];
// operator specific fields
optional string nas_port_id = 20 [