This is an automated email from the ASF dual-hosted git repository.
ioleksandr pushed a commit to branch DLAB-657
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/DLAB-657 by this push:
new 577b815 fix+redhat version
577b815 is described below
commit 577b815147be5c5e7c034c2f95793bf04cc841b9
Author: Oleksandr_Isniuk <[email protected]>
AuthorDate: Wed Jun 5 11:14:50 2019 +0300
fix+redhat version
---
.../src/general/lib/os/debian/ssn_lib.py | 4 +-
.../src/general/lib/os/redhat/ssn_lib.py | 4 +-
.../files/aws => ssn/files/os}/billing_Dockerfile | 0
.../src/ssn/files/os/create_db.js | 8 ++++
.../files/os/mongo_Dockerfile} | 24 +++++-------
.../src/ssn/files/os/mongodb.conf | 42 ++++++++++++++++++++
.../files/aws => ssn/files/os}/webui_Dockerfile | 0
.../src/ssn/scripts/configure_mongo.py | 45 ++++++++++++++--------
.../src/ssn/scripts/configure_ui.py | 4 +-
9 files changed, 94 insertions(+), 37 deletions(-)
diff --git a/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
b/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
index eef8b25..9079c99 100644
--- a/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
@@ -292,9 +292,9 @@ def start_ss(keyfile, host_string, dlab_conf_dir, web_path,
sudo("cp -r {0}webapp/provisioning-service/lib/*.jar
{1}".format(dlab_path, k8s_dir))
sudo("cp -r {0}webapp/billing/lib/*.jar
{1}".format(dlab_path, k8s_dir))
sudo('sed -i "s|ssn.yml|/root/ssn.yml|g"
{}self-service.yml'.format(k8s_dir))
- sudo("cd {}; docker build --file
general/files/aws/webui_Dockerfile -t docker.dlab-ui ."
+ sudo("cd {}; docker build --file
ssn/files/os/webui_Dockerfile -t docker.dlab-ui ."
.format(dlab_source_dir))
- sudo("cd {}; docker build --file
general/files/aws/billing_Dockerfile -t docker.dlab-billing ."
+ sudo("cd {}; docker build --file
ssn/files/os/billing_Dockerfile -t docker.dlab-billing ."
.format(dlab_source_dir))
sudo("rm -rf {}".format(k8s_dir))
except Exception as err:
diff --git a/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
b/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
index 502e8c8..9d22c73 100644
--- a/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
@@ -323,9 +323,9 @@ def start_ss(keyfile, host_string, dlab_conf_dir, web_path,
sudo("cp -r {0}webapp/provisioning-service/lib/*.jar
{1}".format(dlab_path, k8s_dir))
sudo("cp -r {0}webapp/billing/lib/*.jar
{1}".format(dlab_path, k8s_dir))
sudo('sed -i "s|ssn.yml|/root/ssn.yml|g"
{}self-service.yml'.format(k8s_dir))
- sudo("cd {}; docker build --file
general/files/aws/webui_Dockerfile -t docker.dlab-ui ."
+ sudo("cd {}; docker build --file
ssn/files/os/webui_Dockerfile -t docker.dlab-ui ."
.format(dlab_source_dir))
- sudo("cd {}; docker build --file
general/files/aws/billing_Dockerfile -t docker.dlab-billing ."
+ sudo("cd {}; docker build --file
ssn/files/os/billing_Dockerfile -t docker.dlab-billing ."
.format(dlab_source_dir))
sudo("rm -rf {}".format(k8s_dir))
except Exception as err:
diff --git
a/infrastructure-provisioning/src/general/files/aws/billing_Dockerfile
b/infrastructure-provisioning/src/ssn/files/os/billing_Dockerfile
similarity index 100%
copy from infrastructure-provisioning/src/general/files/aws/billing_Dockerfile
copy to infrastructure-provisioning/src/ssn/files/os/billing_Dockerfile
diff --git a/infrastructure-provisioning/src/ssn/files/os/create_db.js
b/infrastructure-provisioning/src/ssn/files/os/create_db.js
new file mode 100644
index 0000000..96163d2
--- /dev/null
+++ b/infrastructure-provisioning/src/ssn/files/os/create_db.js
@@ -0,0 +1,8 @@
+use dlabdb
+db.createUser(
+ {
+ user: "admin",
+ pwd: "PASSWORD",
+ roles: [{'role':'userAdminAnyDatabase','db':'admin'}]
+ }
+);
diff --git
a/infrastructure-provisioning/src/general/files/aws/billing_Dockerfile
b/infrastructure-provisioning/src/ssn/files/os/mongo_Dockerfile
similarity index 64%
rename from infrastructure-provisioning/src/general/files/aws/billing_Dockerfile
rename to infrastructure-provisioning/src/ssn/files/os/mongo_Dockerfile
index c0952c4..39ab400 100644
--- a/infrastructure-provisioning/src/general/files/aws/billing_Dockerfile
+++ b/infrastructure-provisioning/src/ssn/files/os/mongo_Dockerfile
@@ -19,22 +19,18 @@
#
#
******************************************************************************
-FROM ubuntu:16.04
+FROM mongo:4.0-xenial
+ARG CLOUD_PROVIDER
-USER root
-RUN apt-get update && \
- apt-get -y upgrade && \
- apt-get -y install software-properties-common && \
- apt-get -y install curl tar sudo
+COPY create_db.js /root/
+COPY ssn/files/${CLOUD_PROVIDER}/mongo_roles.json /root/
+RUN mv /root/mongodb.conf /etc/mongodb.conf
+RUN mkdir -p /data/db2 \
+ && mkdir -p /data/logs \
+ && chown -R mongodb:mongodb /data/db2 && \
+ chown -R mongodb:mongodb /data/logs
-# java
-RUN apt-get install -y default-jre && \
- apt-get install -y default-jdk && \
- apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+CMD ["mongod", "--config", "/etc/mongodb.conf"]
-COPY tmp-kuber/* /root/
-COPY tmp-kuber/conf/* /root/
-
-CMD sudo java -Xmx1024M -jar -Duser.timezone=UTC -Dfile.encoding=UTF-8
-DDLAB_CONF_DIR=/root/ /root/billing-aws-2.1.jar --conf /root/billing.yml
\ No newline at end of file
diff --git a/infrastructure-provisioning/src/ssn/files/os/mongodb.conf
b/infrastructure-provisioning/src/ssn/files/os/mongodb.conf
new file mode 100644
index 0000000..28d182b
--- /dev/null
+++ b/infrastructure-provisioning/src/ssn/files/os/mongodb.conf
@@ -0,0 +1,42 @@
+# mongod.conf
+
+# for documentation of all options, see:
+# http://docs.mongodb.org/manual/reference/configuration-options/
+
+# Where and how to store data.
+storage:
+ dbPath: /data/db2
+ journal:
+ enabled: true
+# engine:
+# mmapv1:
+# wiredTiger:
+
+# where to write logging data.
+systemLog:
+ destination: file
+ logAppend: true
+ path: /data/logs/mongod.log
+
+# network interfaces
+net:
+ port: 27017
+ bindIp: 0.0.0.0
+
+
+#processManagement:
+
+#security:
+# authorization: enabled
+
+#operationProfiling:
+
+#replication:
+
+#sharding:
+
+## Enterprise-Only Options:
+
+#auditLog:
+
+#snmp:
diff --git a/infrastructure-provisioning/src/general/files/aws/webui_Dockerfile
b/infrastructure-provisioning/src/ssn/files/os/webui_Dockerfile
similarity index 100%
rename from infrastructure-provisioning/src/general/files/aws/webui_Dockerfile
rename to infrastructure-provisioning/src/ssn/files/os/webui_Dockerfile
diff --git a/infrastructure-provisioning/src/ssn/scripts/configure_mongo.py
b/infrastructure-provisioning/src/ssn/scripts/configure_mongo.py
index a7a5fc8..b4f26d6 100644
--- a/infrastructure-provisioning/src/ssn/scripts/configure_mongo.py
+++ b/infrastructure-provisioning/src/ssn/scripts/configure_mongo.py
@@ -22,6 +22,7 @@
#
******************************************************************************
from pymongo import MongoClient
+from fabric.api import *
import yaml, json, sys
import subprocess
import time
@@ -34,6 +35,8 @@ outfile = "/etc/mongo_params.yml"
parser = argparse.ArgumentParser()
parser.add_argument('--dlab_path', type=str, default='')
parser.add_argument('--mongo_parameters', type=str, default='')
+parser.add_argument('--cloud_provider', type=str, default='')
+parser.add_argument('--kuber', type=str, default=False)
args = parser.parse_args()
@@ -78,24 +81,32 @@ if __name__ == "__main__":
# Setting up admin's password and enabling security
client = MongoClient(mongo_ip + ':' + str(mongo_port))
pass_upd = True
- try:
- command = ['service', 'mongod', 'start']
- subprocess.call(command, shell=False)
- time.sleep(5)
- client.dlabdb.add_user('admin', mongo_passwd,
roles=[{'role':'userAdminAnyDatabase','db':'admin'}])
- client.dlabdb.command('grantRolesToUser', "admin", roles=["readWrite"])
- set_mongo_parameters(client, mongo_parameters)
- with open(args.dlab_path + 'tmp/mongo_roles.json', 'r') as data:
- json_data = json.load(data)
- for i in json_data:
- client.dlabdb.roles.insert_one(i)
- client.dlabdb.security.create_index("expireAt",
expireAfterSeconds=7200)
- if add_2_yml_config(path,'security','authorization','enabled'):
- command = ['service', 'mongod', 'restart']
+ if kuber:
+ local("cd {}; docker build --build-arg CLOUD_PROVIDER={} --file
ssn/files/os/mongo_Dockerfile -t docker.dlab-mongo ."
+ .format(args.dlab_path, args.cloud_provider))
+ local("mkdir -p /opt/mongo-vol")
+ local("docker run --name dlab-mongo -p 27017:27017 -v -d
docker.dlab-mongo")
+ local("docker exec some-mongo sh -c 'mongo < /root/create_db.js'")
+ local("docker exec some-mongo sh -c 'mongoimport --jsonArray --db
dlabdb --collection roles --file /root/mongo_roles.json'")
+ else:
+ try:
+ command = ['service', 'mongod', 'start']
subprocess.call(command, shell=False)
- except:
- print("Looks like MongoDB have already been secured")
- pass_upd = False
+ time.sleep(5)
+ client.dlabdb.add_user('admin', mongo_passwd,
roles=[{'role':'userAdminAnyDatabase','db':'admin'}])
+ client.dlabdb.command('grantRolesToUser', "admin",
roles=["readWrite"])
+ set_mongo_parameters(client, mongo_parameters)
+ with open(args.dlab_path + 'tmp/mongo_roles.json', 'r') as data:
+ json_data = json.load(data)
+ for i in json_data:
+ client.dlabdb.roles.insert_one(i)
+ client.dlabdb.security.create_index("expireAt",
expireAfterSeconds=7200)
+ if add_2_yml_config(path,'security','authorization','enabled'):
+ command = ['service', 'mongod', 'restart']
+ subprocess.call(command, shell=False)
+ except:
+ print("Looks like MongoDB have already been secured")
+ pass_upd = False
# Generating output config
add_2_yml_config(outfile, 'network', 'ip', mongo_ip)
diff --git a/infrastructure-provisioning/src/ssn/scripts/configure_ui.py
b/infrastructure-provisioning/src/ssn/scripts/configure_ui.py
index daafc19..196e44f 100644
--- a/infrastructure-provisioning/src/ssn/scripts/configure_ui.py
+++ b/infrastructure-provisioning/src/ssn/scripts/configure_ui.py
@@ -122,8 +122,8 @@ def configure_mongo(mongo_passwd):
env.host_string))
sudo('mv /tmp/mongo_roles.json ' + args.dlab_path + 'tmp/')
mongo_parameters = json.loads(args.mongo_parameters)
- sudo("python " + args.dlab_path + "tmp/configure_mongo.py --dlab_path
{} --mongo_parameters '{}'".format(
- args.dlab_path, json.dumps(mongo_parameters)))
+ sudo("python " + args.dlab_path + "tmp/configure_mongo.py --dlab_path
{} --mongo_parameters '{}' --cloud_provider {}".format(
+ args.dlab_path, json.dumps(mongo_parameters), args.cloud_provider))
except Exception as err:
traceback.print_exc()
print('Failed to configure MongoDB: ', str(err))
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]