# lib/designate_plugins/backend-powerdns # Configure the powerdns backend # Enable with: # DESIGNATE_BACKEND_DRIVER=powerdns # Dependencies: # ``functions`` file # ``designate`` configuration # install_designate_backend - install any external requirements # configure_designate_backend - make configuration changes, including those to other services # init_designate_backend - initialize databases, etc. # start_designate_backend - start any external services # stop_designate_backend - stop any external services # cleanup_designate_backend - remove transient data and cache # Save trace setting DP_PDNS_XTRACE=$(set +o | grep xtrace) set +o xtrace # Defaults # -------- if is_fedora; then POWERDNS_CFG_DIR=/etc/pdns else POWERDNS_CFG_DIR=/etc/powerdns fi # Entry Points # ------------ # install_designate_backend - install any external requirements function install_designate_backend { if is_ubuntu; then PDNS=pdns-server elif is_fedora || is_suse; then PDNS=pdns else PDNS=pdns-server fi install_package $PDNS pdns-backend-mysql sudo rm -rf $POWERDNS_CFG_DIR/pdns.d } # configure_designate_backend - make configuration changes, including those to other services function configure_designate_backend { iniset $DESIGNATE_CONF service:pool_manager backends powerdns iniset $DESIGNATE_CONF service:mdns slave_nameserver_ips_and_ports "$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_DNS" iniset $DESIGNATE_CONF backend:powerdns server_ids $DESIGNATE_SERVER_ID iniset $DESIGNATE_CONF backend:powerdns connection `database_connection_url designate_pdns` iniset $DESIGNATE_CONF backend:powerdns masters "$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_MDNS" iniset $DESIGNATE_CONF backend:powerdns:$DESIGNATE_SERVER_ID host $DESIGNATE_SERVICE_HOST iniset $DESIGNATE_CONF backend:powerdns:$DESIGNATE_SERVER_ID port $DESIGNATE_SERVICE_PORT_DNS sudo tee $POWERDNS_CFG_DIR/pdns.conf > /dev/null < /dev/null <