Skip to content

Add full OpenStack services (Nova, Neutron, Glance, Keystone) for scenario test support #52

@abhibongale

Description

@abhibongale

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions