SEBA-542 Basic scaffolding for TT Workflow Driver service
Change-Id: Ia88a4d22f40b45299bb35e7bc5600cccbc453873
diff --git a/xos/synchronizer/models/tt-workflow-driver.xproto b/xos/synchronizer/models/tt-workflow-driver.xproto
new file mode 100644
index 0000000..2b6c889
--- /dev/null
+++ b/xos/synchronizer/models/tt-workflow-driver.xproto
@@ -0,0 +1,69 @@
+option name = "tt-workflow-driver";
+option app_label = "tt-workflow-driver";
+
+message TtWorkflowDriverService (Service){
+ option verbose_name = "TtWorkflowDriver Service";
+ option kind = "control";
+ option description = "Service that manages the Turk Telekom Subscriber workflow";
+}
+
+message TtWorkflowDriverServiceInstance (ServiceInstance){
+ option owner_class_name = "TtWorkflowDriverService";
+ option verbose_name = "TtWorkflowDriver Service Instance";
+ option description = "Workflow settings for a particular ONU Device";
+
+ required string serial_number = 2 [
+ help_text = "Serial number of ONU",
+ max_length = 254,
+ tosca_key=True,
+ unique = True];
+ required string of_dpid = 4 [
+ help_text = "OLT Openflow ID",
+ max_length = 254];
+ required int32 uni_port_id = 5 [
+ help_text = "ONU UNI port ID"];
+ required string onu_state = 6 [
+ help_text = "ONU administrative state",
+ choices = "(('AWAITING', 'Awaiting'), ('ENABLED', 'Enabled'), ('DISABLED', 'Disabled'))",
+ default = "AWAITING",
+ feedback_state = True,
+ max_length = 254];
+ optional string status_message = 7 [
+ help_text = "Status text of current state machine state",
+ default = "",
+ max_length = 254];
+ required string dhcp_state = 8 [
+ max_length = 254,
+ default = "AWAITING",
+ choices = "(('AWAITING', 'Awaiting'), ('DHCPDISCOVER', 'DHCPDISCOVER'), ('DHCPACK', 'DHCPACK'), ('DHCPREQUEST', 'DHCPREQUEST'))",
+ feedback_state = True];
+ optional string ip_address = 9 [
+ help_text = "Management IP address, learned from DHCP",
+ feedback_state = True,
+ max_length = 20];
+ optional string mac_address = 10 [
+ help_text = "Management MAC address, leanred from DHCP",
+ feedback_state = True,
+ max_length = 20];
+}
+
+message TtWorkflowDriverWhiteListEntry (XOSBase) {
+ option verbose_name = "ONU Whitelist";
+ option plural = "ttworkflowdriverwhitelistentries";
+ option description = "White list entry that permits an ONU with a particular serial number on a particular OLT and PON";
+
+ required manytoone owner->TtWorkflowDriverService:whitelist_entries = 1:1001 [
+ help_text = "TtWorkflowDriverService that owns this white list entry",
+ db_index = True,
+ tosca_key = True];
+ required string serial_number = 2 [
+ help_text = "ONU Serial Number",
+ max_length = 254,
+ tosca_key = True,
+ unique_with = "owner"];
+ required int32 pon_port_id = 3 [
+ help_text = "PON Port on which this ONU is expected to show up"];
+ required string device_id = 4 [
+ help_text = "OLT Device (logical device id) on which this ONU is expected to show up",
+ max_length = 54];
+}