From b355352633ce3c461ca453ff3d57f65ea49a6619 Mon Sep 17 00:00:00 2001 From: Carsten Patzke <carsten.patzke@desy.de> Date: Fri, 6 Aug 2021 15:52:36 +0200 Subject: [PATCH] Removed hardcoded "yakser" docker repository --- deploy/README.md | 6 ++++++ deploy/_docker_vars.sh | 9 +++++++++ .../{Dockerfile => Dockerfile.template} | 2 +- deploy/asapo_orchestration_docker/build_image.sh | 9 +++++++-- .../{Dockerfile => Dockerfile.template} | 2 +- deploy/asapo_services/asap3.tfvars | 4 +--- deploy/asapo_services/build_image.sh | 11 +++++++++-- deploy/asapo_services/run.sh | 10 ++++++++-- deploy/asapo_services/run_maxwell.sh | 6 +++++- deploy/asapo_services/scripts/asapo-brokers.nmd.tpl | 2 +- deploy/asapo_services/scripts/asapo-fts.nmd.tpl | 2 +- deploy/asapo_services/scripts/asapo-receivers.nmd.tpl | 2 +- deploy/asapo_services/scripts/asapo-services.nmd.tpl | 4 ++-- deploy/asapo_services/scripts/templates.tf | 4 ++++ deploy/build_env/centos/build_el7.sh | 9 +++++++-- deploy/build_env/centos/build_el8.sh | 9 +++++++-- deploy/build_env/debians/build_images.sh | 10 ++++++++-- deploy/build_env/manylinux2010/build.sh | 4 +++- deploy/build_env/manylinux2010/build_image.sh | 9 +++++---- deploy/build_env/manylinux2010/docker-squash | 1 + deploy/build_env/site/build_image.sh | 9 +++++++-- deploy/nomad_consul_docker/build_image.sh | 10 ++++++++-- deploy/nomad_consul_docker/run.sh | 7 +++++-- 23 files changed, 107 insertions(+), 34 deletions(-) create mode 100644 deploy/README.md create mode 100755 deploy/_docker_vars.sh rename deploy/asapo_orchestration_docker/{Dockerfile => Dockerfile.template} (64%) rename deploy/asapo_services/{Dockerfile => Dockerfile.template} (72%) diff --git a/deploy/README.md b/deploy/README.md new file mode 100644 index 000000000..16e929675 --- /dev/null +++ b/deploy/README.md @@ -0,0 +1,6 @@ +# Correct build order + +## For Cluster + +1. `nomad_consul_docker` for `$REPO/asapo-nomad-cluster` +2. `asapo_services` for `$REPO/asapo-cluster` diff --git a/deploy/_docker_vars.sh b/deploy/_docker_vars.sh new file mode 100755 index 000000000..a501eb827 --- /dev/null +++ b/deploy/_docker_vars.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +if [[ -z "$ASAPO_DOCKER_REPOSITORY" ]]; then + ASAPO_DOCKER_REPOSITORY=yakser +fi + +if [[ -z "$ASAPO_DOCKER_DO_PUSH" ]]; then + ASAPO_DOCKER_DO_PUSH=YES +fi diff --git a/deploy/asapo_orchestration_docker/Dockerfile b/deploy/asapo_orchestration_docker/Dockerfile.template similarity index 64% rename from deploy/asapo_orchestration_docker/Dockerfile rename to deploy/asapo_orchestration_docker/Dockerfile.template index 87e56865c..a3edfe710 100644 --- a/deploy/asapo_orchestration_docker/Dockerfile +++ b/deploy/asapo_orchestration_docker/Dockerfile.template @@ -1,4 +1,4 @@ -FROM yakser/asapo-nomad-cluster +FROM $ASAPO_DOCKER_REPOSITORY/asapo-nomad-cluster MAINTAINER DESY IT diff --git a/deploy/asapo_orchestration_docker/build_image.sh b/deploy/asapo_orchestration_docker/build_image.sh index f375d647b..abf4b08ea 100755 --- a/deploy/asapo_orchestration_docker/build_image.sh +++ b/deploy/asapo_orchestration_docker/build_image.sh @@ -1,4 +1,9 @@ #!/usr/bin/env bash -docker build -t yakser/asapo-orc . -docker push yakser/asapo-orc +. ../_docker_vars.sh + +sed "s/\$ASAPO_DOCKER_REPOSITORY/$ASAPO_DOCKER_REPOSITORY/" Dockerfile.template | docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-orc . -f - + +if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-orc +fi diff --git a/deploy/asapo_services/Dockerfile b/deploy/asapo_services/Dockerfile.template similarity index 72% rename from deploy/asapo_services/Dockerfile rename to deploy/asapo_services/Dockerfile.template index 1ea67d704..8a01f49f1 100644 --- a/deploy/asapo_services/Dockerfile +++ b/deploy/asapo_services/Dockerfile.template @@ -1,4 +1,4 @@ -FROM yakser/asapo-nomad-cluster +FROM $ASAPO_DOCKER_REPOSITORY/asapo-nomad-cluster MAINTAINER DESY IT diff --git a/deploy/asapo_services/asap3.tfvars b/deploy/asapo_services/asap3.tfvars index c3c5434b8..4734c46e6 100644 --- a/deploy/asapo_services/asap3.tfvars +++ b/deploy/asapo_services/asap3.tfvars @@ -1,11 +1,11 @@ elk_logs = true +asapo_docker_repository = "cpatzke" asapo_imagename_suffix = "" asapo_image_tag = "" influxdb_version="1.8.4" - service_dir="/gpfs/asapo/shared/service_dir" online_dir="/beamline" offline_dir="/asap3" @@ -31,5 +31,3 @@ discovery_total_memory_size = 512 n_receivers = 1 n_brokers = 1 n_fts = 1 - - diff --git a/deploy/asapo_services/build_image.sh b/deploy/asapo_services/build_image.sh index 69b3e638d..25c838358 100755 --- a/deploy/asapo_services/build_image.sh +++ b/deploy/asapo_services/build_image.sh @@ -1,4 +1,11 @@ #!/usr/bin/env bash -docker build -t yakser/asapo-cluster . -docker push yakser/asapo-cluster +set -e + +. ../_docker_vars.sh + +sed "s/\$ASAPO_DOCKER_REPOSITORY/$ASAPO_DOCKER_REPOSITORY/" Dockerfile.template | docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-cluster . -f - + +if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-cluster +fi diff --git a/deploy/asapo_services/run.sh b/deploy/asapo_services/run.sh index 0a4f38fc5..c215580a2 100755 --- a/deploy/asapo_services/run.sh +++ b/deploy/asapo_services/run.sh @@ -1,5 +1,9 @@ #!/usr/bin/env bash +set -e + +. ../_docker_vars.sh + NOMAD_ALLOC_HOST_SHARED=/var/tmp/asapo/container_host_shared/nomad_alloc SERVICE_DATA_CLUSTER_SHARED=/var/tmp/asapo/asapo_cluster_shared/service_data DATA_GLOBAL_SHARED=/var/tmp/asapo/global_shared/data @@ -18,17 +22,19 @@ ASAPO_USER=`id -u`:`id -g` ASAPO_VAR_FILE=`pwd`/asapo_overwrite_vars.tfvars ACL_ENABLED=true +echo creating $NOMAD_ALLOC_HOST_SHARED $SERVICE_DATA_CLUSTER_SHARED $DATA_GLOBAL_SHARED mkdir -p $NOMAD_ALLOC_HOST_SHARED $SERVICE_DATA_CLUSTER_SHARED $DATA_GLOBAL_SHARED chmod 777 $NOMAD_ALLOC_HOST_SHARED $SERVICE_DATA_CLUSTER_SHARED $DATA_GLOBAL_SHARED cd $SERVICE_DATA_CLUSTER_SHARED -mkdir esdatadir fluentd grafana influxdb mongodb +mkdir -p esdatadir fluentd grafana influxdb mongodb chmod 777 * mmc=`cat /proc/sys/vm/max_map_count` if (( mmc < 262144 )); then echo increase max_map_count - needed for elasticsearch +echo "Just run 'sudo sysctl -w vm.max_map_count=262144' to temporarily set it (until next restart)" exit 1 fi @@ -58,5 +64,5 @@ docker run --privileged --rm -v /var/run/docker.sock:/var/run/docker.sock \ -e ACL_ENABLED=$ACL_ENABLED \ -e SERVER_ADRESSES=$SERVER_ADRESSES \ -e N_SERVERS=$N_SERVERS \ ---name asapo --net=host -d yakser/asapo-cluster +--name asapo --net host -d $ASAPO_DOCKER_REPOSITORY/asapo-cluster diff --git a/deploy/asapo_services/run_maxwell.sh b/deploy/asapo_services/run_maxwell.sh index d2a74ed1f..b9ec305fe 100755 --- a/deploy/asapo_services/run_maxwell.sh +++ b/deploy/asapo_services/run_maxwell.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash -IMAGE=yakser/asapo-cluster:20.06.3 +set -e + +. ../_docker_vars.sh + +IMAGE=$ASAPO_DOCKER_REPOSITORY/asapo-cluster:20.06.3 #folders NOMAD_ALLOC_HOST_SHARED=/var/tmp/asapo/container_host_shared/nomad_alloc diff --git a/deploy/asapo_services/scripts/asapo-brokers.nmd.tpl b/deploy/asapo_services/scripts/asapo-brokers.nmd.tpl index 14f5eaf5b..375620fec 100644 --- a/deploy/asapo_services/scripts/asapo-brokers.nmd.tpl +++ b/deploy/asapo_services/scripts/asapo-brokers.nmd.tpl @@ -29,7 +29,7 @@ job "asapo-brokers" { network_mode = "host" security_opt = ["no-new-privileges"] userns_mode = "host" - image = "yakser/asapo-broker${image_suffix}" + image = "${docker_repository}/asapo-broker${image_suffix}" force_pull = ${force_pull_images} volumes = ["local/config.json:/var/lib/broker/config.json"] %{ if ! nomad_logs } diff --git a/deploy/asapo_services/scripts/asapo-fts.nmd.tpl b/deploy/asapo_services/scripts/asapo-fts.nmd.tpl index 5f4d98278..29bb0def1 100644 --- a/deploy/asapo_services/scripts/asapo-fts.nmd.tpl +++ b/deploy/asapo_services/scripts/asapo-fts.nmd.tpl @@ -29,7 +29,7 @@ job "asapo-file-transfer" { network_mode = "host" security_opt = ["no-new-privileges"] userns_mode = "host" - image = "yakser/asapo-file-transfer${image_suffix}" + image = "${docker_repository}/asapo-file-transfer${image_suffix}" force_pull = ${force_pull_images} volumes = ["local/config.json:/var/lib/file_transfer/config.json", "${offline_dir}:${offline_dir}", diff --git a/deploy/asapo_services/scripts/asapo-receivers.nmd.tpl b/deploy/asapo_services/scripts/asapo-receivers.nmd.tpl index 2096021f5..04de3245f 100644 --- a/deploy/asapo_services/scripts/asapo-receivers.nmd.tpl +++ b/deploy/asapo_services/scripts/asapo-receivers.nmd.tpl @@ -34,7 +34,7 @@ job "asapo-receivers" { security_opt = ["no-new-privileges"] userns_mode = "host" privileged = true - image = "yakser/asapo-receiver${image_suffix}" + image = "${docker_repository}/asapo-receiver${image_suffix}" force_pull = ${force_pull_images} volumes = ["local/config.json:/var/lib/receiver/config.json", "${offline_dir}:${offline_dir}", diff --git a/deploy/asapo_services/scripts/asapo-services.nmd.tpl b/deploy/asapo_services/scripts/asapo-services.nmd.tpl index 9cb6298aa..477b03c19 100644 --- a/deploy/asapo_services/scripts/asapo-services.nmd.tpl +++ b/deploy/asapo_services/scripts/asapo-services.nmd.tpl @@ -18,7 +18,7 @@ job "asapo-services" { network_mode = "host" security_opt = ["no-new-privileges"] userns_mode = "host" - image = "yakser/asapo-authorizer${image_suffix}" + image = "${docker_repository}/asapo-authorizer${image_suffix}" force_pull = ${force_pull_images} volumes = ["local/config.json:/var/lib/authorizer/config.json", "${offline_dir}:${offline_dir}", @@ -95,7 +95,7 @@ job "asapo-services" { network_mode = "host" security_opt = ["no-new-privileges"] userns_mode = "host" - image = "yakser/asapo-discovery${image_suffix}" + image = "${docker_repository}/asapo-discovery${image_suffix}" force_pull = ${force_pull_images} volumes = ["local/config.json:/var/lib/discovery/config.json"] %{ if ! nomad_logs } diff --git a/deploy/asapo_services/scripts/templates.tf b/deploy/asapo_services/scripts/templates.tf index e5dae73a5..30789475e 100644 --- a/deploy/asapo_services/scripts/templates.tf +++ b/deploy/asapo_services/scripts/templates.tf @@ -22,6 +22,7 @@ data "template_file" "asapo_services" { scripts_dir = "${var.job_scripts_dir}" online_dir = "${var.online_dir}" offline_dir = "${var.offline_dir}" + docker_repository = "${var.asapo_docker_repository}" image_suffix = "${var.asapo_imagename_suffix}:${var.asapo_image_tag}" nomad_logs = "${var.nomad_logs}" authorizer_total_memory_size = "${var.authorizer_total_memory_size}" @@ -39,6 +40,7 @@ data "template_file" "asapo_receivers" { scripts_dir = "${var.job_scripts_dir}" online_dir = "${var.online_dir}" offline_dir = "${var.offline_dir}" + docker_repository = "${var.asapo_docker_repository}" image_suffix = "${var.asapo_imagename_suffix}:${var.asapo_image_tag}" nomad_logs = "${var.nomad_logs}" receiver_total_memory_size = "${var.receiver_total_memory_size}" @@ -57,6 +59,7 @@ data "template_file" "asapo_brokers" { template = "${file("${var.job_scripts_dir}/asapo-brokers.nmd.tpl")}" vars = { scripts_dir = "${var.job_scripts_dir}" + docker_repository = "${var.asapo_docker_repository}" image_suffix = "${var.asapo_imagename_suffix}:${var.asapo_image_tag}" nomad_logs = "${var.nomad_logs}" asapo_user = "${var.asapo_user}" @@ -73,6 +76,7 @@ data "template_file" "asapo_fts" { scripts_dir = "${var.job_scripts_dir}" online_dir = "${var.online_dir}" offline_dir = "${var.offline_dir}" + docker_repository = "${var.asapo_docker_repository}" image_suffix = "${var.asapo_imagename_suffix}:${var.asapo_image_tag}" nomad_logs = "${var.nomad_logs}" asapo_user = "${var.asapo_user}" diff --git a/deploy/build_env/centos/build_el7.sh b/deploy/build_env/centos/build_el7.sh index b64109e08..9784d78c0 100755 --- a/deploy/build_env/centos/build_el7.sh +++ b/deploy/build_env/centos/build_el7.sh @@ -2,5 +2,10 @@ set -e -docker build -t yakser/asapo-env:centos7.9.2009 -f Dockerfile.7.9.2009 . -docker push yakser/asapo-env:centos7.9.2009 +. ../../_docker_vars.sh + +docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-env:centos7.9.2009 -f Dockerfile.7.9.2009 . + +if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-env:centos7.9.2009 +fi diff --git a/deploy/build_env/centos/build_el8.sh b/deploy/build_env/centos/build_el8.sh index 1f273ad2a..cd2277bc8 100755 --- a/deploy/build_env/centos/build_el8.sh +++ b/deploy/build_env/centos/build_el8.sh @@ -2,5 +2,10 @@ set -e -docker build -t yakser/asapo-env:centos8.3.2011 -f Dockerfile.8.3.2011 . -docker push yakser/asapo-env:centos8.3.2011 +. ../../_docker_vars.sh + +docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-env:centos8.3.2011 -f Dockerfile.8.3.2011 . + +if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-env:centos8.3.2011 +fi diff --git a/deploy/build_env/debians/build_images.sh b/deploy/build_env/debians/build_images.sh index 9ed79e5de..179b8d571 100755 --- a/deploy/build_env/debians/build_images.sh +++ b/deploy/build_env/debians/build_images.sh @@ -1,10 +1,16 @@ #!/usr/bin/env bash + set -e +. ../../_docker_vars.sh + vers="ubuntu18.04 ubuntu16.04 debian9.13 debian10.7" for ver in $vers do - docker build -t yakser/asapo-env:${ver} -f Dockerfile_${ver} --build-arg OS=${ver} . - docker push yakser/asapo-env:${ver} + docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-env:${ver} -f Dockerfile_${ver} --build-arg OS=${ver} . + + if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-env:${ver} + fi done diff --git a/deploy/build_env/manylinux2010/build.sh b/deploy/build_env/manylinux2010/build.sh index 0fee6f1fa..c800bbace 100755 --- a/deploy/build_env/manylinux2010/build.sh +++ b/deploy/build_env/manylinux2010/build.sh @@ -9,6 +9,7 @@ numpy_versions[cp36m]=1.12.1 numpy_versions[cp37m]=1.14.5 numpy_versions[cp38]=1.17.3 + for python_path in /opt/python/cp{27,35,36,37,38}*; do python_version=$(basename $python_path) python_version=${python_version#*-} @@ -17,6 +18,7 @@ for python_path in /opt/python/cp{27,35,36,37,38}*; do numpy_version=${numpy_versions[$python_version]} echo "building wheel for python_version=$python_version with numpy_version=$numpy_version" + mkdir -p /asapo/build cd /asapo/build cmake -DENABLE_LIBFABRIC=on \ -DCMAKE_BUILD_TYPE="Release" \ @@ -42,4 +44,4 @@ cd /asapo/build/consumer \ cd /asapo/build/producer \ && for wheel in wheelhouse/asapo_producer*.whl; do auditwheel repair $wheel --plat manylinux2010_x86_64 -w /asapo/build/wheelhouse - done \ No newline at end of file + done diff --git a/deploy/build_env/manylinux2010/build_image.sh b/deploy/build_env/manylinux2010/build_image.sh index 9a2bfe886..d82efba17 100755 --- a/deploy/build_env/manylinux2010/build_image.sh +++ b/deploy/build_env/manylinux2010/build_image.sh @@ -3,8 +3,9 @@ #docker build -t yakser/asapo-env:manylinux2010_ . #./docker-squash yakser/asapo-env:manylinux2010_ -t yakser/asapo-env:manylinux2010 -docker build -t yakser/asapo-env:manylinux2010 . -docker push yakser/asapo-env:manylinux2010 - - +. ../../_docker_vars.sh +docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-env:manylinux2010 . +if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-env:manylinux2010 +fi diff --git a/deploy/build_env/manylinux2010/docker-squash b/deploy/build_env/manylinux2010/docker-squash index 22433497d..439a4e949 100755 --- a/deploy/build_env/manylinux2010/docker-squash +++ b/deploy/build_env/manylinux2010/docker-squash @@ -7,5 +7,6 @@ import sys from docker_squash.cli import run if __name__ == '__main__': + print("Hey Sergey, use the new --squash option in docker build") sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(run()) diff --git a/deploy/build_env/site/build_image.sh b/deploy/build_env/site/build_image.sh index 51ff855c1..51004244f 100755 --- a/deploy/build_env/site/build_image.sh +++ b/deploy/build_env/site/build_image.sh @@ -1,3 +1,8 @@ #!/usr/bin/env bash -docker build -t yakser/asapo-site-env -f Dockerfile . -docker push yakser/asapo-site-env \ No newline at end of file + +. ../../_docker_vars.sh + +docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-site-env -f Dockerfile . +if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-site-env +fi diff --git a/deploy/nomad_consul_docker/build_image.sh b/deploy/nomad_consul_docker/build_image.sh index 227ac362f..7b67d1ea3 100755 --- a/deploy/nomad_consul_docker/build_image.sh +++ b/deploy/nomad_consul_docker/build_image.sh @@ -1,4 +1,10 @@ #!/usr/bin/env bash -docker build -t yakser/asapo-nomad-cluster . -docker push yakser/asapo-nomad-cluster +set -e + +. ../_docker_vars.sh + +docker build -t $ASAPO_DOCKER_REPOSITORY/asapo-nomad-cluster . +if [ $ASAPO_DOCKER_DO_PUSH = "YES" ]; then + docker push $ASAPO_DOCKER_REPOSITORY/asapo-nomad-cluster +fi diff --git a/deploy/nomad_consul_docker/run.sh b/deploy/nomad_consul_docker/run.sh index 0c5bedbb6..9bdbb41f6 100755 --- a/deploy/nomad_consul_docker/run.sh +++ b/deploy/nomad_consul_docker/run.sh @@ -1,5 +1,9 @@ #!/usr/bin/env bash +set -e + +. ../_docker_vars.sh + NOMAD_ALLOC_HOST_SHARED=/tmp/asapo/container_host_shared/nomad_alloc ASAPO_USER=`id -u`:`id -g` @@ -13,5 +17,4 @@ docker run --privileged --rm -v /var/run/docker.sock:/var/run/docker.sock \ -v /var/lib/docker:/var/lib/docker \ -v $NOMAD_ALLOC_HOST_SHARED:$NOMAD_ALLOC_HOST_SHARED \ -e NOMAD_ALLOC_DIR=$NOMAD_ALLOC_HOST_SHARED \ - --name asapo --net=host -d yakser/asapo-nomad-cluster - + --name asapo --net=host -d $ASAPO_DOCKER_REPOSITORY/asapo-nomad-cluster -- GitLab