Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/containers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ on:
types: [checks_requested]

env:
OPENSTACK_VERSION: 2025.1
OPENSTACK_VERSION: 2025.2

jobs:
openstack:
Expand Down
132 changes: 66 additions & 66 deletions components/images-openstack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,67 +5,67 @@ images:

tags:
# these are common across all these OpenStack Helm installations
bootstrap: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
db_init: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
db_drop: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
ks_user: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
ks_service: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
ks_endpoints: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
bootstrap: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
db_init: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
db_drop: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
ks_user: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
ks_service: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
ks_endpoints: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"

# keystone
keystone_api: "ghcr.io/rackerlabs/understack/keystone:2025.1-ubuntu_jammy"
keystone_credential_rotate: "ghcr.io/rackerlabs/understack/keystone:2025.1-ubuntu_jammy"
keystone_credential_setup: "ghcr.io/rackerlabs/understack/keystone:2025.1-ubuntu_jammy"
keystone_db_sync: "ghcr.io/rackerlabs/understack/keystone:2025.1-ubuntu_jammy"
keystone_domain_manage: "ghcr.io/rackerlabs/understack/keystone:2025.1-ubuntu_jammy"
keystone_fernet_rotate: "ghcr.io/rackerlabs/understack/keystone:2025.1-ubuntu_jammy"
keystone_fernet_setup: "ghcr.io/rackerlabs/understack/keystone:2025.1-ubuntu_jammy"
keystone_api: "ghcr.io/rackerlabs/understack/keystone:2025.2-ubuntu_jammy"
keystone_credential_rotate: "ghcr.io/rackerlabs/understack/keystone:2025.2-ubuntu_jammy"
keystone_credential_setup: "ghcr.io/rackerlabs/understack/keystone:2025.2-ubuntu_jammy"
keystone_db_sync: "ghcr.io/rackerlabs/understack/keystone:2025.2-ubuntu_jammy"
keystone_domain_manage: "ghcr.io/rackerlabs/understack/keystone:2025.2-ubuntu_jammy"
keystone_fernet_rotate: "ghcr.io/rackerlabs/understack/keystone:2025.2-ubuntu_jammy"
keystone_fernet_setup: "ghcr.io/rackerlabs/understack/keystone:2025.2-ubuntu_jammy"

# ironic
ironic_api: "ghcr.io/rackerlabs/understack/ironic:2025.1-ubuntu_jammy"
ironic_conductor: "ghcr.io/rackerlabs/understack/ironic:2025.1-ubuntu_jammy"
ironic_pxe: "ghcr.io/rackerlabs/understack/ironic:2025.1-ubuntu_jammy"
ironic_pxe_init: "ghcr.io/rackerlabs/understack/ironic:2025.1-ubuntu_jammy"
ironic_api: "ghcr.io/rackerlabs/understack/ironic:2025.2-ubuntu_jammy"
ironic_conductor: "ghcr.io/rackerlabs/understack/ironic:2025.2-ubuntu_jammy"
ironic_pxe: "ghcr.io/rackerlabs/understack/ironic:2025.2-ubuntu_jammy"
ironic_pxe_init: "ghcr.io/rackerlabs/understack/ironic:2025.2-ubuntu_jammy"
ironic_pxe_http: "docker.io/nginx:1.13.3"
ironic_db_sync: "ghcr.io/rackerlabs/understack/ironic:2025.1-ubuntu_jammy"
ironic_db_sync: "ghcr.io/rackerlabs/understack/ironic:2025.2-ubuntu_jammy"
# these want curl which apparently is in the heat image
ironic_manage_cleaning_network: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
ironic_retrive_cleaning_network: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
ironic_retrive_swift_config: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
ironic_manage_cleaning_network: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
ironic_retrive_cleaning_network: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
ironic_retrive_swift_config: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"

# neutron
neutron_db_sync: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_dhcp: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_l3: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_l2gw: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_linuxbridge_agent: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_metadata: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_ovn_metadata: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_openvswitch_agent: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_server: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_rpc_server: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_bagpipe_bgp: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_netns_cleanup_cron: "ghcr.io/rackerlabs/understack/neutron:2025.1-ubuntu_jammy"
neutron_db_sync: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_dhcp: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_l3: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_l2gw: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_linuxbridge_agent: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_metadata: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_ovn_metadata: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_openvswitch_agent: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_server: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_rpc_server: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_bagpipe_bgp: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"
neutron_netns_cleanup_cron: "ghcr.io/rackerlabs/understack/neutron:2025.2-ubuntu_jammy"

# nova
nova_api: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_cell_setup: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_cell_setup_init: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
nova_compute: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_compute_ironic: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_compute_ssh: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_conductor: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_db_sync: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_novncproxy: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_novncproxy_assets: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_scheduler: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_spiceproxy: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_spiceproxy_assets: "ghcr.io/rackerlabs/understack/nova:2025.1-ubuntu_jammy"
nova_api: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_cell_setup: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_cell_setup_init: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
nova_compute: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_compute_ironic: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_compute_ssh: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_conductor: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_db_sync: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_novncproxy: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_novncproxy_assets: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_scheduler: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_spiceproxy: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_spiceproxy_assets: "ghcr.io/rackerlabs/understack/nova:2025.2-ubuntu_jammy"
nova_service_cleaner: "docker.io/openstackhelm/ceph-config-helper:latest-ubuntu_jammy"

# placement
placement: "quay.io/airshipit/placement:2025.1-ubuntu_jammy"
placement_db_sync: "quay.io/airshipit/placement:2025.1-ubuntu_jammy"
placement: "quay.io/airshipit/placement:2025.2-ubuntu_jammy"
placement_db_sync: "quay.io/airshipit/placement:2025.2-ubuntu_jammy"

# openvswitch
openvswitch_db_server: "docker.io/openstackhelm/openvswitch:ubuntu_jammy-dpdk-20250127"
Expand All @@ -78,35 +78,35 @@ images:
ovn_controller: "docker.io/openstackhelm/ovn:ubuntu_jammy-20250111"

# horizon
horizon: "quay.io/airshipit/horizon:2025.1-ubuntu_jammy"
horizon_db_sync: "quay.io/airshipit/horizon:2025.1-ubuntu_jammy"
horizon: "quay.io/airshipit/horizon:2025.2-ubuntu_jammy"
horizon_db_sync: "quay.io/airshipit/horizon:2025.2-ubuntu_jammy"

# glance
glance_api: "quay.io/airshipit/glance:2025.1-ubuntu_jammy"
glance_db_sync: "quay.io/airshipit/glance:2025.1-ubuntu_jammy"
glance_metadefs_load: "quay.io/airshipit/glance:2025.1-ubuntu_jammy"
glance_api: "quay.io/airshipit/glance:2025.2-ubuntu_jammy"
glance_db_sync: "quay.io/airshipit/glance:2025.2-ubuntu_jammy"
glance_metadefs_load: "quay.io/airshipit/glance:2025.2-ubuntu_jammy"
glance_storage_init: "docker.io/openstackhelm/ceph-config-helper:latest-ubuntu_jammy"

# skyline
skyline: "quay.io/airshipit/skyline:latest"
skyline_db_sync: "quay.io/airshipit/skyline:latest"

# cinder
cinder_api: "ghcr.io/rackerlabs/understack/cinder:2025.1-ubuntu_jammy"
cinder_db_sync: "ghcr.io/rackerlabs/understack/cinder:2025.1-ubuntu_jammy"
cinder_scheduler: "ghcr.io/rackerlabs/understack/cinder:2025.1-ubuntu_jammy"
cinder_volume: "ghcr.io/rackerlabs/understack/cinder:2025.1-ubuntu_jammy"
cinder_volume_usage_audit: "ghcr.io/rackerlabs/understack/cinder:2025.1-ubuntu_jammy"
cinder_db_purge: "ghcr.io/rackerlabs/understack/cinder:2025.1-ubuntu_jammy"
cinder_backup: "ghcr.io/rackerlabs/understack/cinder:2025.1-ubuntu_jammy"
cinder_api: "ghcr.io/rackerlabs/understack/cinder:2025.2-ubuntu_jammy"
cinder_db_sync: "ghcr.io/rackerlabs/understack/cinder:2025.2-ubuntu_jammy"
cinder_scheduler: "ghcr.io/rackerlabs/understack/cinder:2025.2-ubuntu_jammy"
cinder_volume: "ghcr.io/rackerlabs/understack/cinder:2025.2-ubuntu_jammy"
cinder_volume_usage_audit: "ghcr.io/rackerlabs/understack/cinder:2025.2-ubuntu_jammy"
cinder_db_purge: "ghcr.io/rackerlabs/understack/cinder:2025.2-ubuntu_jammy"
cinder_backup: "ghcr.io/rackerlabs/understack/cinder:2025.2-ubuntu_jammy"
cinder_storage_init: "docker.io/openstackhelm/ceph-config-helper:latest-ubuntu_jammy"
cinder_backup_storage_init: "docker.io/openstackhelm/ceph-config-helper:latest-ubuntu_jammy"

# octavia
octavia_api: "ghcr.io/rackerlabs/understack/octavia:2025.1-ubuntu_jammy"
octavia_db_sync: "ghcr.io/rackerlabs/understack/octavia:2025.1-ubuntu_jammy"
octavia_worker: "ghcr.io/rackerlabs/understack/octavia:2025.1-ubuntu_jammy"
octavia_housekeeping: "ghcr.io/rackerlabs/understack/octavia:2025.1-ubuntu_jammy"
octavia_health_manager: "ghcr.io/rackerlabs/understack/octavia:2025.1-ubuntu_jammy"
octavia_health_manager_init: "quay.io/airshipit/heat:2025.1-ubuntu_jammy"
octavia_api: "ghcr.io/rackerlabs/understack/octavia:2025.2-ubuntu_jammy"
octavia_db_sync: "ghcr.io/rackerlabs/understack/octavia:2025.2-ubuntu_jammy"
octavia_worker: "ghcr.io/rackerlabs/understack/octavia:2025.2-ubuntu_jammy"
octavia_housekeeping: "ghcr.io/rackerlabs/understack/octavia:2025.2-ubuntu_jammy"
octavia_health_manager: "ghcr.io/rackerlabs/understack/octavia:2025.2-ubuntu_jammy"
octavia_health_manager_init: "quay.io/airshipit/heat:2025.2-ubuntu_jammy"
...
25 changes: 21 additions & 4 deletions components/ironic/configmap-ironic-bin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -302,11 +302,28 @@ data:
set -ex
COMMAND="${@:-start}"

cat <<'EOF' > /etc/ironic/ironic-api-uwsgi.ini
[uwsgi]
add-header = Connection: close
buffer-size = 65535
die-on-term = true
enable-threads = true
exit-on-reload = false
hook-master-start = unix_signal:15 gracefully_kill_them_all
http-socket = 0.0.0.0:6385
lazy-apps = true
log-x-forwarded-for = true
master = true
processes = 1
procname-prefix-spaced = ironic-api:
route-user-agent = ^kube-probe.* donotlog:
thunder-lock = true
worker-reload-mercy = 80
module = ironic.wsgi:application
EOF

function start () {
exec ironic-api \
--config-file /etc/ironic/ironic.conf \
--config-dir /etc/ironic/ironic.conf.d \
${OPTIONS}
exec uwsgi --ini /etc/ironic/ironic-api-uwsgi.ini
}

function stop () {
Expand Down
2 changes: 1 addition & 1 deletion components/ironic/ironic-ks-user-baremetal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ spec:
restartPolicy: OnFailure
containers:
- name: ks-user-baremetal
image: ghcr.io/rackerlabs/understack/openstack-client:2025.1-ubuntu_jammy
image: ghcr.io/rackerlabs/understack/openstack-client:2025.2-ubuntu_jammy
imagePullPolicy: Always
command:
- /bin/bash
Expand Down
2 changes: 1 addition & 1 deletion components/ironic/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ conductor:
# it is only necessary because the above pxe is disabled, its init
# creates this path
- name: create-tftpboot
image: quay.io/airshipit/heat:2025.1-ubuntu_jammy
image: quay.io/airshipit/heat:2025.2-ubuntu_jammy
imagePullPolicy: IfNotPresent
command: [bash]
args:
Expand Down
4 changes: 4 additions & 0 deletions components/keystone/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ pod:
- name: oidc-secret
mountPath: /etc/oidc-secret
readOnly: true
- name: keystone-bin
mountPath: /var/www/cgi-bin/keystone/keystone-wsgi-public
readOnly: true
subPath: wsgi.py
volumes:
- name: keystone-sso
secret:
Expand Down
16 changes: 5 additions & 11 deletions components/neutron/configmap-neutron-bin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1655,18 +1655,12 @@ data:
COMMAND="${@:-start}"
function start () {
# (ricolin): Currently ovn have issue with uWSGI,
# let's keep using non-uWSGI way until this bug fixed:
# https://bugs.launchpad.net/neutron/+bug/1912359
start_ovn
}
confs="--config-file /etc/neutron/neutron.conf"
confs+=" --config-file /tmp/pod-shared/ovn.ini"
confs+=" --config-file /etc/neutron/plugins/ml2/ml2_conf.ini"
confs+=" --config-dir /etc/neutron/neutron.conf.d"
function start_ovn () {
exec neutron-server \
--config-file /etc/neutron/neutron.conf \
--config-file /tmp/pod-shared/ovn.ini \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini \
--config-dir /etc/neutron/neutron.conf.d
exec uwsgi --ini /etc/neutron/neutron-api-uwsgi.ini --pyargv " $confs "
}
function stop () {
Expand Down
2 changes: 0 additions & 2 deletions components/neutron/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,6 @@ pod:
sources:
- secret:
name: neutron-ks-etc
- secret:
name: neutron-nautobot

use_fqdn:
neutron_agent: false
Expand Down
2 changes: 1 addition & 1 deletion components/nova/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ conf:
api_max_retries: 90 # number of times to retry. default is 60.
api_retry_interval: 10 # number of sesconds between retries. default is 2.

# https://docs.openstack.org/nova/2025.1/admin/scheduling.html#the-filter-scheduler
# https://docs.openstack.org/nova/2025.2/admin/scheduling.html#the-filter-scheduler
filter_scheduler:
available_filters: nova.scheduler.filters.all_filters
enabled_filters:
Expand Down
5 changes: 0 additions & 5 deletions components/octavia/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,6 @@ conf:
ovn_sb_connection: tcp:ovn-ovsdb-sb.openstack.svc.cluster.local:6642
task_flow:
jobboard_enabled: false
octavia_api_uwsgi:
uwsgi:
# When upgrading to 2025.2 remove this as the wsgi script was removed
# https://opendev.org/openstack/openstack-helm/commit/b1d85c20e36adac9eaee584ef095d9c010cc1dc4
wsgi-file: /var/lib/openstack/bin/octavia-wsgi

dependencies:
dynamic:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ spec:
spec:
containers:
- name: openstackcli
image: quay.io/airshipit/heat:2025.1-ubuntu_jammy
image: quay.io/airshipit/heat:2025.2-ubuntu_jammy
command: ["sh", "-c"]
args:
- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ spec:
spec:
containers:
- name: openstackcli
image: quay.io/airshipit/heat:2025.1-ubuntu_jammy
image: quay.io/airshipit/heat:2025.2-ubuntu_jammy
command: ["sh", "-c"]
args:
- |
Expand Down
6 changes: 3 additions & 3 deletions containers/ironic/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@ RUN --mount=type=cache,target=/root/.cache/pip \
pysnmp==5.1.0 \
pyasn1==0.5.1 \
'pyasn1-modules<0.4.0'
COPY containers/ironic/patches /tmp/patches/
RUN cd /var/lib/openstack/lib/python3.10/site-packages && \
QUILT_PATCHES=/tmp/patches quilt push -a
#COPY containers/ironic/patches /tmp/patches/
#RUN cd /var/lib/openstack/lib/python3.10/site-packages && \
# QUILT_PATCHES=/tmp/patches quilt push -a
Loading
Loading