TopoLVM 0.5.0 has breaking changes that must be considered before upgrading.
Upgrade guide
1. Prepare the configuration file for lvmd
If you've run the lvmd
command with --volume-group
, --listen
or --spare
in v0.4 or before,
you have to prepare the configuration file as follows:
socket-name: /run/topolvm/lvmd.sock
device-classes:
- name: ssd
volume-group: myvg
default: true
spare-gb: 10
- socket-name: The path to UNIX domain socket.
- name: An arbitrary device-class name.
- volume-group: The name of the volume-group you’ve been using.
- default: Be sure to specify true.
- spare-gb: Same value as before (default is ‘10’).
Put the configuration file on each node. (e.g. /etc/topolvm/lvmd.yaml
)
2. Restart lvmd
lvmd
v0.5.0 is backward-compatible with old TopoLVM installations.
- Stop old
lvmd
processes. - Replace the old
lvmd
binary with new one. - Run the new
lvmd
as follows:lvmd --config=/etc/topolvm/lvmd.yaml
3. Update manifests
Retrieve the git repository of TopoLVM with the following command:
git clone https://github.com/cybozu-go/topolvm.git
git checkout v0.5.0
If you are running topolvm-scheduler as a DaemonSet, run the following command:
kustomize build ./deploy/manifests/overlays/daemonset-scheduler | kubectl apply -f -
Instead, if you are running topolvm-scheduler as a Deployment, run the following command:
kustomize build ./deploy/manifests/overlays/deployment-scheduler | kubectl apply -f -
Changed
-
lvmd
- BREAKING: Introduce device-class configuration file, instead of
--volume-group
,--spare
and--listen
options - Change gRPC interfaces of
lvmd
- BREAKING: Introduce device-class configuration file, instead of
-
topolvm-scheduler
- BREAKING: Introduce the configuration file, instead of
--listen
and--divisor
options
- BREAKING: Introduce the configuration file, instead of
Added
- Support for multiple volume groups (#147)