diff --git a/Makefile b/Makefile index fa547eb..a4c0994 100644 --- a/Makefile +++ b/Makefile @@ -34,10 +34,13 @@ SNO_NODE_MAC ?= SNO_ROOT_DEVICE ?= SNO_RELEASE_IMAGE ?= SNO_ISO_HTTP_PORT ?= +SNO_ISO_SERVER_IP ?= +SNO_REUSE_VMEDIA ?= SNO_CONTROLLER_IP ?= SNO_INSTALLER_TIMEOUT ?= SNO_ENABLE_USB_BOOT ?= SNO_VMEDIA_UEFI_PATH ?= +SNO_BIOS_ONETIMEBOOT_FQDD ?= SNO_CORE_PASSWORD ?= SNO_LIVE_DEBUG ?= SNO_DISABLED_IFACES ?= @@ -48,6 +51,12 @@ BMC_CREDENTIALS_FILE ?= SNO_LVM_DEVICE ?= SNO_LVM_DEVICE_CLASS ?= openstack +# LVMS partition carved from the root disk at install time via cifmw_bm_agent_lvms_partition. +# Leave SNO_LVMS_PARTITION_DEVICE empty to opt out (use a separate disk instead). +SNO_LVMS_PARTITION_DEVICE ?= +SNO_LVMS_ROOTFS_MIB ?= 150000 +SNO_LVMS_SIZE_MIB ?= 0 + # GitOps Configuration GITOPS_REPO ?= https://github.com/openstack-k8s-operators/gitops.git GITOPS_DIR ?= out/gitops @@ -240,6 +249,15 @@ generate_vars_file: @echo 'cifmw_bm_agent_machine_network: "$(SNO_MACHINE_NETWORK)"' >> $(PLAYBOOK_DIR)/vars.yaml @echo 'cifmw_bm_agent_node_ip: "$(SNO_NODE_IP)"' >> $(PLAYBOOK_DIR)/vars.yaml @echo "cifmw_bm_agent_node_iface: $(SNO_NODE_IFACE)" >> $(PLAYBOOK_DIR)/vars.yaml + @if [ -n "$(SNO_NODE_VLAN)" ] && [ "$(SNO_NODE_VLAN)" != "0" ]; then \ + echo "cifmw_bm_agent_node_vlan: $(SNO_NODE_VLAN)" >> $(PLAYBOOK_DIR)/vars.yaml; \ + fi + @if [ -n "$(SNO_NTP_SOURCES)" ]; then \ + echo "cifmw_bm_agent_additional_ntp_sources:" >> $(PLAYBOOK_DIR)/vars.yaml; \ + for src in $(SNO_NTP_SOURCES); do \ + echo " - $$src" >> $(PLAYBOOK_DIR)/vars.yaml; \ + done; \ + fi @echo "" >> $(PLAYBOOK_DIR)/vars.yaml @echo "# BMC configuration" >> $(PLAYBOOK_DIR)/vars.yaml @echo "cifmw_bm_agent_bmc_host: $(SNO_BMC_HOST)" >> $(PLAYBOOK_DIR)/vars.yaml @@ -261,6 +279,12 @@ generate_vars_file: @if [ -n "$(SNO_ISO_HTTP_PORT)" ]; then \ echo "cifmw_bm_agent_iso_http_port: $(SNO_ISO_HTTP_PORT)" >> $(PLAYBOOK_DIR)/vars.yaml; \ fi + @if [ -n "$(SNO_ISO_SERVER_IP)" ]; then \ + echo "cifmw_bm_agent_iso_server_ip: $(SNO_ISO_SERVER_IP)" >> $(PLAYBOOK_DIR)/vars.yaml; \ + fi + @if [ -n "$(SNO_REUSE_VMEDIA)" ]; then \ + echo "cifmw_bm_agent_reuse_vmedia: $(SNO_REUSE_VMEDIA)" >> $(PLAYBOOK_DIR)/vars.yaml; \ + fi @if [ -n "$(SNO_INSTALLER_TIMEOUT)" ]; then \ echo "cifmw_bm_agent_installer_timeout: $(SNO_INSTALLER_TIMEOUT)" >> $(PLAYBOOK_DIR)/vars.yaml; \ fi @@ -273,12 +297,21 @@ generate_vars_file: @if [ -n "$(SNO_VMEDIA_UEFI_PATH)" ]; then \ echo "cifmw_bm_agent_vmedia_uefi_path: $(SNO_VMEDIA_UEFI_PATH)" >> $(PLAYBOOK_DIR)/vars.yaml; \ fi + @if [ -n "$(SNO_BIOS_ONETIMEBOOT_FQDD)" ]; then \ + echo "cifmw_bm_agent_bios_onetimeboot_fqdd: $(SNO_BIOS_ONETIMEBOOT_FQDD)" >> $(PLAYBOOK_DIR)/vars.yaml; \ + fi @if [ -n "$(SNO_CORE_PASSWORD)" ]; then \ echo "cifmw_bm_agent_core_password: $(SNO_CORE_PASSWORD)" >> $(PLAYBOOK_DIR)/vars.yaml; \ fi @if [ -n "$(SNO_DISABLED_IFACES)" ]; then \ echo "cifmw_bm_agent_disabled_ifaces: $(SNO_DISABLED_IFACES)" >> $(PLAYBOOK_DIR)/vars.yaml; \ fi + @if [ -n "$(SNO_LVMS_PARTITION_DEVICE)" ]; then \ + printf 'cifmw_bm_agent_lvms_partition:\n device: "%s"\n rootfs_mib: %s\n size_mib: %s\n label: lvmstorage\n' \ + "$(SNO_LVMS_PARTITION_DEVICE)" \ + "$(SNO_LVMS_ROOTFS_MIB)" \ + "$(SNO_LVMS_SIZE_MIB)" >> $(PLAYBOOK_DIR)/vars.yaml; \ + fi @echo "✔ Generated $(PLAYBOOK_DIR)/vars.yaml" .PHONY: generate_playbook diff --git a/scripts/install_lvm_operator.sh b/scripts/install_lvm_operator.sh index 0029d30..39c1c1d 100755 --- a/scripts/install_lvm_operator.sh +++ b/scripts/install_lvm_operator.sh @@ -71,6 +71,7 @@ spec: storage: deviceClasses: - name: ${SNO_LVM_DEVICE_CLASS} + default: true thinPoolConfig: name: thin-pool-1 sizePercent: 90