Conflicts when both NovaCompute and NovaIronic are enabled

Bug #1869421 reported by Lars Kellogg-Stedman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Expired
Medium
Unassigned

Bug Description

Running a standalone deployment with e659b47, we were seeing failures caused by duplicate mount entries in container volume configurations. For example, in /var/lib/tripleo-config/container-startup-config/step_3/nova_statedir_owner.json, we saw:

{
    "command": "/container-config-scripts/pyshim.sh /container-config-scripts/nova_statedir_ownership.py",
    "detach": false,
    "image": "docker.io/tripleomaster/centos-binary-nova-compute-ironic:b5ef03c9c939db551b03e9490edc6981ff582035_76ebc465_x86_64",
    "net": "none",
    "privileged": false,
    "user": "root",
    "volumes": [
        "/var/lib/nova:/var/lib/nova:shared,z",
        "/var/lib/container-config-scripts/:/container-config-scripts/:z"
        "/var/lib/container-config-scripts/:/container-config-scripts/"
    ]
}

Note that /var/lib/container-config-scripts, once with a :z qualifier and once without. This configuration appears to come from:
- https://github.com/openstack/tripleo-heat-templates/blob/e659b470ef11b5c0ed2526097af0b11749a95e13/deployment/nova/nova-ironic-container-puppet.yaml#L155
- https://github.com/openstack/tripleo-heat-templates/blob/e659b470ef11b5c0ed2526097af0b11749a95e13/deployment/nova/nova-compute-container-puppet.yaml#L775

And this isn't the only instance of this problem; after fixing it manually, we saw a similar failure later in which a configuration attempted to mount both /var/lib/kolla/config_files/nova_ironic.json and /var/lib/kolla/config_files/nova_compute.json onto /var/lib/kolla/config_files/config.json.

Revision history for this message
Lars Kellogg-Stedman (larsks) wrote :

This was our standalone_parameters.yaml file:

parameter_defaults:
  NeutronMechanismDrivers: [openvswitch, baremetal]
  IronicEnabledHardwareTypes:
  - ipmi
  IronicEnabledPowerInterfaces:
  - ipmitool
  IronicEnabledManagementInterfaces:
  - ipmitool
  IronicCleaningDiskErase: 'metadata'
  IronicInspectorSubnets:
  - ip_range: 192.168.24.200,192.168.24.250
  IronicInspectorInterface: 'br-ctlplane'
  CloudName: 192.168.24.14
  CloudName:
  ControlPlaneStaticRoutes: []
  Debug: true
  ConfigDebug: true
  DeploymentUser: stack
  DnsServers:
    - 1.1.1.1
    - 8.8.8.8
  DockerInsecureRegistryAddress:
    - :8787
  NeutronPublicInterface: eth1
  NeutronDnsDomain: localdomain
  NeutronBridgeMappings: datacentre:br-ctlplane
  NeutronPhysicalBridge: br-ctlplane
  StandaloneEnableRoutedNetworks: false
  StandaloneHomeDir: /home/stack
  InterfaceLocalMtu: 1500
  # Needed if running in a VM, not needed if on baremetal
  NovaComputeLibvirtType: qemu

And this was the deploy command:

sudo openstack tripleo deploy --templates --local-ip=192.168.24.14/24 \
        -e /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovs.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible-external.yaml \
        -e $HOME/templates/ceph-config.yaml \
        -e $HOME/containers-prepare-parameters.yaml \
        -e $HOME/standalone_parameters.yaml \
        -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml \
        --output-dir $HOME \
        --standalone

Revision history for this message
Lars Kellogg-Stedman (larsks) wrote :

We were able to get a successful deployment by disabling NovaCompute:

resource_registry:
  OS::TripleO::Services::NovaCompute: OS::Heat::None

...but at some point I think we will want both services active.

Changed in tripleo:
importance: Undecided → High
milestone: none → ussuri-3
status: New → Triaged
tags: added: train-backport-potential
Changed in tripleo:
importance: High → Medium
Changed in tripleo:
status: Triaged → Fix Released
assignee: nobody → Emilien Macchi (emilienm)
status: Fix Released → Triaged
assignee: Emilien Macchi (emilienm) → nobody
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-3 → ussuri-rc3
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-rc3 → victoria-1
Changed in tripleo:
milestone: victoria-1 → victoria-3
Changed in tripleo:
milestone: victoria-3 → wallaby-1
Changed in tripleo:
milestone: wallaby-1 → wallaby-2
Changed in tripleo:
milestone: wallaby-2 → wallaby-3
Changed in tripleo:
milestone: wallaby-3 → wallaby-rc1
Changed in tripleo:
milestone: wallaby-rc1 → xena-1
Revision history for this message
Marios Andreou (marios-b) wrote :

This is an automated action. Bug status has been set to 'Incomplete' and target milestone has been removed due to inactivity. If you disagree please re-set these values and reach out to us on freenode #tripleo

Changed in tripleo:
milestone: xena-1 → none
status: Triaged → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for tripleo because there has been no activity for 60 days.]

Changed in tripleo:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.