|
| 1 | +# ============================================================================= |
| 2 | +# HotStack-OS Configuration |
| 3 | +# ============================================================================= |
| 4 | +# Copy this file to .env and customize as needed |
| 5 | +# Most defaults are fine for a single-node development environment |
| 6 | +# ============================================================================= |
| 7 | + |
| 8 | +# ----------------------------------------------------------------------------- |
| 9 | +# OpenStack Release |
| 10 | +# ----------------------------------------------------------------------------- |
| 11 | +# stable/2025.1 = Epoxy (latest stable) |
| 12 | +# stable/2024.2 = Dalmatian (previous stable) |
| 13 | +# master = development (not recommended for stability) |
| 14 | +OPENSTACK_BRANCH=stable/2025.1 |
| 15 | + |
| 16 | +# ----------------------------------------------------------------------------- |
| 17 | +# Authentication & Passwords |
| 18 | +# ----------------------------------------------------------------------------- |
| 19 | +# SECURITY: Change these passwords for production use! |
| 20 | +# For development, simple passwords are fine |
| 21 | + |
| 22 | +# Admin password for Keystone (user: admin) |
| 23 | +KEYSTONE_ADMIN_PASSWORD=admin |
| 24 | + |
| 25 | +# Root password for MariaDB |
| 26 | +MYSQL_ROOT_PASSWORD=rootpass |
| 27 | + |
| 28 | +# OpenStack services database password (user: openstack) |
| 29 | +DB_PASSWORD=openstack |
| 30 | + |
| 31 | +# Password for inter-service API authentication |
| 32 | +SERVICE_PASSWORD=openstack |
| 33 | + |
| 34 | +# RabbitMQ message broker credentials (required for OpenStack RPC) |
| 35 | +RABBITMQ_DEFAULT_USER=openstack |
| 36 | +RABBITMQ_DEFAULT_PASS=openstack |
| 37 | + |
| 38 | +# ----------------------------------------------------------------------------- |
| 39 | +# Logging Configuration |
| 40 | +# ----------------------------------------------------------------------------- |
| 41 | +# Enable debug logging for all OpenStack services |
| 42 | +# When false: Only INFO, WARNING, and ERROR messages are logged |
| 43 | +# When true: Verbose DEBUG messages are included (useful for troubleshooting) |
| 44 | +# Default: false (debug logging disabled) |
| 45 | +DEBUG_LOGGING=false |
| 46 | + |
| 47 | +# ----------------------------------------------------------------------------- |
| 48 | +# Region & Networking |
| 49 | +# ----------------------------------------------------------------------------- |
| 50 | +# OpenStack region name (affects service catalog endpoints) |
| 51 | +REGION_NAME=RegionOne |
| 52 | + |
| 53 | +# ----------------------------------------------------------------------------- |
| 54 | +# Network Configuration |
| 55 | +# ----------------------------------------------------------------------------- |
| 56 | +# HotStack-OS uses a dedicated address space split into two subnets: |
| 57 | +# 1. Container Network: For podman-managed OpenStack service containers |
| 58 | +# 2. Provider Network: For OVS hot-ex bridge (VM external/floating IPs) |
| 59 | +# |
| 60 | +# REQUIRED: These must be set (defaults work for most users) |
| 61 | +# Change ONLY if the default 172.31.0.0/24 range conflicts with existing networks |
| 62 | +# If changed, ensure all IPs below are within the new CONTAINER_NETWORK range |
| 63 | +# Also update podman-compose.yml networks section to match CONTAINER_NETWORK |
| 64 | + |
| 65 | +# Container network subnet (podman bridge for service containers) |
| 66 | +# Range: 172.31.0.0 - .127 (128 IPs) |
| 67 | +CONTAINER_NETWORK=172.31.0.0/25 |
| 68 | + |
| 69 | +# Provider network subnet (hot-ex for VM external connectivity) |
| 70 | +# Range: 172.31.0.128 - .255 (128 IPs) |
| 71 | +PROVIDER_NETWORK=172.31.0.128/25 |
| 72 | + |
| 73 | +# IP address for hot-ex bridge (host connectivity to provider network) |
| 74 | +# Must be within PROVIDER_NETWORK range |
| 75 | +BREX_IP=172.31.0.129 |
| 76 | + |
| 77 | +# OVN chassis hostname (must match the compute node hostname for Neutron agent registration) |
| 78 | +# Auto-detected at runtime - override only if needed |
| 79 | +# CHASSIS_HOSTNAME=your-hostname.example.com |
| 80 | + |
| 81 | +# Static IP addresses for OpenStack service containers |
| 82 | +# All IPs must be within CONTAINER_NETWORK range (172.31.0.0/25 = .0 to .127) |
| 83 | +# Organized by service group for clarity |
| 84 | + |
| 85 | +# Infrastructure Services |
| 86 | +MARIADB_IP=172.31.0.3 |
| 87 | +RABBITMQ_IP=172.31.0.4 |
| 88 | +MEMCACHED_IP=172.31.0.5 |
| 89 | + |
| 90 | +# Identity & Core Services |
| 91 | +KEYSTONE_IP=172.31.0.11 |
| 92 | +GLANCE_IP=172.31.0.12 |
| 93 | +PLACEMENT_IP=172.31.0.13 |
| 94 | + |
| 95 | +# Compute Services (Nova) |
| 96 | +NOVA_API_IP=172.31.0.21 |
| 97 | +NOVA_CONDUCTOR_IP=172.31.0.22 |
| 98 | +NOVA_SCHEDULER_IP=172.31.0.23 |
| 99 | +NOVA_COMPUTE_IP=172.31.0.24 |
| 100 | +NOVA_NOVNCPROXY_IP=172.31.0.26 |
| 101 | + |
| 102 | +# Networking Services (OVN/Neutron) |
| 103 | +OVN_NORTHD_IP=172.31.0.31 |
| 104 | +NEUTRON_SERVER_IP=172.31.0.32 |
| 105 | + |
| 106 | +# Block Storage Services (Cinder) |
| 107 | +CINDER_API_IP=172.31.0.41 |
| 108 | +CINDER_SCHEDULER_IP=172.31.0.42 |
| 109 | +CINDER_VOLUME_IP=172.31.0.43 |
| 110 | + |
| 111 | +# Orchestration Services (Heat) |
| 112 | +HEAT_API_IP=172.31.0.51 |
| 113 | +HEAT_ENGINE_IP=172.31.0.53 |
| 114 | + |
| 115 | +# ----------------------------------------------------------------------------- |
| 116 | +# Storage Paths |
| 117 | +# ----------------------------------------------------------------------------- |
| 118 | +# Data directory for all persistent storage (databases, logs, images, volumes) |
| 119 | +# Default: /var/lib/hotstack-os (system path, created with user ownership by setup) |
| 120 | +# Override only if you need a custom location (use absolute paths) |
| 121 | +# HOTSTACK_DATA_DIR=/custom/absolute/path |
| 122 | + |
| 123 | +# Nova VM instances directory on host (requires libvirt access) |
| 124 | +# Default: ${HOTSTACK_DATA_DIR}/nova-instances (isolated from system Nova) |
| 125 | +# Maps to Nova's instances_path configuration option |
| 126 | +# IMPORTANT: This path must be identical in both host and container for libvirt compatibility |
| 127 | +# For custom paths, set correct SELinux context: |
| 128 | +# sudo semanage fcontext -a -t svirt_image_t "/custom/path(/.*)?" |
| 129 | +# sudo restorecon -Rv /custom/path |
| 130 | +# NOVA_INSTANCES_PATH=${HOTSTACK_DATA_DIR}/nova-instances |
| 131 | + |
| 132 | +# Nova NFS mount directory on host (for Cinder volume attachments) |
| 133 | +# Default: ${HOTSTACK_DATA_DIR}/nova-mnt (isolated from system Nova) |
| 134 | +# Maps to Nova's libvirt.nfs_mount_point_base configuration option |
| 135 | +# IMPORTANT: This path must be identical in both host and container for libvirt compatibility |
| 136 | +# For custom paths, set correct SELinux context: |
| 137 | +# sudo semanage fcontext -a -t virt_var_lib_t "/custom/path(/.*)?" |
| 138 | +# sudo restorecon -Rv /custom/path |
| 139 | +# NOVA_NFS_MOUNT_POINT_BASE=${HOTSTACK_DATA_DIR}/nova-mnt |
| 140 | + |
| 141 | +# Cinder volumes configuration (NFS-based) |
| 142 | +# Directory for Cinder NFS export on host |
| 143 | +# This directory will be exported via NFS and mounted by cinder-volume and nova-compute |
| 144 | +# Default: /var/lib/hotstack-os/cinder-nfs (created by setup) |
| 145 | +# Override only if you need a custom location (use absolute paths) |
| 146 | +# CINDER_NFS_EXPORT_DIR=/custom/path/cinder-nfs |
| 147 | + |
| 148 | +# ----------------------------------------------------------------------------- |
| 149 | +# HotStack Project Quotas |
| 150 | +# ----------------------------------------------------------------------------- |
| 151 | +# Quotas for the hotstack project created by 'make post-setup' |
| 152 | +# Override these to adjust resource limits for HotStack development/testing |
| 153 | +# Defaults are generous for development purposes |
| 154 | +# HOTSTACK_QUOTA_COMPUTE_CORES=40 |
| 155 | +# HOTSTACK_QUOTA_COMPUTE_RAM=102400 # 100GB RAM in MB |
| 156 | +# HOTSTACK_QUOTA_COMPUTE_INSTANCES=20 |
| 157 | +# HOTSTACK_QUOTA_COMPUTE_KEY_PAIRS=10 |
| 158 | +# HOTSTACK_QUOTA_COMPUTE_SERVER_GROUPS=10 |
| 159 | +# HOTSTACK_QUOTA_COMPUTE_SERVER_GROUP_MEMBERS=10 |
| 160 | +# HOTSTACK_QUOTA_NETWORK_NETWORKS=20 |
| 161 | +# HOTSTACK_QUOTA_NETWORK_SUBNETS=20 |
| 162 | +# HOTSTACK_QUOTA_NETWORK_PORTS=100 |
| 163 | +# HOTSTACK_QUOTA_NETWORK_ROUTERS=10 |
| 164 | +# HOTSTACK_QUOTA_NETWORK_FLOATINGIPS=20 |
| 165 | +# HOTSTACK_QUOTA_NETWORK_SECURITY_GROUPS=20 |
| 166 | +# HOTSTACK_QUOTA_NETWORK_SECURITY_GROUP_RULES=100 |
| 167 | +# HOTSTACK_QUOTA_VOLUME_VOLUMES=20 |
| 168 | +# HOTSTACK_QUOTA_VOLUME_SNAPSHOTS=20 |
| 169 | +# HOTSTACK_QUOTA_VOLUME_GIGABYTES=1000 # 1TB |
| 170 | +# HOTSTACK_QUOTA_VOLUME_PER_VOLUME_GIGABYTES=500 |
| 171 | + |
| 172 | +# ----------------------------------------------------------------------------- |
| 173 | +# Post-Setup Network Configuration |
| 174 | +# ----------------------------------------------------------------------------- |
| 175 | +# Network settings for 'make post-setup' (private and provider networks) |
| 176 | +# Defaults match the HotStack-OS container network configuration |
| 177 | +# HOTSTACK_PRIVATE_CIDR=192.168.100.0/24 |
| 178 | +# HOTSTACK_PROVIDER_CIDR=172.31.0.128/25 |
| 179 | +# HOTSTACK_PROVIDER_GATEWAY=172.31.0.129 |
| 180 | + |
| 181 | +# ----------------------------------------------------------------------------- |
| 182 | +# Post-Setup Image URLs |
| 183 | +# ----------------------------------------------------------------------------- |
| 184 | +# Image URLs for 'make post-setup' - download and upload to Glance |
| 185 | +# Defaults use GitHub releases (latest builds) |
| 186 | +# Override to use custom HTTP/HTTPS mirrors (local files not supported) |
| 187 | +# Downloaded images are cached in ~/.cache/hotstack-os/images/ |
| 188 | +# HOTSTACK_CIRROS_URL=http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img |
| 189 | +# HOTSTACK_CENTOS_STREAM_9_URL=https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 |
| 190 | +# HOTSTACK_CONTROLLER_IMAGE_URL=https://github.com/openstack-k8s-operators/hotstack/releases/download/latest-controller/controller-latest.qcow2 |
| 191 | +# HOTSTACK_BLANK_IMAGE_URL=https://github.com/openstack-k8s-operators/hotstack/releases/download/latest-blank/blank-image-latest.qcow2 |
| 192 | +# HOTSTACK_IPXE_BIOS_URL=https://github.com/openstack-k8s-operators/hotstack/releases/download/latest-ipxe/ipxe-bios-latest.img |
| 193 | +# HOTSTACK_IPXE_EFI_URL=https://github.com/openstack-k8s-operators/hotstack/releases/download/latest-ipxe/ipxe-efi-latest.img |
| 194 | +# HOTSTACK_NAT64_IMAGE_URL=https://github.com/openstack-k8s-operators/openstack-k8s-operators-ci/releases/download/latest/nat64-appliance-latest.qcow2 |
0 commit comments