Page MenuHomePhabricator

Designate (DNS) integration with Neutron
Closed, ResolvedPublic

Description

In nova-network, designate-sink provides the following services:

  • on VM creation
    • Forward and reverse dns records for hostname.eqiad.wmflabs
    • Forward and reverse dns records for hostname.projectname.eqiad.wmflabs
  • on VM deletion
    • Removal of above DNS records
    • Purging of instance puppet config
    • Cleanup of puppet certificates
    • Delete dynamic proxies that might point to this VM

Currently none of those work with Neutron.

In theory, designate-sink could handle all of the above in just the same way as now. The hang-ups there are 1) sink listens for notifications on rabbitmq, and the designate region (eqiad1) uses a different rabbitmq, and 2) sink is a bit broken in concept since there's no guarantee that the needed notifications will be delivered.

Neutron includes a slightly better, integrated driver that can call out to designate when a port is created or destroyed. That avoids the potential issues with sink notification and could live side-by-side with the existing nova-network/sink setup. The only problem with /that/ is that the designate integration appears to be broken in Neutron/Mitaka.

Event Timeline

Andrew triaged this task as Medium priority.Jul 13 2018, 9:52 PM
Andrew created this task.
Andrew added a subtask: Unknown Object (Task).Jul 16 2018, 4:52 PM

Here's my current plan:

We're due to replace labservices1001 and 1002 in q2. We'll get those replacements racked right away instead, and name them cloudservices1003 and 1004. They'll run the same designate/pdns/pdns-recursor setup as labservices1001 and 1002, but the active one (cloudservices1003) will use the new eqiad1 rabbit queue. 1003 and 1004 will have their own pdns servers and recursors, ns2/recursor2 and ns3/recursor3.

All four systems will stay active throughout the VM migration from main to eqiad1. As projects are migrated we'll migrate floating IP dns entries as well (probably by hand).

When we shut down main we can turn off labservices1001 and 1002 without having to do any additional syncing of state.

Change 449512 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] Updated labtest_pool_config.yml to support two pdns servers

https://gerrit.wikimedia.org/r/449512

Change 449512 merged by Andrew Bogott:
[operations/puppet@production] Updated labtest_pool_config.yml to support two pdns servers

https://gerrit.wikimedia.org/r/449512

RobH closed subtask Unknown Object (Task) as Resolved.Aug 6 2018, 6:24 PM

Change 451187 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] designate: set up cloudservices profiles for eqiad1

https://gerrit.wikimedia.org/r/451187

Change 451187 merged by Andrew Bogott:
[operations/puppet@production] designate: set up cloudservices profiles for eqiad1

https://gerrit.wikimedia.org/r/451187

Change 451190 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] eqiad1 designate: add more hiera settings

https://gerrit.wikimedia.org/r/451190

Change 451190 merged by Andrew Bogott:
[operations/puppet@production] eqiad1 designate: add more hiera settings

https://gerrit.wikimedia.org/r/451190

Change 451194 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] Added some placeholder hiera settings for eqiad1 designate

https://gerrit.wikimedia.org/r/451194

Change 451194 merged by Andrew Bogott:
[operations/puppet@production] Added some placeholder hiera settings for eqiad1 designate

https://gerrit.wikimedia.org/r/451194

Change 451196 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] eqiad1 designate: fix search-and-replace fail

https://gerrit.wikimedia.org/r/451196

Change 451196 merged by Andrew Bogott:
[operations/puppet@production] eqiad1 designate: fix search-and-replace fail

https://gerrit.wikimedia.org/r/451196

Change 451197 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] eqiad1 designate: yet more hiera fixes

https://gerrit.wikimedia.org/r/451197

Change 451197 merged by Andrew Bogott:
[operations/puppet@production] eqiad1 designate: yet more hiera fixes

https://gerrit.wikimedia.org/r/451197

Change 451207 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] eqiad1 pdns: specify an ip for the pdns database

https://gerrit.wikimedia.org/r/451207

Change 451207 merged by Andrew Bogott:
[operations/puppet@production] eqiad1 pdns: specify an ip for the pdns database

https://gerrit.wikimedia.org/r/451207

Change 453557 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] wmcs pdns-recursor: support a list of reverse-lookup zones

https://gerrit.wikimedia.org/r/453557

Change 453557 merged by Andrew Bogott:
[operations/puppet@production] wmcs pdns-recursor: support a list of reverse-lookup zones

https://gerrit.wikimedia.org/r/453557

Change 453558 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] eqiad1 pdns: fix copy/paste error

https://gerrit.wikimedia.org/r/453558

Change 453558 merged by Andrew Bogott:
[operations/puppet@production] eqiad1 pdns: fix copy/paste error

https://gerrit.wikimedia.org/r/453558

T197598 designate(DNS)integration with Neutron.

Andrew claimed this task.

This is working for now. In a future version we can switch from sink to the neutron integration API.