Central

Central RPC API

class designate.central.rpcapi.CentralAPI(topic=None)[source]

Bases: object

Client side of the central RPC API.

API version history:

1.0 - Initial version 1.1 - Add new finder methods 1.2 - Add get_tenant and get_tenants 1.3 - Add get_absolute_limits 2.0 - Renamed most get_resources to find_resources 2.1 - Add quota methods 3.0 - RecordSet Changes 3.1 - Add floating ip ptr methods 3.2 - TLD Api changes 3.3 - Add methods for blacklisted domains 4.0 - Create methods now accept designate objects 4.1 - Add methods for server pools 4.2 - Add methods for pool manager integration 4.3 - Added Zone Transfer Methods 5.0 - Remove dead server code 5.1 - Add xfr_zone 5.2 - Add Zone Import methods 5.3 - Add Zone Export method 5.4 - Add asynchronous Zone Export methods 5.5 - Add deleted zone purging task 5.6 - Changed ‘purge_zones’ function args 6.0 - Renamed domains to zones 6.1 - Add ServiceStatus methods 6.2 - Changed ‘find_recordsets’ method args
LOGGING_BLACKLIST = ['update_service_status']
RPC_API_VERSION = '6.2'
count_records(*args, **kwargs)
count_recordsets(*args, **kwargs)
count_report(*args, **kwargs)
count_tenants(*args, **kwargs)
count_zones(*args, **kwargs)
create_blacklist(*args, **kwargs)
create_pool(*args, **kwargs)
create_record(*args, **kwargs)
create_recordset(*args, **kwargs)
create_tld(*args, **kwargs)
create_tsigkey(*args, **kwargs)
create_zone(*args, **kwargs)
create_zone_export(*args, **kwargs)
create_zone_import(*args, **kwargs)
create_zone_transfer_accept(*args, **kwargs)
create_zone_transfer_request(*args, **kwargs)
delete_blacklist(*args, **kwargs)
delete_pool(*args, **kwargs)
delete_record(*args, **kwargs)
delete_recordset(*args, **kwargs)
delete_tld(*args, **kwargs)
delete_tsigkey(*args, **kwargs)
delete_zone(*args, **kwargs)
delete_zone_export(*args, **kwargs)
delete_zone_import(*args, **kwargs)
delete_zone_transfer_accept(*args, **kwargs)
delete_zone_transfer_request(*args, **kwargs)
export_zone(*args, **kwargs)
find_blacklist(*args, **kwargs)
find_blacklists(*args, **kwargs)
find_pool(*args, **kwargs)
find_pools(*args, **kwargs)
find_record(*args, **kwargs)
find_records(*args, **kwargs)
find_recordset(*args, **kwargs)
find_recordsets(*args, **kwargs)
find_service_status(*args, **kwargs)
find_service_statuses(*args, **kwargs)
find_tenants(*args, **kwargs)
find_tlds(*args, **kwargs)
find_tsigkeys(*args, **kwargs)
find_zone(*args, **kwargs)
find_zone_exports(*args, **kwargs)
find_zone_imports(*args, **kwargs)
find_zone_transfer_accept(*args, **kwargs)
find_zone_transfer_accepts(*args, **kwargs)
find_zone_transfer_request(*args, **kwargs)
find_zone_transfer_requests(*args, **kwargs)
find_zones(*args, **kwargs)
get_absolute_limits(*args, **kwargs)
get_blacklist(*args, **kwargs)
get_floatingip(*args, **kwargs)
classmethod get_instance()[source]

The rpc.get_client() which is called upon the API object initialization will cause a assertion error if the designate.rpc.TRANSPORT isn’t setup by rpc.init() before.

This fixes that by creating the rpcapi when demanded.

get_pool(*args, **kwargs)
get_quota(*args, **kwargs)
get_quotas(*args, **kwargs)
get_record(*args, **kwargs)
get_recordset(*args, **kwargs)
get_tenant(*args, **kwargs)
get_tld(*args, **kwargs)
get_tsigkey(*args, **kwargs)
get_zone(*args, **kwargs)
get_zone_export(*args, **kwargs)
get_zone_import(*args, **kwargs)
get_zone_ns_records(*args, **kwargs)
get_zone_transfer_accept(*args, **kwargs)
get_zone_transfer_request(*args, **kwargs)
list_floatingips(*args, **kwargs)
purge_zones(*args, **kwargs)
reset_quotas(*args, **kwargs)
set_quota(*args, **kwargs)
sync_record(*args, **kwargs)
sync_zone(*args, **kwargs)
sync_zones(*args, **kwargs)
touch_zone(*args, **kwargs)
update_blacklist(*args, **kwargs)
update_floatingip(*args, **kwargs)
update_pool(*args, **kwargs)
update_record(*args, **kwargs)
update_recordset(*args, **kwargs)
update_service_status(context, service_status)[source]
update_status(*args, **kwargs)
update_tld(*args, **kwargs)
update_tsigkey(*args, **kwargs)
update_zone(*args, **kwargs)
update_zone_export(*args, **kwargs)
update_zone_import(*args, **kwargs)
update_zone_transfer_accept(*args, **kwargs)
update_zone_transfer_request(*args, **kwargs)
xfr_zone(*args, **kwargs)
designate.central.rpcapi.reset()[source]

Central Service

class designate.central.service.Service(threads=None)[source]

Bases: designate.service.RPCService, designate.service.Service

RPC_API_VERSION = '6.2'
count_records(context, criterion=None)[source]
count_recordsets(context, criterion=None)[source]
count_report(context, criterion=None)[source]
count_tenants(context)[source]
count_zones(context, criterion=None)[source]
create_blacklist(*args, **kwargs)[source]
create_pool(*args, **kwargs)[source]
create_record(*args, **kwargs)[source]
create_recordset(*args, **kwargs)[source]
create_tld(*args, **kwargs)[source]
create_tsigkey(*args, **kwargs)[source]
create_zone(*args, **kwargs)[source]

Create zone: perform checks and then call _create_zone()

create_zone_export(*args, **kwargs)[source]
create_zone_import(*args, **kwargs)[source]
create_zone_transfer_accept(*args, **kwargs)[source]
create_zone_transfer_request(*args, **kwargs)[source]
delete_blacklist(*args, **kwargs)[source]
delete_pool(*args, **kwargs)[source]
delete_record(*args, **kwargs)[source]
delete_recordset(*args, **kwargs)[source]
delete_tld(*args, **kwargs)[source]
delete_tsigkey(*args, **kwargs)[source]
delete_zone(*args, **kwargs)[source]

Delete or abandon a zone On abandon, delete the zone from the DB immediately. Otherwise, set action to DELETE and status to PENDING and poke Pool Manager’s “delete_zone” to update the resolvers. PM will then poke back to set action to NONE and status to DELETED

delete_zone_export(*args, **kwargs)[source]
delete_zone_import(*args, **kwargs)[source]
delete_zone_transfer_accept(*args, **kwargs)[source]
delete_zone_transfer_request(*args, **kwargs)[source]
export_zone(context, zone_id)[source]
find_blacklist(context, criterion)[source]
find_blacklists(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_pool(context, criterion=None)[source]
find_pools(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_record(context, criterion=None)[source]
find_records(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_recordset(context, criterion=None)[source]
find_recordsets(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None, force_index=False)[source]
find_service_status(context, criterion=None)[source]
find_service_statuses(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

List service statuses.

find_tenants(context)[source]
find_tlds(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_tsigkeys(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zone(context, criterion=None)[source]
find_zone_exports(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zone_imports(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zone_transfer_accept(context, criterion)[source]
find_zone_transfer_accepts(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zone_transfer_request(context, criterion)[source]
find_zone_transfer_requests(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zones(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

List existing zones including the ones flagged for deletion.

get_absolute_limits(context)[source]
get_blacklist(context, blacklist_id)[source]
get_floatingip(context, region, floatingip_id)[source]

Get Floating IP PTR

get_pool(context, pool_id)[source]
get_quota(context, tenant_id, resource)[source]
get_quotas(context, tenant_id)[source]
get_record(context, zone_id, recordset_id, record_id)[source]
get_recordset(context, zone_id, recordset_id)[source]
get_tenant(context, tenant_id)[source]
get_tld(context, tld_id)[source]
get_tsigkey(context, tsigkey_id)[source]
get_zone(context, zone_id)[source]

Get a zone, even if flagged for deletion

get_zone_export(context, zone_export_id)[source]
get_zone_import(context, zone_import_id)[source]
get_zone_ns_records(context, zone_id=None, criterion=None)[source]
get_zone_transfer_accept(context, zone_transfer_accept_id)[source]
get_zone_transfer_request(context, zone_transfer_request_id)[source]
list_floatingips(context)[source]

List Floating IPs PTR

  1. We have service_catalog in the context and do a lookup using the

    token pr Neutron in the SC

  2. We lookup FIPs using the configured values for this deployment.

mdns_api
ping(context)[source]
pool_manager_api
purge_zones(context, criterion, limit=None)[source]

Purge deleted zones. :returns: number of purged zones

quota
reset_quotas(*args, **kwargs)[source]
scheduler
service_name
set_quota(*args, **kwargs)[source]
start()[source]
stop()[source]
storage
sync_record(*args, **kwargs)[source]
sync_zone(*args, **kwargs)[source]
sync_zones(*args, **kwargs)[source]
target = <Target version=6.2>
touch_zone(*args, **kwargs)[source]
update_blacklist(*args, **kwargs)[source]
update_floatingip(*args, **kwargs)[source]

We strictly see if values[‘ptrdname’] is str or None and set / unset the requested FloatingIP’s PTR record based on that.

update_pool(*args, **kwargs)[source]
update_record(*args, **kwargs)[source]
update_recordset(*args, **kwargs)[source]
update_service_status(context, service_status)[source]
update_status(*args, **kwargs)[source]
Parameters:
  • context – Security context information.
  • zone_id – The ID of the designate zone.
  • status – The status, ‘SUCCESS’ or ‘ERROR’.
  • serial – The consensus serial number for the zone.
Returns:

updated zone

update_tld(*args, **kwargs)[source]
update_tsigkey(*args, **kwargs)[source]
update_zone(*args, **kwargs)[source]

Update zone. Perform checks and then call _update_zone()

Returns:updated zone
update_zone_export(*args, **kwargs)[source]
update_zone_import(*args, **kwargs)[source]
update_zone_transfer_accept(*args, **kwargs)[source]
update_zone_transfer_request(*args, **kwargs)[source]
worker_api
xfr_zone(context, zone_id)[source]
zone_api
designate.central.service.notification(notification_type)[source]
designate.central.service.synchronized_zone(zone_arg=1, new_zone=False)[source]

Ensures only a single operation is in progress for each zone

A Decorator which ensures only a single operation can be happening on a single zone at once, within the current designate-central instance