ansible/roles/kafka/tasks/main.yml (64 lines of code) (raw):

# # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # --- # Check for the availability of the Kafka package - name: Check kafka package availability stat: path={{ kafka_dir }} register: kafka_package become: yes - name: Create deployment directory {{ custos_deployment_dir }} file: path={{custos_deployment_dir}} state=directory mode=0755 owner={{ user }} group={{ group }} become: yes # Download Kafka - name: Download and unarchive Kafka from {{ kafka_tgz_url }} unarchive: src="{{ kafka_tgz_url }}" dest="{{ custos_deployment_dir }}" copy=no owner="{{ user }}" group="{{ group }}" when: not kafka_package.stat.exists become: yes # Create kafka logs directory - name: Create kafka logs directory file: path="{{ kafka_dir }}/logs" state=directory owner={{ user }} group={{ group }} become: yes # Config kafka server and start - name: Copy kafka server properties file template: src=server.properties.j2 dest="{{ kafka_dir }}/etc/kafka/server.properties" owner={{ user }} group={{ group }} mode="u=rw,g=r,o=r" # notify: restart kafka become: yes # Config rest proxy and start - name: Copy kafka rest proxy properties file template: src=kafka-rest.properties.j2 dest="{{ kafka_dir }}/etc/kafka-rest/kafka-rest.properties" owner={{ user }} group={{ group }} mode="u=rw,g=r,o=r" become: yes #- name: uninstall firewalld # install firewalld # apt: # name: firewalld # state: absent #latest # become: yes #- name: start firewalld #and python-firewall # service: name=firewalld state=started # become: yes #- name: open kafka proxy port # firewalld: # zone: public # permanent: yes # state: enabled # immediate: yes # rich_rule: rule family=ipv4 source address="{{ item }}" port port="{{ kafka_listener_port }}" protocol=tcp accept # become: yes # with_items: # - "{{ sharing_subnets }}" # #- name: open kafka rest proxy port # firewalld: # zone: public # permanent: yes # state: enabled # immediate: yes # rich_rule: rule family=ipv4 source address="{{ item }}" port port="{{ kafka_rest_proxy_listener_port }}" protocol=tcp accept # become: yes # with_items: # - "{{ sharing_subnets }}" - name: systemd install kafka service script template: src=kafka.service.j2 dest=/usr/lib/systemd/system/kafka.service owner={{ user }} group={{ group }} mode="u=rw,g=r,o=r" # notify: start kafka become: yes - name: systemd install kafka rest proxy service script template: src=kafka-rest-proxy.service.j2 dest=/usr/lib/systemd/system/kafka-rest-proxy.service owner={{ user }} group={{ group }} mode="u=rw,g=r,o=r" become: yes - name: Reload systemd daemons command: systemctl daemon-reload # notify: restart kafka become: yes - name: Reload systemd daemons command: systemctl daemon-reload # notify: restart kafka-rest-proxy become: yes - name: restart kafka service: name=kafka state=restarted enabled=yes become: yes - name: restart kafka-rest-proxy service: name=kafka-rest-proxy state=restarted enabled=yes become: yes ...