Skip to content

Instantly share code, notes, and snippets.

@stephenfin
Last active December 21, 2022 14:52
Show Gist options
  • Save stephenfin/c90bdba5d668c77159debb415e679c24 to your computer and use it in GitHub Desktop.
Save stephenfin/c90bdba5d668c77159debb415e679c24 to your computer and use it in GitHub Desktop.
Sample DevStack 'local.conf's for single node ironic deployment using the fake driver

DevStack, Single Node, SR-IOV

Overview

Nodes

1

Version

Antelope

Prerequisites

  • None

Configuration

N/A

Notes

This is reverse engineered from the ironic-tempest-bios-ipmi-direct-tinyipa job provided by ironic, which in turn has the following dependency tree:

  • ironic-tempest-bios-ipmi-direct-tinyipa (opendev/ironic) ->
  • ironic-base (opendev/ironic) ->
  • devstack-tempest (opendev/tempest) ->
  • devstack (opendev/devstack) ->
  • devstack-minimal (opendev/devstack)
[[local|localrc]]
#OFFLINE=True
#RECLONE=True
## Passwords
ADMIN_PASSWORD=password
DATABASE_PASSWORD=password
RABBIT_PASSWORD=password
HORIZON_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=no-token-password
# Services
SERVICES=etcd3,memory_tracker,file_tracker,mysql,rabbit,tls-proxy,
SERVICES+=key,
SERVICES+=g-api,
SERVICES+=n-api,n-api-meta,n-cond,n-cpu,n-novnc,n-sch,
SERVICES+=placement-api,
SERVICES+=placement-api,
SERVICES+=q-agt,q-dhcp,q-l3,q-meta,q-metering,q-svc,ovs-vswitchd,ovsdb-server,
SERVICES+=s-account,s-container,s-object,s-proxy,
# Plugins
enable_plugin ironic https://opendev.org/openstack/ironic master
# Devstack configuration - devstack
SWIFT_REPLICAS=1
SWIFT_START_ALL_SERVICES=false
SWIFT_HASH=1234123412341234
DEBUG_LIBVIRT_COREDUMPS=true
NOVA_VNC_ENABLED=true
OVN_DBS_LOG_LEVEL=dbg
# Ironic configuration - ironic-base
DEFAULT_INSTANCE_TYPE=baremetal
FORCE_CONFIG_DRIVE=True
INSTALL_TEMPEST=False # Don't install a tempest package globaly
VIRT_DRIVER=ironic
BUILD_TIMEOUT=1800
IRONIC_BAREMETAL_BASIC_OPS=True
IRONIC_BUILD_DEPLOY_RAMDISK=False
IRONIC_CALLBACK_TIMEOUT=1800
IRONIC_DEPLOY_DRIVER=ipmi
IRONIC_INSPECTOR_BUILD_RAMDISK=False
IRONIC_INSPECTOR_TEMPEST_INTROSPECTION_TIMEOUT=1200
IRONIC_TEMPEST_BUILD_TIMEOUT=1800
IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False
IRONIC_VM_COUNT=2
IRONIC_VM_EPHEMERAL_DISK=1
IRONIC_VM_SPECS_RAM=2600
# IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
# NOTE(dtantsur): in some jobs we end up with 12 disks total, so reduce
# each of them. For don't need all 10 GiB for CirrOS anyway.
IRONIC_VM_SPECS_DISK=4
IRONIC_VM_SPECS_CPU=2
Q_AGENT=openvswitch
Q_ML2_TENANT_NETWORK_TYPE=vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch
SERVICE_TIMEOUT=90
# NOTE(TheJulia): Devstack default glance limit is 1GB, we need
# something more like 5GB for baremetal jobs due to image sizes
# with firmware.
GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
# NOTE(TheJulia): Disable neutron firewall as bug
# https://bugs.launchpad.net/neutron/+bug/1944201
# causes us an abnormally high job failure rate due to the ports
# not being found (as neutron crashed on initailization).
Q_USE_SECGROUP=False
# Default API workers is 2, however only 1 is needed,
# which cuts API memory utilziation in half reducing the risk of
# oom-killer events in CI.
API_WORKERS=1
# Ironic configuration - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa
IRONIC_DEFAULT_RESCUE_INTERFACE=agent
IRONIC_ENABLED_RESCUE_INTERFACES="fake,agent,no-rescue"
IRONIC_RAMDISK_TYPE=tinyipa
IRONIC_VM_SPECS_RAM=1024
IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True
IRONIC_VM_EPHEMERAL_DISK=0
SWIFT_ENABLE_TEMPURLS=True
SWIFT_TEMPURL_KEY=secretkey
IRONIC_BOOT_MODE=bios
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment