Problem
Currently, StackBox runs Ironic in standalone/noauth mode without other OpenStack services (Keystone, Nova, Neutron, Glance). This limits which Tempest tests can run successfully:
What works now ✅
- API-level tests: Tests that make direct Ironic API calls
- Basic functionality: Ironic node enrollment, inspection, power management
- Standalone workflows: Tests that don't require compute orchestration
What doesn't work ❌
- Scenario tests (e.g.,
BaremetalBasicOps.test_baremetal_server_ops_wholedisk_image): Require Nova for instance creation
- Multi-tenancy tests: Require Keystone for authentication
- Network provisioning tests: Require Neutron for network setup
- Image deployment tests: Require Glance for image management
Current Error
When running scenario tests:
ConnectionRefusedError: [Errno 111] Connection refused
HTTPConnection(host='localhost', port=5000): Failed to establish a new connection
Tempest tries to authenticate with Keystone at localhost:5000, but it's not running.
Proposed Solution
Add containerized OpenStack services to StackBox to support full CI job reproduction:
Phase 1: Authentication (Keystone)
- Add Keystone service to docker-compose
- Configure Keystone endpoints in tempest.conf
- Update accounts.yaml with proper Keystone credentials
- Enable
nova = true in service_available once Nova is added
Phase 2: Compute (Nova)
- Add Nova API, conductor, scheduler services
- Configure Nova to use Ironic as virt driver
- Enable compute-based provisioning workflows
Phase 3: Networking (Neutron)
- Add Neutron API, DHCP, L3 agent services
- Configure network provisioning for baremetal nodes
- Enable multi-tenancy and network isolation tests
Phase 4: Image Management (Glance)
- Add Glance API and storage backend
- Configure image repository for deployment images
- Enable image-based deployment scenarios
Impact
This enhancement will allow StackBox to reproduce all Ironic CI jobs, including:
ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa (requires Nova)
ironic-tempest-ipa-partition-bios-agent_ipmitool-tinyipa (requires Nova)
- Multi-tenancy CI jobs (require Neutron + Keystone)
- Boot-from-volume tests (require Cinder + Nova)
Related Files
stackbox/templates/tempest/tempest.conf.j2 - Tempest configuration template (currently configured for noauth)
stackbox/templates/docker-compose.yml.j2 - Infrastructure services (needs Keystone, Nova, Neutron, Glance)
stackbox/templates/tempest/accounts.yaml.j2 - Test account credentials
References
Problem
Currently, StackBox runs Ironic in standalone/noauth mode without other OpenStack services (Keystone, Nova, Neutron, Glance). This limits which Tempest tests can run successfully:
What works now ✅
What doesn't work ❌
BaremetalBasicOps.test_baremetal_server_ops_wholedisk_image): Require Nova for instance creationCurrent Error
When running scenario tests:
Tempest tries to authenticate with Keystone at localhost:5000, but it's not running.
Proposed Solution
Add containerized OpenStack services to StackBox to support full CI job reproduction:
Phase 1: Authentication (Keystone)
nova = truein service_available once Nova is addedPhase 2: Compute (Nova)
Phase 3: Networking (Neutron)
Phase 4: Image Management (Glance)
Impact
This enhancement will allow StackBox to reproduce all Ironic CI jobs, including:
ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa(requires Nova)ironic-tempest-ipa-partition-bios-agent_ipmitool-tinyipa(requires Nova)Related Files
stackbox/templates/tempest/tempest.conf.j2- Tempest configuration template (currently configured for noauth)stackbox/templates/docker-compose.yml.j2- Infrastructure services (needs Keystone, Nova, Neutron, Glance)stackbox/templates/tempest/accounts.yaml.j2- Test account credentialsReferences