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'