Merge "Add JMX support for Zookeeper service"
diff --git a/opencontrail/database.sls b/opencontrail/database.sls
index 22279ad..cd9e043 100644
--- a/opencontrail/database.sls
+++ b/opencontrail/database.sls
@@ -90,6 +90,13 @@
- require:
- pkg: opencontrail_database_packages
+/etc/default/zookeeper:
+ file.managed:
+ - source: salt://opencontrail/files/{{ database.version }}/zookeeper
+ - template: jinja
+ - require:
+ - pkg: opencontrail_database_packages
+
/var/lib/zookeeper/myid:
file.managed:
- contents: '{{ database.id }}'
@@ -105,6 +112,7 @@
{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_database_services
+ - service: opencontrail_zookeeper_service
{%- endif %}
/etc/contrail/supervisord_database_files/contrail-database-nodemgr.ini:
@@ -115,6 +123,7 @@
{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_database_services
+ - service: opencontrail_zookeeper_service
{%- endif %}
{% endif %}
@@ -169,10 +178,20 @@
- file: {{ database.cassandra_config }}cassandra-env.sh
- file: {{ database.cassandra_config }}logback.xml
- file: /etc/zookeeper/conf/zoo.cfg
+ - file: /etc/default/zookeeper
- file: /etc/contrail/contrail-database-nodemgr.conf
- file: /var/lib/zookeeper/myid
- file: /etc/zookeeper/conf/log4j.properties
+opencontrail_zookeeper_service:
+ service.running:
+ - enable: true
+ - name: zookeeper
+ - watch:
+ - file: /etc/zookeeper/conf/zoo.cfg
+ - file: /etc/default/zookeeper
+ - file: /etc/zookeeper/conf/log4j.properties
+
{%- endif %}
{%- if grains.get('virtual_subtype', None) == "Docker" %}
diff --git a/opencontrail/files/2.2/zookeeper b/opencontrail/files/2.2/zookeeper
new file mode 100644
index 0000000..a7dc0e7
--- /dev/null
+++ b/opencontrail/files/2.2/zookeeper
@@ -0,0 +1,11 @@
+# See the following page for extensive details on setting
+# up the JVM to accept JMX remote management:
+# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html
+# by default we allow local JMX connections
+#JMXLOCALONLY=false
+
+JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=7188 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dzookeeper.jmx.log4j.disable=false"
+
+# Make sure to include the original classpath since it contains the zookeeper
+# jars
+#CLASSPATH="$CLASSPATH:YOURCLASSPATH"
diff --git a/opencontrail/files/3.0/zookeeper b/opencontrail/files/3.0/zookeeper
new file mode 100644
index 0000000..a7dc0e7
--- /dev/null
+++ b/opencontrail/files/3.0/zookeeper
@@ -0,0 +1,11 @@
+# See the following page for extensive details on setting
+# up the JVM to accept JMX remote management:
+# http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html
+# by default we allow local JMX connections
+#JMXLOCALONLY=false
+
+JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=7188 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dzookeeper.jmx.log4j.disable=false"
+
+# Make sure to include the original classpath since it contains the zookeeper
+# jars
+#CLASSPATH="$CLASSPATH:YOURCLASSPATH"
diff --git a/opencontrail/meta/config.yml b/opencontrail/meta/config.yml
index d28e7d3..32cfea0 100644
--- a/opencontrail/meta/config.yml
+++ b/opencontrail/meta/config.yml
@@ -72,6 +72,9 @@
zoo.cfg:
source: "salt://opencontrail/files/{{ database.version }}/zoo.cfg"
template: jinja
+ zookeeper:
+ source: "salt://opencontrail/files/{{ database.version }}/zookeeper"
+ template: jinja
server.properties:
source: "salt://opencontrail/files/{{ database.version }}/server.properties"
template: jinja