Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase DRBD Net/ping-timeout #45

Open
wants to merge 133 commits into
base: 2.30.8-8.2-linstor-fixes-staging
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
b7d3ea7
backport of ccd121cc248d79b749a63d4ad099e6d5f4b8b588: CA-354692: chec…
MarkSymsCtx May 20, 2021
3a0c67d
Update xs-sm.service's description for XCP-ng
stormi Aug 13, 2020
a8168e1
Add TrueNAS multipath config
stormi Aug 13, 2020
6120e7f
feat(drivers): add CephFS, GlusterFS and XFS drivers
Wescoeur Jul 20, 2020
dbfbe5f
feat(drivers): add ZFS driver to avoid losing VDI metadata (xcp-ng/xc…
Wescoeur Aug 12, 2020
696bd1c
Re-add the ext4 driver for users who need to transition
stormi Aug 13, 2020
b06f04f
feat(drivers): add LinstorSR driver
Wescoeur Mar 16, 2020
d64ac06
feat(tests): add unit tests concerning ZFS (close xcp-ng/xcp#425)
Wescoeur Oct 27, 2020
68e67e6
If no NFS ACLs provided, assume everyone:
benjamreis Feb 25, 2021
769a4b9
Added SM Driver for MooseFS
xandrus Jan 29, 2021
b53271b
Avoid usage of `umount` in `ISOSR` when `legacy_mode` is used
Wescoeur Dec 2, 2021
9bccc87
MooseFS SR uses now UUID subdirs for each SR
Wescoeur May 18, 2022
b018cd2
Fix is_open call for many drivers (#25)
Wescoeur Jun 23, 2022
bdb7ced
Remove SR_CACHING capability for many SR types (#24)
Wescoeur Jun 23, 2022
4de671d
Remove `SR_PROBE` from ZFS capabilities (#37)
benjamreis Aug 4, 2023
0aec61e
Fix vdi-ref when static vdis are used
gthvn1 Aug 16, 2023
9e7f3ac
Tell users not to edit multipath.conf directly
stormi Jan 27, 2023
20616a7
Add custom.conf multipath configuration file
stormi Jan 27, 2023
398471d
Install /etc/multipath/conf.d/custom.conf
stormi Aug 25, 2023
71e0c52
Fix timeout_call: alarm must be reset in case of success
Wescoeur Feb 16, 2022
f2d089b
timeout_call returns the result of user function now
Wescoeur Feb 16, 2022
5492351
fix(LinstorSR): repair volumes only if an exclusive command is executed
Wescoeur Nov 20, 2020
d9537aa
feat(LinstorSR): Improve LINSTOR performance
Wescoeur Dec 10, 2020
df21142
feat(LinstorSR): robustify scan to avoid losing VDIs if function is c…
Wescoeur Jan 7, 2021
7f6b21f
feat(LinstorSR): display a correctly readable size for the user
Wescoeur Jan 8, 2021
c6ecf4e
feat(linstor-monitord): scan all LINSTOR SRs every 12 minutes to upda…
Wescoeur Jan 12, 2021
2b91007
fix(LinstorSR): call correctly method in _locked_load when vdi_attach…
Wescoeur Jan 15, 2021
38e0e36
feat(LinstorSR): integrate minidrbdcluster daemon
Wescoeur Jan 20, 2021
0d512e7
feat(LinstorSR): ensure heartbeat and redo_log VDIs are not diskless
Wescoeur Feb 24, 2021
4621245
feat(LinstorSR): protect sr commands to avoid forgetting LINSTOR volu…
Wescoeur Feb 25, 2021
cbb08f7
fix(LinstorJournaler): ensure uri is not None during linstor.KV creation
Wescoeur Mar 8, 2021
5bd2d5e
feat(LinstorSR): add an option to disable auto-quorum on volume DB + …
Wescoeur Mar 22, 2021
8f19513
fix(LinstorVolumeManager): add a workaround to create properly SR wit…
Wescoeur Mar 23, 2021
1bbc53a
feat(LinstorSR): add optional ips parameter
Wescoeur Mar 24, 2021
918eaee
feat(LinstorSR): add a helper `log_drbd_erofs` to trace EROFS errno c…
Wescoeur Mar 26, 2021
2d272e2
fix(LinstorSR): try to restart the services again if there is a failu…
Wescoeur Apr 28, 2021
6966d46
fix(LinstorSR): robustify linstor-manager to never include from plugi…
Wescoeur Aug 26, 2021
5f0a8ec
fix(LinstorSR): prevent starting controller during fail in linstor ma…
Wescoeur Aug 26, 2021
4dbab1d
feat(LinstorVolumeManager): increase peer slots limit (support 31 con…
Wescoeur Oct 19, 2021
7d60255
feat(LinstorVolumeManager): add a fallback to find controller uri (wh…
Wescoeur Oct 20, 2021
f676841
fix(var-lib-linstor.mount): ensure we always mount database with RW f…
Wescoeur Oct 21, 2021
50b4a06
feat(LinstorVolumeManager): add a fallback to find node name (when le…
Wescoeur Oct 21, 2021
39ff8e5
feat(LinstorSR): explain on which host, plugins commands are executed
Wescoeur Oct 26, 2021
db287aa
fix(LinstorSR): create diskless path if necessary during VDI loading
Wescoeur Nov 3, 2021
cc24281
feat(LinstorSR): use HTTP/NBD instead of DRBD directly with heartbeat…
Wescoeur May 12, 2022
d0cfc90
fix(LinstorSR): find controller when XAPI unreachable (XHA)
Wescoeur Mar 3, 2022
08f3be9
fix(LinstorSR): use IPs instead of hostnames in NBD server
Wescoeur Mar 24, 2022
08805e4
fix(LinstorVolumeManager): ensure we always use IPs in _get_controlle…
Wescoeur Mar 31, 2022
922aa7d
feat(linstor-manager): add methods to add remove/host from LINSTOR SR
Wescoeur Apr 6, 2022
2c85b6a
feat(LinstorVolumeManager): support SR creation with diskless nodes
Wescoeur Apr 13, 2022
0f508f8
feat(LinstorSR): add a config var to disable HTTP/NBD servers
Wescoeur Apr 14, 2022
f7e8113
feat(LinstorSr): ensure LVM group is activated during SR.attach/create
Wescoeur Apr 14, 2022
a4e2173
feat(linstor-manager): add method to create LinstorSR + to list/destr…
Wescoeur Apr 25, 2022
52fefb7
fix(LinstorSR): always set vdi_path in generate_config
Wescoeur Apr 26, 2022
2a85b1e
fix(minidrbdcluster): supports new properties like `force-io-failures`
Wescoeur May 13, 2022
23d60c6
fix(LinstorSR): enabled/disable minidrbcluster with fixed order
Wescoeur May 18, 2022
2d69d74
fix(linstor-manager): change linstor satellite start behavior
Wescoeur May 31, 2022
d831cac
Fix is_open call for LinstorSR
Wescoeur Jun 2, 2022
199baaa
fix(linstorvhdutil): fix boolean params of `check` call
Wescoeur Jun 2, 2022
853d85c
feat(linstor-manager): robustify exec_create_sr
Wescoeur Jun 30, 2022
0582609
fix(cleanup): print LINSTOR VDI UUID if error during info loading (no…
Wescoeur Jul 8, 2022
1c91053
feat(cleanup): raise and dump DRBD openers in case of bad coalesce
Wescoeur Jul 21, 2022
01b4da5
feat(linstorvhdutil): trace DRBD openers in case of EROFS errors
Wescoeur Jul 22, 2022
2dfe7f4
fix(linstorvolumemanager): compute correctly size in allocated_volume…
Wescoeur Jul 29, 2022
5f6ebaa
feat(LinstorSR): use DRBD openers instead of lsof to log in blktap2
Wescoeur Aug 9, 2022
54727ab
feat(LinstorSR): support cProfile to trace calls when a command is ex…
Wescoeur Aug 25, 2022
06222ce
fix(LinstorJournaler): reset namespace when `get` is called
Wescoeur Aug 24, 2022
a78d922
fix(linstorvhdutil): fix coalesce with VM running under specific scen…
Wescoeur Aug 25, 2022
d1d1fab
fix(linstorvolumemanager): `_get_volumes_info` doesn't raise with off…
Wescoeur Sep 5, 2022
a404263
fix(linstorvolumemanager): remove double prefix on kv group name
Wescoeur Sep 12, 2022
92967fa
feat(LinstorSR): add linstor-kv-dump helper to print kv store
Wescoeur Sep 12, 2022
62685a8
fix(LinstorSR): disable VHD key hash usage to limit exec time
Wescoeur Sep 14, 2022
2cfd01a
fix(minidrbdcluster): ensure SIGINT is handled correctly
Wescoeur Sep 15, 2022
8c34216
feat(minidrbdcluster): stop resource services at startup
Wescoeur Sep 15, 2022
65340da
feat(linstor-manager): add new `healthCheck` function to monitor pool…
Wescoeur Sep 23, 2022
6a0e306
fix(LinstorSR): fix xha conf parsing => return host ip, not the UUID
Wescoeur Oct 4, 2022
067f072
fix(LinstorSR): start correctly HA servers (HTTP/NBD) after reboot
Wescoeur Oct 4, 2022
81956c3
fix(linstorvolumemanager): use an array to store diskful volumes info
Wescoeur Oct 5, 2022
e38f4db
feat(linstorvolumemanager): support snaps when a host is offline
Wescoeur Oct 6, 2022
f04a4d7
fix(linstorvolumemanager): support offline hosts when plugins are called
Wescoeur Oct 7, 2022
bfb97cb
fix(linstorvolumemanager): define _base_group_name member at SR creation
Wescoeur Oct 7, 2022
459bef9
feat(linstorvhdutil): modify logic of local vhdutil calls
Wescoeur Oct 10, 2022
94a1fa4
fix(linstorvolumemanager): robustify failed snapshots
Wescoeur Oct 17, 2022
b1f9164
fix(linstorvolumemanager): use a namespace for volumes
Wescoeur Nov 8, 2022
4d01991
feat(linstor-kv-dump): rename to linstor-kv-tool + add remove volume …
Wescoeur Nov 14, 2022
d1314a7
fix(LinstorSR): handle correctly localhost during start/stop of minid…
Wescoeur Nov 16, 2022
7aa139c
fix(cleanup.py): call repair on another host when EROFS is returned (…
Wescoeur Nov 17, 2022
7ed6431
fix(LinstorSR): avoid introduction of DELETED volumes
Wescoeur Nov 17, 2022
54b630e
feat(linstor-kv-tool): remove-all-volumes supports journals now
Wescoeur Nov 18, 2022
ce85d02
fix(linstorvhdutil): due to bad refactoring, check call was broken
Wescoeur Nov 23, 2022
e29163c
feat(linstorvhdutil): ensure we use VHD parent to find host where to …
Wescoeur Nov 23, 2022
4727679
feat(linstorvolumemanager): force DRBD demote after failed volume cre…
Wescoeur Dec 5, 2022
e85e9b9
fix(linstorvhdutil): ensure we retry creation in all situations
Wescoeur Dec 6, 2022
cb5abc1
fix(linstorvhdutil): don't retry local vhdutil call when EROFS is det…
Wescoeur Dec 7, 2022
72569cc
feat(fork-log-daemon): ignore SIGTERM
Wescoeur Dec 15, 2022
07c3fc4
feat(LinstorSR): wait for http-disk-server startup
Wescoeur Dec 16, 2022
6556e57
fix(LinstorSR): handle inflate + resize actions correctly
Wescoeur Jan 16, 2023
386403f
fix(linstor-manager): add a static iptables rule for DRBD volumes
Wescoeur Jan 17, 2023
df9b4c5
feat(LinstorSR): sync with last http-nbd-transfer version
Wescoeur Feb 3, 2023
238deea
fix(LinstorSR): don't check VDI metadata while listing VDIs if it's d…
Wescoeur Feb 13, 2023
a8feb6a
fix(LinstorSR): don't check metadata when destroying snap in undo_clone
Wescoeur Feb 13, 2023
bdb190c
fix(linstorvhdutil): handle correctly generic exceptions in _raise_op…
Wescoeur Feb 15, 2023
f5b5cd8
fix(minidrbdcluster): robustify to unmount correctly LINSTOR DB
Wescoeur Feb 16, 2023
ca09c40
fix(minidrbdcluster): handle correctly KeyboardInterrupt with systemd…
Wescoeur Feb 20, 2023
66117da
feat(LinstorSR): use drbd-reactor instead of minidrbdcluster
Wescoeur Feb 24, 2023
fe69c81
fix(LinstorSR): ensure vhdutil calls are correctly executed on pools …
Wescoeur Mar 1, 2023
5930118
fix(LinstorSR): replace bad param in detach_thin impl
Wescoeur Mar 9, 2023
dc046ea
fix(linstorvolumemanager): remove usage of realpath
Wescoeur Mar 10, 2023
0b046a6
fix(linstorvhdutil): avoid parent path resolution
Wescoeur Mar 16, 2023
eefaba4
fix(LinstorSR): create parent path during attach
Wescoeur Mar 17, 2023
946ac8a
fix(LinstorSR): retry if we can't build volume cache
Wescoeur Apr 3, 2023
f06b45f
fix(linstorvolumemanager): reduce peer-slots param to 3
Wescoeur Apr 25, 2023
6791d8b
fix(LinstorSR): attach a valid XAPI session is_open is called
Wescoeur Apr 25, 2023
a4d1c07
fix(LinstorSR): ensure we always have a DRBD path to snap
Wescoeur Apr 28, 2023
cf80547
fix(LinstorSR): remove hosts/ips param
Wescoeur May 30, 2023
160a10f
fix(LinstorSR): compute correctly SR size using pool count
Wescoeur Jun 1, 2023
d414469
fix(blktap2): ensure we can import this module when LINSTOR is not in…
Wescoeur Jun 6, 2023
57dcd41
fix(LinstorSR): ensure volume cache can be recreated
Wescoeur Jun 21, 2023
17e72b6
fix(linstor-manager): remove dead/useless code in add/remove_host hel…
Wescoeur Jul 20, 2023
d504470
fix(LinstorSR): Ensure we always have a device path during leaf-coale…
Wescoeur Aug 1, 2023
0cd226e
fix(LinstorSR): always use lock.acquire() during attach/detach
Wescoeur Aug 16, 2023
86766d5
fix(LinstorSR): mare sure hostnames are unique at SR creation
Wescoeur Aug 17, 2023
9c27161
fix(LinstorSR): ensure we can attach non-special static VDIs
Wescoeur Aug 18, 2023
f534d4a
fix(LinstorSR): ensure we can detach when deflate call is not possible
Wescoeur Aug 31, 2023
f0535fd
fix(LinstorSR): assume VDI is always a VHD when the info is missing d…
Wescoeur Sep 28, 2023
b2bef4a
fix(LinstorSR): remove SR lock during thin attach/detach
Wescoeur Oct 2, 2023
51867a0
fix(LinstorSR): ensure database is mounted during scan
Wescoeur Oct 3, 2023
2b83f39
fix(LinstorSR): restart drbd-reactor in case of failure
Wescoeur Oct 4, 2023
e1c7168
fix(linstorvolumemanager): retry in case of failure during mkfs call …
Wescoeur Oct 9, 2023
e72530a
fix(linstorvolumemanager): avoid diskless creation when a new resourc…
Wescoeur Sep 26, 2023
7ac3702
fix(LinstorSR): remove diskless after VDI.detach calls
rp- Jul 25, 2023
70cf88c
fix(LinstorSR): robustify _load_vdi_info in cleanup.py
Wescoeur Oct 11, 2023
0e8cc8d
Increase DRBD Net/ping-timeout
benjamreis Oct 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 33 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ SM_DRIVERS += udev
SM_DRIVERS += ISO
SM_DRIVERS += HBA
SM_DRIVERS += RawHBA
SM_DRIVERS += Linstor
SM_DRIVERS += LVHD
SM_DRIVERS += LVHDoISCSI
SM_DRIVERS += LVHDoHBA
Expand All @@ -17,6 +18,12 @@ SM_DRIVERS += OCFSoHBA
SM_DRIVERS += SHM
SM_DRIVERS += SMB
SM_DRIVERS += LVHDoFCoE
SM_DRIVERS += CephFS
SM_DRIVERS += GlusterFS
SM_DRIVERS += XFS
SM_DRIVERS += ZFS
SM_DRIVERS += EXT4
SM_DRIVERS += MooseFS

SM_LIBS := SR
SM_LIBS += SRCommand
Expand All @@ -30,6 +37,9 @@ SM_LIBS += verifyVHDsOnSR
SM_LIBS += scsiutil
SM_LIBS += scsi_host_rescan
SM_LIBS += vhdutil
SM_LIBS += linstorjournaler
SM_LIBS += linstorvhdutil
SM_LIBS += linstorvolumemanager
SM_LIBS += lvhdutil
SM_LIBS += cifutils
SM_LIBS += xs_errors
Expand Down Expand Up @@ -68,6 +78,7 @@ SM_LIBS += sr_health_check
UDEV_RULES = 65-multipath 55-xs-mpath-scsidev 57-usb 58-xapi
MPATH_DAEMON = sm-multipath
MPATH_CONF = multipath.conf
MPATH_CUSTOM_CONF = custom.conf
SMLOG_CONF = SMlog

SM_XML := XE_SR_ERRORCODES
Expand All @@ -80,9 +91,11 @@ PLUGIN_SCRIPT_DEST := /etc/xapi.d/plugins/
LIBEXEC := /opt/xensource/libexec/
UDEV_RULES_DIR := /etc/udev/rules.d/
UDEV_SCRIPTS_DIR := /etc/udev/scripts/
SYSTEMD_CONF_DIR := /etc/systemd/system/
SYSTEMD_SERVICE_DIR := /usr/lib/systemd/system/
INIT_DIR := /etc/rc.d/init.d/
MPATH_CONF_DIR := /etc/multipath.xenserver/
MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/
MODPROBE_DIR := /etc/modprobe.d/
EXTENSION_SCRIPT_DEST := /etc/xapi.d/extensions/
LOGROTATE_DIR := /etc/logrotate.d/
Expand All @@ -95,6 +108,7 @@ SM_PY_FILES = $(foreach LIB, $(SM_LIBS), drivers/$(LIB).py) $(foreach DRIVER, $(
.PHONY: build
build:
make -C dcopy
make -C linstor

.PHONY: precommit
precommit: build
Expand Down Expand Up @@ -133,8 +147,12 @@ install: precheck
mkdir -p $(SM_STAGING)$(UDEV_RULES_DIR)
mkdir -p $(SM_STAGING)$(UDEV_SCRIPTS_DIR)
mkdir -p $(SM_STAGING)$(INIT_DIR)
mkdir -p $(SM_STAGING)$(SYSTEMD_CONF_DIR)
mkdir -p $(SM_STAGING)$(SYSTEMD_CONF_DIR)/drbd-reactor.service.d
mkdir -p $(SM_STAGING)$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d
mkdir -p $(SM_STAGING)$(SYSTEMD_SERVICE_DIR)
mkdir -p $(SM_STAGING)$(MPATH_CONF_DIR)
mkdir -p $(SM_STAGING)$(MPATH_CUSTOM_CONF_DIR)
mkdir -p $(SM_STAGING)$(MODPROBE_DIR)
mkdir -p $(SM_STAGING)$(LOGROTATE_DIR)
mkdir -p $(SM_STAGING)$(DEBUG_DEST)
Expand All @@ -152,12 +170,20 @@ install: precheck
$(SM_STAGING)$(SM_DEST)/plugins/
install -m 644 multipath/$(MPATH_CONF) \
$(SM_STAGING)/$(MPATH_CONF_DIR)
install -m 644 multipath/$(MPATH_CUSTOM_CONF) \
$(SM_STAGING)/$(MPATH_CUSTOM_CONF_DIR)
install -m 755 multipath/sm-multipath \
$(SM_STAGING)/$(INIT_DIR)
install -m 755 multipath/multipath-root-setup \
$(SM_STAGING)/$(SM_DEST)
install -m 644 etc/logrotate.d/$(SMLOG_CONF) \
$(SM_STAGING)/$(LOGROTATE_DIR)
install -m 644 etc/systemd/system/drbd-reactor.service.d/override.conf \
$(SM_STAGING)/$(SYSTEMD_CONF_DIR)/drbd-reactor.service.d/
install -m 644 etc/systemd/system/linstor-satellite.service.d/override.conf \
$(SM_STAGING)/$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d/
install -m 644 etc/systemd/system/var-lib-linstor.service \
$(SM_STAGING)/$(SYSTEMD_CONF_DIR)
install -m 644 etc/make-dummy-sr.service \
$(SM_STAGING)/$(SYSTEMD_SERVICE_DIR)
install -m 644 systemd/xs-sm.service \
Expand All @@ -174,6 +200,8 @@ install: precheck
$(SM_STAGING)/$(SYSTEMD_SERVICE_DIR)
install -m 644 systemd/sr_health_check.timer \
$(SM_STAGING)/$(SYSTEMD_SERVICE_DIR)
install -m 644 systemd/linstor-monitor.service \
$(SM_STAGING)/$(SYSTEMD_SERVICE_DIR)
for i in $(UDEV_RULES); do \
install -m 644 udev/$$i.rules \
$(SM_STAGING)$(UDEV_RULES_DIR); done
Expand All @@ -194,6 +222,7 @@ install: precheck
cd $(SM_STAGING)$(SM_DEST) && rm -f OCFSoHBASR
ln -sf $(SM_DEST)mpathutil.py $(SM_STAGING)/sbin/mpathutil
install -m 755 drivers/02-vhdcleanup $(SM_STAGING)$(MASTER_SCRIPT_DEST)
install -m 755 drivers/linstor-manager $(SM_STAGING)$(PLUGIN_SCRIPT_DEST)
install -m 755 drivers/lvhd-thin $(SM_STAGING)$(PLUGIN_SCRIPT_DEST)
install -m 755 drivers/on_slave.py $(SM_STAGING)$(PLUGIN_SCRIPT_DEST)/on-slave
install -m 755 drivers/testing-hooks $(SM_STAGING)$(PLUGIN_SCRIPT_DEST)
Expand All @@ -206,12 +235,16 @@ install: precheck
install -m 755 drivers/iscsilib.py $(SM_STAGING)$(SM_DEST)
install -m 755 drivers/fcoelib.py $(SM_STAGING)$(SM_DEST)
mkdir -p $(SM_STAGING)$(LIBEXEC)
install -m 755 scripts/fork-log-daemon $(SM_STAGING)$(LIBEXEC)
install -m 755 scripts/linstor-kv-tool $(SM_STAGING)$(BIN_DEST)
install -m 755 scripts/safe-umount $(SM_STAGING)$(LIBEXEC)
install -m 755 scripts/local-device-change $(SM_STAGING)$(LIBEXEC)
install -m 755 scripts/check-device-sharing $(SM_STAGING)$(LIBEXEC)
install -m 755 scripts/usb_change $(SM_STAGING)$(LIBEXEC)
install -m 755 scripts/kickpipe $(SM_STAGING)$(LIBEXEC)
install -m 755 scripts/set-iscsi-initiator $(SM_STAGING)$(LIBEXEC)
$(MAKE) -C dcopy install DESTDIR=$(SM_STAGING)
$(MAKE) -C linstor install DESTDIR=$(SM_STAGING)
ln -sf $(SM_DEST)blktap2.py $(SM_STAGING)$(BIN_DEST)/blktap2
ln -sf $(SM_DEST)lcache.py $(SM_STAGING)$(BIN_DEST)tapdisk-cache-stats
ln -sf /dev/null $(SM_STAGING)$(UDEV_RULES_DIR)/69-dm-lvm-metad.rules
Expand All @@ -225,4 +258,3 @@ install: precheck
.PHONY: clean
clean:
rm -rf $(SM_STAGING)

Loading