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(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(context, blacklist)[source]
create_pool(context, pool)[source]
create_record(context, zone_id, recordset_id, record, increment_serial=True)[source]
create_recordset(context, zone_id, recordset)[source]
create_tld(context, tld)[source]
create_tsigkey(context, tsigkey)[source]
create_zone(context, zone)[source]
create_zone_export(context, zone_id)[source]
create_zone_import(context, request_body)[source]
create_zone_transfer_accept(context, zone_transfer_accept)[source]
create_zone_transfer_request(context, zone_transfer_request)[source]
delete_blacklist(context, blacklist_id)[source]
delete_pool(context, pool_id)[source]
delete_record(context, zone_id, recordset_id, record_id, increment_serial=True)[source]
delete_recordset(context, zone_id, recordset_id, increment_serial=True)[source]
delete_tld(context, tld_id)[source]
delete_tsigkey(context, tsigkey_id)[source]
delete_zone(context, zone_id)[source]
delete_zone_export(context, zone_export_id)[source]
delete_zone_import(context, zone_import_id)[source]
delete_zone_transfer_accept(context, zone_transfer_accept_id)[source]
delete_zone_transfer_request(context, zone_transfer_request_id)[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]
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, zone_transfer_accept)[source]
find_zone_transfer_accepts(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zone_transfer_request(context, zone_transfer_request)[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]
get_absolute_limits(context)[source]
get_blacklist(context, blacklist_id)[source]
get_floatingip(context, region, floatingip_id)[source]
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(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_zone_export(context, zone_export_id)[source]
get_zone_import(context, zone_import_id)[source]
get_zone_ns_records(context, zone_id)[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]
purge_zones(context, criterion, limit=None)[source]
reset_quotas(context, tenant_id)[source]
set_quota(context, tenant_id, resource, hard_limit)[source]
sync_record(context, zone_id, recordset_id, record_id)[source]
sync_zone(context, zone_id)[source]
sync_zones(context)[source]
touch_zone(context, zone_id)[source]
update_blacklist(context, blacklist)[source]
update_floatingip(context, region, floatingip_id, values)[source]
update_pool(context, pool)[source]
update_record(context, record, increment_serial=True)[source]
update_recordset(context, recordset, increment_serial=True)[source]
update_service_status(context, service_status)[source]
update_status(context, zone_id, status, serial)[source]
update_tld(context, tld)[source]
update_tsigkey(context, tsigkey)[source]
update_zone(context, zone, increment_serial=True)[source]
update_zone_export(context, zone_export)[source]
update_zone_import(context, zone_import)[source]
update_zone_transfer_accept(context, zone_transfer_accept)[source]
update_zone_transfer_request(context, zone_transfer_request)[source]
xfr_zone(context, zone_id)[source]
designate.central.rpcapi.reset()[source]

Central Service

class designate.central.service.Service[source]

Bases: designate.service.RPCService

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(context, blacklist)[source]
create_pool(context, pool)[source]
create_record(context, zone_id, recordset_id, record, increment_serial=True)[source]
create_recordset(context, zone_id, recordset, increment_serial=True)[source]
create_tld(context, tld)[source]
create_tsigkey(context, tsigkey)[source]
create_zone(context, zone)[source]

Create zone: perform checks and then call _create_zone()

create_zone_export(context, zone_id)[source]
create_zone_import(context, request_body)[source]
create_zone_transfer_accept(context, zone_transfer_accept)[source]
create_zone_transfer_request(context, zone_transfer_request)[source]
delete_blacklist(context, blacklist_id)[source]
delete_pool(context, pool_id)[source]
delete_record(context, zone_id, recordset_id, record_id, increment_serial=True)[source]
delete_recordset(context, zone_id, recordset_id, increment_serial=True)[source]
delete_tld(context, tld_id)[source]
delete_tsigkey(context, tsigkey_id)[source]
delete_zone(context, zone_id)[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(context, zone_export_id)[source]
delete_zone_import(context, zone_import_id)[source]
delete_zone_transfer_accept(context, zone_transfer_accept_id)[source]
delete_zone_transfer_request(context, zone_transfer_request_id)[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.

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

Purge deleted zones. :returns: number of purged zones

property quota
reset_quotas(context, tenant_id)[source]
property scheduler
property service_name
set_quota(context, tenant_id, resource, hard_limit)[source]
start()[source]

Start a service.

stop(graceful=True)[source]

Stop a service.

Parameters

graceful – indicates whether to wait for all threads to finish or terminate them instantly

property storage
sync_record(context, zone_id, recordset_id, record_id)[source]
sync_zone(context, zone_id)[source]
sync_zones(context)[source]
target = <Target version=6.2>
touch_zone(context, zone_id)[source]
update_blacklist(context, blacklist)[source]
update_floatingip(context, region, floatingip_id, values)[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(context, pool)[source]
update_record(context, record, increment_serial=True)[source]
update_recordset(context, recordset, increment_serial=True)[source]
update_service_status(context, service_status)[source]
update_status(context, zone_id, status, serial)[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(context, tld)[source]
update_tsigkey(context, tsigkey)[source]
update_zone(context, zone, increment_serial=True)[source]

Update zone. Perform checks and then call _update_zone()

Returns

updated zone

update_zone_export(context, zone_export)[source]
update_zone_import(context, zone_import)[source]
update_zone_transfer_accept(context, zone_transfer_accept)[source]
update_zone_transfer_request(context, zone_transfer_request)[source]
property worker_api
xfr_zone(context, zone_id)[source]
property 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