SlideShare a Scribd company logo
Integration of Neutron, Nova
and Designate: How to Use
It and How to Configure It
Miguel Lavalle, Software Developer, mlavalle @ irc.freenode.net
James Anziano, Software Developer, janzian @ irc.freenode.net
Agenda
• Workshop prep
• Neutron internal DNS resolution
• Configuring internal DNS resolution
• Integration with an external DNS service
• Use case 1: Floating IPs are published with associated port DNS
attributes
• Use case 2: Floating IPs are published in the external DNS service
• Use case 3: Ports are published directly in the external DNS
service
• Configuring integration with an external DNS service
• Performance considerations
• Useful links
Workshop prep / requirements
• Grab a USB key!
• A computer with:
• 2+ GB of RAM
• Virtualbox and Vagrant. Both included in USB drive
• Windows users need SSH client (putty, cygwin)
• Copy * from USB drive
• `vagrant up && vagrant ssh`
Create a Nova instance
$ source openrc.user1
$ neutron net-list
$ nova flavor-list
$ nova image-list
$ nova boot my_vm --image <image-uuid> --flavor <flavor-id>
--nic net-id=<net-uuid>
Agenda
• Workshop prep
• Neutron internal DNS resolution
• Configuring internal DNS resolution
• Integration with an external DNS service
• Use case 1: Floating IPs are published with associated port DNS
attributes
• Use case 2: Floating IPs are published in the external DNS service
• Use case 3: Ports are published directly in the external DNS
service
• Configuring integration with an external DNS service
• Performance considerations
• Useful links
Neutron’s internal DNS with Nova in Mitaka
$ neutron port-create …
--dns-name instance.hostname
ReST API Neutron
Server
DHCP
Agent
dnsmasq
SIGHUP
fa:16:3e:c9:cb:f0
172.31.252.4
my-vm
my-vm.my-domain.org.
dns_domain = my-domain.org.
neutron.conf
Nova compute manager
creating instance my_vm
RPC
{“port”:
“fixed_ips”: [
{“subnet_id”: ...
“ip_address”: “172.31.252.4”
}
],
“dns_name”: “my-vm”,
“dns_assignment”: [
{ “hostname”: “my-vm”,
“ip_address”: “172.31.252.4”,
“fqdn”: “my-vm.my-domain.org.”
}
]
}
Let’s confirm...
$ nova list
$ neutron port-list --device-id <instance-uuid>
$ neutron port-show <port-uuid>
Configuring Neutron’s internal DNS resolution
• Edit the /etc/neutron.conf file and assign a value different to
‘openstacklocal’ (its default value) to the dns_domain
parameter in the [default] section. As an example:
dns_domain = my-domain.org.
• Add ‘dns’ to extension_drivers in the [ml2] section of
/etc/neutron/plugins/ml2/ml2_conf.ini. The following is an
example:
[ml2]
extension_drivers = port_security,dns
Agenda
• Workshop prep
• Neutron internal DNS resolution
• Configuring internal DNS resolution
• Integration with an external DNS service
• Use case 1: Floating IPs are published with associated port DNS
attributes
• Use case 2: Floating IPs are published in the external DNS service
• Use case 3: Ports are published directly in the external DNS
service
• Configuring integration with an external DNS service
• Performance considerations
• Useful links
Use case 1: Floating IPs are published with
associated port DNS attribute
$ neutron net-update
--dns-domain my-domain.org.
ReST API
Neutron Designate
{“network”:
...
“name”: “tenant1-network”,
“dns_domain”: “my-domain.org.”,
“id”: “b06b4967-ba73-4567-b060-cf6a9d7ecac6:
...
}
ReST API
Let’s create a zone and update network
$ openstack zone create --email malavall@us.ibm.com
my-domain.org.
$ neutron net-list
$ neutron net-update <net-uuid> --dns-domain my-domain.org.
$ neutron net-show <net-uuid>
Use case 1: Floating IPs are published with
associated port DNS attribute
ReST API
Neutron Designate
ReST API
$ neutron floatingip-create …
--port-id b9a82377-a89f-4b02-93ec-3573333f70c6
{“floatingip”:
“dns_domain”: “”,
“dns_name”: “”,
“fixed_ip_address”: “172.31.252.4”,
“floating_ip_address”: “172.31.255.10”,
...
}
In zone nova-neutron.org.:
record type: A
name: my-vm.my-domain.org.
records: 172.31.252.4
In zone 252.31.172.in-addr.arpa.
record type: PTR
name: 4.252.31.172.in-addr.arpa.
records: my-vm.my-domain.org.
Let’s do it...
$ neutron floatingip-create <net-uuid> --port-id <port-uuid>
$ openstack recordset list my-domain.org.
In a second ssh session:
$ source openrc.admin
$ openstack zone list
$ openstack recordset list 255.32.172.in-addr.arpa.
Use case 2: Floating IPs are published in the
external DNS service
ReST API
Neutron Designate
ReST API
$ neutron floatingip-create …
--port_id b9a82377-a89f-4b02-93ec-3573333f70c6
--dns_name my-fip
--dns_domain my-domain.org.
{“floatingip”:
“dns_domain”: “my-other-domain.org”,
“dns_name”: “my-fip”,
“fixed_ip_address”: “172.31.252.8”,
“floating_ip_address”: “172.31.255.4”,
...
}
In zone my-other-domain.org.:
record type: A
name: my-fip.my-domain.org.
records: 172.31.255.4
In zone 255.31.172.in-addr.arpa.
record type: PTR
name: 4.255.31.172.in-addr.arpa.
records: my-fip.my-domain.org.
Let’s do it...
$ neutron floatingip-create <net-uuid> --dns-name my-fip
--dns-domain my-domain.org.
$ openstack recordset list my-domain.org.
In a second ssh session:
$ source openrc.admin
$ openstack zone list
$ openstack recordset list 255.32.172.in-addr.arpa.
Use case 3: Ports are published directly in the
external DNS service
$ neutron port-create …
--dns-name instance.hostname
ReST API Neutron
Server
Nova compute manager
creating instance my_vm_2
RPC
Designate
In zone my-other-domain.org.:
record type: A
name: my-vm-2.my-domain.org.
records: 172.31.255.4
record type: AAAA
name: my-vm-2.my-domain.org.
records: fd5e:7a6b:1a62::6
In zone 251.31.172.in-addr.arpa.
record type: PTR
name: 6.251.31.172.in-addr.arpa.
records: my-vm-2.my-domain.org.
In zone ip6.arpa.
record type: PTR
name: .ip6.arpa
records: my-vm-2.my-domain.org.
{“port”:
“dns_name”: “my-vm-2”,
“dns_assignment”: [
{ “hostname”: “my-vm-2”,
“ip_address”: “172.31.251.6”,
“fqdn”: “my-vm-2.my-domain.org.”
},
{ “hostname”: “my-vm-2”,
“ip_address”: “fd5e:7a6b:1a62::6”,
“fqdn”: “my-vm-2.my-domain.org.”
},
]
}
Let’s do it...
$ source openrc.admin
$ neutron net-create --provider:network_type=vxlan
--provider:segmentation_id=2016 --shared
--dns-domain my-domain.org. public
$ neutron subnet-create --ip_version 4 --name public-subnet
<net-uuid> 172.31.251.0/24
$ neutron subnet-create --ip_version 6
--name ipv6-public-subnet <net-uuid> fd5e:7a6b:1a62::/64
$ source openrc.user1
$ nova boot my_vm_2 --image <image-uuid> --flavor <flavor-id>
--nic net-id=<net-uuid>
$ openstack recordset list my-domain.org.
Let’s do it...
In a second ssh session:
$ source openrc.admin
$ openstack zone list
$ openstack recordset list 251.32.172.in-addr.arpa.
$ openstack recordset list
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.6.a.1.b.6.a.7.e.5.d.f.ip6.arpa
Configuring integration with an external DNS
service
• Edit the [default] section of /etc/neutron/neutron.conf and
specify the external DNS service driver to be used in
parameter external_dns_driver. Example for Designate:
external_dns_driver = designate
• Valid options are defined in the following namespace:
neutron.services.external_dns_drivers
Configuring integration with an external DNS
service
• For Designate, create a [designate] section in
/etc/neutron/neutron.conf with following parameters:
[designate]
url = http://127.0.0.1:9001/v2
admin_auth_url = http://127.0.0.1:35357/v2.0
admin_username = admin
admin_password = password
admin_tenant_name = admin
allow_reverse_dns_lookup = True
ipv4_ptr_zone_prefix_size = 24
ipv6_ptr_zone_prefix_size = 116
Agenda
• Workshop prep
• Neutron internal DNS resolution
• Configuring internal DNS resolution
• Integration with an external DNS service
• Use case 1: Floating IPs are published with associated port DNS
attributes
• Use case 2: Floating IPs are published in the external DNS service
• Use case 3: Ports are published directly in the external DNS
service
• Configuring integration with an external DNS service
• Performance considerations
• Useful links
Performance considerations
For use case 3, Ports are published directly in the external DNS,
if Port Binding extension is enabled in Neutron:
• Nova will execute one additional port update operation
when allocating a port for an instance during the boot
process
• This may have a noticeable effect on the performance of
the boot process, that must be evaluated before adoption
of this use case
Useful links
• DNS Integration in OpenStack Networking:
• http://docs.openstack.org/mitaka/networking-guide/adv-config-dns.
html
Thank You
Visit the IBM Booth in the Marketplace

More Related Content

PPTX
Introduction to ansible
Omid Vahdaty
 
PPTX
Introduction to Ansible
CoreStack
 
PDF
DevOps Meetup ansible
sriram_rajan
 
PDF
Kubernetes - A Comprehensive Overview
Bob Killen
 
ODP
Monitoring With Prometheus
Knoldus Inc.
 
PDF
Kubernetes Networking - Sreenivas Makam - Google - CC18
CodeOps Technologies LLP
 
PPTX
NGINX: Basics and Best Practices
NGINX, Inc.
 
PPTX
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX, Inc.
 
Introduction to ansible
Omid Vahdaty
 
Introduction to Ansible
CoreStack
 
DevOps Meetup ansible
sriram_rajan
 
Kubernetes - A Comprehensive Overview
Bob Killen
 
Monitoring With Prometheus
Knoldus Inc.
 
Kubernetes Networking - Sreenivas Makam - Google - CC18
CodeOps Technologies LLP
 
NGINX: Basics and Best Practices
NGINX, Inc.
 
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX, Inc.
 

What's hot (20)

PDF
Automation with ansible
Khizer Naeem
 
PPTX
Docker Swarm for Beginner
Shahzad Masud
 
PPTX
NGINX: High Performance Load Balancing
NGINX, Inc.
 
PDF
[KubeCon EU 2022] Running containerd and k3s on macOS
Akihiro Suda
 
PDF
Deep dive into Kubernetes Networking
Sreenivas Makam
 
PPT
Monitoring using Prometheus and Grafana
Arvind Kumar G.S
 
PPTX
Ansible presentation
Suresh Kumar
 
PDF
Docker swarm
Alberto Guimarães Viana
 
PPT
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat Security Conference
 
PDF
Seastore: Next Generation Backing Store for Ceph
ScyllaDB
 
PDF
Open vSwitch 패킷 처리 구조
Seung-Hoon Baek
 
ODP
Introduction to Ansible
Knoldus Inc.
 
PPTX
Automating with Ansible
Ricardo Schmidt
 
PDF
OpenStack Ironic - Bare Metal-as-a-Service
Ramon Acedo Rodriguez
 
PPTX
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Vietnam Open Infrastructure User Group
 
PDF
Xen Memory Management
The Linux Foundation
 
PPT
Ansible presentation
John Lynch
 
PDF
Ansible Automation Platform.pdf
VuHoangAnh14
 
PDF
Kubernetes networking
Sim Janghoon
 
Automation with ansible
Khizer Naeem
 
Docker Swarm for Beginner
Shahzad Masud
 
NGINX: High Performance Load Balancing
NGINX, Inc.
 
[KubeCon EU 2022] Running containerd and k3s on macOS
Akihiro Suda
 
Deep dive into Kubernetes Networking
Sreenivas Makam
 
Monitoring using Prometheus and Grafana
Arvind Kumar G.S
 
Ansible presentation
Suresh Kumar
 
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat Security Conference
 
Seastore: Next Generation Backing Store for Ceph
ScyllaDB
 
Open vSwitch 패킷 처리 구조
Seung-Hoon Baek
 
Introduction to Ansible
Knoldus Inc.
 
Automating with Ansible
Ricardo Schmidt
 
OpenStack Ironic - Bare Metal-as-a-Service
Ramon Acedo Rodriguez
 
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Vietnam Open Infrastructure User Group
 
Xen Memory Management
The Linux Foundation
 
Ansible presentation
John Lynch
 
Ansible Automation Platform.pdf
VuHoangAnh14
 
Kubernetes networking
Sim Janghoon
 
Ad

Similar to Integration of neutron, nova and designate how to use it and how to configure it (20)

PDF
Get your instance by name integration of nova, neutron and designate
Miguel Lavalle
 
PDF
Troubleshooting Tips from a Docker Support Engineer
Jeff Anderson
 
PDF
Troubleshooting Tips from a Docker Support Engineer - Jeff Anderson, Docker
Docker, Inc.
 
DOC
X64服务器 lnmp服务器部署标准 new
Yiwei Ma
 
PDF
Designate - Operators Deep Dive
Graham Hayes
 
PDF
Cutting through the fog of cloud
Kyle Rames
 
PDF
Openstack 101
POSSCON
 
PDF
Designate Installation Workshop
Graham Hayes
 
PDF
Mens jan piet_dnssec-in-practice
kuchinskaya
 
PPTX
DNS_Tutorial 2.pptx
viditsir
 
PPT
Razor, the Provisioning Toolbox - PuppetConf 2014
Puppet
 
ODP
Nagios Conference 2014 - Mike Weber - Expanding NRDS Capabilities on Linux Sy...
Nagios
 
PDF
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
raccoony
 
PPTX
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios
 
PPT
[OpenStack 하반기 스터디] HA using DVR
OpenStack Korea Community
 
PDF
Install nagios
hassandb
 
PDF
Install nagios
hassandb
 
PDF
Install nagios
hassandb
 
PPTX
Scaling Docker Containers using Kubernetes and Azure Container Service
Ben Hall
 
PDF
Lksn2017 itnsa modul2
Verry Hendroprasetyo
 
Get your instance by name integration of nova, neutron and designate
Miguel Lavalle
 
Troubleshooting Tips from a Docker Support Engineer
Jeff Anderson
 
Troubleshooting Tips from a Docker Support Engineer - Jeff Anderson, Docker
Docker, Inc.
 
X64服务器 lnmp服务器部署标准 new
Yiwei Ma
 
Designate - Operators Deep Dive
Graham Hayes
 
Cutting through the fog of cloud
Kyle Rames
 
Openstack 101
POSSCON
 
Designate Installation Workshop
Graham Hayes
 
Mens jan piet_dnssec-in-practice
kuchinskaya
 
DNS_Tutorial 2.pptx
viditsir
 
Razor, the Provisioning Toolbox - PuppetConf 2014
Puppet
 
Nagios Conference 2014 - Mike Weber - Expanding NRDS Capabilities on Linux Sy...
Nagios
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
raccoony
 
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios
 
[OpenStack 하반기 스터디] HA using DVR
OpenStack Korea Community
 
Install nagios
hassandb
 
Install nagios
hassandb
 
Install nagios
hassandb
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Ben Hall
 
Lksn2017 itnsa modul2
Verry Hendroprasetyo
 
Ad

Recently uploaded (20)

PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
jamescantor38
 
PDF
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
PDF
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
PPTX
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
oapresentation.pptx
mehatdhavalrajubhai
 
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
jamescantor38
 
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Wondershare Filmora 14.5.20.12999 Crack Full New Version 2025
gsgssg2211
 
Exploring AI Agents in Process Industries
amoreira6
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 

Integration of neutron, nova and designate how to use it and how to configure it

  • 1. Integration of Neutron, Nova and Designate: How to Use It and How to Configure It Miguel Lavalle, Software Developer, mlavalle @ irc.freenode.net James Anziano, Software Developer, janzian @ irc.freenode.net
  • 2. Agenda • Workshop prep • Neutron internal DNS resolution • Configuring internal DNS resolution • Integration with an external DNS service • Use case 1: Floating IPs are published with associated port DNS attributes • Use case 2: Floating IPs are published in the external DNS service • Use case 3: Ports are published directly in the external DNS service • Configuring integration with an external DNS service • Performance considerations • Useful links
  • 3. Workshop prep / requirements • Grab a USB key! • A computer with: • 2+ GB of RAM • Virtualbox and Vagrant. Both included in USB drive • Windows users need SSH client (putty, cygwin) • Copy * from USB drive • `vagrant up && vagrant ssh`
  • 4. Create a Nova instance $ source openrc.user1 $ neutron net-list $ nova flavor-list $ nova image-list $ nova boot my_vm --image <image-uuid> --flavor <flavor-id> --nic net-id=<net-uuid>
  • 5. Agenda • Workshop prep • Neutron internal DNS resolution • Configuring internal DNS resolution • Integration with an external DNS service • Use case 1: Floating IPs are published with associated port DNS attributes • Use case 2: Floating IPs are published in the external DNS service • Use case 3: Ports are published directly in the external DNS service • Configuring integration with an external DNS service • Performance considerations • Useful links
  • 6. Neutron’s internal DNS with Nova in Mitaka $ neutron port-create … --dns-name instance.hostname ReST API Neutron Server DHCP Agent dnsmasq SIGHUP fa:16:3e:c9:cb:f0 172.31.252.4 my-vm my-vm.my-domain.org. dns_domain = my-domain.org. neutron.conf Nova compute manager creating instance my_vm RPC {“port”: “fixed_ips”: [ {“subnet_id”: ... “ip_address”: “172.31.252.4” } ], “dns_name”: “my-vm”, “dns_assignment”: [ { “hostname”: “my-vm”, “ip_address”: “172.31.252.4”, “fqdn”: “my-vm.my-domain.org.” } ] }
  • 7. Let’s confirm... $ nova list $ neutron port-list --device-id <instance-uuid> $ neutron port-show <port-uuid>
  • 8. Configuring Neutron’s internal DNS resolution • Edit the /etc/neutron.conf file and assign a value different to ‘openstacklocal’ (its default value) to the dns_domain parameter in the [default] section. As an example: dns_domain = my-domain.org. • Add ‘dns’ to extension_drivers in the [ml2] section of /etc/neutron/plugins/ml2/ml2_conf.ini. The following is an example: [ml2] extension_drivers = port_security,dns
  • 9. Agenda • Workshop prep • Neutron internal DNS resolution • Configuring internal DNS resolution • Integration with an external DNS service • Use case 1: Floating IPs are published with associated port DNS attributes • Use case 2: Floating IPs are published in the external DNS service • Use case 3: Ports are published directly in the external DNS service • Configuring integration with an external DNS service • Performance considerations • Useful links
  • 10. Use case 1: Floating IPs are published with associated port DNS attribute $ neutron net-update --dns-domain my-domain.org. ReST API Neutron Designate {“network”: ... “name”: “tenant1-network”, “dns_domain”: “my-domain.org.”, “id”: “b06b4967-ba73-4567-b060-cf6a9d7ecac6: ... } ReST API
  • 11. Let’s create a zone and update network $ openstack zone create --email [email protected] my-domain.org. $ neutron net-list $ neutron net-update <net-uuid> --dns-domain my-domain.org. $ neutron net-show <net-uuid>
  • 12. Use case 1: Floating IPs are published with associated port DNS attribute ReST API Neutron Designate ReST API $ neutron floatingip-create … --port-id b9a82377-a89f-4b02-93ec-3573333f70c6 {“floatingip”: “dns_domain”: “”, “dns_name”: “”, “fixed_ip_address”: “172.31.252.4”, “floating_ip_address”: “172.31.255.10”, ... } In zone nova-neutron.org.: record type: A name: my-vm.my-domain.org. records: 172.31.252.4 In zone 252.31.172.in-addr.arpa. record type: PTR name: 4.252.31.172.in-addr.arpa. records: my-vm.my-domain.org.
  • 13. Let’s do it... $ neutron floatingip-create <net-uuid> --port-id <port-uuid> $ openstack recordset list my-domain.org. In a second ssh session: $ source openrc.admin $ openstack zone list $ openstack recordset list 255.32.172.in-addr.arpa.
  • 14. Use case 2: Floating IPs are published in the external DNS service ReST API Neutron Designate ReST API $ neutron floatingip-create … --port_id b9a82377-a89f-4b02-93ec-3573333f70c6 --dns_name my-fip --dns_domain my-domain.org. {“floatingip”: “dns_domain”: “my-other-domain.org”, “dns_name”: “my-fip”, “fixed_ip_address”: “172.31.252.8”, “floating_ip_address”: “172.31.255.4”, ... } In zone my-other-domain.org.: record type: A name: my-fip.my-domain.org. records: 172.31.255.4 In zone 255.31.172.in-addr.arpa. record type: PTR name: 4.255.31.172.in-addr.arpa. records: my-fip.my-domain.org.
  • 15. Let’s do it... $ neutron floatingip-create <net-uuid> --dns-name my-fip --dns-domain my-domain.org. $ openstack recordset list my-domain.org. In a second ssh session: $ source openrc.admin $ openstack zone list $ openstack recordset list 255.32.172.in-addr.arpa.
  • 16. Use case 3: Ports are published directly in the external DNS service $ neutron port-create … --dns-name instance.hostname ReST API Neutron Server Nova compute manager creating instance my_vm_2 RPC Designate In zone my-other-domain.org.: record type: A name: my-vm-2.my-domain.org. records: 172.31.255.4 record type: AAAA name: my-vm-2.my-domain.org. records: fd5e:7a6b:1a62::6 In zone 251.31.172.in-addr.arpa. record type: PTR name: 6.251.31.172.in-addr.arpa. records: my-vm-2.my-domain.org. In zone ip6.arpa. record type: PTR name: .ip6.arpa records: my-vm-2.my-domain.org. {“port”: “dns_name”: “my-vm-2”, “dns_assignment”: [ { “hostname”: “my-vm-2”, “ip_address”: “172.31.251.6”, “fqdn”: “my-vm-2.my-domain.org.” }, { “hostname”: “my-vm-2”, “ip_address”: “fd5e:7a6b:1a62::6”, “fqdn”: “my-vm-2.my-domain.org.” }, ] }
  • 17. Let’s do it... $ source openrc.admin $ neutron net-create --provider:network_type=vxlan --provider:segmentation_id=2016 --shared --dns-domain my-domain.org. public $ neutron subnet-create --ip_version 4 --name public-subnet <net-uuid> 172.31.251.0/24 $ neutron subnet-create --ip_version 6 --name ipv6-public-subnet <net-uuid> fd5e:7a6b:1a62::/64 $ source openrc.user1 $ nova boot my_vm_2 --image <image-uuid> --flavor <flavor-id> --nic net-id=<net-uuid> $ openstack recordset list my-domain.org.
  • 18. Let’s do it... In a second ssh session: $ source openrc.admin $ openstack zone list $ openstack recordset list 251.32.172.in-addr.arpa. $ openstack recordset list 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.6.a.1.b.6.a.7.e.5.d.f.ip6.arpa
  • 19. Configuring integration with an external DNS service • Edit the [default] section of /etc/neutron/neutron.conf and specify the external DNS service driver to be used in parameter external_dns_driver. Example for Designate: external_dns_driver = designate • Valid options are defined in the following namespace: neutron.services.external_dns_drivers
  • 20. Configuring integration with an external DNS service • For Designate, create a [designate] section in /etc/neutron/neutron.conf with following parameters: [designate] url = http://127.0.0.1:9001/v2 admin_auth_url = http://127.0.0.1:35357/v2.0 admin_username = admin admin_password = password admin_tenant_name = admin allow_reverse_dns_lookup = True ipv4_ptr_zone_prefix_size = 24 ipv6_ptr_zone_prefix_size = 116
  • 21. Agenda • Workshop prep • Neutron internal DNS resolution • Configuring internal DNS resolution • Integration with an external DNS service • Use case 1: Floating IPs are published with associated port DNS attributes • Use case 2: Floating IPs are published in the external DNS service • Use case 3: Ports are published directly in the external DNS service • Configuring integration with an external DNS service • Performance considerations • Useful links
  • 22. Performance considerations For use case 3, Ports are published directly in the external DNS, if Port Binding extension is enabled in Neutron: • Nova will execute one additional port update operation when allocating a port for an instance during the boot process • This may have a noticeable effect on the performance of the boot process, that must be evaluated before adoption of this use case
  • 23. Useful links • DNS Integration in OpenStack Networking: • http://docs.openstack.org/mitaka/networking-guide/adv-config-dns. html
  • 24. Thank You Visit the IBM Booth in the Marketplace