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 6.3 - Changed ‘update_status’ method args 6.4 - Removed unused record and diagnostic methods 6.5 - Removed additional unused methods 6.6 - Add methods for shared zones 6.7 - Add increment_zone_serial 6.8 - Add managed recordset methods 6.9 - Removed unused methods 6.10 - Add Zone Pool Move method

RPC_API_VERSION = '6.10'
RPC_LOGGING_DISALLOW = ['update_service_status', 'get_instance', '__init__']
count_report(context, criterion=None)[source]
create_blacklist(context, blacklist)[source]
create_managed_records(context, zone_id, records_values, recordset_values)[source]
create_pool(context, pool)[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_managed_records(context, zone_id=None, criterion=None)[source]
delete_pool(context, pool_id)[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_request(context, zone_transfer_request_id)[source]
export_zone(context, zone_id)[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_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_shared_zones(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_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_accepts(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[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_quotas(context, tenant_id)[source]
get_recordset(context, zone_id, recordset_id)[source]
get_shared_zone(context, zone_id, zone_share_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]
increment_zone_serial(context, zone)[source]
list_floatingips(context)[source]
pool_move_zone(context, zone_id, target_pool_id)[source]
purge_zones(context, criterion, limit=None)[source]
reset_quotas(context, tenant_id)[source]
set_quota(context, tenant_id, resource, hard_limit)[source]
share_zone(context, zone_id, shared_zone)[source]
unshare_zone(context, zone_id, zone_share_id)[source]
update_blacklist(context, blacklist)[source]
update_floatingip(context, region, floatingip_id, values)[source]
update_pool(context, pool)[source]
update_recordset(context, recordset, increment_serial=True)[source]
update_service_status(context, service_status)[source]
update_status(context, zone_id, status, serial, action=None)[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_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: RPCService

RPC_API_VERSION = '6.10'
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_managed_records(context, zone_id, records_values, recordset_values)[source]
create_pool(context, pool)[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_managed_records(context, zone_id, criterion)[source]
delete_pool(context, pool_id)[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_request(context, zone_transfer_request_id)[source]
export_zone(context, zone_id)[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_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_shared_zones(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_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_accepts(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[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_quotas(context, tenant_id)[source]
get_recordset(context, zone_id, recordset_id)[source]
get_shared_zone(context, zone_id, zone_share_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, apply_tenant_criteria=True)[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]
increment_zone_serial(context, zone)[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.

pool_move_zone(context, zone_id, target_pool_id=None)[source]

Move zone. Perform checks and then create zone in destination pool

Returns:

moved zone

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]
share_zone(context, zone_id, shared_zone)[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
target = <Target version=6.10>
unshare_zone(context, zone_id, zone_share_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_recordset(context, recordset, increment_serial=True)[source]
update_service_status(context, service_status)[source]
update_status(context, zone_id, status, serial, action=None)[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.

  • action – The action, ‘CREATE’, ‘UPDATE’, ‘DELETE’ or ‘NONE’.

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_request(context, zone_transfer_request)[source]
property worker_api
xfr_zone(context, zone_id)[source]