From 11ec9ad8740339741e720b671f4b090e44793cdb Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sat, 3 Sep 2022 23:32:19 +0300 Subject: [PATCH] Release 0.8.0 - Implement automatic OSD activation via udev and simple on-disk superblock storage - Add a new `vitastor-disk` tool and merge all disk-related functionality there. Now it can prepare new OSD disks, upgrade plain old systemd units to the new scheme, resize OSD data area, manage OSD services by disk paths, manage superblocks, automatically check and disable disk cache, dump and write back journal and metadata. - Add a documentation section about `vitastor-disk` (read it if you want details!) - Install systemd services during package installation instead of the older method of manually creating them via separate shell scripts - Add a new `make-etcd` script that reuses /etc/vitastor/vitastor.conf to configure etcd - Allow to configure block_size, bitmap_granularity and immediate_commit per-pool - Fix "fatal error: tried to overwrite non-zero metadata entry" which was possible in some cases after unclean OSD shutdown (caused by old metadata entries not being zeroed) --- CMakeLists.txt | 2 +- csi/Makefile | 2 +- csi/deploy/004-csi-nodeplugin.yaml | 2 +- csi/deploy/007-csi-provisioner.yaml | 2 +- csi/src/config.go | 2 +- debian/changelog | 4 ++-- debian/vitastor.Dockerfile | 8 ++++---- patches/cinder-vitastor.py | 2 +- rpm/build-tarball.sh | 2 +- rpm/qemu-kvm-4.2-el7.spec.patch | 2 +- rpm/vitastor-el7.Dockerfile | 2 +- rpm/vitastor-el7.spec | 4 ++-- rpm/vitastor-el8.Dockerfile | 2 +- rpm/vitastor-el8.spec | 4 ++-- src/CMakeLists.txt | 2 +- src/vitastor.pc.in | 2 +- 16 files changed, 22 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fa75f29a..4d4584f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,6 @@ cmake_minimum_required(VERSION 2.8) project(vitastor) -set(VERSION "0.7.1") +set(VERSION "0.8.0") add_subdirectory(src) diff --git a/csi/Makefile b/csi/Makefile index 3c81f87a..000bfc43 100644 --- a/csi/Makefile +++ b/csi/Makefile @@ -1,4 +1,4 @@ -VERSION ?= v0.7.1 +VERSION ?= v0.8.0 all: build push diff --git a/csi/deploy/004-csi-nodeplugin.yaml b/csi/deploy/004-csi-nodeplugin.yaml index 6fc7f9ed..989c68d1 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:v0.7.1 + image: vitalif/vitastor-csi:v0.8.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 edcd89cd..eac3d9c3 100644 --- a/csi/deploy/007-csi-provisioner.yaml +++ b/csi/deploy/007-csi-provisioner.yaml @@ -116,7 +116,7 @@ spec: privileged: true capabilities: add: ["SYS_ADMIN"] - image: vitalif/vitastor-csi:v0.7.1 + image: vitalif/vitastor-csi:v0.8.0 args: - "--node=$(NODE_ID)" - "--endpoint=$(CSI_ENDPOINT)" diff --git a/csi/src/config.go b/csi/src/config.go index a3c1c740..062da542 100644 --- a/csi/src/config.go +++ b/csi/src/config.go @@ -5,7 +5,7 @@ package vitastor const ( vitastorCSIDriverName = "csi.vitastor.io" - vitastorCSIDriverVersion = "0.7.1" + vitastorCSIDriverVersion = "0.8.0" ) // Config struct fills the parameters of request or user input diff --git a/debian/changelog b/debian/changelog index 03ed29b7..ba3fe61b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -vitastor (0.7.1-1) unstable; urgency=medium +vitastor (0.8.0-1) unstable; urgency=medium * Bugfixes -- Vitaliy Filippov Fri, 03 Jun 2022 02:09:44 +0300 -vitastor (0.7.1-1) unstable; urgency=medium +vitastor (0.8.0-1) unstable; urgency=medium * Implement NFS proxy * Add documentation diff --git a/debian/vitastor.Dockerfile b/debian/vitastor.Dockerfile index bb045fa3..99a7cc6e 100644 --- a/debian/vitastor.Dockerfile +++ b/debian/vitastor.Dockerfile @@ -34,8 +34,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-0.7.1; \ - cd vitastor-0.7.1; \ + cp -r /root/vitastor vitastor-0.8.0; \ + cd vitastor-0.8.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; \ @@ -48,8 +48,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_0.7.1.orig.tar.xz vitastor-0.7.1; \ - cd vitastor-0.7.1; \ + tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_0.8.0.orig.tar.xz vitastor-0.8.0; \ + cd vitastor-0.8.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/patches/cinder-vitastor.py b/patches/cinder-vitastor.py index 8eb47f6e..7a82cf4b 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 = '0.7.1' +VERSION = '0.8.0' LOG = logging.getLogger(__name__) diff --git a/rpm/build-tarball.sh b/rpm/build-tarball.sh index 4e59a6cb..fa9b6644 100755 --- a/rpm/build-tarball.sh +++ b/rpm/build-tarball.sh @@ -25,4 +25,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-0.7.1/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-0.7.1$(rpm --eval '%dist').tar.gz * +tar --transform 's#^#vitastor-0.8.0/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-0.8.0$(rpm --eval '%dist').tar.gz * diff --git a/rpm/qemu-kvm-4.2-el7.spec.patch b/rpm/qemu-kvm-4.2-el7.spec.patch index 13ce9c80..0cb1036a 100644 --- a/rpm/qemu-kvm-4.2-el7.spec.patch +++ b/rpm/qemu-kvm-4.2-el7.spec.patch @@ -58,7 +58,7 @@ +BuildRequires: gperftools-devel +BuildRequires: libusbx-devel >= 1.0.21 %if %{have_usbredir} - BuildRequires: usbredir-devel >= 0.7.1 + BuildRequires: usbredir-devel >= 0.8.0 %endif @@ -856,12 +861,13 @@ BuildRequires: virglrenderer-devel # For smartcard NSS support diff --git a/rpm/vitastor-el7.Dockerfile b/rpm/vitastor-el7.Dockerfile index ffb39b3d..f659b9ee 100644 --- a/rpm/vitastor-el7.Dockerfile +++ b/rpm/vitastor-el7.Dockerfile @@ -35,7 +35,7 @@ ADD . /root/vitastor RUN set -e; \ cd /root/vitastor/rpm; \ sh build-tarball.sh; \ - cp /root/vitastor-0.7.1.el7.tar.gz ~/rpmbuild/SOURCES; \ + cp /root/vitastor-0.8.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 547d2a3c..e10268af 100644 --- a/rpm/vitastor-el7.spec +++ b/rpm/vitastor-el7.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 0.7.1 +Version: 0.8.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-0.7.1.el7.tar.gz +Source0: vitastor-0.8.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 0367887e..abd534bb 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-0.7.1.el8.tar.gz ~/rpmbuild/SOURCES; \ + cp /root/vitastor-0.8.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 ea292255..23548964 100644 --- a/rpm/vitastor-el8.spec +++ b/rpm/vitastor-el8.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 0.7.1 +Version: 0.8.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-0.7.1.el8.tar.gz +Source0: vitastor-0.8.0.el8.tar.gz BuildRequires: liburing-devel >= 0.6 BuildRequires: gperftools-devel diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c9735914..dca6dae8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,7 +15,7 @@ if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/local/?$") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") endif() -add_definitions(-DVERSION="0.7.1") +add_definitions(-DVERSION="0.8.0") add_definitions(-Wall -Wno-sign-compare -Wno-comment -Wno-parentheses -Wno-pointer-arith -fdiagnostics-color=always -I ${CMAKE_SOURCE_DIR}/src) if (${WITH_ASAN}) add_definitions(-fsanitize=address -fno-omit-frame-pointer) diff --git a/src/vitastor.pc.in b/src/vitastor.pc.in index 09115681..ef8f5aa9 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: 0.7.1 +Version: 0.8.0 Libs: -L${libdir} -lvitastor_client Cflags: -I${includedir}