Refactor: scheduler: Lower fencing log message to debug level.
API: libcrmcommon: Ignore the max_size parameter in crm_ipc_new.
Refactor: libcib: Pass 0 to callers of mainloop_add_ipc_client.
Refactor: libcrmcommon: Pass 0 as the max_size to crm_ipc_new.
Refactor: libcrmcommon: Remove ipc_size_max value.
Refactor: libcrmcommon: Remove pcmk__ipc_buffer_size.
Refactor: libcrmcommon: Don't compress messages in pcmk__ipc_prepare_iov.
Refactor: libcrmcommon: No longer check for compression in crm_ipc_send.
Refactor: libcrmcommon: pcmk__ipc_prepare_iov no longer takes a size.
API: libcrmcommon: Deprecate max_size parameter to mainloop_add_ipc_client.
API: libcrmcommon: Deprecate crm_ipc_compressed.
Refactor: libcrmcommon: Remove crm_ipc_decompress.
Refactor: libcrmcommon: Remove max_buf_size from crm_ipc_s.
Refactor: Remove references to PCMK_ipc_buffer.
Low: libcrmcommon: Consistently free iov on error.
Refactor: libcrmcommon: Remove size_compressed and size_uncompressed.
clumens moved
T985: Pacemaker RHEL 9.7 / 10.1 from
Restricted Project Column to
Restricted Project Column on the
Restricted Project board.
Refactor: cts: Remove {fmt} from command strings in cts-cli.in.
Refactor: cts: Use {cts_cli_data} as an f-string everywhere.
Refactor: cts: Remove the class argument from make_test_group.
Refactor: cts: Replace {shadow} strings in cts-cli everywhere.
Refactor: cts: Remove apply_substitutions.
Refactor: cts: Be more explicit about converting ExitStatus.
Refactor: cts: Use f-strings throughout cts-cli.in.
clumens moved
T841: Reject too-large --timeout values in crm_resource from
Restricted Project Column to
Restricted Project Column on the
Restricted Project board.
clumens moved
T903: Split large IPC messages from
Restricted Project Column to
Restricted Project Column on the
Restricted Project board.
clumens moved
T983: crm_resource gets stuck deleting failed resource with a constraint from
Restricted Project Column to
Restricted Project Column on the
Restricted Project board.
clumens moved
T984: Potential use-after-free in pacemaker-controld from
Restricted Project Column to
Restricted Project Column on the
Restricted Project board.
clumens added a project to
T903: Split large IPC messages:
Restricted Project.
Refactor: scheduler: Fix formatting in pe_can_fence.
Med: scheduler: Require a cluster option for new remote fencing behavior.
Med: scheduler: Don't always fence online remote nodes.
This is no longer necessary for T25, so I'm going to close this. I'm not sure we care enough to implement this.
Refactor: libcrmcommon: Improve crm_ipc_flags enum.
Refactor: libcrmcommon: Remove a TODO and unnecessary block of code.
Refactor: libcrmcommon: Don't use qb_ipcc_sendv_recv in crm_ipc_send.
Refactor: libcrmcommon: Rearrange internal_ipc_get_reply.
Refactor: libcrmcommon: Rearrange send/receive code in crm_ipc_send.
Refactor: libcrmcommon: Reduce code duplication in crm_ipc_send.
Refactor: libcrmcommon: Reduce IPC client receive code duplication.
Low: python: Fix setting schema directory in source checkout.
Low: cts: Add missing crm_diff regression test back to cts-cli.
That should work - the whole point of that block is basically to check if we're running from a source checkout and if so, set the right schema directory. I bet running this from a source directory where you don't also have PCMK_schema_directory set is something that doesn't happen all that often.
Refactor: libcrmcommon: Improve crm_ipc_flags enum.
Refactor: libcrmcommon: Don't use qb_ipcc_sendv_recv in crm_ipc_send.
Refactor: libcrmcommon: Remove a TODO and unnecessary block of code.
Refactor: libcrmcommon: Rearrange send/receive code in crm_ipc_send.
Refactor: libcrmcommon: Reduce code duplication in crm_ipc_send.
Refactor: libcrmcommon: Rearrange internal_ipc_get_reply.
Refactor: libcrmcommon: Reduce IPC client receive code duplication.
@waltdisgrace Adding a mainloop timer here is definitely the way to go. If you haven't looked at the mainloop stuff before (especially glib's implementation and what we've built on top of it), this could be a little bit confusing. The basic idea is that we fake being multithreaded by looping over a queue of events that can come from various sources like file or network IO, UNIX signals, periodic or one-off timers, and so forth. Using the main loop allows us to avoid blocking other work from happening.
@waltdisgrace Start by adding a unit test to verify that the pacemaker library still just segfaults on that input. I think would be as good a place as any for this, but @nrwahl2 might have a better suggestion. I can then help you make sense of the segfault and we can figure out where to throw an error.
Additionally, it would be nice to have a unit test or two for this function. Most of what it does is call another function, several of which are already unit tested, but checking that the inputs/outputs are as expected would be good.
Refactor: libcrmservice: New services__copy_result() function
Refactor: libcrmservice: Store systemd job path in svc_action_private_t
Fix: various: Correctly detect completion of systemd start/stop actions
Refactor: libcrmservice: Subscribe to systemd D-Bus signals
Refactor: daemons: Unindent the goagain block in action_complete.
Refactor: libcrmservice: systemd_init should return a bool.
Low: libcrmservices: Don't leak msg if systemd_proxy is NULL.
Refactor: libcrmservices: Unref the dbus connection...
Refactor: libcrmservice: Improve error checks in systemd_service_name()
Refactor: libcrmservice: Fail systemd rsc start if create override fails
Refactor: libcrmservice: Check for empty arg in invoke_unit_by_name()
Refactor: libcrmservice: Avoid gboolean/gchar in systemd_unit_exists()
Refactor: libcrmservice: Defunctionize create_world_readable()
Refactor: libcrmservice: Simplify systemd override path getters
Refactor: libcrmcommon: Drop check for unused flag from str_any_of()
Low: libcrmservice: Fix overrides for systemd resources
Refactor: tools: NULL-check args in cli_resource_print()
Refactor: tools: NULL-check scheduler arg of cli_resource_move()
Refactor: tools: NULL-check scheduler arg of cli_cleanup_all()
Refactor: tools: NULL-check scheduler arg in cli_resource_fail()
Doc: libcrmservice: Suppress Coverity false positives
Doc: tools: Suppress Coverity false positives in crm_resource.c
Refactor: Unindent various code blocks in transport.c.