Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 2257414

Summary: HCI compute roles without MON/MGR in the roles still get a MON/MGR deployed
Product: Red Hat OpenStack Reporter: David Hill <dhill>
Component: openstack-tripleo-heat-templatesAssignee: OSP Team <rhos-maint>
Status: CLOSED DUPLICATE QA Contact: Jason Grosso <jgrosso>
Severity: urgent Docs Contact:
Priority: high    
Version: 17.1 (Wallaby)CC: bdobreli, drosenfe, fpantano, jgrosso, johfulto, mburns, mkatari, sbauza
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-02-12 05:52:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Hill 2024-01-09 13:17:34 UTC
Description of problem:
HCI compute roles without MON/MGR in the roles still get a MON/MGR deployed even though in the role definition we only have OSDs.

~~~
We see no CephMON/etc in the role we are using ... we should only have OSD on that node:


- name: HciEdge1ScaleOut
  description: |
    Basic Compute Node role with OVN
  CountDefault: 0
  networks:
    InternalApi:
      subnet: internal_api_edge1
    Tenant:
      subnet: tenant_edge1
    Storage:
      subnet: storage_edge1
    StorageMgmt:
      subnet: storage_mgmt_edge1
  HostnameFormatDefault: '%stackname%-hci-scaleout-%index%'
  uses_deprecated_params: False
  disable_upgrade_deployment: True
  RoleParametersDefault:
    TunedProfileName: "cpu-partitioning"
    VhostuserSocketGroup: "hugetlbfs"
    NovaLibvirtRxQueueSize: 1024
    NovaLibvirtTxQueueSize: 1024
  ServicesDefault:
    - OS::TripleO::Services::Aide
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::BarbicanClient
    - OS::TripleO::Services::BootParams
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CephClient
    - OS::TripleO::Services::CephExternal
    - OS::TripleO::Services::CephOSD
    - OS::TripleO::Services::Collectd
    - OS::TripleO::Services::ComputeCeilometerAgent
    - OS::TripleO::Services::CeilometerAgentIpmi
    - OS::TripleO::Services::ComputeNeutronCorePlugin
    - OS::TripleO::Services::ComputeNeutronL3Agent
    - OS::TripleO::Services::ComputeNeutronMetadataAgent
    - OS::TripleO::Services::ComputeNeutronOvsAgent
    - OS::TripleO::Services::ComputeNeutronOvsDpdk
    - OS::TripleO::Services::OvsDpdkNetcontrold
    - OS::TripleO::Services::ContainersLogrotateCrond
    - OS::TripleO::Services::HAproxyEdge
    - OS::TripleO::Services::IpaClient
    - OS::TripleO::Services::Ipsec
    - OS::TripleO::Services::Iscsid
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::LoginDefs
    - OS::TripleO::Services::MetricsQdr
    - OS::TripleO::Services::Multipathd
~~~

If we look at the generated inventory you can see mons are not declared for HciEdge1ScaleOut:
~~~
mons:
  children:
    qacloud-edge1_mons: {}
qacloud-edge1_mons:
  children:
    qacloud-edge1_HciEdge1: {}
  vars:
    ansible_ssh_user: tripleo-admin
~~~

You can see OSDs in the inventory for both roles in this:
~~~
qacloud-edge1_osds:
  children:
    qacloud-edge1_HciEdge1: {}
    qacloud-edge1_HciEdge1ScaleOut: {}
  vars:
    ansible_ssh_user: tripleo-admin
~~~

So the issue is probably with cephadm but let's start with making sure tripleo is not the cause of the issue

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Create a DCN HCI environment
2. In one of the edge zone, create a 2nd compute role without MON/MGR
3. Deploy

Actual results:
MON/MGR/etc are present on the second compute role without the MON/MGR declartion in the role

Expected results:
It should not invent configuration.

Additional info:

Comment 4 Manoj Katari 2024-01-18 09:51:01 UTC
Hi David,

we need these details to investigate the issue.

1. 'openstack overcloud ceph' command used.
2. 'generated_ceph_spec.yaml' from overcloud-deploy directory (or the complete overcloud-deploy directory if you have)

Comment 9 Manoj Katari 2024-01-18 16:31:26 UTC
>>>tripleo_roles_path: "/usr/share/openstack-tripleo-heat-templates/roles_data.yaml

it is default file that will be used if '--roles-data' is not passed to 'openstack overcloud ceph deploy' command

>>>/cases/03678655/0010-templates-Nov30.tar.gz/overcloud-deploy/qacloud-edge1/./tripleo-heat-templates/roles_data.yaml

It is the same default file in tripleo-heat-templates repo, but the deploy command actually uses '~/templates/edge1/roles_data.yaml' 


Looking at the inventory and the generated spec , it seems like a bug in ceph_spec_bootstrap module. I will investigate and get back on this.

Meanwhile, Can you also get this file '~/templates/edge1/roles_data.yaml' ?

Comment 11 Manoj Katari 2024-01-18 18:22:30 UTC
Yeah there is a BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2226963 for the same issue and it is fixed [1] recently.

@David: Please ensure if you have the FIV tripleo-ansible-3.3.1-17.1.20230816000827.bd032f7.el9ost 


[1] https://review.opendev.org/c/openstack/tripleo-ansible/+/889845

Comment 12 Manoj Katari 2024-01-31 08:30:44 UTC
@David : Is this issue resolved with the suggested FIV ? 
I am waiting for your confirmation to close this BZ as duplicate of 2226963

Comment 13 Manoj Katari 2024-02-12 05:52:46 UTC
Closing this BZ as duplicate of 2226963 as the issue is same.

*** This bug has been marked as a duplicate of bug 2226963 ***

Comment 14 Red Hat Bugzilla 2024-06-12 04:25:11 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days