Bug 2234927 - [hackfest] OSP17.1 neutron ports or openstack VMs don't create A records in designate
Summary: [hackfest] OSP17.1 neutron ports or openstack VMs don't create A records in d...
Keywords:
Status: NEW
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron
Version: 17.1 (Wallaby)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Miguel Lavalle
QA Contact: Eran Kuris
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-08-25 18:32 UTC by Chris Janiszewski
Modified: 2023-09-11 13:44 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-27852 0 None None None 2023-08-25 18:34:45 UTC

Description Chris Janiszewski 2023-08-25 18:32:35 UTC
Description of problem:
After enabling designate in existing OSP17.1 deployment and creating a zone in the project:
openstack zone create --email openinfra openinfra.com. --sudo-project-id 27068fa0fc4f476591a4b59547a351c4

The new provider (or tenant) networks in this project and new VMs and neutron ports do not create A records in Designate.

 (hackfest) [stack@chrisj-osp171-undercloud ~]$ openstack network show openinfra
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | UP                                   |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2023-08-25T15:49:24Z                 |
| description               |                                      |
| dns_domain                | openinfra.com.                       |
| id                        | 74c13329-0286-4414-9289-297e0506046c |
| ipv4_address_scope        | None                                 |
| ipv6_address_scope        | None                                 |
| is_default                | None                                 |
| is_vlan_transparent       | None                                 |
| mtu                       | 1500                                 |
| name                      | openinfra                            |
| port_security_enabled     | False                                |
| project_id                | f2b9469e16234006a4ba255eaff59afc     |
| provider:network_type     | None                                 |
| provider:physical_network | None                                 |
| provider:segmentation_id  | None                                 |
| qos_policy_id             | None                                 |
| revision_number           | 2                                    |
| router:external           | Internal                             |
| segments                  | None                                 |
| shared                    | True                                 |
| status                    | ACTIVE                               |
| subnets                   | 4bba1387-ae2e-4c9a-aa76-577c8fe1e794 |
| tags                      |                                      |
| updated_at                | 2023-08-25T15:49:39Z                 |
+---------------------------+--------------------------------------+
(hackfest) [stack@chrisj-osp171-undercloud ~]$ openstack zone list
+--------------------------------------+----------------+---------+------------+--------+--------+
| id                                   | name           | type    |     serial | status | action |
+--------------------------------------+----------------+---------+------------+--------+--------+
| c96af19d-812b-48c4-999d-cf203a8bc6f4 | openinfra.com. | PRIMARY | 1692895115 | ACTIVE | NONE   |
+--------------------------------------+----------------+---------+------------+--------+--------+
[1:24 PM] (hackfest) [stack@chrisj-osp171-undercloud ~]$ openstack port list
+--------------------------------------+----------------+-------------------+-----------------------------------------------------------------------------+--------+
| ID                                   | Name           | MAC Address       | Fixed IP Addresses                                                          | Status |
+--------------------------------------+----------------+-------------------+-----------------------------------------------------------------------------+--------+
| 41c34cfa-d35f-49f0-aab9-681fe0ff072e |                | fa:16:3e:e3:f7:c2 | ip_address='192.168.0.44', subnet_id='ab6f5d95-511d-474a-91d8-4f86f608d933' | ACTIVE |
| 5f85f6e8-f2bd-4b93-8743-ec626fcaa987 | designate-port | fa:16:3e:99:75:57 | ip_address='10.60.0.25', subnet_id='4bba1387-ae2e-4c9a-aa76-577c8fe1e794'   | DOWN   |
| 820b92e7-fc08-4ec6-a3a5-a1794acec66a |                | fa:16:3e:13:cb:c0 | ip_address='10.60.0.38', subnet_id='4bba1387-ae2e-4c9a-aa76-577c8fe1e794'   | ACTIVE |
| cb632ccd-9e02-4eee-9a49-4390e4b397fa |                | fa:16:3e:29:29:6b | ip_address='192.168.0.10', subnet_id='ab6f5d95-511d-474a-91d8-4f86f608d933' | DOWN   |
+--------------------------------------+----------------+-------------------+-----------------------------------------------------------------------------+--------+
(hackfest) [stack@chrisj-osp171-undercloud ~]$ openstack port show 5f85f6e8-f2bd-4b93-8743-ec626fcaa987
+-------------------------+---------------------------------------------------------------------------------------------+
| Field                   | Value                                                                                       |
+-------------------------+---------------------------------------------------------------------------------------------+
| admin_state_up          | UP                                                                                          |
| allowed_address_pairs   |                                                                                             |
| binding_host_id         | None                                                                                        |
| binding_profile         | None                                                                                        |
| binding_vif_details     | None                                                                                        |
| binding_vif_type        | None                                                                                        |
| binding_vnic_type       | normal                                                                                      |
| created_at              | 2023-08-25T15:52:19Z                                                                        |
| data_plane_status       | None                                                                                        |
| description             |                                                                                             |
| device_id               |                                                                                             |
| device_owner            |                                                                                             |
| device_profile          | None                                                                                        |
| dns_assignment          | fqdn='host-10-60-0-25.openstacklocal.', hostname='host-10-60-0-25', ip_address='10.60.0.25' |
| dns_domain              |                                                                                             |
| dns_name                |                                                                                             |
| extra_dhcp_opts         |                                                                                             |
| fixed_ips               | ip_address='10.60.0.25', subnet_id='4bba1387-ae2e-4c9a-aa76-577c8fe1e794'                   |
| id                      | 5f85f6e8-f2bd-4b93-8743-ec626fcaa987                                                        |
| ip_allocation           | immediate                                                                                   |
| mac_address             | fa:16:3e:99:75:57                                                                           |
| name                    | designate-port                                                                              |
| network_id              | 74c13329-0286-4414-9289-297e0506046c                                                        |
| numa_affinity_policy    | None                                                                                        |
| port_security_enabled   | False                                                                                       |
| project_id              | 27068fa0fc4f476591a4b59547a351c4                                                            |
| propagate_uplink_status | None                                                                                        |
| qos_network_policy_id   | None                                                                                        |
| qos_policy_id           | None                                                                                        |
| resource_request        | None                                                                                        |
| revision_number         | 1                                                                                           |
| security_group_ids      |                                                                                             |
| status                  | DOWN                                                                                        |
| tags                    |                                                                                             |
| trunk_details           | None                                                                                        |
| updated_at              | 2023-08-25T15:52:19Z                                                                        |
+-------------------------+---------------------------------------------------------------------------------------------+
(hackfest) [stack@chrisj-osp171-undercloud ~]$ openstack recordset list  openinfra.com.                                                                             
+--------------------------------------+----------------+------+--------------------------------------------------------------------------+--------+--------+       
| id                                   | name           | type | records                                                                  | status | action |       
+--------------------------------------+----------------+------+--------------------------------------------------------------------------+--------+--------+       
| 6464d693-2f7d-4d77-ad73-1acbdd9e4e63 | openinfra.com. | SOA  | ns1.example.org. openinfra.openinfra.com. 1692895115 3579 600 86400 3600 | ACTIVE | NONE   |       
| b568b720-2aae-4182-ab7e-090b0ffea282 | openinfra.com. | NS   | ns1.example.org.                                                         | ACTIVE | NONE   |       
|                                      |                |      | ns3.example.org.                                                         |        |        |       
|                                      |                |      | ns2.example.org.                                                         |        |        |
+--------------------------------------+----------------+------+--------------------------------------------------------------------------+--------+--------+
I also tried this but it didn't work:
(hackfest) [stack@chrisj-osp171-undercloud ~]$ openstack port create --network openinfra --dns-name designate-port --dns-domain openinfra.com. designate-port-domain


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


How reproducible:
Every time


Steps to Reproduce:
1. OSP deploy script:

source ~/stackrc
cd ~/
time openstack overcloud deploy --templates --stack chrisj-osp171 \
     -n ~/templates/network_data.yaml \
     -r ~/templates/roles_data.yaml \
     -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml \
     -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \
     -e /usr/share/openstack-tripleo-heat-templates/environments/enable-designate.yaml \
     -e ~/templates/overcloud-networks-deployed.yaml \
     -e ~/templates/overcloud-vip-deployed.yaml \
     -e ~/templates/deployed_metal.yaml \
     -e ~/templates/deployed_ceph.yaml \
     -e ~/templates/host-memory.yaml \
     -e ~/templates/inject-trust-anchor-hiera.yaml \
     -e ~/templates/containers-prepare-parameter.yaml \
     -e ~/templates/global-config.yaml \
     --log-file chrisj-osp171_deployment.log \
     --ntp-server 10.10.0.10

2. Create zone, network, port or vm
3.

Actual results:
VM port get's created but no A record is generated in designate


Expected results:
A record in designate


Additional info:
Will try to attach sosreport and my templates shortly

Comment 2 Darin Sorrentino 2023-08-29 20:15:55 UTC
Also, the default SOA and NS records are using example.org instead of the zone domain.

Comment 3 Darin Sorrentino 2023-08-31 19:56:34 UTC
I was able to get an A record to be created when launching a VM on Chris's environment with the following changes:

1. On each controller, make the following changes:
  - Update dns_domain in /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf to be the domain you want to use (openinfra.lab in this case)
  - Update extension_drivers in /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/ml2_conf.ini, replace dns_domain_ports with subnet_dns_publish_fixed_ip
  - podman restart neutron_api

In the documentation: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/17.1/html/configuring_dns_as_a_service/use-integrate-dns-service_rhosp-dnsaas#set-up-project-dns-integrate_integrate-dns-service

2. When you get to step 4.1.2, the domain name you create the zone for needs to match dns_domain above (openinfra.lab in this case)
3. When you get to step 4.1.4, add the switch --dns-publish-fixed-ip to the subnet creation

After you do all of this, when you create a VM on the network it will create an A record for that VM in Designate.  I found that if the domain name in neutron.conf does not match the zone, no A record is created.  I do not think this is correct since that would mean each cloud could only have one domain associated with it?

Comment 4 Michael Johnson 2023-09-01 21:34:13 UTC
That is correct, the dns_domain in neutron.conf does not need to match the dns_doamin set for the network and/or port.

I am going to move this over to the neutron squad as this is a neutron DNS extension related issue.

Comment 5 Miguel Lavalle 2023-09-06 18:48:07 UTC
@


Note You need to log in before you can comment on or make changes to this bug.