diff --git a/roles/phoebus_services_aa/tasks/dependencies.yml b/roles/phoebus_services_aa/tasks/dependencies.yml index addd8fa..dc0d64a 100644 --- a/roles/phoebus_services_aa/tasks/dependencies.yml +++ b/roles/phoebus_services_aa/tasks/dependencies.yml @@ -37,10 +37,10 @@ state: directory owner: "{{ epics_services_account }}" group: "{{ epics_services_account }}" - + - name: Download mysql-connector get_url: url: https://cdn.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.34.tar.gz dest: "{{ aa_dependencies_loc }}/mysql-connector-java-5.1.34.tar.gz" owner: "{{ epics_services_account }}" - group: "{{ epics_services_account }}" \ No newline at end of file + group: "{{ epics_services_account }}" diff --git a/roles/phoebus_services_aa/tasks/install_aa.yml b/roles/phoebus_services_aa/tasks/install_aa.yml index 6b5d229..7c44935 100644 --- a/roles/phoebus_services_aa/tasks/install_aa.yml +++ b/roles/phoebus_services_aa/tasks/install_aa.yml @@ -59,7 +59,7 @@ dest: "{{ aa_install_location }}/install_scripts/" owner: "{{ epics_services_account }}" group: "{{ epics_services_account }}" - + - name: setup mysql config script become: true template: @@ -67,15 +67,15 @@ dest: "{{ aa_install_location }}/install_scripts/" owner: "{{ epics_services_account }}" group: "{{ epics_services_account }}" - -- name: setup tomcat installation script + +- name: setup tomcat installation script template: src: deployMultipleTomcats.py dest: "{{ aa_install_location }}/install_scripts/" owner: "{{ epics_services_account }}" group: "{{ epics_services_account }}" -- name: setup conf files for installation +- name: setup conf files for installation become: true template: src: policies.py @@ -166,10 +166,10 @@ owner: "{{ epics_services_account }}" group: "{{ epics_services_account }}" loop: - - { name: 'mgmt', java_opts: '{{ aa_java_opts_mgmt }}' } - - { name: 'engine', java_opts: '{{ aa_java_opts_engine }}' } - - { name: 'etl', java_opts: '{{ aa_java_opts_etl }}' } - - { name: 'retrieval', java_opts: '{{ aa_java_opts_retrieval }}' } + - {name: 'mgmt', java_opts: '{{ aa_java_opts_mgmt }}'} + - {name: 'engine', java_opts: '{{ aa_java_opts_engine }}'} + - {name: 'etl', java_opts: '{{ aa_java_opts_etl }}'} + - {name: 'retrieval', java_opts: '{{ aa_java_opts_retrieval }}'} vars: aa_instance_name: "{{ item.name }}" aa_java_opts: "{{ item.java_opts }}" diff --git a/roles/phoebus_services_aa/tasks/main.yml b/roles/phoebus_services_aa/tasks/main.yml index 8a16cf3..968f449 100644 --- a/roles/phoebus_services_aa/tasks/main.yml +++ b/roles/phoebus_services_aa/tasks/main.yml @@ -7,7 +7,7 @@ # configure SSL certificates if enabled - ansible.builtin.include_tasks: configure_ssl.yml - when: aa_enable_ssl | bool + when: aa_enable_ssl | bool # build aa # TODO: replace with the use of prebuilt binaries diff --git a/roles/phoebus_services_kafka/defaults/main.yml b/roles/phoebus_services_kafka/defaults/main.yml index a43795b..63cbac8 100644 --- a/roles/phoebus_services_kafka/defaults/main.yml +++ b/roles/phoebus_services_kafka/defaults/main.yml @@ -17,7 +17,7 @@ phoebus_services_kafka_controller_port: 9093 phoebus_services_kafka_node_id: 1 # Example: ["1@10.0.1.11:9093", "2@10.0.1.12:9093", "3@10.0.1.13:9093"] phoebus_services_kafka_controller_quorum_voters: - - "1@localhost:9093" + - "1@localhost:9093" phoebus_services_kafka_cluster_id: "" phoebus_services_kafka_logs_path: "{{ phoebus_services_kafka_logs_dir }}/kafka-logs" diff --git a/roles/phoebus_services_recceiver/defaults/main.yml b/roles/phoebus_services_recceiver/defaults/main.yml index d128eaf..8a1125a 100644 --- a/roles/phoebus_services_recceiver/defaults/main.yml +++ b/roles/phoebus_services_recceiver/defaults/main.yml @@ -1,22 +1,22 @@ ---- -phoebus_services_recceiver_root: /opt/epics-tools/services/recceiver -phoebus_services_recceiver_account: csstudio - -phoebus_services_recceiver_repo_url: https://github.com/ChannelFinder/recceiver.git -phoebus_services_recceiver_repo_dest: "{{ phoebus_services_recceiver_root }}/source" -phoebus_services_recceiver_service_name: phoebus_services_recceiver -phoebus_services_recceiver_jar_name: recceiver.jar -phoebus_services_recceiver_jar: "{{ phoebus_services_recceiver_root }}/{{ phoebus_services_recceiver_jar_name }}" - -phoebus_services_recceiver_java_home: /opt/epics-tools/lib/jvm/jdk-21 -phoebus_services_recceiver_mvn_home: /opt/epics-tools/lib/apache-maven-3.9.9 - -phoebus_services_recceiver_bind_address: 0.0.0.0 -phoebus_services_recceiver_tcp_port: 5064 -phoebus_services_recceiver_procserv_port: 5065 -phoebus_services_recceiver_udp_broadcast_address: 255.255.255.255 -phoebus_services_recceiver_udp_broadcast_port: 5049 -phoebus_services_recceiver_announce_interval: 15.0 -phoebus_services_recceiver_tcp_timeout: 15.0 -phoebus_services_recceiver_read_buffer_size: 4096 -phoebus_services_recceiver_cf_service_url: http://localhost:9090/ChannelFinder +--- +phoebus_services_recceiver_root: /opt/epics-tools/services/recceiver +phoebus_services_recceiver_account: csstudio + +phoebus_services_recceiver_repo_url: https://github.com/ChannelFinder/recceiver.git +phoebus_services_recceiver_repo_dest: "{{ phoebus_services_recceiver_root }}/source" +phoebus_services_recceiver_service_name: phoebus_services_recceiver +phoebus_services_recceiver_jar_name: recceiver.jar +phoebus_services_recceiver_jar: "{{ phoebus_services_recceiver_root }}/{{ phoebus_services_recceiver_jar_name }}" + +phoebus_services_recceiver_java_home: /opt/epics-tools/lib/jvm/jdk-21 +phoebus_services_recceiver_mvn_home: /opt/epics-tools/lib/apache-maven-3.9.9 + +phoebus_services_recceiver_bind_address: 0.0.0.0 +phoebus_services_recceiver_tcp_port: 5064 +phoebus_services_recceiver_procserv_port: 5065 +phoebus_services_recceiver_udp_broadcast_address: 255.255.255.255 +phoebus_services_recceiver_udp_broadcast_port: 5049 +phoebus_services_recceiver_announce_interval: 15.0 +phoebus_services_recceiver_tcp_timeout: 15.0 +phoebus_services_recceiver_read_buffer_size: 4096 +phoebus_services_recceiver_cf_service_url: http://localhost:9090/ChannelFinder diff --git a/roles/phoebus_services_recceiver/meta/main.yml b/roles/phoebus_services_recceiver/meta/main.yml index d9692ab..33f46bc 100644 --- a/roles/phoebus_services_recceiver/meta/main.yml +++ b/roles/phoebus_services_recceiver/meta/main.yml @@ -1,4 +1,4 @@ ---- -allow_duplicates: true -dependencies: - - role: phoebus_dependencies +--- +allow_duplicates: true +dependencies: + - role: phoebus_dependencies diff --git a/roles/phoebus_services_recceiver/tasks/main.yml b/roles/phoebus_services_recceiver/tasks/main.yml index 1b293b4..50b9809 100644 --- a/roles/phoebus_services_recceiver/tasks/main.yml +++ b/roles/phoebus_services_recceiver/tasks/main.yml @@ -1,84 +1,84 @@ ---- -- name: Ensure Recceiver service directory exists - become: true - ansible.builtin.file: - path: "{{ phoebus_services_recceiver_root }}" - state: directory - mode: "u=rwx,g=rx,o=rx" - owner: "{{ phoebus_services_recceiver_account }}" - group: "{{ phoebus_services_recceiver_account }}" - -- name: Clone ChannelFinder Recceiver source - become: true - become_user: "{{ phoebus_services_recceiver_account }}" - ansible.builtin.git: - repo: "{{ phoebus_services_recceiver_repo_url }}" - dest: "{{ phoebus_services_recceiver_repo_dest }}" - force: true - update: true - -- name: Package Recceiver with Maven - become: true - become_user: "{{ phoebus_services_recceiver_account }}" - ansible.builtin.command: mvn -DskipTests package - args: - chdir: "{{ phoebus_services_recceiver_repo_dest }}" - environment: - JAVA_HOME: "{{ phoebus_services_recceiver_java_home }}" - PATH: "{{ phoebus_services_recceiver_java_home }}/bin:{{ phoebus_services_recceiver_mvn_home }}/bin:{{ ansible_env.PATH }}" - changed_when: true - -- name: Find built Recceiver jar - become: true - ansible.builtin.find: - paths: "{{ phoebus_services_recceiver_repo_dest }}/target" - patterns: "recceiver-*.jar" - recurse: false - register: phoebus_services_recceiver_jar_file - -- name: Fail if no Recceiver jar was built - ansible.builtin.fail: - msg: "No Recceiver jar found in {{ phoebus_services_recceiver_repo_dest }}/target after Maven build." - when: phoebus_services_recceiver_jar_file.matched == 0 - -- name: Copy Recceiver jar to service directory - become: true - ansible.builtin.copy: - src: "{{ phoebus_services_recceiver_jar_file.files[0].path }}" - dest: "{{ phoebus_services_recceiver_jar }}" - owner: "{{ phoebus_services_recceiver_account }}" - group: "{{ phoebus_services_recceiver_account }}" - mode: "u=rwx,g=rx,o=rx" - remote_src: true - -- name: Create application.properties for Recceiver - become: true - ansible.builtin.template: - src: application.properties.j2 - dest: "{{ phoebus_services_recceiver_root }}/application.properties" - owner: "{{ phoebus_services_recceiver_account }}" - group: "{{ phoebus_services_recceiver_account }}" - mode: "u=rw,g=r,o=r" - -- name: Install procServ package - become: true - ansible.builtin.package: - name: procServ - state: present - -- name: Create systemd service file for Recceiver - become: true - ansible.builtin.template: - src: recceiver.service.j2 - dest: "/etc/systemd/system/{{ phoebus_services_recceiver_service_name }}.service" - owner: root - group: root - mode: "u=rw,g=r,o=r" - -- name: Restart Recceiver service - become: true - ansible.builtin.systemd: - name: "{{ phoebus_services_recceiver_service_name }}" - state: restarted - daemon_reload: true - enabled: true +--- +- name: Ensure Recceiver service directory exists + become: true + ansible.builtin.file: + path: "{{ phoebus_services_recceiver_root }}" + state: directory + mode: "u=rwx,g=rx,o=rx" + owner: "{{ phoebus_services_recceiver_account }}" + group: "{{ phoebus_services_recceiver_account }}" + +- name: Clone ChannelFinder Recceiver source + become: true + become_user: "{{ phoebus_services_recceiver_account }}" + ansible.builtin.git: + repo: "{{ phoebus_services_recceiver_repo_url }}" + dest: "{{ phoebus_services_recceiver_repo_dest }}" + force: true + update: true + +- name: Package Recceiver with Maven + become: true + become_user: "{{ phoebus_services_recceiver_account }}" + ansible.builtin.command: mvn -DskipTests package + args: + chdir: "{{ phoebus_services_recceiver_repo_dest }}" + environment: + JAVA_HOME: "{{ phoebus_services_recceiver_java_home }}" + PATH: "{{ phoebus_services_recceiver_java_home }}/bin:{{ phoebus_services_recceiver_mvn_home }}/bin:{{ ansible_env.PATH }}" + changed_when: true + +- name: Find built Recceiver jar + become: true + ansible.builtin.find: + paths: "{{ phoebus_services_recceiver_repo_dest }}/target" + patterns: "recceiver-*.jar" + recurse: false + register: phoebus_services_recceiver_jar_file + +- name: Fail if no Recceiver jar was built + ansible.builtin.fail: + msg: "No Recceiver jar found in {{ phoebus_services_recceiver_repo_dest }}/target after Maven build." + when: phoebus_services_recceiver_jar_file.matched == 0 + +- name: Copy Recceiver jar to service directory + become: true + ansible.builtin.copy: + src: "{{ phoebus_services_recceiver_jar_file.files[0].path }}" + dest: "{{ phoebus_services_recceiver_jar }}" + owner: "{{ phoebus_services_recceiver_account }}" + group: "{{ phoebus_services_recceiver_account }}" + mode: "u=rwx,g=rx,o=rx" + remote_src: true + +- name: Create application.properties for Recceiver + become: true + ansible.builtin.template: + src: application.properties.j2 + dest: "{{ phoebus_services_recceiver_root }}/application.properties" + owner: "{{ phoebus_services_recceiver_account }}" + group: "{{ phoebus_services_recceiver_account }}" + mode: "u=rw,g=r,o=r" + +- name: Install procServ package + become: true + ansible.builtin.package: + name: procServ + state: present + +- name: Create systemd service file for Recceiver + become: true + ansible.builtin.template: + src: recceiver.service.j2 + dest: "/etc/systemd/system/{{ phoebus_services_recceiver_service_name }}.service" + owner: root + group: root + mode: "u=rw,g=r,o=r" + +- name: Restart Recceiver service + become: true + ansible.builtin.systemd: + name: "{{ phoebus_services_recceiver_service_name }}" + state: restarted + daemon_reload: true + enabled: true