diff --git a/bootstrap_plugins/centos77.plugin.sh b/bootstrap_plugins/centos77.plugin.sh
index 301af34b..5abee40c 100644
--- a/bootstrap_plugins/centos77.plugin.sh
+++ b/bootstrap_plugins/centos77.plugin.sh
@@ -54,10 +54,6 @@ in_general_packages() {
# packages to install after others
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-ce-17.03.0.ce-1.el7.centos'
# script to run for installing suffix_packages
in_suffix_packages() {
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 5941551c..d001895e 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -54,9 +54,9 @@
# built documents.
#
# The short X.Y version.
-version = u'3.2'
+version = u'3.4'
# The full version, including alpha/beta/rc tags.
-release = u'3.2.2.0'
+release = u'3.4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/patches/3.4.0.0/Dockerfile b/patches/3.4.0.0/Dockerfile
new file mode 100644
index 00000000..d9ce6087
--- /dev/null
+++ b/patches/3.4.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.4.0.0-113607.75b42b5-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.4.0.0/build.sh b/patches/3.4.0.0/build.sh
new file mode 100644
index 00000000..8bfdd7b9
--- /dev/null
+++ b/patches/3.4.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.4.0.0/image.conf b/patches/3.4.0.0/image.conf
new file mode 100644
index 00000000..92fcfecc
--- /dev/null
+++ b/patches/3.4.0.0/image.conf
@@ -0,0 +1,3 @@
+BASE_IMAGE="emcvipr/object:3.4.0.0-113607.75b42b5-reduced"
+IMAGE_REPO="emccorp/ecs-software-3.4.0 "
+IMAGE_VERSION="3.4.0.0"
diff --git a/release.conf b/release.conf
index 96935e7e..0b3dae73 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.4 )
+# release_artifact="emccorp/ecs-software-3.4.0"
+# release_tag="latest"
+#
### Older versions ( 3.3 )
# release_artifact="emccorp/ecs-software-3.3.0"
# release_tag="3.3.0.2"
diff --git a/ui/ansible/roles/common_deploy/tasks/main.yml b/ui/ansible/roles/common_deploy/tasks/main.yml
index 6e4e14ac..cd930666 100644
--- a/ui/ansible/roles/common_deploy/tasks/main.yml
+++ b/ui/ansible/roles/common_deploy/tasks/main.yml
@@ -5,7 +5,7 @@
# shell: docker run -d -v /opt/storageos/conf -v /opt/storageos/ecsportal/conf -v /etc --name ecs-config --restart=no --entrypoint=/bin/echo {{product_common_name}} "ECS configuration data container" && touch {{host_cache_dir}}/ecs-config.created creates="{{host_cache_dir}}/ecs-config.created"
- name: Common | Create a data container for ECS configuration control
- docker:
+ docker_container:
image: "{{product_common_name}}"
name: ecs-config
detach: true
@@ -176,6 +176,15 @@
regexp: '^(.*)Xmx384m(.*)$'
line: '\1Xmx768m\2'
+
+## blobsvc configuration
+- name: 'Common | Increase memory for blobsvc'
+ lineinfile:
+ dest: /host/blobsvc
+ backrefs: yes
+ regexp: '^(.*)Xmx2688m(.*)$'
+ line: '\1Xmx3584m\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}}
@@ -194,11 +203,11 @@
### And run the ECS container
- name: Common | Create the ECS StorageOS container
- docker:
+ docker_container:
image: "{{product_common_name}}"
name: ecs-storageos
detach: true
- net: host
+ network_mode: host
env:
SS_GENCONFIG: 1
volumes_from:
diff --git a/ui/ansible/roles/common_sync_caches_by_copy/tasks/main.yml b/ui/ansible/roles/common_sync_caches_by_copy/tasks/main.yml
index 2ca0395f..dd86e2df 100644
--- a/ui/ansible/roles/common_sync_caches_by_copy/tasks/main.yml
+++ b/ui/ansible/roles/common_sync_caches_by_copy/tasks/main.yml
@@ -9,7 +9,7 @@
file:
state: directory
path: "{{host_cache_dir}}/{{ item }}"
- with_items: "{{ caches.keys() }}"
+ with_items: "{{ caches }}"
when: flag_install_node is not defined
tags: files
diff --git a/ui/ansible/roles/installer_build_cache/tasks/main.yml b/ui/ansible/roles/installer_build_cache/tasks/main.yml
index b58db8cf..83a9b095 100644
--- a/ui/ansible/roles/installer_build_cache/tasks/main.yml
+++ b/ui/ansible/roles/installer_build_cache/tasks/main.yml
@@ -2,7 +2,7 @@
- name: Installer | Create cache directories
file: state=directory path={{ cache_dir }}/{{ item }}
- with_items: "{{ caches.keys() }}"
+ with_items: "{{ caches }}"
when:
- not ( num_data_nodes|int == 1 and top_data_node == groups['install_node'][0] )
- not ( ansible_local is defined and ansible_local.ova is defined )
diff --git a/ui/ansible/roles/testing/tasks/main.yml b/ui/ansible/roles/testing/tasks/main.yml
index 1d29cb01..e2aaaf76 100644
--- a/ui/ansible/roles/testing/tasks/main.yml
+++ b/ui/ansible/roles/testing/tasks/main.yml
@@ -18,7 +18,7 @@
- name: Installer | Create cache directories
file: state=directory path={{ cache_dir }}/{{ item }}
- with_items: "{{ caches.keys() }}"
+ with_items: "{{ caches }}"
when:
- not ( num_data_nodes|int == 1 and top_data_node == groups['install_node'][0] )
- not ( ansible_local is defined and ansible_local.ova is defined )
diff --git a/ui/etc/config.yml b/ui/etc/config.yml
index c8912171..765481a3 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.3.0.2
+ version: 3.4.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 cbb4de19..efa8a4c0 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.3.0.2"
+release_version="3.4.0.0"
release_product="ECS Software"
-release_artifact="emccorp/ecs-software-3.3.0"
-release_tag="3.3.0.2"
+release_artifact="emccorp/ecs-software-3.4.0"
+release_tag="3.4.0.0"
release_common_name="emccorp/ecs-software:latest"
docker_host_root="/opt/emc/ecs-install"
@@ -32,7 +32,7 @@ image_name='ecs-install'
tag='latest'
ver_maj='2'
ver_min='9'
-ver_rev='1'
+ver_rev='2'
ver_tag='r'
serial=0
diff --git a/ui/setup.py b/ui/setup.py
index 82718946..32144845 100755
--- a/ui/setup.py
+++ b/ui/setup.py
@@ -3,7 +3,7 @@
setup(
name='ecsdeploy',
- version='2.9.1r',
+ version='2.10.0r',
packages=find_packages(),
scripts=['ui.py',
'ecsdeploy.py',