Skip to content

Commit

Permalink
Environment vars (sleighzy#2)
Browse files Browse the repository at this point in the history
* Added support for Env Vars

* Added default value for zookeeper_environment

* Updated README to show EnvVars example

* Update README with file info for defaults.

* Change default template to support Python3
  • Loading branch information
nerdynick authored and sleighzy committed Nov 7, 2018
1 parent 0d7c68e commit ec41aa9
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 12 deletions.
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ The Oracle Java 8 JDK role from Ansible Galaxy can be used if one is needed.
zookeeper_election_port: 3888
zookeeper_mirror: "http://www-eu.apache.org/dist/zookeeper"
zookeeper_servers: "{{groups['zookeeper-nodes']}}"
zookeeper_environment:
"JVMFLAGS": "-javaagent:/opt/jolokia/jolokia-jvm-1.6.0-agent.jar"


### Default Ports
Expand All @@ -47,15 +49,16 @@ The Oracle Java 8 JDK role from Ansible Galaxy can be used if one is needed.

### Default Directories and Files

| Directory / File | |
|-----|----|
| Installation directory | `/usr/share/zookeeper-<version>`
| Symlink to install directory | `/usr/share/zookeeper` |
| Symlink to configuration | `/etc/zookeeper/zoo.cfg` |
| Log files | `/var/log/zookeeper` |
| Data directory for snapshots and myid file | `/var/lib/zookeeper` |
| Data directory for transaction log files | `/var/lib/zookeeper` |
| Systemd service | `/usr/lib/systemd/system/zookeeper.service` |
Description | Directory / File
-------------------------------------------|------------------
Installation directory | `/usr/share/zookeeper-<version>`
Symlink to install directory | `/usr/share/zookeeper`
Symlink to configuration | `/etc/zookeeper/zoo.cfg`
Log files | `/var/log/zookeeper`
Data directory for snapshots and myid file | `/var/lib/zookeeper`
Data directory for transaction log files | `/var/lib/zookeeper`
Systemd service | `/usr/lib/systemd/system/zookeeper.service`
System Defaults | `/etc/default/zookeeper`

## Starting and Stopping ZooKeeper services
* The ZooKeeper service can be started via: `systemctl start zookeeper`
Expand Down
3 changes: 2 additions & 1 deletion defaults/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ zookeeper_id: 1
zookeeper_leader_port: 2888
zookeeper_election_port: 3888

zookeeper_servers: "{{groups['zookeeper-nodes']}}"
zookeeper_servers: "{{groups['zookeeper-nodes']}}"
zookeeper_environment: {}
9 changes: 9 additions & 0 deletions tasks/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,15 @@
tags:
- zookeeper_config

- name: Template /etc/default
template:
src: default.j2
dest: '/etc/default/zookeeper'
notify:
- Restart ZooKeeper service
tags:
- zookeeper_config

# Uncomment the log4j.properties line for setting the maximum number of logs to rollover and keep
- name: Set maximum log rollover history
replace:
Expand Down
6 changes: 6 additions & 0 deletions templates/default.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ZOO_LOG_DIR={{ zookeeper_log_dir }}
ZOO_LOG4J_PROP=INFO,ROLLINGFILE

{% for key, value in zookeeper_environment.items() %}
{{key}}={{value}}
{% endfor %}
3 changes: 1 addition & 2 deletions templates/zookeeper.service.j2
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ After=network.target

[Service]
Type=forking
Environment='ZOO_LOG_DIR={{ zookeeper_log_dir }}'
Environment='ZOO_LOG4J_PROP=INFO,ROLLINGFILE'
EnvironmentFile=/etc/default/zookeeper
ExecStart={{ zookeeper_dir }}/bin/zkServer.sh start
ExecStop={{ zookeeper_dir }}/bin/zkServer.sh stop
Restart=on-failure
Expand Down

0 comments on commit ec41aa9

Please sign in to comment.