Installing 9.2.9~rc.1-1ppa1~jammy1 on Ubuntu throwing dpkg errors

I have a two node cluster I setup for Home Assistant, setup following this guide: Home Assistant High Availability - LINBIT

It’s been working just fine for a few months now. Once a month I’ll shell onto the standby node, use apt to pull and install all new updates, pull a new docker image for HomeAssistant, and then force a failover from the active node to the node I’ve just updated. I then update the node that is now the standby node, and leave it in standby until the next month.

A few days ago I ran the usual apt update and apt -y full-upgrade. Everything went well until it hit the new drbd package. This is the error I get now:

Setting up drbd-dkms (9.2.9~rc.1-1ppa1~jammy1) ...
Removing old drbd-9.2.9~rc.1-1ppa1~jammy1 DKMS files...
Deleting module drbd-9.2.9~rc.1-1ppa1~jammy1 completely from the DKMS tree.
Loading new drbd-9.2.9~rc.1-1ppa1~jammy1 DKMS files...
Building for 5.15.0-1053-raspi
Building initial module for 5.15.0-1053-raspi
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/drbd-dkms.0.crash'
Error!  Build of drbd.ko failed for: 5.15.0-1053-raspi (aarch64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/ for more information.
dpkg: error processing package drbd-dkms (--configure):
 installed drbd-dkms package post-installation script subprocess returned error exit status 7
Setting up ruby3.0 (3.0.2-7ubuntu2.5) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.7) ...
Errors were encountered while processing:
 drbd-dkms
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

Removing /var/crash/drbd-dkms.0.crash only has the effect of it no longer complaining about it existing and just creates a new one.

On the node that is still working, the currently installed drbd package is 9.2.8-1ppa1~jammy1. I tried apt-get install drbd-dkms=9.2.8-1ppa1~jammy1

and got

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package drbd-dkms is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  drbd-module-source

E: Version '9.2.8-1ppa1~jammy1' for 'drbd-dkms' was not found

I’m not entirely sure what my options are now, and was hoping someone could point me at a way to roll back to 9.2.8-1ppa1~jammy1?

Any advice would be greatly appreciated.

Contents of /var/crash/drbd-dkms.0.crash:

ProblemType: Package
DKMSBuildLog:
 DKMS make.log for drbd-9.2.9~rc.1-1ppa1~jammy1 for kernel 5.15.0-1053-raspi (aarch64)
 Tue Apr 30 11:57:57 EDT 2024
 make: Entering directory '/var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd'

     Calling toplevel makefile of kernel source tree, which I believe is in
     KDIR=/lib/modules/5.15.0-1053-raspi/build

 make -C /lib/modules/5.15.0-1053-raspi/build    "PRE_CFLAGS=" M=/var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd obj-m=dummy-for-compat.o dummy-for-compat-h.o
   COMPAT  have_sane_test_environment
   COMPAT  have_sane_test_environment_always_fail
   LN      build-current -> build-5.15.0-1053-raspi/
   UPD     /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/.drbd_kernelrelease
   LN      compat.h -> build-5.15.0-1053-raspi/compat.h
   LN      .compat_test -> build-5.15.0-1053-raspi/.compat_test
   LN      compat.5.15.0-1053-raspi.h -> build-5.15.0-1053-raspi/compat.h
   LN      .compat_test.5.15.0-1053-raspi -> build-5.15.0-1053-raspi/.compat_test
   COMPAT  __vmalloc_has_2_params
   COMPAT  add_disk_returns_int
   COMPAT  before_4_13_kernel_read
   COMPAT  bio_alloc_has_4_params
   COMPAT  blkdev_get_by_path_has_holder_ops
   COMPAT  blkdev_issue_discard_takes_flags
   COMPAT  blkdev_issue_zeroout_discard
   COMPAT  blkdev_put_has_holder
   COMPAT  block_device_operations_open_takes_gendisk
   COMPAT  block_device_operations_release_takes_single_argument
   COMPAT  can_include_vermagic_h
   COMPAT  dax_direct_access_takes_mode
   COMPAT  fs_dax_get_by_bdev_takes_start_off
   COMPAT  fs_dax_get_by_bdev_takes_start_off_and_holder
   COMPAT  genl_policy_in_ops
   COMPAT  have_BIO_MAX_VECS
   COMPAT  have_CRYPTO_TFM_NEED_KEY
   COMPAT  have_GENHD_FL_NO_PART
   COMPAT  have_SHASH_DESC_ON_STACK
   COMPAT  have_WB_congested_enum
   COMPAT  have___bio_add_page
   COMPAT  have_allow_kernel_signal
   COMPAT  have_bdev_discard_granularity
   COMPAT  have_bdev_max_discard_sectors
   COMPAT  have_bdev_nr_sectors
   COMPAT  have_bdev_open_by_path
   COMPAT  have_bdevname
   COMPAT  have_bdgrab
   COMPAT  have_bdi_congested
   COMPAT  have_bdi_congested_fn
   COMPAT  have_bio_advance_iter_single
   COMPAT  have_bio_alloc_clone
   COMPAT  have_bio_bi_bdev
   COMPAT  have_bio_bi_error
   COMPAT  have_bio_bi_opf
   COMPAT  have_bio_bi_status
   COMPAT  have_bio_clone_fast
   COMPAT  have_bio_op_shift
   COMPAT  have_bio_set_dev
   COMPAT  have_bio_set_op_attrs
   COMPAT  have_bio_split_to_limits
   COMPAT  have_bio_start_io_acct
   COMPAT  have_bioset_init
   COMPAT  have_bioset_need_bvecs
   COMPAT  have_blk_alloc_disk
   COMPAT  have_blk_alloc_queue_rh
   COMPAT  have_blk_check_plugged
   COMPAT  have_blk_cleanup_disk
   COMPAT  have_blk_mode_t
   COMPAT  have_blk_opf_t
   COMPAT  have_blk_qc_t_make_request
   COMPAT  have_blk_qc_t_submit_bio
   COMPAT  have_blk_queue_flag_set
   COMPAT  have_blk_queue_make_request
   COMPAT  have_blk_queue_max_write_same_sectors
   COMPAT  have_blk_queue_merge_bvec
   COMPAT  have_blk_queue_split_bio
   COMPAT  have_blk_queue_split_q_bio
   COMPAT  have_blk_queue_split_q_bio_bioset
   COMPAT  have_blk_queue_update_readahead
   COMPAT  have_blk_queue_write_cache
   COMPAT  have_bvec_kmap_local
   COMPAT  have_d_inode
   COMPAT  have_disk_update_readahead
   COMPAT  have_enum_req_op
   COMPAT  have_fallthrough
   COMPAT  have_fs_dax_get_by_bdev
   COMPAT  have_generic_start_io_acct_q_rw_sect_part
   COMPAT  have_generic_start_io_acct_rw_sect_part
   COMPAT  have_genl_info_userhdr
   COMPAT  have_get_random_u32
   COMPAT  have_get_random_u32_below
   COMPAT  have_hd_struct
   COMPAT  have_ib_cq_init_attr
   COMPAT  have_ib_get_dma_mr
   COMPAT  have_idr_is_empty
   COMPAT  have_inode_lock
   COMPAT  have_kmap_local_page
   COMPAT  have_ktime_to_timespec64
   COMPAT  have_kvfree
   COMPAT  have_kvfree_rcu
   COMPAT  have_kvfree_rcu_mightsleep
   COMPAT  have_list_is_first
   COMPAT  have_list_next_entry
   COMPAT  have_lookup_user_key
   COMPAT  have_max_send_recv_sge
   COMPAT  have_nla_nest_start_noflag
   COMPAT  have_nla_parse_deprecated
   COMPAT  have_nla_put_64bit
   COMPAT  have_nla_strscpy
   COMPAT  have_part_stat_h
   COMPAT  have_part_stat_read_accum
   COMPAT  have_pointer_backing_dev_info
   COMPAT  have_proc_create_single
   COMPAT  have_queue_flag_discard
   COMPAT  have_queue_flag_stable_writes
   COMPAT  have_rb_declare_callbacks_max
   COMPAT  have_refcount_inc
   COMPAT  have_req_hardbarrier
   COMPAT  have_req_noidle
   COMPAT  have_req_nounmap
   COMPAT  have_req_op_write
   COMPAT  have_req_op_write_zeroes
   COMPAT  have_req_write
   COMPAT  have_revalidate_disk_size
   COMPAT  have_sched_set_fifo
   COMPAT  have_sched_signal_h
   COMPAT  have_security_netlink_recv
   COMPAT  have_sendpage
   COMPAT  have_sendpage_ok
   COMPAT  have_set_capacity_and_notify
   COMPAT  have_shash_desc_zero
   COMPAT  have_simple_positive
   COMPAT  have_sk_use_task_frag
   COMPAT  have_sock_set_keepalive
   COMPAT  have_strscpy
   COMPAT  have_struct_bvec_iter
   COMPAT  have_struct_size
   COMPAT  have_submit_bio_noacct
   COMPAT  have_tasklet_setup
   COMPAT  have_tcp_sock_set_cork
   COMPAT  have_tcp_sock_set_keepcnt
   COMPAT  have_tcp_sock_set_keepidle
   COMPAT  have_tcp_sock_set_nodelay
   COMPAT  have_tcp_sock_set_quickack
   COMPAT  have_time64_to_tm
   COMPAT  have_timer_setup
   COMPAT  have_timer_shutdown
   COMPAT  have_tls_get_record_type
   COMPAT  have_tls_tx_rx
   COMPAT  have_void_make_request
   COMPAT  have_void_submit_bio
   COMPAT  ib_alloc_pd_has_2_params
   COMPAT  ib_device_has_ops
   COMPAT  ib_post_send_const_params
   COMPAT  ib_query_device_has_3_params
   COMPAT  need_drbd_wrappers
   COMPAT  need_make_request_recursion
   COMPAT  need_skb_abort_seq_read
   COMPAT  part_stat_read_takes_block_device
   COMPAT  queue_limits_has_discard_zeroes_data
   COMPAT  rdma_create_id_has_net_ns
   COMPAT  rdma_reject_has_reason_arg
   COMPAT  sk_data_ready_has_1_param
   COMPAT  sock_create_kern_has_netns_parameter
   COMPAT  sock_ops_returns_addr_len
   COMPAT  struct_gendisk_has_backing_dev_info
   UPD     /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/compat.h
 make -C /lib/modules/5.15.0-1053-raspi/build    "PRE_CFLAGS=" M=/var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd obj-m=dummy-for-prep.o dummy-for-patch.o
   GEN     /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_buildtag.c
   GEN     /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/.kernel.config.gz
   COPY    /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/Kbuild
 make -C /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd -f Makefile.spatch /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/compat.patch
   COPY    /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/handshake/Kbuild
   CHK     build-5.15.0-1053-raspi/compat.patch
   LN      /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/compat.patch -> ../drbd-kernel-compat/cocci_cache/e5b4538b952d02aa28acb205221181bc/compat.patch
 set -- /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/compat.patch /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/compat.h;	\
 test $1 -nt $2 || touch -r $1 $2
   SPLIT   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/compat.patch
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/compat.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/drbd_meta_data.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/drbd_protocol.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/drbd_strings.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/drbd_strings.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/drbd_transport.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/drbd.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/drbd_genl.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/drbd_genl_api.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/drbd_limits.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/genl_magic_func-genl_register_family_with_ops_groups.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/genl_magic_func-genl_register_mc_group.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/genl_magic_func.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/linux/genl_magic_struct.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-headers/windrbd/windrbd_ioctl.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/cocci_macros.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/drbd_wrappers.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/drbd_wrappers.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/gen_patch_names.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/handshake/genl.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/handshake/genl.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/handshake/handshake.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/handshake/netlink.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/handshake/request.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/handshake/tlshd.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/linux/libnvdimm.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/linux/lru_cache.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/linux/overflow.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/lru_cache.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/net/handshake.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/nsecs_to_jiffies.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/uapi/linux/handshake.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd-kernel-compat/uapi/linux/sched/types.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_actlog.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_bitmap.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_dax_pmem.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_dax_pmem.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_debugfs.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_debugfs.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_int.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_interval.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_interval.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_kref_debug.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_kref_debug.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_main.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_nl.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_nla.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_nla.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_polymorph_printk.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_proc.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_receiver.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_req.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_req.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_sender.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_state.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_state.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_state_change.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_transport_lb-tcp.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_transport.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_transport_rdma.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_transport_tcp.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_transport_template.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/drbd_vli.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/kref_debug.c
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/kref_debug.h
   PATCH   /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/linux/drbd_config.h
 test -e build-current && \
 make -C /lib/modules/5.15.0-1053-raspi/build    "PRE_CFLAGS=" M=/var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current modules
 + grep -qe ^.define COMPAT_HAVE_TLS_TX_RX$ /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/compat.h
 + echo m
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_buildtag.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_bitmap.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_proc.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/handshake/genl.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/handshake/netlink.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/handshake/request.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_sender.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_receiver.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/handshake/tlshd.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_req.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_actlog.o
   LD [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/handshake/handshake.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_main.o
   COPY    /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_strings.c
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_nl.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_interval.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_state.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_nla.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/drbd_wrappers.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_debugfs.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_tcp.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_lb-tcp.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_rdma.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_strings.o
   LD [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd.o
 + grep -qe ^.define COMPAT_HAVE_TLS_TX_RX$ /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/compat.h
 + echo m
   MODPOST /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/Module.symvers
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/handshake/handshake.mod.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd.mod.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_lb-tcp.mod.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_rdma.mod.o
   CC [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_tcp.mod.o
   LD [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd-kernel-compat/handshake/handshake.ko
   LD [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd.ko
   LD [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_lb-tcp.ko
   LD [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_rdma.ko
   LD [M]  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-current/drbd_transport_tcp.ko
 .======================================================================.
 #  KDIR=/lib/modules/5.15.0-1053-raspi/build                           #
 #  KERNELVERSION=5.15.148                                              #
 #  KERNELRELEASE=5.15.0-1053-raspi                                     #
 #                                                                      #
 #  /var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd/build-5.15.0-1053-raspi/  #
 #    drbd-kernel-compat/handshake/handshake.ko                         #
 #    drbd.ko                                                           #
 #    drbd_transport_lb-tcp.ko                                          #
 #    drbd_transport_rdma.ko                                            #
 #    drbd_transport_tcp.ko                                             #
 '======================================================================'
 make: Leaving directory '/var/lib/dkms/drbd/9.2.9~rc.1-1ppa1~jammy1/build/src/drbd'
DKMSKernelVersion: 5.15.0-1053-raspi
Date: Tue Apr 30 12:00:11 2024
Package: drbd-dkms 9.2.9~rc.1-1ppa1~jammy1
PackageVersion: 9.2.9~rc.1-1ppa1~jammy1
SourcePackage: drbd
Title: drbd-dkms 9.2.9~rc.1-1ppa1~jammy1: drbd kernel module failed to build

The latest release candidate (RC) version of DRBD ( 9.2.9~rc.1-1) is currently broken within the PPA and there should be a fix soon. The LINBIT PPA gets RC versions pushed to it but unfortunately, only the latest package versions are available, even if it is an RC.

Until there’s an updated package for 9.2.9, I’d suggest:

  1. If you haven’t already done so, I’d put the upgraded node into standby (Pacemaker) by running crm node standby.

  2. Downgrade the upgraded node’s kernel to match the still working node. Run uname -a after rebooting to verify the kernel versions.

  3. Temporarily uninstall drbd-dkms from the upgraded node.

  4. Running modinfo drbd from the still working node will tell you where the compiled DRBD kernel modules are located. You should see something similar to:

    root@linstor-sat-1:/home/vagrant# modinfo drbd
    filename:       /lib/modules/6.1.0-20-amd64/updates/dkms/drbd.ko
    softdep:        post: handshake
    alias:          block-major-147-*
    license:        GPL
    version:        9.2.8
    [...]
    

    Taking a look inside the /lib/modules/6.1.0-20-amd64/updates/dkms/ directory:

    root@linstor-sat-1:~# ls -lah /lib/modules/6.1.0-20-amd64/updates/dkms/
    total 1.8M
    drwxr-xr-x 2 root root 4.0K Apr 25 09:57 .
    drwxr-xr-x 3 root root 4.0K Apr 25 09:57 ..
    -rw-r--r-- 1 root root 1.5M Apr 25 09:57 drbd.ko
    -rw-r--r-- 1 root root  70K Apr 25 09:57 drbd_transport_lb-tcp.ko
    -rw-r--r-- 1 root root 108K Apr 25 09:57 drbd_transport_rdma.ko
    -rw-r--r-- 1 root root  58K Apr 25 09:57 drbd_transport_tcp.ko
    -rw-r--r-- 1 root root  44K Apr 25 09:57 handshake.ko
    
  5. Copy the kernel modules similar to the above to the same location on the upgraded node via scp, rsync, etc.

  6. At this point the DRBD kernel module should be able to load successfully on the upgraded node by running drbdadm up <resource_name> or drbdadm up all works as well.

  7. Verify DRBD is synchronizing with drbadm status.

  8. Take the upgraded node out of standby (Pacemaker) with crm node online.

Alternatively, you could try building and installing DRBD from source on the upgraded node instead of the steps above.

In the future just be a little cautious with kernel upgrades and DRBD kernel module upgrades. For example, avoiding RC releases can be done by running a quick apt search drbd-dkms to see which DRBD version is currently available. Just remember to also skip kernel upgrades when you’re skipping a DRBD release candidate upgrade.

2 Likes

You might also want to consider using “apt-mark hold” command to prevent specific packages from auto updating and having a lab environment where you test packages before deploying them in production.

1 Like

Thanks, Ryan! That was useful guidance, and I now understand a lot more about how the boot config on a RPI works :grinning:
Turns out booting to an older kernel is a little more complex on a headless RPI than I expected, and it’s been a while since I’ve had to mess with it so I was pretty rusty. For reference, on a RPI the contents of /boot get ignored, and it seems everything is driven from /boot/firmware. There is a config.txt file in there that points to the vmlinuz and initrd.img to be used: it was simple enough to copy over the older kernel’s vmlinuz and initrd.img from /boot to /boot/firmware and change the directives in config.txt to point to them, and reboot.

I initially forgot to copy over the matching System.map to /boot/firmware as well, which, meant the kernel modules I’d copied over couldn’t be found. Once I’d figured it out, everything worked just fine.

I even went and build DRBD from source, just for fun :grinning:

Cluster is back up again: thank you.

Hey!
Thanks for that advice: appreciate it. I’ve now marked the DRBD and kernel packages for hold to hopefully avoid this issue again.

Anytime! A recovery/workaround is easy enough when you have at least one working system to copy from. Glad we could help.