Debian Package Tracker
Register | Log in
Subscribe

openstack-cluster-installer

automatic PXE and puppet-master installer for OpenStack

Choose email to subscribe with

general
  • source: openstack-cluster-installer (main)
  • version: 43.0.45
  • maintainer: Debian OpenStack (DMD)
  • uploaders: Thomas Goirand (DMD)
  • arch: all
  • std-ver: 4.1.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 40.1
  • oldstable: 42.2.5
  • stable: 43.0.10
  • unstable: 43.0.45
versioned links
  • 40.1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 42.2.5: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 43.0.10: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 43.0.45: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • openstack-cluster-installer
  • openstack-cluster-installer-agent
  • openstack-cluster-installer-cli
  • openstack-cluster-installer-common
  • openstack-cluster-installer-live-image-builder
  • openstack-cluster-installer-openstack-ci
  • openstack-cluster-installer-poc
  • openstack-cluster-installer-utils
  • puppet-module-oci
action needed
1 binary package has unsatisfiable dependencies high
  • The dependencies of openstack-cluster-installer=43.0.45 cannot be satisfied in unstable on amd64 because: unsatisfied dependency on puppet-agent (< 9~~)
Created: 2026-11-01 Last update: 2026-11-15 17:03
lintian reports 1 error and 131 warnings high
Lintian reports 1 error and 131 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2026-10-17 Last update: 2026-10-28 00:02
The package has not entered testing even though the delay is over normal
The package has not entered testing even though the 5-day delay is over. Check why.
Created: 2026-10-21 Last update: 2026-11-15 17:02
33 new commits since last upload, is it time to release? normal
vcswatch reports that this package seems to have new commits in its VCS but has not yet updated debian/changelog. You should consider updating the Debian changelog and uploading this new version into the archive.

Here are the relevant commit logs:
commit e58b08956b8b7d31aba81d96ec9a17b441376720
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 15 12:42:17 2026 +0100

    Set the agent side bgp/chassis_router_vrf_id on OVN computes
    
    The ovn-bgp agent extension enslaves the provider bridge into the
    chassis router VRF device that ovn-controller maintains
    (ovnvrf<id>), and it looks the VRF up with the
    bgp/chassis_router_vrf_id setting. Without the setting the agent
    falls back to the upstream default of 10, while the ovn-bgp service
    plugin stamps ovnvrf42 on the peering LRPs and oci::frr peers inside
    ovnvrf42: the enslavement silently skipped forever, br-ex stayed out
    of the VRF and the fabric sessions were dead.

commit 7a29f809f043c80b56f0edb9c4058e1aa44ad1b9
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 15 12:07:52 2026 +0100

    Add the BGP facing VLAN NICs as ports of br-ex
    
    The fabric sessions of the chassis router VRF (FRR peers unnumbered
    over br-ex itself, and ovn-controller exchanges the chassis router's
    routes through it) only deliver traffic when the BGP facing VLAN NICs
    are bridged into the provider bridge. The NIC names come from the
    ENC's bgp_iface_list, which is deployment topology knowledge. The VRF
    device itself is created by ovn-controller's route exchange
    (dynamic-routing-maintain-vrf), and Neutron's ovn-bgp agent extension
    owns the enslavement of br-ex to that VRF.

commit 8159a8742e8f06e2e337575ce1426ed5267e4288
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 15 00:49:20 2026 +0100

    Enable the vif-reattach OVN agent extension on the computes
    
    It re-converges the OVS plugging state of the VM ports (re-attaches
    the missing taps and restores the lost external_ids) after an OVS
    database restore or a wiped bridge. The --delete-bridges removal of
    OVS_CTL_OPTS (0256f61b) makes the wiped-bridge case reachable, and the
    extension takes care of the recovery.

commit 779b5847969300d45f8b1ef03ca4f78732a3f223
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 15 00:49:09 2026 +0100

    Set ovn-cms-options=enable-chassis-as-gw on OVN computes
    
    neutron only populates the HA chassis groups of the routers with
    gateway capable chassis, without it the groups stay empty and northd
    renders no NAT flows for the overlay-gatewayed routers (floating IPs
    die at the gateway).

commit f7df59d86f129e0e6cd140e2fb07c96d613349fd
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Nov 13 18:51:39 2026 +0100

    Auto-rack on the q35 switch interface names
    
    ikvswitch now runs its switch VMs with the q35 machine type and pinned
    PCI addresses, so the leaf switches name their server ports enp0s6,
    enp0s7, ... instead of ens6, ens7, ... LLDP reporting still works, but
    the switchportnames map of auto-racking.json only knew the ensN names,
    so machines could not be located automatically anymore. Add the enp0sN
    entries mirroring the ensN ones (port N starts at U N-3), keeping the
    ensN and swpN entries for the other fabric types.

commit 46c3d811bb6c7bf74d04162beea9c812116c6957
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Nov 13 15:09:38 2026 +0100

    README.md: More server type in the HCL

commit c942db29ed5f84ddf8675c10edc3e4df0dd31826
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Nov 13 13:23:39 2026 +0100

    Auto-login root on the pxe-server-node consoles
    
    Pass --tty-autologin yes and --add-serial-getty ttyS0 when building
    the OCI VM image, as the live VMs of the PoC already do: the VNC and
    SOL consoles of the pxe-server-node then drop into a root shell
    instead of asking for the password. The image must be rebuilt by
    running oci-poc-setup again for this to apply.

commit 8ee5fab454bf20adf9bd1dd76c84f16ebb323d13
Author: Thomas Goirand <zigo@debian.org>
Date:   Thu Nov 12 21:20:39 2026 +0100

    Fix dead idempotency guard in Octavia router setup
    
    The interfaces_info check looked for a hardcoded subnet UUID that
    can never exist, so SUBNET_PORT_ID stayed empty on every run and
    "openstack router add subnet int-octavia1-router1
    int-octavia1-subnet1" was retried unconditionally, failing the
    whole script on re-runs under set -e. Match on the subnet ID
    captured just above instead, passed to jq with --arg the same way
    oci-poc-provision-network-cl3 does.

commit cccc11c739b8281a4c31ea1f33098460ee5d985a
Author: Thomas Goirand <zigo@debian.org>
Date:   Thu Nov 12 15:57:06 2026 +0100

    Make the PoC compatible with ikvswitch 1.0.8
    
    The ikvswitch 1.0.8 fabric stops originating the VLAN subnets of
    the OVN clusters (the covering /24 would shadow the /32 host routes
    announced by the compute hosting each floating IP), extends the
    VLAN pools to 8 subnets (192.168.113.0/24 on VLAN 11 through
    192.168.120.0/24 on VLAN 18), and rehomes the IPMI bridge inside
    the /19 at 192.168.109.1. Adapt the PoC:
    
    - Derive every 192.168.<x> prefix of oci-poc.conf from the new
      HOST_VIRTUAL_SUBNET_START_PREFIX variable, matching ikvswitch.conf,
      so that the whole address plan follows a single knob.
    - Pass the redistribute knob from oci-poc-ci itself: the switch
      rebuild runs ikvswitch-setup with --map-redistribute-vlan-subnets
      using the new MAP_REDISTRIBUTE_VLAN_SUBNETS variable of
      oci-poc.conf (cl3's OVS-mode block, 117,118,119,120), falling back
      to ikvswitch's "all" default for older confs.
    - Re-home the IPMI sites of the scripts to ${IPMI_BIND_IP_START}.
    - Point every machine IPMI at ${IPMI_BIND_IP_START}.1: the default,
      swift, and billing variants still pointed their BMCs at
      192.168.100.1, the host's address on the PXE network.
    - Thread USE_OVN to every PoC script, including
      oci-poc-provision-network-cl3.
    - Wire cl3's networks end to end, mirroring cl1's OVS-mode shapes:
      the ext-provider1 transport (192.168.118.0/24 on VLAN 16, dual
      stack), the shared ext-net1 overlay on 192.168.126.0/24 (a VXLAN
      overlay needs no VLAN, so its /24 sits outside the pools' octets,
      leaving pool 7 as headroom), the Octavia transport
      (192.168.120.0/24 on VLAN 18, OVS-mode only, freeing .120 by
      moving cl1's Octavia management to .127), and the Octavia
      management network with its HA router.
    - Host cl3's BGP speakers on its 3 controllers (the OVS-mode
      cluster's network nodes): neutron_install_dragent is now a
      controller-role variable, the provisioning creates both speakers
      peering with the leaf loopbacks and adds them to all 3 dragents,
      and the fabric accepts the controllers as speaker peers.
    - In the OVN mode, skip the Octavia transport entirely and gateway
      int-octavia1-router1 on ext-provider1 instead.
    - Depend on ikvswitch (>= 1.0.8~).
    - Document the network map of the whole /19 in the README, together
      with the --map-redistribute-vlan-subnets value the PoC uses and
      the [--ovn] flag of oci-poc-ci. Correct the map rows:
      192.168.102.0/24 is the unused legacy VMNET (the VMs only have two
      NICs, the overlays are tunneled over the management network),
      192.168.119.0/24 is just unused, 192.168.114.0/24 and
      192.168.115.0/24 describe both modes (114 = the VLAN-mounted
      transport in the OVS mode / the flat underlay carrying the HA
      routers' external gateways in the OVN mode, 115 = the VLAN mount /
      the geneve ext-floating1); the 192.168.200.0/24 note is about the
      demo and internal tenant overlays only, unrelated to the IPMI
      bridge.
    - Update the repository's ikvswitch and oci skill notes (the
      .opencode knowledge base) to the same reality: the fabric's
      speaker peers and tests, the cl3 networks and BGP speakers, the
      PoC VM NICs, the knob invocation, and the Salsa CI -> osbpo
      delivery flow.

commit 5f8c89b5477cd880918c79b3876d188a8ee60100
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Nov 6 14:50:10 2026 +0100

    Add OVN support
    
    Wire ML2/OVN as an alternative to the Open vSwitch agent, selected
    by the neutron_use_ovn cluster variable, together with
    BGP-2-the-host for the VM networks:
    
    - neutron_use_ovn toggle wired through the ENC and the cluster
      variables
    - controllers: ovn-central with the ovsdb raft cluster, raft
      bootstrap on the first master, ovsdb servers started before
      northd's wait chain, and the NB/SB endpoints built from the
      ENC's master IP list
    - computes: OVN chassis wiring with ovn-controller, geneve
      encapsulation, provider bridges recorded in the OVS
      external_ids, and vswitch::ovs declared for both roles
    - unified OVN agent (neutron-ovn-agent) running the ovn-bgp and
      metadata agent extensions, replacing the deprecated standalone
      neutron-ovn-metadata-agent
    - BGP-2-the-host: oci::frr manages the node FRR configuration,
      unnumbered eBGP peering over the VLAN-10 subinterfaces toward
      the leaf switches, and ENC emission of the VLAN-suffixed
      interface list and bgp_ip
    - router plugin switched to ovn-router, metering dropped from OVN
      clusters, and the OVN deployment documented in the README
    - tempest configuration gated on the OVN mode
    - PoC tooling: --ovn option to deploy cl1 with ML2/OVN, and the
      ovn-bgp skill documenting the stack

commit eb7b3e9489db600f048038a67b92db47101ca732
Author: Thomas Goirand <zigo@debian.org>
Date:   Wed Nov 11 15:12:02 2026 +0100

    Use GP_NET_SHARED_IPV6=fd00:1:2:2:: in the PoC, as this is RFC's.

commit 0256f61b9878de6068e6e06e8d6d56d719c6b906
Author: Thomas Goirand <zigo@debian.org>
Date:   Tue Nov 10 20:11:46 2026 +0100

    Drop --delete-bridges from OVS_CTL_OPTS defaults
    
    /etc/default/openvswitch-switch carried OVS_CTL_OPTS="--delete-bridges"
    on both compute and network nodes, making ovs-ctl wipe the OVS bridges
    whenever openvswitch-switch restarts. The intent was cleaning a stale
    OVS config on reprovisioned machines, but with OpenVSwitch >= 4.0.0 the
    upgrade-time service restart deleted br-ex (and br-int with it),
    orphaning all VM taps, killing the FRR VRF session and tearing down a
    working cluster on every OVS upgrade.
    
    Keep the file managed by Puppet, but with an empty OVS_CTL_OPTS, so
    already deployed nodes converge to the safe value on the next run.

commit 7915af77dacac9318bf74f7c95c1775e555d22b4
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 8 22:06:48 2026 +0100

    Run mistral db sync on the first master only
    
    puppet-mistral's main class defaults sync_db to true, so the
    mistral-db-populate exec ran on every controller, racing concurrent
    schema migrations against the shared galera. Pass the ENC's
    do_db_sync flag, like every other service class; the existing
    wait-for-mistral-db execs (DESCRIBE workbooks_v2) still gate the
    other controllers' service starts on the first master's sync.

commit 5a8b150807941fd97886bb1c153cf958a65f6049
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 8 19:43:16 2026 +0100

    Manage rabbitmq users on the first master only
    
    Rabbitmq users and vhosts are cluster-wide state in a replicated
    rabbitmq cluster: when the first master creates them, the other
    members' puppet runs race against that state and rabbitmqctl add_user
    fails with error 70 ("User already exists"), aborting the whole run
    (observed on cl1-controller-2 during the --ovn PoC CI: Rabbitmq_user
    [monitoring] and [glance] failing this way).
    
    Gate the vhost, users and user permissions on $is_first_master; the
    rabbitmq server, the cluster auto-join and the rescue credentials
    script remain managed on every node. messaging.pp already had the
    same gating via $is_first_rabbit.

commit 15d080a474a17220027e4f12ce01aa332324c687
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 8 16:06:20 2026 +0100

    Order placement registration before nova services
    
    nova-conductor and nova-scheduler exit fatally at startup while the
    placement service is missing from the keystone catalog. On first
    bootstrap, the registration done by placement::keystone::auth on the
    first master races the nova service phase: the units crash-loop and
    puppet's own Service evaluation fails, breaking the whole first
    puppet run. Gate the nova service phase on that registration, on the
    first master and during the initial cluster setup only.

commit 745bc1f5e938f3c83787ddb1936d4f8e2efa519d
Author: Thomas Goirand <zigo@debian.org>
Date:   Sat Nov 7 22:18:13 2026 +0100

    poc: BMC-reset stuck VMs instead of restarting the CI
    
    The PoC CI kills every VM, the OCI server included, whenever a
    single guest VM gets stuck while booting: the 120 seconds wait for
    all VMs to register in OCI times out, and oci-poc-ci then restarts
    a full cycle.
    
    Instead, a new oci-poc-recover-stuck-vms helper enumerates the VMs
    that have not registered themselves with the OCI server: the
    expected serials are generated from NUMBER_OF_GUESTS in
    /etc/oci-poc/oci-poc.conf, starting at C1 and counting in hex, and
    they are compared with the serials known to the OCI server. Each
    missing serial is then power cycled through its BMC, reading its
    port and the BMC credentials from the generated ipmi_sim
    configuration files.
    
    The wait loop in oci-poc-vms runs the helper when its 120 seconds
    wait times out: if less than OCI_POC_MAX_STUCK_VMS (default 5) VMs
    are missing, they get rebooted and the wait resumes for up to 2
    recovery rounds. With more missing VMs, the helper exits non-zero
    and the CI keeps its old behavior of restarting everything.
    
    oci-poc-recover-stuck-vms --dry-run just lists the missing serials
    without touching any VM.

commit b80ce61c70d1b5556267b00b7b1b9a0e67c02ff9
Author: Thomas Goirand <zigo@debian.org>
Date:   Wed Nov 4 13:53:07 2026 +0100

    rabbitmq: use disc nodes instead of ram
    
    All RabbitMQ nodes of a cluster (the controllers, and the dedicated
    messaging nodes when the messaging role is used) are now disk nodes:
    the generated rabbitmq.conf carries {cluster_nodes, {[...], disc}}
    instead of ram, so queues and metadata survive the loss of any node.

commit c9adf537e666ddfd9be1d9dcfef1cc03edf44ab3
Author: Thomas Goirand <zigo@debian.org>
Date:   Tue Nov 3 16:22:07 2026 +0100

    Fix adding Ceph nodes in multi-AZ ceph deployment
    
    We used to have "cl1-cephNosd-X" but the slave_actions.php was
    adding them as cl1-cephosdN-X. This commit fixes this.

commit 42ec1cfaf8c0805708624903b066506504c3fb49
Author: Thomas Goirand <zigo@debian.org>
Date:   Tue Nov 3 10:39:36 2026 +0100

    Standardize list separators on comma
    
    Comma is now the only documented separator for every ocicli option
    taking a list of values (GPU names, vendor/product IDs and VFIO IDs,
    --time-server-host, --neutron-dnsmasq-dns-servers, --amp-secgroup-list,
    --amp-boot-network-list, --api-maint-whitelist,
    --glance-api-proxy-exceptions, --cpu-model-extra-flags).
    
    The API validates on both "," and the legacy separators (";" and, for
    the GPU values, "+" and spaces) but always stores a comma separated
    list. db_sync.php rewrites legacy separators found in existing rows,
    and the ENC emits canonical comma separated lists (GPU values become
    proper YAML arrays), so puppet always sees the right format.
    
    ocicli no longer converts "," to "+" for the GPU options (that hack
    was storing space separated values, as PHP decodes "+" in query
    strings as a space). Puppet consumers split on [;,] so they keep
    working against rows written by older APIs. The display side drops
    the comma mangling of cluster-show (amp lists) and machine-show (CPU
    model name) and quotes comma containing values so csvlook renders
    them correctly. The PoC scripts switch to comma as well.

commit 062819af41ad8cbc925045279226f503782ee403
Author: Thomas Goirand <zigo@debian.org>
Date:   Tue Nov 3 09:14:45 2026 +0100

    ocicli: add --skip-xfs-format to machine-install-os
    
    Add a --skip-xfs-format option to machine-install-os (and to the
    machine-display-install-cmd dry-run), so that reinstalling a Swift
    store node doesn't erase the data on its storage drives: OCI then
    builds the bodi command without the --xfsformat block device list.

commit f069c4884c9d368ffbf0a2652885ffa2b276a1f7
Author: Thomas Goirand <zigo@debian.org>
Date:   Mon Nov 2 09:38:26 2026 +0100

    agent: report its package version to the OCI server
    
    The agent now sends an "agent_version" attribute in the machine
    object it reports, read with dpkg-query from the
    openstack-cluster-installer-common package. report.php normalizes
    any non-version value to "0": absence (older agents) and garbage
    compare below every real version.
    
    report.php accepts it on both the INSERT path (first report of a
    machine) and the UPDATE path. Values are stored in the new
    machines.agent_version varchar(32) NOT NULL DEFAULT '0' column,
    which db_sync adds to existing deployments.
    
    "ocicli machine-list -v" (and -a) now shows the agent version
    alongside the BIOS and IPMI firmware versions.

commit cc6cc2a9046f58e8baafcc7e298d407034068fe0
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 1 18:17:11 2026 +0100

    ocicli: route action verbs around the csvlook renderer
    
    ocicli re-runs every non -csv invocation through
    "ocicli -csv <cmd> | csvlook" unless the command is listed in its
    pre-dispatch passthrough block. Action verbs missing from that list
    had their free-text output parsed as CSV: a header line followed by
    any line holding a comma made agate die with
    "ValueError: Row 0 has 2 values, but Table only has 1 columns."
    and exit non-zero, while the pipe also masked API errors, letting a
    failed action exit 0 (csvlook's own status).
    
    oci-poc-install-cluster-bgp hits this on machine-add: the hardware
    profile guess matches no profile for the PoC VMs, the reply data
    carries "Could not guess a unique hardware profile, machine-set not
    applied." (one comma), csvlook crashes and set -e aborts the CI
    after the machine was already enrolled.
    
    Add the remaining action verbs to the passthrough block (machine-add,
    machine-set, machine-remove, compute-decomission, machine-destroy
    kept out as it prints a table, plus 36 more: cluster-set,
    network-*, role-*, location-*, machine-reboot-on-*, machine-to-dns,
    ...). Tabular verbs (all *-list, machine-show, machine-blk,
    machine-ram, filebeat-output-host-list, ...) keep the csvlook
    rendering, as does the --column filter.

commit bd996e718760a8212787e4c067981816d66c7bb5
Author: Thomas Goirand <zigo@debian.org>
Date:   Sun Nov 1 17:24:24 2026 +0100

    poc: switch the PoC VMs to q35, virtio and UEFI
    
    Rework the firmware and device model of the PoC VMs (new
    /etc/oci-poc/oci-poc.conf directives default to the new behavior):
    
    - q35 machine type with pinned PCI slots (USE_Q35), replacing the
      legacy i440fx "pc" machine and dropping its floppy controller
    - virtio-net NICs for all the VMs, including the IPMI one
      (USE_VIRTIO_NET), forced to 1 Gbit/s full duplex, as virtio-net
      leaves lshw's link speed empty, which broke the "1g*" speed
      aliases; the agent falls back to the sysfs current speed when
      lshw reports no capacity
    - virtio-scsi with 4 queues and SSD rotation rate for the disks
    - UEFI firmware (USE_UEFI): rack 2 boots plain OVMF, rack 3 boots
      OVMF with secure boot, rack 1 and the OCI VM keep legacy BIOS;
      fresh NVRAM on every start
    - UEFI netboot fixes: grub-efi-amd64-signed installed in the
      template, DHCP left to the ikvswitch leaf switches (the OCI
      VM's own dhcpd NAKed the rack 1 leases), and the Secure Boot
      NVRAM template used for the rack 2 VMs, whose plain template
      never PXE-boots on q35
    - iPXE identity: when the dhcp_ip match misses (each boot phase
      can lease a different IP), ipxe.php chains back on the NIC MAC
      and resolves the machine through the ifnames table
    - persistent UEFI BootOrder management with oci-uefi-boot-order,
      used by the machine reboot API actions and the oci-install
      pre-reboot hook
    - runtime disk images created as qcow2 overlays on the templates
      (USE_QCOW2_OVERLAYS), flattened by oci-poc-save
    - guest NIC names derived from USE_Q35 (enp0s4 onward on q35
      instead of ens4), and cl3's VIP interface discovered at start
      instead of hardcoding ens5, riding the trunk NIC

commit 6e26b89875c03d62899579d49ffd1bfed2bce6c3
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Oct 30 13:45:18 2026 +0100

    ocicli: fix --gpu-produc-id typo in --gpu-product-id
    
    The machine-set option was misspelled --gpu-produc-id everywhere:
    usage message, man page, bash completion and README example. Rename
    it to --gpu-product-id, matching the gpu_product_id API and db
    column. The old --gpu-produc-id spelling is still accepted for
    backward compatibility.

commit 9cd32fc7600827d93c7324a58af1fea216dd52e1
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Oct 30 10:46:15 2026 +0100

    api: check machine_set block devices exist
    
    The machine_set action now validates --dest-blk and --raid-dev0..3
    values against the machine's block device inventory, instead of only
    checking the name format:
    
    - raid_dev0..3 must match an existing blockdevices.name or
      blockdevices.realdev row for that machine. The bare NVMe controller
      form (nvme0) is refused: only the full namespace device (nvme0n1)
      can be stored, as expected by the install and ENC flows.
    - dest_blk also accepts the NVMe controller form, matching the
      existing name / name+"n1" duality used by the installer, plus the
      "none" reset value.
    
    On mismatch, the API returns an error listing the block devices
    registered for the machine.
    
    ocicli normalizes device names on the client side (previous commit),
    so interactive users see the correction before the API is called.

commit a0e6dab4893b0f2c79322bdfc982f57aa951b684
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Oct 30 10:40:27 2026 +0100

    ocicli: auto-correct nvme device name forms
    
    --raid-dev0..3 and --dest-blk now normalize the device name on the
    client side before calling the API:
    
    - a leading /dev/ prefix is stripped (both options)
    - a bare NVMe controller name (nvme0) given to --raid-devN is
      expanded into the full namespace name (nvme0n1)
    - an NVMe namespace name (nvme0n1) given to --dest-blk is
      shortened into the controller name (nvme0)
    - partition suffixes (sda1, nvme0n1p1) are stripped
    
    When a value gets corrected, ocicli prints a notice on stderr, for
    example "selected nvme0n1 instead of nvme0 (for --raid-dev0)", so
    that the user is informed about the wrong usage. Already valid
    names, and the "none" value for --dest-blk, are left untouched.
    
    A missing option value now errors out with "No parameter for
    --raid-devN" / "No parameter for --dest-blk" before calling the
    API, like the other client side validations in machine-set.
    
    Documented in ocicli(1) and in the usage() examples.

commit d348aa96dc55a26f6479cc3cee8cbe8dd04c86ea
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Oct 30 10:13:20 2026 +0100

    machine-add: apply hardware-profile machine-set
    
    The "machine-set" entries of hardware-profiles.json were only applied
    when running "ocicli machine-megacli-apply", or by the hands-off
    scheduler when megacli_auto_apply is on: neither "machine-add" nor
    "machine-install-os" applied them.
    
    Move that logic to a new hardware_profile_apply_machine_set() function,
    call it after enrolling a machine through "ocicli machine-add" and
    "machine-auto-add" (best effort: enrollment never fails because of it),
    and carry the outcome in the data of the API reply, which ocicli now
    displays. The web GUI path is untouched.
    
    Also guard the auto-racking lookup with isset(): the old inline block
    could hit count(NULL) under PHP 8 when auto_racking_guess_location()
    returned success without data.

commit 45910903fba5eff983cfe08b0e323ad7ff401ed3
Author: Thomas Goirand <zigo@debian.org>
Date:   Thu Oct 29 17:27:08 2026 +0100

    Add fail2ban option for bad keystone authentication
    
    Add a new keystone_fail2ban cluster variable (off by default, with
    bantime, findtime and maxretry knobs) which installs fail2ban on the
    controllers and watches haproxy's JSON access log for failed
    authentications against the keystone token endpoint (POST with a 401
    or 403 status, including the haproxy-level admin token ACL deny).
    
    The haproxy log is watched rather than keystone's own log, as the
    latter only sees a third of the requests per master and carries
    haproxy's source address instead of the client's IP. Bans are
    enforced by the nftables-multiport action, whose bans live in a
    dedicated nftables table that the puppet managed iptables rules
    (purged on every run on API masters) can never remove. Cluster
    networks are excluded from bans via ignoreip, reusing the API
    rate-limit whitelist.

commit b5e28b3aa422a8321083aa7379a0bbf139c04529
Author: Thomas Goirand <zigo@debian.org>
Date:   Thu Oct 29 15:55:46 2026 +0100

    Only run db-purge crons on the first controller
    
    The cron jobs for purging deleted rows from the database
    (nova::cron::archive_deleted_rows, heat::cron::purge_deleted,
    cinder::cron::db_purge and manila::cron::db_purge) were running on
    every controller of a cluster. There is no point in having each of
    them run the same job, and the purge commands are racy when executed
    concurrently on the same database.
    
    This patch makes sure that the db purge cron jobs are setup only on
    the first controller of a cluster (ie: if $is_first_master), and
    that other controllers purge the crontab file of the corresponding
    service user. This way, the cron file is removed by puppet if the
    first controller moves to another host in the cluster.

commit ef9ec5678f39e7f0c553421c54472c4c2d52e362
Author: Thomas Goirand <zigo@debian.org>
Date:   Wed Oct 28 15:48:41 2026 +0100

    Report HDD and memory DIMM hardware inventory
    
    Have the agent report the disk and memory inventory of the
    machines, store and display it on the server side, and equip the
    PoC VMs with matching SMBIOS records:
    
    - the agent reports each HDD's model and serial number, as
      discovered through lsblk, stored in the new blockdevices.model
      and blockdevices.serial columns and displayed by
      "ocicli machine-blk"
    - the agent reports each populated memory DIMM (slot locator,
      size in MB, vendor, part number, serial number) from the
      dmidecode type 17 records, stored in the new memorydimms
      table and displayed by the new "ocicli machine-ram" command,
      which was also missing from ocicli's usage message
    - report.php validates the new fields, refreshes the stored
      inventory on any change, accepts an empty block-device
      firmware version, and machine-destroy now purges the
      memorydimms and blkdev_ctrl entries as well
    - the PoC VMs carry SMBIOS type 17 (memory device) records with
      a manufacturer, part number and the same monotonic serial
      number as the type 1 and 3 records, so the DIMM reporting
      works in the PoC, including on the 32 GB controller VMs
      (supported from QEMU 5.2 through 11.1)
    - the new tables and columns are auto-created by db_sync.php on
      upgrade

commit c094781e3cf4c84687efd383b87205ffe376cb9b
Author: Thomas Goirand <zigo@debian.org>
Date:   Wed Oct 21 23:48:33 2026 +0200

    Do glance TLS with uwsgi in Gazpacho too
    
    Now that glance-api is switched to uwsgi in the Gazpacho packaging,
    the service terminates TLS itself: stop doing the haproxy frontend
    and backend re-encryption when deploying Gazpacho, and point
    balancermembers at port 9292 like for Hibiscus and above.

commit 0b6350f3f5e4d4b40f16d99f0309929d151e5649
Author: Thomas Goirand <zigo@debian.org>
Date:   Wed Oct 21 18:25:45 2026 +0200

    Set compute/flavor_disk_size to 3 in tempest.pp
    
    Tempest gained a [compute] flavor_disk_size option (Debian patch
    forwarded upstream as
    https://review.opendev.org/c/openstack/tempest/+/1009995) letting
    the tests configure the disk size of the flavors they create. The
    upstream default of 1 GB is too small for the Debian cloud image's
    min_disk, so set it to 3 GB.
    
    The option only exists since Hibiscus, and older tempest versions
    refuse to start when tempest.conf contains unknown options, so the
    entry is gated by the negation of the usual all-releases-before-
    Hibiscus chain: future releases inherit the setting.

commit bd36b15c9faffef112bad668395fb008baaf8812
Author: Thomas Goirand <zigo@debian.org>
Date:   Fri Oct 16 14:06:13 2026 +0200

    ocicli cluster-set cl1 --dns-empty-zones-enable no
Created: 2026-11-08 Last update: 2026-11-15 12:32
piuparts found (un)installation error(s) normal
Piuparts stresses package installation, uninstallation, upgrade, ... While doing such tests, one or more errors were found for the following suites:
  • sid - piuparts
You should fix them.
Created: 2026-11-13 Last update: 2026-11-13 09:32
4 open merge requests in Salsa normal
There are 4 open merge requests for this package on Salsa. You should consider reviewing and/or merging these merge requests.
Created: 2026-11-01 Last update: 2026-11-01 18:23
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.1.4).
Created: 2018-05-30 Last update: 2026-10-16 18:00
testing migrations
  • excuses:
    • Migrates after: openstack-meta-packages, puppet-module-etcddiscovery, puppet-module-magnum, puppet-module-mistral, puppet-module-placement, puppet-module-rally, puppet-module-tempest, puppet-module-vigie, puppet-module-vmms
    • Migration status for openstack-cluster-installer (- to 43.0.45): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ openstack-cluster-installer/amd64 has unsatisfiable dependency
    • ∙ ∙ openstack-cluster-installer/arm64 has unsatisfiable dependency
    • ∙ ∙ Piuparts regression - https://piuparts.debian.org/sid/source/o/openstack-cluster-installer.html
    • ∙ ∙ Depends: openstack-cluster-installer openstack-meta-packages
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-etcddiscovery
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-magnum
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-mistral
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-placement
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-rally
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-tempest
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-vigie
    • ∙ ∙ Depends: openstack-cluster-installer puppet-module-vmms
    • Additional info (not blocking):
    • ∙ ∙ Autopkgtest skipped on amd64: not installable
    • ∙ ∙ Autopkgtest skipped on arm64: not installable
    • ∙ ∙ Autopkgtest skipped on armhf: not installable (which is allowed)
    • ∙ ∙ Autopkgtest skipped on i386: not installable (which is allowed)
    • ∙ ∙ Autopkgtest skipped on ppc64el: not installable (which is allowed)
    • ∙ ∙ Autopkgtest skipped on riscv64: not installable (which is allowed)
    • ∙ ∙ Autopkgtest skipped on s390x: not installable (which is allowed)
    • ∙ ∙ Reproduced on amd64 - info
    • ∙ ∙ Reproduced on arm64 - info
    • ∙ ∙ Reproduced on armhf - info
    • ∙ ∙ Reproduced on i386 - info
    • ∙ ∙ 30 days old (needed 5 days)
    • Not considered
news
[rss feed]
  • [2026-10-16] Accepted openstack-cluster-installer 43.0.45 (source) into unstable (Thomas Goirand)
  • [2026-10-14] Accepted openstack-cluster-installer 43.0.44 (source) into unstable (Thomas Goirand)
  • [2026-10-07] Accepted openstack-cluster-installer 43.0.40 (source) into unstable (Thomas Goirand)
  • [2026-10-05] Accepted openstack-cluster-installer 43.0.38 (source) into unstable (Thomas Goirand)
  • [2026-10-02] Accepted openstack-cluster-installer 43.0.37 (source) into unstable (Thomas Goirand)
  • [2026-09-30] Accepted openstack-cluster-installer 43.0.36 (source) into unstable (Thomas Goirand)
  • [2026-09-28] Accepted openstack-cluster-installer 43.0.35 (source) into unstable (Thomas Goirand)
  • [2026-09-28] Accepted openstack-cluster-installer 43.0.34 (source) into unstable (Thomas Goirand)
  • [2026-09-25] Accepted openstack-cluster-installer 43.0.32 (source) into unstable (Thomas Goirand)
  • [2026-06-23] Accepted openstack-cluster-installer 43.0.31 (source) into unstable (Simeon Gourlin) (signed by: Thomas Goirand)
  • [2026-05-11] openstack-cluster-installer REMOVED from testing (Debian testing watch)
  • [2026-05-03] openstack-cluster-installer 43.0.29 MIGRATED to testing (Debian testing watch)
  • [2026-04-28] Accepted openstack-cluster-installer 43.0.29 (source) into unstable (Thomas Goirand)
  • [2026-04-03] openstack-cluster-installer REMOVED from testing (Debian testing watch)
  • [2026-03-20] Accepted openstack-cluster-installer 43.0.26 (source) into unstable (Thomas Goirand)
  • [2026-03-02] Accepted openstack-cluster-installer 43.0.25 (source) into unstable (Thomas Goirand)
  • [2026-03-02] Accepted openstack-cluster-installer 43.0.24 (source) into unstable (Thomas Goirand)
  • [2026-02-23] Accepted openstack-cluster-installer 43.0.23 (source) into unstable (Thomas Goirand)
  • [2026-02-08] openstack-cluster-installer 43.0.22 MIGRATED to testing (Debian testing watch)
  • [2026-02-02] Accepted openstack-cluster-installer 43.0.22 (source) into unstable (Thomas Goirand)
  • [2026-01-20] openstack-cluster-installer 43.0.19 MIGRATED to testing (Debian testing watch)
  • [2026-01-15] Accepted openstack-cluster-installer 43.0.19 (source) into unstable (Thomas Goirand)
  • [2025-12-05] openstack-cluster-installer 43.0.18 MIGRATED to testing (Debian testing watch)
  • [2025-11-29] Accepted openstack-cluster-installer 43.0.18 (source) into unstable (Thomas Goirand)
  • [2025-11-25] Accepted openstack-cluster-installer 43.0.16 (source) into unstable (Thomas Goirand)
  • [2025-11-20] Accepted openstack-cluster-installer 43.0.15 (source) into unstable (Thomas Goirand)
  • [2025-11-03] Accepted openstack-cluster-installer 43.0.13 (source) into unstable (Thomas Goirand)
  • [2025-08-30] openstack-cluster-installer 43.0.12 MIGRATED to testing (Debian testing watch)
  • [2025-08-26] openstack-cluster-installer REMOVED from testing (Debian testing watch)
  • [2025-08-25] Accepted openstack-cluster-installer 43.0.12 (source) into unstable (Thomas Goirand)
  • 1
  • 2
bugs [bug history graph]
  • all: 0
links
  • homepage
  • lintian (1, 131)
  • buildd: logs, debcheck
  • popcon
  • browse source code
  • other distros

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing