From adc904a6f780082c2281ad6ed17fa9f2c4126113 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Tue, 23 Apr 2019 10:08:28 -0500 Subject: [PATCH] Update to 3.3.0 (#463) 3.3 RC patch Update Centos Release to 7.6 - deprecate *>7.4 - iterate CE ver. temp fix increase sr heap size 3.3 RC patch update increase memory for sr Bump memory, fix ref, pin docker version pin docker version bump install node version bump install node version --- .github/ISSUE_TEMPLATE.md | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- bootstrap.sh | 5 ++++ bootstrap_plugins/centos76.plugin.sh | 18 +++++++++++-- patches/3.3.0.0/Dockerfile | 27 +++++++++++++++++++ patches/3.3.0.0/build.sh | 4 +++ patches/3.3.0.0/image.conf | 3 +++ patches/libexec/patch_script.sh | 1 + release.conf | 4 +++ ui/ansible/roles/common_deploy/tasks/main.yml | 8 ++++++ ui/ansible/roles/common_deploy/vars/main.yml | 1 + ui/etc/config.yml | 2 +- ui/etc/release.conf | 7 +++-- 13 files changed, 75 insertions(+), 9 deletions(-) create mode 100644 patches/3.3.0.0/Dockerfile create mode 100644 patches/3.3.0.0/build.sh create mode 100644 patches/3.3.0.0/image.conf diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index bfaf5dd0..38938e5d 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -16,4 +16,4 @@ ``` --- -Notifies: @padthaitofuhot @captntuttle @adrianmo +Notifies: @captntuttle diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 06c2084e..80b33722 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -11,4 +11,4 @@ 3. --- -@padthaitofuhot @captntuttle @adrianmo +@captntuttle diff --git a/bootstrap.sh b/bootstrap.sh index 0013c20c..6ded5f0f 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -566,6 +566,11 @@ p Installing VM guest additions ping_sudo fi +### Lock packages that we don't want updated +v "Locking packages we don't want updated" +p locking docker packages +versionlock_packages 2>&1 | log +ping_sudo ### Update repo databases and all system packages (again) ### This will pick up any updates pulled in from alternate repos. diff --git a/bootstrap_plugins/centos76.plugin.sh b/bootstrap_plugins/centos76.plugin.sh index 89f38b34..0d583f31 100644 --- a/bootstrap_plugins/centos76.plugin.sh +++ b/bootstrap_plugins/centos76.plugin.sh @@ -18,7 +18,8 @@ docker_binary='/bin/docker' # packages to clean up during preflight # Don't `yum autoremove curl`. Yum is a dependency and it will throw errors. -list_preflight_packages="git nfs-client nfs-tools rsync wget ntp docker vim pigz gdisk aria2 htop iotop iftop multitail dstat jq python-docker-py dkms qemu-guest-agent open-vm-tools open-vm-tools-desktop docker" + +list_preflight_packages="git nfs-client nfs-tools rsync wget ntp docker-1.13.1-75.git8633870.el7.centos vim pigz gdisk aria2 htop iotop iftop multitail dstat jq python-docker-py dkms qemu-guest-agent open-vm-tools open-vm-tools-desktop docker" # Do any OS-specific tasks that must be done prior to bootstrap do_preflight() { @@ -35,7 +36,8 @@ in_prefix_packages() { # packages to install # list_general_packages='yum-utils git python-pip python-docker-py' -list_general_packages='git ntp docker vim rsync pigz gdisk aria2' + +list_general_packages='git ntp docker-1.13.1-75.git8633870.el7.centos vim rsync pigz gdisk aria2 yum-versionlock' # script to run for installing general_packages in_general_packages() { @@ -52,6 +54,9 @@ in_general_packages() { list_suffix_packages='htop iotop iftop multitail dstat jq python-docker-py' # list_suffix_packages='htop jq pigz gdisk aria2 python-docker-py' +# packages to lock after installation +list_lock_packages='docker docker-common docker-client' + # script to run for installing suffix_packages in_suffix_packages() { in_repo_pkg "$list_suffix_packages" @@ -70,6 +75,10 @@ in_vm_packages() { # return 0 } +versionlock_packages() { + lock_pkg "$list_lock_packages" +} + # command to install one or more os package manager package in_repo_pkg() { retry_with_timeout 10 300 sudo yum -y install $* @@ -79,6 +88,11 @@ rm_repo_pkg() { retry_with_timeout 10 300 sudo yum -y autoremove $* } +# lock packages that we don't want updated +lock_pkg() { + sudo yum versionlock $* +} + # command to update all packages in the os package manager up_repo_pkg_all() { retry_with_timeout 10 300 sudo yum -y update diff --git a/patches/3.3.0.0/Dockerfile b/patches/3.3.0.0/Dockerfile new file mode 100644 index 00000000..4a7f41d1 --- /dev/null +++ b/patches/3.3.0.0/Dockerfile @@ -0,0 +1,27 @@ +# Fixes to the default 3.3.0.0 reduced image. + +# Build on object-reduced image (GA release) +FROM emcvipr/object:3.3.0.0-108986.c0575c7-reduced + +# Fix disk partitioning script +RUN sed -i '/VMware/ s/$/ \&\& [ ! -e \/data\/is_community_edition ]/' /opt/storageos/bin/storageserver-partition-config.sh \ + && /usr/bin/chmod +x /opt/storageos/bin/storageserver-partition-config.sh + +# Set VNest useSeperateThreadPools to True +#RUN f=/opt/storageos/conf/vnest-common-conf.xml; grep -q "object.UseSeparateThreadPools" $f || sed -i '/properties id="serviceProperties"/a \ \ \ \ \ \ \ \ true' $f + +# Allow allocation of different blocks of a chunk to be stored on the same partition +#RUN f=/opt/storageos/conf/ssm-cf-conf.xml; grep -q '' $f || sed -i 's###g' /opt/storageos/conf/ssm-cf-conf.xml $f + +## Increase memory for transformsvc +#RUN sed -i s/Xmx128m/Xmx512m/ /opt/storageos/bin/transformsvc + +## Set memory for objcontrolsvc +#RUN sed -i s/Xmx96m/Xmx256m/ /opt/storageos/bin/objcontrolsvc + +# Set georeceiver's initialBufferNumOnHeap to something smaller for CE +#RUN f=/opt/storageos/conf/georeceiver-conf.xml; grep -q 'name="initialBufferNumOnHeap" value="5"' $f || sed -i 's/name="initialBufferNumOnHeap" value="60"/name="initialBufferNumOnHeap" value="5"/' $f +#RUN f=/opt/storageos/conf/georeceiver-conf.xml; grep -q '10' $f || sed -i 's#80#10#g' $f + +# Configure CM Object properties: Disable minimum storage device count +#RUN f=/opt/storageos/conf/cm.object.properties; grep -q 'MustHaveEnoughResources=false' $f || sed -i 's/MustHaveEnoughResources=true/MustHaveEnoughResources=false/' $f diff --git a/patches/3.3.0.0/build.sh b/patches/3.3.0.0/build.sh new file mode 100644 index 00000000..8bfdd7b9 --- /dev/null +++ b/patches/3.3.0.0/build.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +source image.conf + +docker build -t "${IMAGE_REPO}:${IMAGE_VERSION}" . diff --git a/patches/3.3.0.0/image.conf b/patches/3.3.0.0/image.conf new file mode 100644 index 00000000..cc7aff18 --- /dev/null +++ b/patches/3.3.0.0/image.conf @@ -0,0 +1,3 @@ +BASE_IMAGE="emcvipr/object:3.3.0.0-109089.4bf8a5a-reduced" +IMAGE_REPO="emccorp/ecs-software-3.3.0" +IMAGE_VERSION="3.3.0.0" diff --git a/patches/libexec/patch_script.sh b/patches/libexec/patch_script.sh index f3a92388..4d13a3a2 100644 --- a/patches/libexec/patch_script.sh +++ b/patches/libexec/patch_script.sh @@ -54,6 +54,7 @@ sed -i s/-Xmx128m/-Xmx512m/ /opt/storageos/bin/transformsvc sed -i s/-Xmx2048m/-Xmx3072m/ /opt/storageos/bin/blobsvc # sed -i s/-Xmx512m/-Xmx256m/ /opt/storageos/bin/metering sed -i s/\$\(_get_mem_fraction_mb\ 428.3m\ 0.0081\)/64/ /opt/storageos/bin/ecsportalsvc +sed -i s/-Xmx384m/-Xmx768m/ /opt/storageos/bin/sr # sed -i s/-Xmx128m/-Xmx64m/ /opt/storageos/bin/dtquery sed -i s/-Xmx192m/-Xmx128m/ /opt/storageos/bin/eventsvc sed -i s/-Xmx256m/-Xmx128m/ /opt/storageos/bin/resourcesvc diff --git a/release.conf b/release.conf index 207faf66..1528c501 100644 --- a/release.conf +++ b/release.conf @@ -11,6 +11,10 @@ # DO NOT specify an alternate registry here. Use the -r argument to # bootstrap.sh for that. # +### Older versions ( 3.3 ) +# release_artifact="emccorp/ecs-software-3.3.0" +# release_tag="latest" +# ### Older versions ( 3.2 ) # release_artifact="emccorp/ecs-software-3.2.0" # release_tag="3.2.2.0" diff --git a/ui/ansible/roles/common_deploy/tasks/main.yml b/ui/ansible/roles/common_deploy/tasks/main.yml index 5798dd5b..6e4e14ac 100644 --- a/ui/ansible/roles/common_deploy/tasks/main.yml +++ b/ui/ansible/roles/common_deploy/tasks/main.yml @@ -168,6 +168,14 @@ insertafter: '' line: ' true' +## sr configuration +- name: 'Common | Increase memory for sr' + lineinfile: + dest: /host/sr + backrefs: yes + regexp: '^(.*)Xmx384m(.*)$' + line: '\1Xmx768m\2' + ### Then docker cp them into the configuration container - name: Common | Merge configurations into configuration data container command: docker cp /host/{{item.split('/')[-1]}} ecs-config:{{item}} diff --git a/ui/ansible/roles/common_deploy/vars/main.yml b/ui/ansible/roles/common_deploy/vars/main.yml index 97ef35e6..bc591f52 100644 --- a/ui/ansible/roles/common_deploy/vars/main.yml +++ b/ui/ansible/roles/common_deploy/vars/main.yml @@ -10,5 +10,6 @@ config_files: - /opt/storageos/bin/dtquery - /opt/storageos/bin/transformsvc - /opt/storageos/bin/objcontrolsvc + - /opt/storageos/bin/sr - /opt/storageos/conf/georeceiver-conf.xml - /opt/storageos/conf/vnest-common-conf.xml diff --git a/ui/etc/config.yml b/ui/etc/config.yml index 313aacfe..68161d95 100644 --- a/ui/etc/config.yml +++ b/ui/etc/config.yml @@ -32,7 +32,7 @@ ui: ffx_sem: /opt/ffx.sem product: name: ECS - version: 3.2.2.0 + version: 3.3.0.0 vendor: Dell EMC flavor: Community Edition slogan: Free and Frictionless diff --git a/ui/etc/release.conf b/ui/etc/release.conf index 1d1d90c7..de26e18f 100644 --- a/ui/etc/release.conf +++ b/ui/etc/release.conf @@ -8,10 +8,10 @@ # it is provided by or on behalf of EMC. release_name="ECS Community Edition" -release_version="3.2.2.0" +release_version="3.3.0.0" release_product="ECS Software" -release_artifact="emccorp/ecs-software-3.2.2" -release_tag="3.2.2.0" +release_artifact="emccorp/ecs-software-3.3.0" +release_tag="3.3.0.0" release_common_name="emccorp/ecs-software:latest" docker_host_root="/opt/emc/ecs-install" @@ -26,7 +26,6 @@ default_mount_opts+=("-v ${docker_host_logs}:/var/log") default_mount_opts+=("-v /var/cache:/var/cache") data_container_name="ecs-install-data" -#from_image='python:2-alpine' from_image='alpine:3.7' repo_name='emccorp' image_name='ecs-install'