playbook.yml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. ---
  2. - name: Implementation parameters
  3. hosts: 127.0.0.1
  4. connection: local
  5. tasks:
  6. - name: Parameters for base
  7. command: "cp /home/gabriel/dev/dind/installer/tools/galvez/base/app/config/parameters.yml.docker /home/gabriel/dev/dind/installer/tools/galvez/base/app/config/parameters.yml"
  8. - name: "Parameters"
  9. command: "cp /home/gabriel/dev/dind/installer/tools/galvez/{{ item }}/app/config/parameters.yml.docker /home/gabriel/dev/dind/installer/tools/galvez/{{ item }}/app/config/parameters.yml"
  10. with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
  11. - name: Launch docker for mysql database. Tag=start_mysql
  12. hosts: 127.0.0.1
  13. connection: local
  14. tags: start_mysql
  15. tasks:
  16. - name: Docker mysql up
  17. command: "docker-compose up -d mysql"
  18. - name: Configure mysql database. Tag=configure_mysql
  19. hosts: mysql
  20. connection: docker
  21. tags: configure_mysql
  22. tasks:
  23. - name: Wait for mysql be ready
  24. wait_for:
  25. host: 127.0.0.1
  26. port: 3306
  27. state: started
  28. delay: 5
  29. connect_timeout: 15
  30. timeout: 360
  31. - name: Create database base
  32. mysql_db:
  33. name: fd3_base
  34. login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
  35. state: present
  36. - name: Create database ftth
  37. mysql_db:
  38. name: fd3_ftth
  39. login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
  40. state: present
  41. - name: Create database mapas
  42. mysql_db:
  43. name: fd3_mapas
  44. login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
  45. state: present
  46. - name: Create database stats
  47. mysql_db:
  48. name: fd3_stats
  49. login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
  50. state: present
  51. - name: Create user iksop
  52. mysql_user:
  53. name: 'iksop'
  54. password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
  55. login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
  56. priv: '*.*:ALL'
  57. state: present
  58. - name: Launch docker for module base. Tag=start_base
  59. hosts: 127.0.0.1
  60. connection: local
  61. tags: start_base
  62. tasks:
  63. - name: Docker base up
  64. command: "docker-compose up -d base"
  65. - name: Configure module base. Tag=configure_base
  66. hosts: base
  67. connection: docker
  68. tags: configure_base
  69. vars:
  70. uris: ""
  71. tasks:
  72. - name: "Wait for autoload_classmap.php. Timeout: 10 minutes"
  73. wait_for:
  74. path: /opt/base/vendor/composer/autoload_classmap.php
  75. state: present
  76. sleep: 30
  77. timeout: 600
  78. - name: "Wait for finished the process cache:clear"
  79. pause:
  80. minutes: 1
  81. - name: Doctrine schema update
  82. shell: "bin/console doctrine:schema:update --force"
  83. - name: Load redirections
  84. set_fact:
  85. uris: "{{ uris }} --redirect_uri=http://{{ item }}.{{ lookup('env', 'DOMAIN') }}.flowdat.com/login_check"
  86. with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
  87. - name: Sacar el update de ik, el base no tiene esta version del oauth
  88. shell: "eval $(ssh-agent);ssh-add /opt/keys/bitbucket.id_rsa;composer update ik/*"
  89. args:
  90. executable: /bin/bash
  91. - name: Create oauth client
  92. shell: "bin/console oauth:client:createRedirects {{ uris }} > oauth.data.log"
  93. args:
  94. executable: /bin/bash
  95. - name: Copy file oauth.data.log to host
  96. fetch:
  97. src: /opt/base/oauth.data.log
  98. dest: /tmp/
  99. - name: Configure oauth data for other container. Tag=configure_oauth
  100. hosts: 127.0.0.1
  101. connection: local
  102. tags: configure_oauth
  103. tasks:
  104. - name: "Add outh client id"
  105. shell: "cp /tmp/{{ lookup('env', 'DOMAIN') }}_base_1/opt/base/oauth.data.log {{ item }}.oauth.env"
  106. args:
  107. executable: /bin/bash
  108. with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
  109. - name: "Launch docker's. Tag=launch_dockers"
  110. hosts: 127.0.0.1
  111. connection: local
  112. tags: launch_dockers
  113. tasks:
  114. - name: "Dockers up"
  115. command: "docker-compose up -d {{ item }}"
  116. with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
  117. - name: "Run modules. Timeout: 10 minutes. Tag=run_modules"
  118. hosts: "{{ lookup('env', 'MODULES_INSTALL') }}"
  119. connection: docker
  120. tags: run_modules
  121. tasks:
  122. - name: "Docker's schema update"
  123. wait_for:
  124. path: "./vendor/composer/autoload_classmap.php"
  125. #path: "/opt/{{ play_hosts }}/vendor/composer/autoload_classmap.php"
  126. state: present
  127. sleep: 30
  128. timeout: 600
  129. - name: "Run doctrine:schema:update for modules. Tag=dsu_modules"
  130. hosts: "{{ lookup('env', 'MODULES_INSTALL') }}"
  131. connection: docker
  132. tags: dsu_modules
  133. tasks:
  134. - name: "Doctrine schema update"
  135. shell: "bin/console doctrine:schema:update --force'"