HDDS-1518. Use /etc/ozone for configuration inside docker-compose.
Contributed by Elek, Marton.
(cherry picked from commit ac814f15b15a0f70cab96fd7262a31477af6e2a8)
diff --git a/Dockerfile b/Dockerfile
index d06cb82..21299df 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -36,7 +36,9 @@
ADD scripts /opt/
ADD scripts/krb5.conf /etc/
RUN yum install -y krb5-workstation
-
+RUN mkdir -p /etc/hadoop && mkdir -p /var/log/hadoop && chmod 1777 /etc/hadoop && chmod 1777 /var/log/hadoop
+ENV HADOOP_LOG_DIR=/var/log/hadoop
+ENV HADOOP_CONF_DIR=/etc/hadoop
WORKDIR /opt/hadoop
VOLUME /data
diff --git a/scripts/envtoconf.py b/scripts/envtoconf.py
index ad2e176..0e2c368 100755
--- a/scripts/envtoconf.py
+++ b/scripts/envtoconf.py
@@ -36,7 +36,7 @@
self.known_formats = ['xml', 'properties', 'yaml', 'yml', 'env', "sh", "cfg", 'conf']
self.output_dir = self.args.destination
-
+ self.excluded_envs = ['HADOOP_CONF_DIR']
self.configurables = {}
def destination_file_path(self, name, extension):
@@ -51,6 +51,8 @@
def process_envs(self):
"""Process environment variables"""
for key in os.environ.keys():
+ if key in self.excluded_envs:
+ continue
pattern = re.compile("[_\\.]")
parts = pattern.split(key)
extension = None
diff --git a/scripts/starter.sh b/scripts/starter.sh
index 7688ce7..1328607 100755
--- a/scripts/starter.sh
+++ b/scripts/starter.sh
@@ -99,7 +99,7 @@
#To avoid docker volume permission problems
sudo chmod o+rwx /data
-"$DIR"/envtoconf.py --destination /opt/hadoop/etc/hadoop
+"$DIR"/envtoconf.py --destination "${HADOOP_CONF_DIR:-/opt/hadoop/etc/hadoop}"
if [ -n "$ENSURE_NAMENODE_DIR" ]; then
CLUSTERID_OPTS=""