Tripleo Upgrade Tries to delete underlying networks

Bug #1873271 reported by Harry Kominos
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
New
Undecided
Unassigned

Bug Description

Description
===========

TripleO was used successfully to Deploy ROCKY. During the attempts to upgrade to STEIN though, while the undercloud was successfully upgrade to STEIN (and podman), The overcloud cannot be deployed because HEAT assumes that Management network should be deleted, despite being added to the roles-file.

Steps to reproduce
==================
Rocky was deployed

with openstack overcloud deploy --templates \
  -e /home/stack/containers-prepare-parameter.yaml \
  -e /home/stack/templates/node-info.yaml \
  -r /home/stack/templates/roles_data.yaml \
  -n /home/stack/templates/network_data.yaml \
  -e /home/stack/templates/network-environment.yaml \
  -e /home/stack/templates/environments/network-isolation.yaml \
  -e /home/stack/templates/ceph-ansible-external.yaml \
  -e /home/stack/templates/ceph-config.yaml \
  -e /home/stack/templates/environments/docker.yaml \
  -e /home/stack/templates/environments/docker-ha.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/services/mistral.yaml \
  -e /home/stack/templates/enable-tls.yaml \
  -e /home/stack/templates/inject-trust-anchor.yaml \
  -e /home/stack/templates/environments/ssl/tls-endpoints-public-dns.yaml \
  -e /home/stack/templates/cloudname.yaml \
  -e /home/stack/templates/environments/chkodvr.yaml \
  -e /home/stack/templates/updatenics.yaml

Perhaps the relevant parts are :

cat /home/stack/templates/roles_data.yaml
###############################################################################
# File generated by TripleO
###############################################################################
###############################################################################
# Role: Controller #
###############################################################################
- name: Controller
  description: |
    Controller role that has all the controler services loaded and handles
    Database, Messaging and Network functions.
  CountDefault: 1
  tags:
    - primary
    - controller
  networks:
    - External
    - InternalApi
    - Storage
    - StorageMgmt
    - Tenant
    - Management

cat /home/stack/templates/network_data.yaml \
- name: Management
  # Management network is enabled by default for backwards-compatibility, but
  # is not included in any roles by default. Add to role definitions to use.
  enabled: true
  vip: false # Management network does not use VIPs
  name_lower: management
  vlan: 60
  ip_subnet: '10.0.1.0/24'
  allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}]
  ipv6_subnet: 'fd00:fd00:fd00:6000::/64'
  ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]

cat /home/stack/templates/network-environment.yaml.rocky |grep Manag
 ManagementNetCidr: 10.158.203.0/24
 ManagementNetworkVlanID: 2403
 ManagementAllocationPools: [{'start': '10.158.203.10', 'end': '10.158.203.200'}]
 # Uncomment if using the Management Network (see network-management.yaml)
 ManagementNetCidr: 10.158.203.0/24
 # ManagementAllocationPools: [{'start': '10.0.1.10', 'end', '10.0.1.50'}]
 #ManagementInterfaceDefaultRoute: 10.158.203.254

(undercloud) [stack@osk-raio09 ~]$ cat /home/stack/templates/environments/network-isolation.yaml
# Enable the creation of Neutron networks for isolated Overcloud
# traffic and configure each role to assign ports (related
# to that role) on these networks.
# primary role is: Controller
resource_registry:
  # networks as defined in network_data.yaml
  OS::TripleO::Network::Storage: ../network/storage.yaml
  OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt.yaml
  OS::TripleO::Network::InternalApi: ../network/internal_api.yaml
  OS::TripleO::Network::Tenant: ../network/tenant.yaml
  OS::TripleO::Network::External: ../network/external.yaml
  OS::TripleO::Network::Management: ../network/management.yaml

  # Port assignments for the VIPs
  OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
  OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml
  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml
  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml
  OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml

  # Port assignments by role, edit role definition to assign networks to roles.
  # Port assignments for the Controller
  OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage.yaml
  OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml
  OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml
  OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml
  OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml
  OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management.yaml

(undercloud) [stack@osk-raio09 ~]$

While the NICS did not contain anything regarding Management.

After upgrading To Stein however, despite taking into consideration https://docs.openstack.org/releasenotes/tripleo-heat-templates/stein.html

With:

(undercloud) [stack@osk-raio09 ~]$ cat /home/stack/templates/roles_data.yaml
###############################################################################
# File generated by TripleO
###############################################################################
###############################################################################
# Role: Controller #
###############################################################################
- name: Controller
  description: |
    Controller role that has all the controler services loaded and handles
    Database, Messaging and Network functions.
  CountDefault: 1
  tags:
    - primary
    - controller
  networks:
    External:
      subnet: external_subnet
    InternalApi:
      subnet: internal_api_subnet
    Storage:
      subnet: storage_subnet
    StorageMgmt:
      subnet: storage_mgmt_subnet
    Tenant:
      subnet: tenant_subnet
    Management:
      subnet: management_subnet

cat /home/stack/templates/network_data.yaml \
- name: Management
  # Management network is enabled by default for backwards-compatibility, but
  # # is not included in any roles by default. Add to role definitions to use.
  enabled: true
  vip: false # Management network does not use VIPs
  name_lower: management
  vlan: 60
  ip_subnet: '10.0.1.0/24'
  allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}]
# #ipv6_subnet: 'fd00:fd00:fd00:6000::/64'
# ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
  mtu: 1500

// I should say that here I have added-removed gateway_ip, ipv6 etc configs according to
https://github.com/openstack/tripleo-heat-templates/blob/stable/stein/network_data.yaml but to no avail.

cat /home/stack/templates/network-environment.yaml
  # Customize the IP subnet to match the local environment
  ManagementNetCidr: '10.158.203.0/24'
  # Customize the IP range to use for static IPs and VIPs
  ManagementAllocationPools: [{'start': '10.158.203.10', 'end', '10.158.203.200'}]
  # Gateway router for routable networks
  ManagementInterfaceDefaultRoute: '10.158.203.254'
  # Customize the VLAN ID to match the local environment
  ManagementNetworkVlanID: 2403

network-isolation.yaml is the same.

Management subnet is define already as
(undercloud) [stack@osk-raio09 ~]$ openstack subnet show 2e154f6e-e1c3-4769-bcdb-e533bdc0e083 --fit-width
+-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| allocation_pools | 10.158.203.10-10.158.203.200 |
| cidr | 10.158.203.0/24 |
| created_at | 2019-12-03T10:27:47Z |
| description | |
| dns_nameservers | |
| enable_dhcp | False |
| gateway_ip | 10.158.203.254 |
| host_routes | |
| id | 2e154f6e-e1c3-4769-bcdb-e533bdc0e083 |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| location | Munch({'project': Munch({'domain_name': 'Default', 'domain_id': None, 'name': 'admin', 'id': u'25c076f2715a46ba98243b4134efd7f9'}), 'cloud': '', 'region_name': '', 'zone': None}) |
| name | management_subnet |
| network_id | 7a7ec3b1-87b9-42a1-abb4-a7901037189e |
| prefix_length | None |
| project_id | 25c076f2715a46ba98243b4134efd7f9 |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2019-12-03T10:27:47Z |
+-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

However during deployment with

penstack overcloud upgrade prepare --templates --debug\
  -e /home/stack/containers-prepare-parameter-STEIN.yaml \
  -e /home/stack/templates/node-info.yaml \
  -r /home/stack/templates/roles_data.yaml \
  -n /home/stack/templates/network_data.yaml \
  -e /home/stack/templates/network-environment.yaml \
  -e /home/stack/templates/environments/network-isolation.yaml \
  -e /home/stack/templates/ceph-ansible-external.yaml \
  -e /home/stack/templates/ceph-config.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovs.yaml \
  -e /home/stack/STEINRENDERED/environments/podman.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/services/mistral.yaml \
  -e /home/stack/templates/enable-tls.yaml \
  -e /home/stack/templates/inject-trust-anchor.yaml \
  -e /home/stack/templates/environments/ssl/tls-endpoints-public-dns.yaml \
  -e /home/stack/templates/cloudname.yaml \
  -e /home/stack/templates/environments/chkodvr.yaml \
  -e /home/stack/templates/newchkorepos.yaml \

I always get

http://paste.openstack.org/show/792229/
http://paste.openstack.org/show/792228/

I should say that I have tried a couple of different permutations of the templates to no avail.
What is more problematic is that I do not get WHY the installer thinks that I am trying to Delete the Management network (which I dont)

Expected result
===============
Pass or at least some indication as to WHAT is changing in THT. The current state just informs that "something" has changed but there is no way to understand what.

Actual result
=============
Failure to update THT

Environment
===========
OVS/ml2 with DVR upgrading from ROCKY --> STEIN
Ceph for the VMs

Revision history for this message
Harry Kominos (hkominos) wrote :

I would also like to add that the bug seems to be related to everything I do on the network-data.yaml. Originally I had only messed a bit with the Management network . And the upgrade command failed. After making a change the other parts of the yaml (lets say the external netowrk). Then the installer throws an error for that network as well! If then I revert that exact change, then then the bug remains! and Basically I cannot edit my network file

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.