0

This is an extension and a simplification of my prior problem. I have created a

  • Network
  • Subnet
  • A port attached to the above network and subnet
  • A compute instance on that port.

With the following Terraform script,

provider "openstack" {
  tenant_name = "admin"
  cloud       = "openstack"
}

resource "openstack_compute_instance_v2" "test-server" {
  name        = "test-server"
  flavor_name = "m1.medium"
  key_pair    = "cp-2021"
  # Ubuntu
  image_name = "ubuntu-20.04"
  user_data  = data.template_file.user_data.rendered
  network { port = openstack_networking_port_v2.port_project.id }
}

## Here we're trying to create a project association
resource "openstack_networking_network_v2" "net_project" {
  name           = "net_project"
  admin_state_up = "true"
}

resource "openstack_networking_subnet_v2" "subnet_project" {
  name       = "subnet_project"
  network_id = openstack_networking_network_v2.net_project.id
  cidr       = "192.168.199.0/24"
  ip_version = 4
}

resource "openstack_networking_port_v2" "port_project" {
  name           = "port_project"
  network_id     = openstack_networking_network_v2.net_project.id
  admin_state_up = "true"
  fixed_ip {
    subnet_id = openstack_networking_subnet_v2.subnet_project.id
  }
}

In Horizon's under project/networks/ports/384f70d3-360b-478f-9c39-23dc804a3b5f/detail, this subnet does not show a DNS server,

Name: port_project
ID: 384f70d3-360b-478f-9c39-23dc804a3b5f
Network Name: net_project
Network ID: 33091875-5a4b-40e0-9e79-efac82cbd324
Project ID: ce9d50b729aa4a7a95c21e534105725c
MAC Address: fa:16:3e:e0:74:d7
Status: Active
Admin State: UP
Port Security Enabled: True
DNS Name: None  <- **NAMESERVER FIELD SHOWS NONE**

But it still shows an Assignment (same page)

**DNS Assignment**
Hostname host-192-168-199-158
IP Address 192.168.199.158
FQDN host-192-168-199-158.openstacklocal.

What is that DNS Assignment with? What can resolve this FQDN?

1 Answer 1

2

This is something that can really only be answered by your Cloud administrators.

  1. The openstacklocal domain is a premade domain that Openstack uses for internal DNS names.
  2. It does not mean that it will be usable out of the box.
  3. To test, you can try to ping 192.168.199.2-3-4 from your VM to see if the dhcp agent responds. You can then try to query the dhcp agent with dig

Now, there seem to be deeper DNS support with ml2.

  1. The ML2 driver will need to include dns Link to doc
  2. You will need to use the DHCP agent IP as DNS servers. Usually, it's the first two/three IP of your subnet.
  3. It will create DNS names for your subnet/ports.
2
  • re: test suggested, I found the dhcp server by running sudo grep "Received dhcp lease" /var/log/cloud-init.log and I tried to target it as a nameserver, but it didn't respond. I guess the dhcp server in openstack is not also a nameserver. Feb 23, 2022 at 20:41
  • "It does not mean that it will be usable out of the box." like that should certainly better explained in the docs., and what any of this functionality means if it's not usable out of the box. Feb 23, 2022 at 20:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.