ansible/roles/workflow-engine/tasks/main.yml (95 lines of code) (raw):

- name: Create Worfkflow deployment directory {{ workflow_deployment_dir }} become: yes file: path={{ workflow_deployment_dir }} state=directory mode=0755 owner={{ user }} group={{ group }} - name: git checkout from Datalake github repo {{ datalake_repo }} branch {{ datalake_git_branch }} git: repo="{{ datalake_repo }}" dest="{{ datalake_source_dir }}" version="{{ datalake_git_branch }}" register: checkout tags: update become: yes become_user: "{{ user }}" - name: open firewall ports for Workflow Engine firewalld: zone: public permanent: yes state: enabled immediate: yes rich_rule: rule family=ipv4 source address="{{ item }}" port port="{{ workflow_manager_grpc_port }}" protocol=tcp accept become: yes with_items: - "{{ sharing_subnets }}" - name: Run Datalake maven build command: mvn clean install -Dmaven.test.skip=true chdir="{{ datalake_source_dir }}/" environment: MAVEN_OPTS: "-Xmx2048m" register: build tags: update become: yes become_user: "{{ user }}" - name: Stop wf-controller command: systemctl daemon-reload notify: stop wf-controller become: yes - name: Stop wf-manager command: systemctl daemon-reload notify: stop wf-manager become: yes - name: Stop wf-worker command: systemctl daemon-reload notify: stop wf-worker become: yes - name: Delete lib directories of the distributions file: state: absent path: "{{ workflow_deployment_dir }}/{{ item }}" with_items: - "WF-Manager-{{datalake_distribution_version}}/lib" - "WF-Controller-{{datalake_distribution_version}}/lib" - "WF-Worker-{{datalake_distribution_version}}/lib" become: yes become_user: "{{ user }}" ignore_errors: yes - name: Copy Workflow distributions to Workflow deployment directory unarchive: "src={{ datalake_source_dir }}/{{ item }} dest={{ workflow_deployment_dir }}/ copy=no" with_items: - "data-orchestrator/workflow-engine/datasync-workflow-manager/target/WF-Manager-{{datalake_distribution_version}}-bin.zip" - "data-orchestrator/workflow-engine/workflow-engine-controller/target/WF-Controller-{{datalake_distribution_version}}-bin.zip" - "data-orchestrator/workflow-engine/workflow-engine-worker/target/WF-Worker-{{datalake_distribution_version}}-bin.zip" become: yes become_user: "{{ user }}" - name: Copy Workflow Engine property files template: "src={{ item.name }} dest={{ workflow_deployment_dir }}/{{ item.dir }}/conf/{{ item.target }} owner={{ user }} group={{ group }} mode=\"u=rw,g=r,o=r\"" with_items: - { name: wf-manager/application.properties.j2, dir: "WF-Manager-{{datalake_distribution_version}}", target: application.properties} - { name: wf-controller/application.properties.j2, dir: "WF-Controller-{{datalake_distribution_version}}", target: application.properties } - { name: wf-worker/application.properties.j2, dir: "WF-Worker-{{datalake_distribution_version}}", target: application.properties } become: yes become_user: "{{ user }}" - name: Start wf-controller command: systemctl daemon-reload notify: start wf-controller become: yes - name: Start wf-manager command: systemctl daemon-reload notify: start wf-manager become: yes - name: Start wf-worker command: systemctl daemon-reload notify: start wf-worker become: yes