Files
ubicloud/rhizome/host/bin/setup-spdk
Hadi Moshayedi 90ab8b4ca0 Rhizome: Use fewer resources for SPDK on smaller hosts.
Buffer sizes and hugepages for all hosts were the same regardless of a
host's capacity. This prevented allocation of Standard-30 on AX102.

This change sets these numbers proportional to cpu_count used for SPDK,
which is itself proportional to the host's capacity.
2025-04-28 20:27:45 -07:00

45 lines
1.1 KiB
Ruby
Executable File

#!/bin/env ruby
# frozen_string_literal: true
require_relative "../../common/lib/util"
require_relative "../lib/spdk_path"
require_relative "../lib/spdk_setup"
require "fileutils"
unless (verb = ARGV.shift)
puts "expected verb as argument"
exit 1
end
unless (version = ARGV.shift)
puts "expected version as argument"
exit 1
end
spdk_setup = SpdkSetup.new(version)
case verb
when "install"
unless (cpu_count = ARGV.shift) && cpu_count.to_i.positive?
puts "expected a positive cpu_count as argument"
exit 1
end
cpu_count = cpu_count.to_i
# YYY: The default is used for backward comaptibility. Make it mandatory after
# the upgrade.
os_version = ARGV.shift || "ubuntu-22.04"
spdk_setup.install_package(os_version: os_version)
spdk_setup.create_hugepages_mount(cpu_count: cpu_count)
spdk_setup.create_conf(cpu_count: cpu_count)
spdk_setup.create_service(cpu_count: cpu_count)
spdk_setup.enable_services
when "start"
spdk_setup.start_services
when "verify"
spdk_setup.verify_spdk
when "remove"
spdk_setup.stop_and_remove_services
spdk_setup.remove_paths
end