action.yml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. INSERTORUPDATE:
  2. action:
  3. - id: "1"
  4. name: "Enable OLT Service"
  5. workflow_name: "olt_workflow"
  6. object_class: "FTTHBundle\\Entity\\OLT"
  7. event: "a:1:{i:0;s:5:\"enter\";}"
  8. event_reference: "enabled"
  9. template: "#\r\n\r\npwd\r\ndate\r\n{% set session %}{% spaceless%} session{{object.id}} {% endspaceless%}{% endset %}\r\n{% set host = object.ip %}\r\n{% set user = object.sshUser %}\r\n{% set pass = object.sshPass %}\r\n\r\nphp /opt/ftth/bin/console template:render --name=tmux-session.sh --parameter=session:{{session}} --parameter=user:{{user}} --parameter=pass:{{pass}} --parameter=host:{{host}} --filename=/tmp/flowdat/templates/tmux-session-{{session}}.sh \r\n\r\nphp /opt/ftth/bin/console template:render --name=supervisor-tmux --parameter=session:{{session}} --parameter=user:{{user}} --parameter=pass:{{pass}} --parameter=host:{{host}} --filename=/tmp/flowdat/templates/{{session}}.conf \r\nscp -i /opt/keys/bitbucket.id_rsa -o StrictHostKeyChecking=no /tmp/flowdat/templates/{{session}}.conf root@supervisord:/etc/supervisord/conf.d/\r\n\r\nssh -i /opt/keys/bitbucket.id_rsa -o StrictHostKeyChecking=no root@supervisord mkdir -p /tmp/{{session}}/\r\n\r\nscp -i /opt/keys/bitbucket.id_rsa -o StrictHostKeyChecking=no /tmp/flowdat/templates/tmux-session-{{session}}.sh root@supervisord:/tmp/{{session}}/\r\n\r\nssh -i /opt/keys/bitbucket.id_rsa -o StrictHostKeyChecking=no root@supervisord supervisorctl -u iksop -p queRini6 reload\r\nrm /tmp/flowdat/templates/{{session}}.conf\r\nrm /tmp/flowdat/templates/tmux-session-{{session}}.sh"
  10. tenancy_id: "1"
  11. - id: "2"
  12. name: "Disable OLT Service"
  13. workflow_name: "olt_workflow"
  14. object_class: "FTTHBundle\\Entity\\OLT"
  15. event: "a:1:{i:0;s:5:\"enter\";}"
  16. event_reference: "disabled"
  17. template: "#\r\npwd\r\ndate\r\n{% set session %}{% spaceless%} session{{object.id}} {% endspaceless%}{% endset %}\r\n{% set host = object.ip %}\r\n{% set user = object.sshUser %}\r\n{% set pass = object.sshPass %}\r\n\r\nssh -i keys/bitbucket.id_rsa -o StrictHostKeyChecking=no root@supervisord rm -rf /tmp/{{session}}/ /etc/supervisord/conf.d/{{session}}.conf\r\nssh -i keys/bitbucket.id_rsa -o StrictHostKeyChecking=no root@supervisord supervisorctl -u iksop -p queRini6 reload"
  18. tenancy_id: "1"
  19. - id: "3"
  20. name: "add_whitelist"
  21. workflow_name: "onu_workflow"
  22. object_class: "FTTHBundle\\Entity\\ONU"
  23. event: "a:1:{i:0;s:10:\"transition\";}"
  24. event_reference: "add_whitelist"
  25. template: "{# add_whitelist #}"
  26. tenancy_id: "1"
  27. - id: "5"
  28. name: "add_wanservice"
  29. workflow_name: "add_wanservice"
  30. object_class: "FTTHBundle\\Entity\\ONU"
  31. event: "a:1:{i:0;s:10:\"transition\";}"
  32. event_reference: "add_wanservice"
  33. template: "{#add_wanservice#}"
  34. tenancy_id: "1"
  35. - id: "6"
  36. name: "port_bind"
  37. workflow_name: "onu_workflow"
  38. object_class: "FTTHBundle\\Entity\\ONU"
  39. event: "a:1:{i:0;s:10:\"transition\";}"
  40. event_reference: "port_bind"
  41. template: "{#port_bind#}"
  42. tenancy_id: "1"
  43. - id: "7"
  44. name: "ONU add config"
  45. workflow_name: "onu_workflow"
  46. object_class: "FTTHBundle\\Entity\\ONU"
  47. event: "a:1:{i:0;s:5:\"enter\";}"
  48. event_reference: "active"
  49. template: "{#add_config#}\r\n{% set address = object.ponSerialNumber|upper %}\r\n{% set slot = object.NAP.slot %} \r\n{% set link = object.NAP.link %} \r\n{% set onu = object.position %}\r\n\r\n{% set type = object.model.jsonExtraData.type %}\r\n{% set telnet_cmd = object.NAP.OLT.model.jsonExtraData.telnet_cmd %}\r\n\r\n{% set template = \"CONFIG-\" ~ object.NAP.OLT.model.jsonExtraData.model %}\r\necho $(pwd)\r\nmkdir -p templates/{{address}}/\r\n\r\necho Agregamos ONU FTTH : {{object.ponSerialNumber}}\r\n####################################################################################################\r\nphp /opt/ftth/bin/console template:render \\\r\n --name=\"{{template}}\" \\\r\n --parameter=\"address:{{address}}\" \\\r\n --parameter=\"slot:{{slot}}\" \\\r\n --parameter=\"link:{{link}}\" \\\r\n --parameter=\"onu:{{onu}}\" \\\r\n --parameter=\"type:{{type}}\" \\\r\n --parameter=\"desc:{{type}}\" \\\r\n --parameter=\"service_port_data:{{object.profile.jsonExtraData.service_port_data}}\" \\\r\n --parameter=\"service_port_voip:{{object.profile.jsonExtraData.service_port_voip}}\" \\\r\n --filename=$(pwd)/templates/{{address}}/full.txt \r\n\r\ncat templates/{{address}}/full.txt\r\n####################################################################################################\r\n\r\necho >> templates/{{address}}/full.txt\r\ncat templates/{{address}}/full.txt | ssh -i /opt/ftth/keys/bitbucket.id_rsa -o StrictHostKeyChecking=no root@supervisord python {{ telnet_cmd }} {{object.olt.sshUser}} {{object.olt.sshPass}} {{object.olt.ip}}"
  50. tenancy_id: "1"
  51. - id: "9"
  52. name: "Onu remove config"
  53. workflow_name: "onu_workflow"
  54. object_class: "FTTHBundle\\Entity\\ONU"
  55. event: "a:1:{i:0;s:5:\"enter\";}"
  56. event_reference: "disable"
  57. template: "{#add_config#}\r\n\r\n{% set slot = object.NAP.slot %} \r\n{% set link = object.NAP.link %} \r\n{% set onu = object.position %}\r\n\r\n{% set type = object.model.jsonExtraData.type %}\r\n{% set telnet_cmd = object.NAP.OLT.model.jsonExtraData.telnet_cmd %}\r\n\r\n{% set template = \"DEL-\" ~ object.NAP.OLT.model.jsonExtraData.model %}\r\n\r\n{% set address = object.ponSerialNumber|upper %}\r\n\r\nmkdir -p /tmp/flowdat/templates/{{address}}/\r\nmkdir -p templates/{{address}}/\r\n\r\necho Borramos la config ONU FTTH : {{object.ponSerialNumber}}\r\n####################################################################################################\r\necho 'Generamos los comandos para el del white list (del_white_list.txt)'\r\nphp /opt/ftth/bin/console template:render --name=\"{{template}}\" \\\r\n --parameter=\"address:{{address}}\" \\\r\n --parameter=\"slot:{{slot}}\" \\\r\n --parameter=\"link:{{link}}\" \\\r\n --parameter=\"onu:{{onu}}\" \\\r\n --parameter=\"type:{{type}}\" \\\r\n --parameter=\"desc:{{type}}\" \\\r\n --parameter=\"service_port_data:{{object.profile.jsonExtraData.service_port_data}}\" \\\r\n --parameter=\"service_port_voip:{{object.profile.jsonExtraData.service_port_voip}}\" \\\r\n --filename=$(pwd)/templates/{{address}}/del_white_list.txt \r\n\r\ncat $(pwd)/templates/{{address}}/del_white_list.txt\r\necho\r\n\r\ncat templates/{{address}}/del_white_list.txt | ssh -i /opt/ftth/keys/bitbucket.id_rsa -o StrictHostKeyChecking=no root@supervisord python {{telnet_cmd}} {{object.olt.sshUser}} {{object.olt.sshPass}} {{object.olt.ip}}"
  58. tenancy_id: "1"
  59. - id: "10"
  60. name: "Crear Acceso Radius"
  61. workflow_name: "onu_workflow"
  62. object_class: "FTTHBundle\\Entity\\ONU"
  63. event: "a:1:{i:0;s:5:\"enter\";}"
  64. event_reference: "active"
  65. template: "{% set address = object.ponSerialNumber %}\r\n{% set slot = object.NAP.jsonExtraData.slot %} \r\n{%set link = object.NAP.jsonExtraData.link %} \r\n\r\n \r\necho \"{\" > radcheck.json\r\necho \" \\\"check\\\": [], \" >> radcheck.json\r\necho \" \\\"reply\\\": [],\" >> radcheck.json\r\necho \" \\\"group\\\": {\" >> radcheck.json\r\necho \" \\\"check\\\": [], \" >> radcheck.json\r\necho \" \\\"reply\\\": [\" >> radcheck.json\r\n\r\necho \" {\\\"name\\\": \\\"Service-Type\\\", \\\"value\\\":\\\"Framed\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-Protocol\\\", \\\"value\\\": \\\"PPP\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-IP-Address\\\", \\\"value\\\":\\\"255.255.255.254\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-IP-Netmask\\\", \\\"value\\\": \\\"255.255.255.255\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-Routing\\\", \\\"value\\\": \\\"None\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Filter-Id\\\", \\\"value\\\": \\\"{{object.Profile.getRadiusName}}\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-MTU\\\", \\\"value\\\":1500},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Mikrotik-Rate-Limit\\\", \\\"value\\\":\\\"{{object.Profile.UploadAsK}}/{{object.Profile.DownloadAsK}}\\\"}, \" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Idle-Timeout\\\", \\\"value\\\": \\\"600\\\"}\" >> radcheck.json\r\n\r\necho \" ],\" >> radcheck.json\r\necho \" \\\"name\\\": \\\"{{object.Profile.getRadiusName}}\\\"\" >> radcheck.json\r\necho \" },\" >> radcheck.json\r\necho \" \\\"password\\\": \\\"{{object.ponSerialNumber|lower}}\\\",\" >> radcheck.json\r\n\r\necho \" \\\"user\\\": \\\"{{object.ponSerialNumber|lower}}\\\"\" >> radcheck.json\r\necho \"}\" >> radcheck.json\r\n\r\ncat radcheck.json\r\n\r\n/opt/json-wsdl/console wsdl:op \"http://freeradius/radius.php?class=AccessServiceManager&wsdl\" addRadiusRecord radcheck.json"
  66. tenancy_id: "1"
  67. - id: "11"
  68. name: "Suspender FTTH"
  69. workflow_name: "administrative_state"
  70. object_class: "FTTHBundle\\Entity\\ONU"
  71. event: "a:1:{i:0;s:5:\"enter\";}"
  72. event_reference: "suspend"
  73. template: "echo {{object.ponSerialNumber}} Suspender FTTH\r\nphp /opt/ftth/bin/console workflow:apply --entity=FTTHBundle\\\\Entity\\\\ONU --id={{object.id}} --workflow=onu_workflow --transition=\"disable\""
  74. tenancy_id: "1"
  75. - id: "12"
  76. name: "Activar Ftth"
  77. workflow_name: "administrative_state"
  78. object_class: "FTTHBundle\\Entity\\ONU"
  79. event: "a:1:{i:0;s:5:\"enter\";}"
  80. event_reference: "active"
  81. template: "echo {{object.ponSerialNumber}} Activado\r\nphp /opt/ftth/bin/console workflow:apply --entity=FTTHBundle\\\\Entity\\\\ONU --id={{object.id}} --workflow=onu_workflow --transition=\"enable\""
  82. tenancy_id: "1"
  83. - id: "13"
  84. name: "Borrar Radius Config"
  85. workflow_name: "onu_workflow"
  86. object_class: "FTTHBundle\\Entity\\ONU"
  87. event: "a:1:{i:0;s:5:\"enter\";}"
  88. event_reference: "disable"
  89. template: "{% set address = object.ponSerialNumber %}\r\n{% set slot = object.NAP.jsonExtraData.slot %} \r\n{%set link = object.NAP.jsonExtraData.link %} \r\n\r\n \r\necho \"{\" > radcheck.json\r\necho \" \\\"check\\\": [], \" >> radcheck.json\r\necho \" \\\"reply\\\": [],\" >> radcheck.json\r\necho \" \\\"group\\\": {\" >> radcheck.json\r\necho \" \\\"check\\\": [], \" >> radcheck.json\r\necho \" \\\"reply\\\": [\" >> radcheck.json\r\n\r\necho \" {\\\"name\\\": \\\"Service-Type\\\", \\\"value\\\":\\\"Framed\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-Protocol\\\", \\\"value\\\": \\\"PPP\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-IP-Address\\\", \\\"value\\\":\\\"255.255.255.254\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-IP-Netmask\\\", \\\"value\\\": \\\"255.255.255.255\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-Routing\\\", \\\"value\\\": \\\"None\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Filter-Id\\\", \\\"value\\\": \\\"{{object.Profile.getRadiusName}}\\\"},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Framed-MTU\\\", \\\"value\\\":1500},\" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Mikrotik-Rate-Limit\\\", \\\"value\\\":\\\"{{object.Profile.UploadAsK}}/{{object.Profile.DownloadAsK}}\\\"}, \" >> radcheck.json\r\necho \" {\\\"name\\\": \\\"Idle-Timeout\\\", \\\"value\\\": \\\"600\\\"}\" >> radcheck.json\r\n\r\necho \" ],\" >> radcheck.json\r\necho \" \\\"name\\\": \\\"{{object.Profile.getRadiusName}}\\\"\" >> radcheck.json\r\necho \" },\" >> radcheck.json\r\necho \" \\\"password\\\": \\\"{{object.ponSerialNumber|lower}}\\\",\" >> radcheck.json\r\n\r\necho \" \\\"user\\\": \\\"{{object.ponSerialNumber|lower}}\\\"\" >> radcheck.json\r\necho \"}\" >> radcheck.json\r\n\r\ncat radcheck.json\r\n\r\n/opt/json-wsdl/console wsdl:op \"http://freeradius/radius.php?class=AccessServiceManager&wsdl\" deleteRadiusRecord radcheck.json"
  90. tenancy_id: "1"
  91. - id: "14"
  92. name: "Config on Create/Update"
  93. workflow_name: "NULL"
  94. object_class: "FTTHBundle\\Entity\\ONU"
  95. event: "a:2:{i:0;s:11:\"postPersist\";i:1;s:10:\"postUpdate\";}"
  96. event_reference: "NULL"
  97. template: "echo \"{{object.ponSerialNumber}} Config on Create/Update (postPersist / PostUpdate)\"\r\nphp /opt/ftth/bin/console workflow:apply --entity=FTTHBundle\\\\Entity\\\\ONU --id={{object.id}} --workflow=onu_workflow --transition=\"add_config\""
  98. tenancy_id: "1"
  99. - id: "15"
  100. name: "Disable on delete"
  101. workflow_name: "NULL"
  102. object_class: "FTTHBundle\\Entity\\ONU"
  103. event: "a:1:{i:0;s:9:\"preRemove\";}"
  104. event_reference: "NULL"
  105. template: "echo {{object.ponSerialNumber}} Suspendido\r\nphp /opt/ftth/bin/console workflow:apply --no-filters --entity=FTTHBundle\\\\Entity\\\\ONU --id={{object.id}} --workflow=onu_workflow --transition=\"disable\""
  106. tenancy_id: "1"