Upgrading to Newton from Mitaka

The Newton release of Designate adds two new services designate-producer, designate-worker. These replace designate-zone-manager and designate-pool-manager, respectively. In a future cycle, the old services will be removed, and the new ones will be enabled by default. In Newton, you must enable the new services yourself. Designate will work with both configurations, as there is no breaking change from Mitaka.

Breaking Changes

The default port the designate-agent service listens on has changed from 53 to 5358. This matches the port we have always used in the sample configuration, and the port used in the agent backend class.

Upgrading Code and Enabling Services

To enable the new services with minimal impact, the following process can be followed. This assumes you have all Mitaka Designate services running.

  1. Deploy the Newton code.

  2. Add the [service:worker] and [service:producer] sections to your configuration file. Ensure enabled and notify in the worker section are True.

    [service:worker]
    enabled = True
    #workers = None
    #threads = 1000
    #threshold_percentage = 100
    #poll_timeout = 30
    #poll_retry_interval = 15
    #poll_max_retries = 10
    #poll_delay = 5
    notify = True
    
    [service:producer]
    #workers = None
    #threads = 1000
    # Can be any/all of: periodic_exists, delayed_notify, worker_periodic_recovery
    # None => All tasks enabled
    #enabled_tasks = None
    
    [producer_task:domain_purge]
    #interval = 3600  # 1h
    #batch_size = 100
    #time_threshold = 604800  # 7 days
    
    [producer_task:delayed_notify]
    #interval = 5
    
    [producer_task:worker_periodic_recovery]
    #interval = 120
    
  3. Stop the designate-pool-manager and designate-zone-manager processes.

  4. Restart the designate-api, designate-central and designate-mdns services.

  5. Start the designate-producer and designate-worker services.

New Features

  • designate-mdns, designate-agent and designate-api can now bind to multiple host:port pairs via the new “listen” configuration arguments for each service.

  • New pool scheduler “attribute” filter for scheduling zones across pools. This can be enabled in the [service:central] section of the config by adding attribute to the list of values in the filters option.

  • An experimental agent backend to support TinyDNS, the DNS resolver from the djbdns tools.

  • An experimental agent backend to support Knot DNS 2

  • A new recordset api /v2/recordsets is exposed, docs can be found here.

  • Designate services now report running status. The information is exposed via api.

  • The quotas API from the admin API has been ported to /v2 with some changes and is now stable.

Deprecation Notices

  • designate-api’s api_host and api_port configuration options have been deprecated, please use the new combined “listen” argument in place of these.

  • designate-mdns’s host and port configuration options have been deprecated, please use the new combined “listen” argument in place of these.

  • designate-agents’s host and port configuration options have been deprecated, please use the new combined “listen” argument in place of these.

  • designate-zone-manager and designate-pool-manager are now deprecated and will be removed in a future release.