Muchos to support rename from master to manager in Accumulo 2.1 (#387)
Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
diff --git a/ansible/roles/accumulo/tasks/main.yml b/ansible/roles/accumulo/tasks/main.yml
index 8d5b9ba..9833c4a 100644
--- a/ansible/roles/accumulo/tasks/main.yml
+++ b/ansible/roles/accumulo/tasks/main.yml
@@ -47,6 +47,10 @@
- masters
- monitor
when: accumulo_major_version == '2'
+- name: "Rename 'masters' file to 'managers' when using Accumulo 2.1 or above"
+ shell: |
+ [[ -e {{ accumulo_home }}/conf/masters ]] && mv {{ accumulo_home }}/conf/masters {{ accumulo_home }}/conf/managers || echo "Nothing to do"
+ when: accumulo_version is version('2.1.0','>=')
- name: "configure accumulo 2.0.0 logging"
command: cp {{ accumulo_home }}/conf/templates/{{ item }} {{ accumulo_home }}/conf/ creates={{ accumulo_home }}/conf/{{ item }}
with_items:
diff --git a/ansible/roles/accumulo/templates/accumulo-env.sh b/ansible/roles/accumulo/templates/accumulo-env.sh
index 5c1a003..df7d0a1 100755
--- a/ansible/roles/accumulo/templates/accumulo-env.sh
+++ b/ansible/roles/accumulo/templates/accumulo-env.sh
@@ -79,7 +79,7 @@
"-Daccumulo.native.lib.path=${lib}/native")
case "$cmd" in
- master) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx512m' '-Xms512m') ;;
+ {{ master_manager }}) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx512m' '-Xms512m') ;;
monitor) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx256m' '-Xms256m') ;;
gc) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx256m' '-Xms256m') ;;
tserver) JAVA_OPTS=("${JAVA_OPTS[@]}" '-Xmx{{ accumulo_tserv_mem }}' '-Xms{{ accumulo_tserv_mem }}') ;;
@@ -99,7 +99,7 @@
case "$cmd" in
{% if accumulo_version is version('2.1.0','>=') %}
- monitor|gc|master|tserver|tracer)
+ monitor|gc|manager|tserver|tracer)
JAVA_OPTS=("${JAVA_OPTS[@]}" "-Dlog4j.configurationFile=log4j2-service.properties")
;;
{% else %}
diff --git a/conf/muchos.props.example b/conf/muchos.props.example
index eda345c..c6f0056 100644
--- a/conf/muchos.props.example
+++ b/conf/muchos.props.example
@@ -37,11 +37,11 @@
accumulo_password = secret
# Software versions (make sure you have a corresponding entry for the checksum in conf/checksums)
hadoop_version = 3.2.1
-zookeeper_version = 3.5.8
+zookeeper_version = 3.6.2
spark_version = 2.4.5
fluo_version = 1.2.0
fluo_yarn_version = 1.0.0
-accumulo_version = 2.0.0
+accumulo_version = 2.0.1
# Specifies if software should be downloaded. If 'False', tarballs of the software above should be in conf/upload/
download_software = True
# Install Hub (for GitHub)
diff --git a/lib/muchos/config/base.py b/lib/muchos/config/base.py
index 8abd193..07d970e 100644
--- a/lib/muchos/config/base.py
+++ b/lib/muchos/config/base.py
@@ -635,3 +635,8 @@
except ValueError:
return default
return val
+
+ @ansible_host_var
+ def master_manager(self):
+ accumulo_version = self.get("general", "accumulo_version")
+ return "manager" if accumulo_version >= '2.1.0' else "master"
diff --git a/lib/tests/azure/test_config.py b/lib/tests/azure/test_config.py
index 873c09e..da85520 100644
--- a/lib/tests/azure/test_config.py
+++ b/lib/tests/azure/test_config.py
@@ -38,8 +38,9 @@
"f68a6145029a9ea843b0305c90a7f5f0334d8a8ceeea94734267ec36421fe7fe"
)
assert c.checksum("accumulo") == (
- "sha256:"
- "df172111698c7a73aa031de09bd5589263a6b824482fbb9b4f0440a16602ed47"
+ "sha512:"
+ "b443839443a9f5098b55bc5c54be10c11fedbaea554ee6cd42eaa9311068c70b"
+ "d611d7fc67698c91ec73da0e85b9907aa72b98d5eb4d49ea3a5d51b0c6c5785f"
)
assert c.get("azure", "vm_sku") == "Standard_D8s_v3"
assert c.get("azure", "managed_disk_type") == "Standard_LRS"
diff --git a/lib/tests/ec2/test_config.py b/lib/tests/ec2/test_config.py
index 6d166ba..58f1afe 100644
--- a/lib/tests/ec2/test_config.py
+++ b/lib/tests/ec2/test_config.py
@@ -32,8 +32,9 @@
"f68a6145029a9ea843b0305c90a7f5f0334d8a8ceeea94734267ec36421fe7fe"
)
assert c.checksum("accumulo") == (
- "sha256:"
- "df172111698c7a73aa031de09bd5589263a6b824482fbb9b4f0440a16602ed47"
+ "sha512:"
+ "b443839443a9f5098b55bc5c54be10c11fedbaea554ee6cd42eaa9311068c70b"
+ "d611d7fc67698c91ec73da0e85b9907aa72b98d5eb4d49ea3a5d51b0c6c5785f"
)
assert c.get("ec2", "default_instance_type") == "m5d.large"
assert c.get("ec2", "worker_instance_type") == "m5d.large"