You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dm...@apache.org on 2020/01/31 14:45:17 UTC

[incubator-dlab] branch odahu-integration updated: [odahu-integration] Added Nexus authentication

This is an automated email from the ASF dual-hosted git repository.

dmysakovets pushed a commit to branch odahu-integration
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/odahu-integration by this push:
     new 79cd655  [odahu-integration] Added Nexus authentication
79cd655 is described below

commit 79cd6550d9a12f048e633d201249c8920e402b39
Author: Demyan Mysakovets <de...@gmail.com>
AuthorDate: Fri Jan 31 16:45:00 2020 +0200

    [odahu-integration] Added Nexus authentication
---
 infrastructure-provisioning/scripts/deploy_dlab.py               | 2 ++
 .../src/general/scripts/gcp/ssn_configure.py                     | 4 ++--
 infrastructure-provisioning/src/ssn/scripts/configure_docker.py  | 9 ++++++---
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/infrastructure-provisioning/scripts/deploy_dlab.py b/infrastructure-provisioning/scripts/deploy_dlab.py
index 2121345..8b5ed8f 100644
--- a/infrastructure-provisioning/scripts/deploy_dlab.py
+++ b/infrastructure-provisioning/scripts/deploy_dlab.py
@@ -141,6 +141,8 @@ parser.add_argument('--billing_dataset_name', type=str, default='', help='Name o
                                                                          ' for billing')
 parser.add_argument('--default_endpoint_name', type=str, default='local', help='Name of localhost provisioning service,'
                                                                                'that created by default')
+parser.add_argument('--nexus_username', type=str, default='', help='Nexus repository username')
+parser.add_argument('--nexus_password', type=str, default='', help='Nexus repository password')
 parser.add_argument('--action', required=True, type=str, default='', choices=['build', 'deploy', 'create', 'terminate'],
                     help='Available options: build, deploy, create, terminate')
 args = parser.parse_args()
diff --git a/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py b/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
index 6362786..d981ff1 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
@@ -234,10 +234,10 @@ if __name__ == "__main__":
                              {"name": "deeplearning", "tag": "latest"},
                              {"name": "dataengine", "tag": "latest"},
                              {"name": "dataengine-service", "tag": "latest"}]
-        params = "--hostname {} --keyfile {} --additional_config '{}' --os_family {} --os_user {} --dlab_path {} --cloud_provider {} --region {} --ssn_nexus_url {}". \
+        params = "--hostname {} --keyfile {} --additional_config '{}' --os_family {} --os_user {} --dlab_path {} --cloud_provider {} --region {} --nexus_username {} --nexus_password {} --nexus_url {}". \
             format(instance_hostname, ssn_conf['ssh_key_path'], json.dumps(additional_config),
                    os.environ['conf_os_family'], ssn_conf['dlab_ssh_user'], os.environ['ssn_dlab_path'],
-                   os.environ['conf_cloud_provider'], ssn_conf['region'], os.environ['ssn_nexus_url'])
+                   os.environ['conf_cloud_provider'], ssn_conf['region'], os.environ['nexus_username'], os.environ['nexus_password'], os.environ['ssn_nexus_url'])
 
         try:
             local("~/scripts/{}.py {}".format('configure_docker', params))
diff --git a/infrastructure-provisioning/src/ssn/scripts/configure_docker.py b/infrastructure-provisioning/src/ssn/scripts/configure_docker.py
index 6893312..2c54ffe 100644
--- a/infrastructure-provisioning/src/ssn/scripts/configure_docker.py
+++ b/infrastructure-provisioning/src/ssn/scripts/configure_docker.py
@@ -39,7 +39,9 @@ parser.add_argument('--dlab_path', type=str, default='')
 parser.add_argument('--cloud_provider', type=str, default='')
 parser.add_argument('--resource', type=str, default='')
 parser.add_argument('--region', type=str, default='')
-parser.add_argument('--ssn_nexus_url', type=str, default='')
+parser.add_argument('--nexus_username', type=str, default='')
+parser.add_argument('--nexus_password', type=str, default='')
+parser.add_argument('--nexus_url', type=str, default='')
 args = parser.parse_args()
 
 
@@ -77,7 +79,7 @@ def add_china_repository(dlab_path):
         sudo('sed -i "/pip install/s/jupyter/ipython==5.0.0 jupyter==1.0.0/g" Dockerfile')
         sudo('sed -i "22i COPY general/files/os/debian/sources.list /etc/apt/sources.list" Dockerfile')
 
-def prepare_odahu_image(ssn_nexus_url, dlab_path):
+def prepare_odahu_image(nexus_username, nexus_password, nexus_url, dlab_path):
     try:
         put('/root/templates/daemon.json', '/etc/docker/daemon.json', use_sudo=True)
         print('daemon.json was placed')
@@ -86,6 +88,7 @@ def prepare_odahu_image(ssn_nexus_url, dlab_path):
         sudo("sed -i \'s|<NEXUS_URL>|{}|g\' /etc/docker/daemon.json".format(os.environ['ssn_nexus_url']))
         print('nexus url was filled in')
         sudo('systemctl restart docker')
+        sudo('docker login -u {} -p {} {}'.format(nexus_username, nexus_password, nexus_url))
         sudo(
             "sed -i \'s|<NEXUS_URL>|{}|g\' {}sources/infrastructure-provisioning/src/general/files/gcp/odahu_Dockerfile".format(
                 ssn_nexus_url, dlab_path))
@@ -193,7 +196,7 @@ if __name__ == "__main__":
         sys.exit(1)
 
     print("Preparing odahu image")
-    prepare_odahu_image(args.ssn_nexus_url, args.dlab_path)
+    prepare_odahu_image(args.nexus_username, args.nexus_password, args.nexus_url, args.dlab_path)
 
     print("Building dlab images")
     if not build_docker_images(deeper_config, args.region, args.dlab_path):


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org