ubicloud/prog
Jeremy Evans 742b4aae94 Rely on Sshable#channel_wait for VM Nexus command timeout
This change removes the use of the `timeout` program that previously
wrapped certain `systemctl` commands, first added in commit
144c3d022b.

`systemctl` functions as a client to the `systemd` daemon. Terminating
`systemctl` after initialization disconnects the client but does not
affect ongoing operations on the server. In practice, ending
`systemctl` only unblocked net-ssh and limited unwanted `apoptosis`
triggers.

Two recent changes render the use of `timeout` unnecessary. On the
client side, https://github.com/ubicloud/ubicloud/pull/2688 injects a
fault into the net-ssh event loop, enforcing deadlines on command
execution and handling network delays.

On the server side, commit 22f3aa5c1d
sets `logind` to terminate session processes via
`KillUserProcesses=yes`. This termination uses OpenSSH `ClientAlive`
checks to determine client liveness.  If the client does not return
traffic promptly, it invokes `logind`'s session termination code.

Together, these client- and server-side changes ensure that slow or
unresponsive commands are terminated, preventing accumulation of
processes in idle sessions. All commands run under the `rhizome` user
now benefit from this, making the earlier `timeout` workaround
obsolete.
2025-10-02 12:01:56 -07:00
..
ai Use create_with_id in progs and routes 2025-08-07 02:13:08 +09:00
aws Do not create cloudwatch resources for aws runner instances 2025-09-29 13:07:30 +03:00
dns_zone Change all create_with_id to create 2025-08-06 01:55:51 +09:00
github Replace unnecessary new_with_id calls with new 2025-08-06 01:55:51 +09:00
kubernetes Use .reverse instead of order + Sequel.desc in surplus billing rates query 2025-09-19 09:13:43 +03:00
minio Validate minio cluster information before use 2025-09-27 02:10:40 +09:00
postgres Add detailed comment for multi-checkpoint code 2025-10-02 08:21:18 -07:00
storage Clover: Support Ubiblk v0.2.1. 2025-10-01 15:41:41 -07:00
test Add normal restart e2e test to CSI 2025-09-24 11:59:14 +02:00
victoria_metrics Use create_with_id in progs and routes 2025-08-07 02:13:08 +09:00
vm Rely on Sshable#channel_wait for VM Nexus command timeout 2025-10-02 12:01:56 -07:00
vnet Start metadata-endpoint even if the Cert is not ready 2025-10-02 16:35:27 +02:00
base.rb Add Prog::Base.current_prog to find prog information in the stack 2025-09-24 20:14:15 -07:00
bootstrap_rhizome.rb Fix PostgresServerNexus#destroy to not violate strand leases 2025-09-16 06:11:16 +09:00
check_usage_alerts.rb Add usage alerting based on the total consumption 2024-04-22 16:00:57 +02:00
download_boot_image.rb Update ParadeDB to 0.17.10 2025-09-17 14:34:47 +02:00
download_cloud_hypervisor.rb Replace CloudHypervisor 45.0 hashes with 46.0 in Prog::DownloadCloudHypervisor 2025-07-11 05:14:41 +09:00
download_firmware.rb Add Prog to download firmware from control plane 2024-05-24 15:32:00 +02:00
expire_project_invitations.rb Change rubocop TargetRubyVersion to 3.4 2025-04-26 06:51:19 +09:00
heartbeat.rb Add missing service logging to heartbeat 2024-03-29 11:15:53 -07:00
install_dnsmasq.rb Absorb leaf into reap 2025-06-26 03:49:53 +09:00
install_rhizome.rb Fix PostgresServerNexus#destroy to not violate strand leases 2025-09-16 06:11:16 +09:00
learn_cpu.rb Fix learning total_dies in arm64. 2024-11-22 12:08:50 -08:00
learn_memory.rb Add an identifier to all Prog label methods 2023-08-23 12:09:57 +03:00
learn_network.rb VmHost learn network without IPv6 2025-09-04 14:15:35 +02:00
learn_os.rb Save OS version for VmHost 2024-11-21 11:50:30 -08:00
learn_pci.rb Replace unnecessary new_with_id calls with new 2025-08-06 01:55:51 +09:00
learn_storage.rb Replace unnecessary new_with_id calls with new 2025-08-06 01:55:51 +09:00
log_vm_host_utilizations.rb Log how many runners can fit into available capacity 2025-07-17 09:59:55 +01:00
page_nexus.rb Use create_with_id in progs and routes 2025-08-07 02:13:08 +09:00
redeliver_github_failures.rb Increase the frequency of redeliveries for failed GitHub webhook events 2025-03-25 14:16:06 +03:00
remove_boot_image.rb Program to remove a boot image. 2024-05-16 09:32:05 -07:00
resolve_globally_blocked_dnsnames.rb Better NetAddr/Sequel integration 2025-06-12 07:32:57 +09:00
rotate_ssh_key.rb Add an identifier to all Prog label methods 2023-08-23 12:09:57 +03:00
rotate_storage_kek.rb Remove unnecessary transactions in progs 2025-02-11 10:05:55 +03:00
setup_grafana.rb Absorb leaf into reap 2025-06-26 03:49:53 +09:00
setup_hugepages.rb Change the hugepages arithmetic. 2024-02-27 11:34:14 -08:00
setup_nftables.rb Change rubocop TargetRubyVersion to 3.4 2025-04-26 06:51:19 +09:00
setup_node_exporter.rb Add node_exporter installation prog to VmHost 2025-06-25 10:59:23 +02:00
setup_sysstat.rb Install Sysstat. 2023-11-10 12:54:43 -08:00
test.rb Add Prog::Base.current_prog to find prog information in the stack 2025-09-24 20:14:15 -07:00
validate_vat.rb Send an email if the validated VAT is invalid 2025-03-19 09:46:45 +03:00