diff --git a/CMakeLists.txt b/CMakeLists.txt index b425631b..9fa27825 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,6 @@ cmake_minimum_required(VERSION 2.8.12) project(vitastor) -set(VERSION "1.3.1") +set(VERSION "1.4.0") add_subdirectory(src) diff --git a/csi/Makefile b/csi/Makefile index b3b32691..86b563e4 100644 --- a/csi/Makefile +++ b/csi/Makefile @@ -1,4 +1,4 @@ -VERSION ?= v1.3.1 +VERSION ?= v1.4.0 all: build push diff --git a/csi/deploy/004-csi-nodeplugin.yaml b/csi/deploy/004-csi-nodeplugin.yaml index 86dbe999..b71c18c0 100644 --- a/csi/deploy/004-csi-nodeplugin.yaml +++ b/csi/deploy/004-csi-nodeplugin.yaml @@ -49,7 +49,7 @@ spec: capabilities: add: ["SYS_ADMIN"] allowPrivilegeEscalation: true - image: vitalif/vitastor-csi:v1.3.1 + image: vitalif/vitastor-csi:v1.4.0 args: - "--node=$(NODE_ID)" - "--endpoint=$(CSI_ENDPOINT)" diff --git a/csi/deploy/007-csi-provisioner.yaml b/csi/deploy/007-csi-provisioner.yaml index 0068217c..c62791c3 100644 --- a/csi/deploy/007-csi-provisioner.yaml +++ b/csi/deploy/007-csi-provisioner.yaml @@ -121,7 +121,7 @@ spec: privileged: true capabilities: add: ["SYS_ADMIN"] - image: vitalif/vitastor-csi:v1.3.1 + image: vitalif/vitastor-csi:v1.4.0 args: - "--node=$(NODE_ID)" - "--endpoint=$(CSI_ENDPOINT)" diff --git a/csi/src/config.go b/csi/src/config.go index 4a922734..a3ceeb20 100644 --- a/csi/src/config.go +++ b/csi/src/config.go @@ -5,7 +5,7 @@ package vitastor const ( vitastorCSIDriverName = "csi.vitastor.io" - vitastorCSIDriverVersion = "1.3.1" + vitastorCSIDriverVersion = "1.4.0" ) // Config struct fills the parameters of request or user input diff --git a/csi/src/nodeserver.go b/csi/src/nodeserver.go index 7694a861..fe546d1a 100644 --- a/csi/src/nodeserver.go +++ b/csi/src/nodeserver.go @@ -188,7 +188,6 @@ func (ns *NodeServer) unmapNbd(devicePath string) func findByPidFile(pidFile string) (*os.Process, error) { - klog.Infof("killing process with PID from file %s", pidFile) pidBuf, err := os.ReadFile(pidFile) if (err != nil) { @@ -209,6 +208,7 @@ func findByPidFile(pidFile string) (*os.Process, error) func killByPidFile(pidFile string) error { + klog.Infof("killing process with PID from file %s", pidFile) proc, err := findByPidFile(pidFile) if (err != nil) { diff --git a/debian/changelog b/debian/changelog index e403e94a..80884c55 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -vitastor (1.3.1-1) unstable; urgency=medium +vitastor (1.4.0-1) unstable; urgency=medium * Bugfixes diff --git a/debian/vitastor.Dockerfile b/debian/vitastor.Dockerfile index 66751ce6..1d64949b 100644 --- a/debian/vitastor.Dockerfile +++ b/debian/vitastor.Dockerfile @@ -35,8 +35,8 @@ RUN set -e -x; \ mkdir -p /root/packages/vitastor-$REL; \ rm -rf /root/packages/vitastor-$REL/*; \ cd /root/packages/vitastor-$REL; \ - cp -r /root/vitastor vitastor-1.3.1; \ - cd vitastor-1.3.1; \ + cp -r /root/vitastor vitastor-1.4.0; \ + cd vitastor-1.4.0; \ ln -s /root/fio-build/fio-*/ ./fio; \ FIO=$(head -n1 fio/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \ ls /usr/include/linux/raw.h || cp ./debian/raw.h /usr/include/linux/raw.h; \ @@ -49,8 +49,8 @@ RUN set -e -x; \ rm -rf a b; \ echo "dep:fio=$FIO" > debian/fio_version; \ cd /root/packages/vitastor-$REL; \ - tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_1.3.1.orig.tar.xz vitastor-1.3.1; \ - cd vitastor-1.3.1; \ + tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_1.4.0.orig.tar.xz vitastor-1.4.0; \ + cd vitastor-1.4.0; \ V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \ DEBFULLNAME="Vitaliy Filippov " dch -D $REL -v "$V""$REL" "Rebuild for $REL"; \ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \ diff --git a/docs/installation/kubernetes.en.md b/docs/installation/kubernetes.en.md index aeeaade9..4c89d71e 100644 --- a/docs/installation/kubernetes.en.md +++ b/docs/installation/kubernetes.en.md @@ -37,6 +37,7 @@ Vitastor CSI supports: - Volume snapshots. Example: [snapshot class](../../csi/deploy/example-snapshot-class.yaml), [snapshot](../../csi/deploy/example-snapshot.yaml), [clone](../../csi/deploy/example-snapshot-clone.yaml) - [VDUSE](../usage/qemu.en.md#vduse) (preferred) and [NBD](../usage/nbd.en.md) device mapping methods - Upgrades with VDUSE - new handler processes are restarted when CSI pods are restarted themselves +- VDUSE daemon auto-restart - handler processes are automatically restarted if they crash due to a bug in Vitastor client code - Multiple clusters by using multiple configuration files in ConfigMap. Remember that to use snapshots with CSI you also have to install [Snapshot Controller and CRDs](https://kubernetes-csi.github.io/docs/snapshot-controller.html#deployment). diff --git a/docs/installation/kubernetes.ru.md b/docs/installation/kubernetes.ru.md index 966df002..d75a93ef 100644 --- a/docs/installation/kubernetes.ru.md +++ b/docs/installation/kubernetes.ru.md @@ -37,6 +37,7 @@ CSI-плагин Vitastor поддерживает: - Снимки томов. Пример: [класс снимков](../../csi/deploy/example-snapshot-class.yaml), [снимок](../../csi/deploy/example-snapshot.yaml), [клон снимка](../../csi/deploy/example-snapshot-clone.yaml) - Способы подключения устройств [VDUSE](../usage/qemu.ru.md#vduse) (предпочитаемый) и [NBD](../usage/nbd.ru.md) - Обновление при использовании VDUSE - новые процессы-обработчики устройств успешно перезапускаются вместе с самими подами CSI +- Автоперезауск демонов VDUSE - процесс-обработчик автоматически перезапустится, если он внезапно упадёт из-за бага в коде клиента Vitastor - Несколько кластеров через задание нескольких файлов конфигурации в ConfigMap. Не забывайте, что для использования снимков нужно сначала установить [контроллер снимков и CRD](https://kubernetes-csi.github.io/docs/snapshot-controller.html#deployment). diff --git a/mon/package.json b/mon/package.json index bb51f91d..eeeb36bc 100644 --- a/mon/package.json +++ b/mon/package.json @@ -1,6 +1,6 @@ { "name": "vitastor-mon", - "version": "1.3.1", + "version": "1.4.0", "description": "Vitastor SDS monitor service", "main": "mon-main.js", "scripts": { diff --git a/patches/cinder-vitastor.py b/patches/cinder-vitastor.py index 3201f41b..f69d0f85 100644 --- a/patches/cinder-vitastor.py +++ b/patches/cinder-vitastor.py @@ -50,7 +50,7 @@ from cinder.volume import configuration from cinder.volume import driver from cinder.volume import volume_utils -VERSION = '1.3.1' +VERSION = '1.4.0' LOG = logging.getLogger(__name__) diff --git a/rpm/build-tarball.sh b/rpm/build-tarball.sh index 88b8d918..2068d9ca 100755 --- a/rpm/build-tarball.sh +++ b/rpm/build-tarball.sh @@ -24,4 +24,4 @@ rm fio mv fio-copy fio FIO=`rpm -qi fio | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Version[\s:]+(\S+)/ && print $1; /^Release[\s:]+(\S+)/ && print "-$1"; }'` perl -i -pe 's/(Requires:\s*fio)([^\n]+)?/$1 = '$FIO'/' $VITASTOR/rpm/vitastor-el$EL.spec -tar --transform 's#^#vitastor-1.3.1/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-1.3.1$(rpm --eval '%dist').tar.gz * +tar --transform 's#^#vitastor-1.4.0/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-1.4.0$(rpm --eval '%dist').tar.gz * diff --git a/rpm/vitastor-el7.Dockerfile b/rpm/vitastor-el7.Dockerfile index 4e9a9e86..957282aa 100644 --- a/rpm/vitastor-el7.Dockerfile +++ b/rpm/vitastor-el7.Dockerfile @@ -36,7 +36,7 @@ ADD . /root/vitastor RUN set -e; \ cd /root/vitastor/rpm; \ sh build-tarball.sh; \ - cp /root/vitastor-1.3.1.el7.tar.gz ~/rpmbuild/SOURCES; \ + cp /root/vitastor-1.4.0.el7.tar.gz ~/rpmbuild/SOURCES; \ cp vitastor-el7.spec ~/rpmbuild/SPECS/vitastor.spec; \ cd ~/rpmbuild/SPECS/; \ rpmbuild -ba vitastor.spec; \ diff --git a/rpm/vitastor-el7.spec b/rpm/vitastor-el7.spec index d5949144..594e5573 100644 --- a/rpm/vitastor-el7.spec +++ b/rpm/vitastor-el7.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 1.3.1 +Version: 1.4.0 Release: 1%{?dist} Summary: Vitastor, a fast software-defined clustered block storage License: Vitastor Network Public License 1.1 URL: https://vitastor.io/ -Source0: vitastor-1.3.1.el7.tar.gz +Source0: vitastor-1.4.0.el7.tar.gz BuildRequires: liburing-devel >= 0.6 BuildRequires: gperftools-devel diff --git a/rpm/vitastor-el8.Dockerfile b/rpm/vitastor-el8.Dockerfile index 13bb3b9f..c2db92dd 100644 --- a/rpm/vitastor-el8.Dockerfile +++ b/rpm/vitastor-el8.Dockerfile @@ -35,7 +35,7 @@ ADD . /root/vitastor RUN set -e; \ cd /root/vitastor/rpm; \ sh build-tarball.sh; \ - cp /root/vitastor-1.3.1.el8.tar.gz ~/rpmbuild/SOURCES; \ + cp /root/vitastor-1.4.0.el8.tar.gz ~/rpmbuild/SOURCES; \ cp vitastor-el8.spec ~/rpmbuild/SPECS/vitastor.spec; \ cd ~/rpmbuild/SPECS/; \ rpmbuild -ba vitastor.spec; \ diff --git a/rpm/vitastor-el8.spec b/rpm/vitastor-el8.spec index dac5ddd3..d9ea9155 100644 --- a/rpm/vitastor-el8.spec +++ b/rpm/vitastor-el8.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 1.3.1 +Version: 1.4.0 Release: 1%{?dist} Summary: Vitastor, a fast software-defined clustered block storage License: Vitastor Network Public License 1.1 URL: https://vitastor.io/ -Source0: vitastor-1.3.1.el8.tar.gz +Source0: vitastor-1.4.0.el8.tar.gz BuildRequires: liburing-devel >= 0.6 BuildRequires: gperftools-devel diff --git a/rpm/vitastor-el9.Dockerfile b/rpm/vitastor-el9.Dockerfile index b7a95e31..f18620b9 100644 --- a/rpm/vitastor-el9.Dockerfile +++ b/rpm/vitastor-el9.Dockerfile @@ -18,7 +18,7 @@ ADD . /root/vitastor RUN set -e; \ cd /root/vitastor/rpm; \ sh build-tarball.sh; \ - cp /root/vitastor-1.3.1.el9.tar.gz ~/rpmbuild/SOURCES; \ + cp /root/vitastor-1.4.0.el9.tar.gz ~/rpmbuild/SOURCES; \ cp vitastor-el9.spec ~/rpmbuild/SPECS/vitastor.spec; \ cd ~/rpmbuild/SPECS/; \ rpmbuild -ba vitastor.spec; \ diff --git a/rpm/vitastor-el9.spec b/rpm/vitastor-el9.spec index aea6ed90..f06301bb 100644 --- a/rpm/vitastor-el9.spec +++ b/rpm/vitastor-el9.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 1.3.1 +Version: 1.4.0 Release: 1%{?dist} Summary: Vitastor, a fast software-defined clustered block storage License: Vitastor Network Public License 1.1 URL: https://vitastor.io/ -Source0: vitastor-1.3.1.el9.tar.gz +Source0: vitastor-1.4.0.el9.tar.gz BuildRequires: liburing-devel >= 0.6 BuildRequires: gperftools-devel diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 780af2f1..69e286e4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,7 +16,7 @@ if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/local/?$") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") endif() -add_definitions(-DVERSION="1.3.1") +add_definitions(-DVERSION="1.4.0") add_definitions(-Wall -Wno-sign-compare -Wno-comment -Wno-parentheses -Wno-pointer-arith -fdiagnostics-color=always -fno-omit-frame-pointer -I ${CMAKE_SOURCE_DIR}/src) add_link_options(-fno-omit-frame-pointer) if (${WITH_ASAN}) diff --git a/src/vitastor.pc.in b/src/vitastor.pc.in index e96cbd47..bc3d847d 100644 --- a/src/vitastor.pc.in +++ b/src/vitastor.pc.in @@ -6,7 +6,7 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ Name: Vitastor Description: Vitastor client library -Version: 1.3.1 +Version: 1.4.0 Libs: -L${libdir} -lvitastor_client Cflags: -I${includedir}