Skip to content

Commit

Permalink
Merge pull request PowerDNS#15185 from jsoref/primary-secondary
Browse files Browse the repository at this point in the history
docs: Update to primary/secondary
  • Loading branch information
miodvallat authored Feb 21, 2025
2 parents b4b2d01 + 85e501e commit 6561c48
Show file tree
Hide file tree
Showing 17 changed files with 88 additions and 88 deletions.
2 changes: 1 addition & 1 deletion docs/appendices/types.rst
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ SOA
---

The Start of Authority record is one of the most complex available. It
specifies a lot about a domain: the name of the master nameserver ('the
specifies a lot about a domain: the name of the primary nameserver ('the
primary'), the hostmaster and a set of numbers indicating how the data
in this domain expires and how often it needs to be checked. Further
more, it contains a serial number which should rise on each change of
Expand Down
26 changes: 13 additions & 13 deletions docs/backends/bind.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ See :ref:`bind-operation` section for more information.
~~~~~~~~~~~~~~~~~~

Filename to store and access our DNSSEC metadatabase, empty for none. To
slave DNSSEC-enabled domains (where the RRSIGS are in the AXFR), a
run secondary DNSSEC-enabled domains (where the RRSIGS are in the AXFR), a
``bind-dnssec-db`` is required. This is because the
:ref:`metadata-presigned` domain metadata is set
during the zonetransfer.
Expand Down Expand Up @@ -176,8 +176,8 @@ zero, no checks will be performed until the ``pdns_control reload`` command
is issued.

Please note that also the :ref:`setting-xfr-cycle-interval` setting
controls how often a master would notify a slave about changes.
Especially in 'hidden master' configurations, where servers usually
controls how often a primary would notify a secondary about changes.
Especially in 'hidden primary' configurations, where servers usually
don't receive regular queries, you may want to lower that setting to a
value as low as :ref:`setting-bind-check-interval`.

Expand All @@ -200,7 +200,7 @@ will be loaded at first request.

Output an extended status of a domain or domains, containing much more information than
the simple domain status, like the number of records currently loaded, whether pdns
is master or slave for the domain, the list of masters, various timers, etc
is primary or secondary for the domain, the list of primaries, various timers, etc

``bind-domain-status [domain ...]``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -246,11 +246,11 @@ benefit in using multiple CPUs for the packetcache, so a noticeable
speedup can be attained by specifying
``distributor-threads=1`` in ``pdns.conf``.

Master/slave/native configuration
---------------------------------
Primary/secondary/native configuration
--------------------------------------

Master
~~~~~~
Primary
~~~~~~~

Works as expected. At startup, no notification storm is performed as
this is generally not useful. Perhaps in the future the BIND backend
Expand All @@ -261,11 +261,11 @@ notifications were sent out.
Changes which are discovered when reloading zones do lead to
notifications however.

Slave
~~~~~
Secondary
~~~~~~~~~

Also works as expected. The BIND backend expects to be able to write to
a directory where a slave domain lives. The incoming zone is stored as
a directory where a secondary domain lives. The incoming zone is stored as
'zonename.RANDOM' and atomically renamed if it is retrieved
successfully, and parsed only then.

Expand All @@ -277,10 +277,10 @@ Native

PowerDNS has the concept of "native" zones that have the
``type native;`` in the BIND configuration file. These zones are neither
a master (no notifies are sent) nor a slave zone (it will never be
a primary (no notifies are sent) nor a secondary zone (it will never be
AXFR'd in). This means that the replication mechanism for these zone is
not AXFR but out of band, e.g. using ``rsync``. Changes to native zones
are picked up in the same way as master and slave zones, see
are picked up in the same way as primary and secondary zones, see
:ref:`bind-operation`.

Native zones in the BIND backend are supported since version 4.1.0 of
Expand Down
2 changes: 1 addition & 1 deletion docs/backends/generic-sql.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ PowerDNS has support for multiple primaries per zone, and also port numbers for
Autoprimary operation
^^^^^^^^^^^^^^^^^^^^^

To configure a :ref:`autoprimary <supermaster-operation>` with IP address 203.0.113.53 which lists this
To configure a :ref:`autoprimary <autoprimary-operation>` with IP address 203.0.113.53 which lists this
installation as 'autosecondary.example.com', issue the following::

pdnsutil add-autoprimary 203.0.113.53 autosecondary.example.com internal
Expand Down
12 changes: 6 additions & 6 deletions docs/backends/ldap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -202,18 +202,18 @@ whose attribute "active" is set to "yes".
e.g. (&(:target:)(active=yes)) for returning only entries whose
attribute "active" is set to "yes".

Master Mode
-----------
Primary Mode
------------

Schema update
^^^^^^^^^^^^^

First off adding master support to the LDAP backend needs a schema
First off adding primary support to the LDAP backend needs a schema
update. This is required as some metadata must be stored by PowerDNS,
such as the last successful transfer to slaves. The new schema is
available in schema/pdns-domaininfo.schema.

Once the schema is loaded the zones for which you want to be a master
Once the schema is loaded the zones for which you want to be a primary
must be modified. The dn of the SOA record *must* have the object class
``PdnsDomain``, and thus the ``PdnsDomainId`` attribute. This attribute
is an integer that *must* be unique across all zones served by the
Expand All @@ -223,7 +223,7 @@ backend. Furthermore the ``PdnsDomainType`` must be equal to 'master'
Example
^^^^^^^

Here is an example LDIF of a zone that's ready for master operation
Here is an example LDIF of a zone that's ready for primary operation
(assuming the 'tree' style):

::
Expand All @@ -242,7 +242,7 @@ Here is an example LDIF of a zone that's ready for master operation
PdnsDomainType: master
PdnsDomainMaster: 192.168.0.2

You should have one attribute ``PdnsDomainMaster`` per master serving
You should have one attribute ``PdnsDomainMaster`` per primary serving
this zone.

Example
Expand Down
10 changes: 5 additions & 5 deletions docs/backends/lua2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,16 @@ OUTPUT:
- string account - Associated account of this domain (default: <empty>)
- string kind - Domain kind (NATIVE,MASTER,SLAVE) (default: NATIVE)
- int id - Associated domain ID (default: -1)
- int last_check - UNIX timestamp of last check from master (default: 0)
- table of strings masters - Master servers for this domain (default: <empty>)
- int last_check - UNIX timestamp of last check from primary (default: 0)
- table of strings masters - Primary servers for this domain (default: <empty>)
- long notified_serial - Notified serial to slaves (default: 0)
- long serial - Current domain serial

NOTES:
This function is **optional**.
Defaults are used for omitted keys.
``last_check`` is for automatic serial.
``masters``, ``account``, ``notified_serial`` are for master/slave interaction only.
``masters``, ``account``, ``notified_serial`` are for primary/secondary interaction only.
If this function is missing, it will revert into looking up SOA record for the given domain,
and uses that, if found.

Expand All @@ -114,7 +114,7 @@ OUTPUT:
domaininfo. See :ref:`dns_get_domaininfo() <backends_lua2_dns_get_domaininfo>`.

NOTES:
This function is **optional**, except if you need master functionality.
This function is **optional**, except if you need primary functionality.

``dns_get_domain_metadata(domain, kind)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -193,4 +193,4 @@ INPUT:
- long serial - Notified serial

NOTES:
This function is **optional**. However, not implementing this can cause problems with master functionality.
This function is **optional**. However, not implementing this can cause problems with primary functionality.
16 changes: 8 additions & 8 deletions docs/backends/remote.rst
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,8 @@ Methods
Methods required for different features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:Always required: ``initialize``, ``lookup``
:Master operation: ``list``, ``getUpdatedMasters``, ``setNotified``
:Slave operation: ``getUnfreshSlaveInfos``, ``startTransaction``, ``commitTransaction``, ``abortTransaction``, ``feedRecord``, ``setFresh``
:Primary operation: ``list``, ``getUpdatedMasters``, ``setNotified``
:Secondary operation: ``getUnfreshSlaveInfos``, ``startTransaction``, ``commitTransaction``, ``abortTransaction``, ``feedRecord``, ``setFresh``
:DNSSEC operation (live-signing): ``getDomainKeys``, ``getBeforeAndAfterNamesAbsolute``
:Filling the Zone Cache: ``getAllDomains``

Expand Down Expand Up @@ -945,7 +945,7 @@ Response:
``isMaster``
~~~~~~~~~~~~

Determines whether given IP is master for given domain name.
Determines whether given IP is primary for given domain name.

- Mandatory: No
- Parameters: name,ip
Expand Down Expand Up @@ -987,7 +987,7 @@ Response:
``superMasterBackend``
~~~~~~~~~~~~~~~~~~~~~~

Creates new domain with given record(s) as master servers. IP address is
Creates new domain with given record(s) as primary servers. IP address is
the address where notify is received from. nsset is array of NS resource
records.

Expand Down Expand Up @@ -1605,7 +1605,7 @@ Response:
``getUpdatedMasters``
~~~~~~~~~~~~~~~~~~~~~

Used to find out any updates to master domains. This is used to trigger notifications in master mode.
Used to find out any updates to primary domains. This is used to trigger notifications in primary mode.

- Mandatory: no
- Parameters: none
Expand Down Expand Up @@ -1647,7 +1647,7 @@ Response:
``getUnfreshSlaveInfos``
~~~~~~~~~~~~~~~~~~~~~~~~

Used to find out if slave zones need checking of the master's SOA Serial.
Used to find out if primary zones need checking of the primary's SOA Serial.

- Mandatory: no
- Parameters: none
Expand Down Expand Up @@ -1689,8 +1689,8 @@ Response:
``setFresh``
~~~~~~~~~~~~

Called when a slave freshness check succeeded. This does not indicate the
zone was updated on the master.
Called when a primary freshness check succeeded. This does not indicate the
zone was updated on the primary.

- Mandatory: No
- Parameters: id
Expand Down
14 changes: 7 additions & 7 deletions docs/backends/tinydns.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ The last update was on `January 1st,
- Boolean
- Default: no

Tell the TinyDNSBackend to notify all the slave nameservers on startup.
Tell the TinyDNSBackend to notify all the primary nameservers on startup.
This might cause broadcast storms.

.. _setting-tinydns-ignore-bogus-records:
Expand All @@ -72,7 +72,7 @@ bad/corrupt RDATA. PowerDNS will crash when it tries to read that
bad/corrupt data. This option (change to yes), allows you to ignore that
bad RDATA to make PowerDNS operate when bad data is in your CDB file. Be
aware that the records are then ignored, where tinydns would still send
out the bogus data. The option is primarily useful in master mode, as
out the bogus data. The option is primarily useful in primary mode, as
that reads all the packets in the zone to find all the SOA records.

.. _setting-tinydns-locations:
Expand Down Expand Up @@ -101,15 +101,15 @@ record will expire once the cache is expired and the backend is queried
again. Please note that :ref:`setting-cache-ttl` is a
performance related setting. See :doc:`../performance`. Location support only exists for IPv4!

Master mode
-----------
Primary mode
------------

The TinyDNSBackend supports master mode. This allows it to notify slave
The TinyDNSBackend supports primary mode. This allows it to notify secondary
nameservers of updates to a zone. You simply need to rewrite the
``data.cdb`` file with an updated/increased serial and PowerDNS will
notify the slave nameservers of that domain. The :ref:`setting-tinydns-notify-on-startup`
notify the secondary nameservers of that domain. The :ref:`setting-tinydns-notify-on-startup`
configuration setting tells the backend if it should notify all the
slave nameservers just after startup.
secondary nameservers just after startup.

The CDB datafile does not allow PowerDNS to easily query for newly added
domains or updated serial numbers. The CDB datafile requires us to do a
Expand Down
2 changes: 1 addition & 1 deletion docs/dnssec/operational.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ default when the RRSIG dates are rolled.
For zones that use :ref:`native-operation`
replication PowerDNS will serve valid RRSIGs on all servers.

For :ref:`primary <master-operation>` zones (where
For :ref:`primary <primary-operation>` zones (where
replication happens by means of AXFR), PowerDNS secondaries will
automatically re-transfer the zone when it notices the RRSIGs have
changed, even when the SOA serial is not increased. This ensures the
Expand Down
20 changes: 10 additions & 10 deletions docs/dnsupdate.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ unauthenticated agents operating from an allowed address range.
``forward-dnsupdate``
~~~~~~~~~~~~~~~~~~~~~

Tell PowerDNS to forward to the master server if the zone is configured
as slave. Masters are determined by the masters field in the domains
Tell PowerDNS to forward to the primary server if the zone is configured
as secondary. Primaries are determined by the masters field in the domains
table. The default behaviour is enabled (yes), which means that it will
try to forward. In the processing of the update packet, the
``allow-dnsupdate-from`` and ``TSIG-ALLOW-DNSUPDATE`` are processed
Expand Down Expand Up @@ -184,7 +184,7 @@ per domain.
NOTIFY-DNSUPDATE
~~~~~~~~~~~~~~~~

Send a notification to all slave servers after every update. This will
Send a notification to all secondary servers after every update. This will
speed up the propagation of changes and is very useful for acme
verification::

Expand Down Expand Up @@ -305,7 +305,7 @@ This tells dhcpd to:
For more information on this, consult the dhcpd.conf manual.

Per subnet, you also have to tell **dhcpd** which (reverse-)domain it
should update and on which master domain server it is running.
should update and on which primary domain server it is running.

::

Expand Down Expand Up @@ -409,12 +409,12 @@ PowerDNS.
send. The TSIG-ALLOW-DNSUPDATE domainmetadata setting is used to
find which key belongs to the domain.
7. The backends are queried to find the backend for the given domain.
8. If the domain is a slave domain, the **forward-dnsupdate** option
and domainmetadata settings are checked. If forwarding to a master
is enabled, the message is forward to the master. If that fails, the
next master is tried until all masters are tried. If all masters
fail, ServFail is returned. If a master succeeds, the result from
that master is returned.
8. If the domain is a secondary domain, the **forward-dnsupdate** option
and domainmetadata settings are checked. If forwarding to a primary
is enabled, the message is forward to the primary. If that fails, the
next primary is tried until all primaries are tried. If all primaries
fail, ServFail is returned. If a primary succeeds, the result from
that primary is returned.
9. A check is performed to make sure all updates/prerequisites are for
the given zone. NotZone is returned if this is not the case.
10. The transaction with the backend is started.
Expand Down
4 changes: 2 additions & 2 deletions docs/domainmetadata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ number. e.g.:
AXFR-MASTER-TSIG
----------------

Use this named TSIG key to retrieve this zone from its master, see :ref:`tsig-provision-signed-notify-axfr`.
Use this named TSIG key to retrieve this zone from its primary, see :ref:`tsig-provision-signed-notify-axfr`.

GSS-ALLOW-AXFR-PRINCIPAL
------------------------
Expand Down Expand Up @@ -194,7 +194,7 @@ SLAVE-RENOTIFY
--------------
.. versionadded:: 4.3.0

If set to 1, will make PowerDNS renotify the secondaries after an AXFR is received from a master.
If set to 1, will make PowerDNS renotify the secondaries after an AXFR is received from a primary.
Any other value means that no renotifies are done. If not set at all, action will depend on
the :ref:`setting-secondary-do-renotify` setting.

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/alias.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@ ALIAS and DNSSEC
Starting with the PowerDNS Authoritative Server 4.0.0, DNSSEC 'washing'
of ALIAS records is supported on AXFR (**not** on live-signing). Set
``outgoing-axfr-expand-alias`` to 'yes' and enable DNSSEC for the zone
on the master. PowerDNS will sign the A/AAAA records during the AXFR.
on the primary. PowerDNS will sign the A/AAAA records during the AXFR.
2 changes: 1 addition & 1 deletion docs/http-api/zone.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ When creating or updating a zone, the "api_rectify" field of the :json:object:`Z
Backends might implement additional features (by coincidence or not).
These things are not supported through the API.

When creating a slave zone, it is recommended to not set any of
When creating a secondary zone, it is recommended to not set any of
``nameservers``, ``rrsets`` or ``zone``.

Examples
Expand Down
6 changes: 3 additions & 3 deletions docs/manpages/zone2sql.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ on standard output, which can then be fed to your database.
:program:`zone2sql` understands the BIND master file extension ``$GENERATE``
and will also honour ``$ORIGIN`` and ``$TTL``.

For backends supporting slave operation there is also an option to keep
slave zones as slaves, and not convert them to native operation.
For backends supporting secondary operation there is also an option to keep
secondary zones as secondaries, and not convert them to native operation.

:program:`zone2sql` can generate SQL for the Generic MySQL, Generic PostgreSQL,
Generic SQLite3 backend.
Expand Down Expand Up @@ -67,7 +67,7 @@ OTHER Options
--on-error-resume-next
Ignore missing zone files during parsing. Dangerous.
--secondary
Maintain slave status of zones listed in named.conf as being slaves.
Maintain secondary status of zones listed in named.conf as being slaves.
The default behaviour is to convert all zones to native operation.
--verbose
Be verbose during conversion.
Expand Down
Loading

0 comments on commit 6561c48

Please # to comment.