di.masters.push_back(master_ip);
}
- if(!override_master && (di.kind != DomainInfo::Slave || di.masters.empty()))
- return "Zone '" + domain.toString() + "' is not a secondary zone (or has no primary defined)";
+ if (!override_master && (!di.isSecondaryType() || di.masters.empty()))
+ return "Zone '" + domain.toString() + "' is not a secondary/consumer zone (or has no primary defined)";
shuffle(di.masters.begin(), di.masters.end(), pdns::dns_random_engine());
const auto& master = di.masters.front();
int total = 0;
int notified = 0;
for (const auto& di : domains) {
- if (di.kind == DomainInfo::Master || di.kind == DomainInfo::Slave) { // Primary and secondary if secondary-do-renotify is enabled
+ if (di.kind != DomainInfo::Native) { // Primary and secondary if secondary-do-renotify is enabled
total++;
if(Communicator.notifyDomain(di.zone, &B))
notified++;
if (total != notified)
return itoa(notified)+" out of "+itoa(total)+" zones added to queue - see log";
- return "Added "+itoa(total)+" MASTER/SLAVE zones to queue";
+ return "Added " + itoa(total) + " MASTER/SLAVE/PRODUCER/CONSUMER zones to queue";
} else {
DNSName domain;
try {
vector<DomainInfo> domains;
B.getAllDomains(&domains, false, false);
ostringstream ret;
- int kindFilter = -1;
+ DomainInfo::DomainKind kind;
if (parts.size() > 1) {
- if (toUpper(parts[1]) == "PRIMARY" || toUpper(parts[1]) == "MASTER")
- kindFilter = 0;
- else if (toUpper(parts[1]) == "SECONDARY" || toUpper(parts[1]) == "SLAVE")
- kindFilter = 1;
- else if (toUpper(parts[1]) == "NATIVE")
- kindFilter = 2;
+ kind = DomainInfo::stringToKind(parts[1]);
+ }
+ else {
+ kind = DomainInfo::All;
}
int count = 0;
for (const auto& di: domains) {
- if (di.kind == kindFilter || kindFilter == -1) {
+ if (di.kind == kind || kind == DomainInfo::All) {
ret<<di.zone.toString()<<endl;
count++;
}
}
- if (kindFilter != -1)
+
+ if (kind == DomainInfo::All) {
ret<<parts[1]<<" zonecount:"<<count;
- else
+ }
+ else {
ret<<"All zonecount:"<<count;
+ }
return ret.str();
}
+/*.log
/*.xml
/*.tar
/K*
do
zones=$((zones+1))
if [ "$zone" = "example.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=gmysql2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 create-secondary-zone $zone 127.0.0.1:$port
fi
if [ "$zone" = "test.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=gmysql2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 create-secondary-zone $zone 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-catalog $zone other-catalog.invalid
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-options $zone '{"consumer":{"coo":"catalog.invalid","unique":"42"}}'
fi
if [ "$zone" = "tsig.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=gmysql2 create-slave-zone $zone 127.0.0.2:$port
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 create-secondary-zone $zone 127.0.0.2:$port
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-catalog $zone catalog.invalid
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-options $zone "{\"consumer\":{\"unique\":\"$($SAXFR 127.0.0.1 $port catalog.invalid | grep $zone | grep PTR | cut -d'.' -f1)\"}}"
$PDNSUTIL --config-dir=. --config-name=gmysql2 import-tsig-key test $ALGORITHM $KEY
- $PDNSUTIL --config-dir=. --config-name=gmysql2 activate-tsig-key tsig.com test slave
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 activate-tsig-key tsig.com test secondary
fi
if [ "$zone" = "stest.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=gmysql2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 create-secondary-zone $zone 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-catalog $zone other-catalog.invalid
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-options $zone "{\"consumer\":{\"coo\":\"catalog.invalid\",\"unique\":\"$($SAXFR 127.0.0.1 $port catalog.invalid | grep $zone | grep PTR | cut -d'.' -f1)\"}}"
if [[ $skipreasons != *nolua* ]]; then
fi
fi
if [ "$zone" = "." ]; then
- $PDNSUTIL --config-dir=. --config-name=gmysql2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 create-secondary-zone $zone 127.0.0.1:$port
fi
done
if [ $zones -ne 1 ] # detect root tests
then
zones=$((zones+1))
- $PDNSUTIL --config-dir=. --config-name=gmysql2 create-slave-zone catalog.invalid 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 create-secondary-zone catalog.invalid 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-kind catalog.invalid consumer
- $PDNSUTIL --config-dir=. --config-name=gmysql2 create-slave-zone remove.invalid 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=gmysql2 create-secondary-zone remove.invalid 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=gmysql2 set-catalog remove.invalid catalog.invalid
fi
$RUNWRAPPER $PDNS2 --daemon=no --local-port=$port --config-dir=. \
--config-name=gmysql2 --socket-dir=./ --no-shuffle \
- --slave --retrieval-threads=4 \
- --slave-cycle-interval=300 --dname-processing &
+ --secondary --xfr-cycle-interval=15 --dname-processing &
- echo 'waiting for zones to be slaved'
+ sleep 1
+ $PDNSCONTROL --config-name=gmysql2 --socket-dir=. --no-config retrieve catalog.invalid
+
+ echo 'waiting for zones to be fetched'
loopcount=0
while [ $loopcount -lt 30 ]
do
do
zones=$((zones+1))
if [ "$zone" = "example.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=lmdb2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
fi
if [ "$zone" = "test.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=lmdb2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog $zone other-catalog.invalid
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-options $zone '{"consumer":{"coo":"catalog.invalid","unique":"42"}}'
fi
if [ "$zone" = "tsig.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=lmdb2 create-slave-zone $zone 127.0.0.2:$port
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.2:$port
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog $zone catalog.invalid
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-options $zone "{\"consumer\":{\"unique\":\"$($SAXFR 127.0.0.1 $port catalog.invalid | grep $zone | grep PTR | cut -d'.' -f1)\"}}"
$PDNSUTIL --config-dir=. --config-name=lmdb2 import-tsig-key test $ALGORITHM $KEY
- $PDNSUTIL --config-dir=. --config-name=lmdb2 activate-tsig-key tsig.com test slave
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 activate-tsig-key tsig.com test secondary
fi
if [ "$zone" = "stest.com" ]; then
- $PDNSUTIL --config-dir=. --config-name=lmdb2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog $zone other-catalog.invalid
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-options $zone "{\"consumer\":{\"coo\":\"catalog.invalid\",\"unique\":\"$($SAXFR 127.0.0.1 $port catalog.invalid | grep $zone | grep PTR | cut -d'.' -f1)\"}}"
if [[ $skipreasons != *nolua* ]]; then
fi
fi
if [ "$zone" = "." ]; then
- $PDNSUTIL --config-dir=. --config-name=lmdb2 create-slave-zone $zone 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
fi
done
if [ $zones -ne 1 ] # detect root tests
then
zones=$((zones+1))
- $PDNSUTIL --config-dir=. --config-name=lmdb2 create-slave-zone catalog.invalid 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone catalog.invalid 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-kind catalog.invalid consumer
- $PDNSUTIL --config-dir=. --config-name=lmdb2 create-slave-zone remove.invalid 127.0.0.1:$port
+ $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone remove.invalid 127.0.0.1:$port
$PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog remove.invalid catalog.invalid
fi
$RUNWRAPPER $PDNS2 --daemon=no --local-port=$port --config-dir=. \
--config-name=lmdb2 --socket-dir=./ --no-shuffle \
- --slave --dname-processing --api --api-key=secret &
+ --secondary --xfr-cycle-interval=15 --dname-processing --api --api-key=secret &
- echo 'waiting for zones to be slaved'
+ sleep 1
+ $PDNSCONTROL --config-name=lmdb2 --socket-dir=. --no-config retrieve catalog.invalid
+
+ echo 'waiting for zones to be fetched'
loopcount=0
while [ $loopcount -lt 30 ]
do