Cloudflare dns errors trying to delete records

I’m seeing errors related to Cloudflare DNS in a few places, and they all look related. I’m guessing this is a quirk or bug in some Cloudflare API call. Any time ApisCP tries to delete a DNS record, I get an error. I verified that the Cloudflare auth token has edit access. Cloudflare API access seems to be working properly otherwise.

For example:

Using the transfersite.php script fails when it gets to updating dns records:

updating dns stage data
NOTICE: dns_modify_record failed... retrying...
NOTICE: dns_modify_record failed... retrying...
NOTICE: dns_modify_record failed... retrying...
NOTICE: dns_modify_record failed... retrying...
NOTICE: dns_modify_record failed... retrying...
FAILURE: dns_modify_record
failed to find record ID in CF zone `mydomain.com' - does `@' (rr: `A', parameter: `10.10.101.1') exist? 
Line 86 
#0 /usr/local/apnscp/lib/Util/API.php(86): SoapClient->__call('dns_modify_reco...', Array)
#1 /usr/local/apnscp/lib/CLI/Transfer.php(238): Util_API->__call('dns_modify_reco...', Array)
#2 /usr/local/apnscp/lib/CLI/Transfer.php(1871): CLI_Transfer->_sync('remote', 'dns_modify_reco...', 'mydomai....', '', 'A', '10.10.101.1', Array)
#3 /usr/local/apnscp/lib/CLI/Transfer.php(1806): CLI_Transfer->alter_ip('mydomai....', '10.10.101.1', '10.10.101.1', 120)
#4 /usr/local/apnscp/lib/CLI/Transfer.php(195): CLI_Transfer->_sync_update_stage()
#5 /usr/local/apnscp/bin/scripts/transfersite.php(233): CLI_Transfer->process()
#6 {main}
ERROR  : unknown(): migration failed - unhandled exception
         0. Error_Reporter::add_error("migration failed - unhandled exception", )
            [/usr/local/apnscp/lib/log_wrapper.php:72]
         1. error("migration failed - unhandled exception")
            [/usr/local/apnscp/bin/scripts/transfersite.php:247]
unknown(): migration failed - unhandled exception

From the DNS Manager in the admin panel, running “Reset DNS to default” fails with the following errors:

 Action failed
Purged 7 old records
Added 10 records
 17 more messages
failed to purge record `mydomain.com.` A 14400 10.10.101.1
failed to purge record `mydomain.com.` MX 1 10 mail.mydomain.com
failed to purge record `mydomain.com.` TXT 14400 v=spf1 a private stuff ~all
failed to purge record `mydomain.com.` TXT 1 v=spf1 a private stuff ~all
failed to purge record `mydomain.com.` TXT 14400 v=spf1 a mx ~all
failed to purge record `mydomain.com.` TXT 1 google-site-verification=redacted
failed to purge record `_dmarc.mydomain.com.` TXT 1 v=DMARC1;  p=none;
Record `@.mydomain.com' (rr: `A', param: `10.10.101.1')  does not exist
Record `@.mydomain.com' (rr: `MX', param: `10 mail.mydomain.com')  does not exist
Record `@.mydomain.com' (rr: `TXT', param: `v=spf1 a private stuff ~all')  does not exist
Record `@.mydomain.com' (rr: `TXT', param: `v=spf1 a private stuff ~all')  does not exist
Record `@.mydomain.com' (rr: `TXT', param: `v=spf1 a mx ~all')  does not exist
Record `@.mydomain.com' (rr: `TXT', param: `google-site-verification=redacted')  does not exist
Record `_dmarc.mydomain.com' (rr: `TXT', param: `v=DMARC1;  p=none')  does not exist
Failed to create record `@.mydomain.com' type A: An identical record already exists.
Failed to create record `@.mydomain.com' type MX: An identical record already exists.
Failed to create record `@.mydomain.com' type TXT: An identical record already exists.

And selecting an individual record to delete fails as well:

Record `@.mydomain.com' (rr: `TXT', param: `v=spf1 a private stuff ~all') does not exist

Check “Client IP Address Filtering” for the API token. Looks like these tokens shared on the new server lack read or write privileges. Test suite against Cloudflare completes, so their API has remained the same.

./phpunit.php dns/ResourceRecordTest.php
PHPUnit 9.6.22 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 00:38.526, Memory: 22.00 MB

OK (1 test, 73 assertions)

The token seems to be working, at least some of the time. cpcmd -o json admin:collect '[]' | jq -r 'values[].domain' | while read DOMAIN ; do EditDomain -c dns,key='DEFAULT' -D $DOMAIN; done helped clear up some problems with some domains.

I did some testing to try to narrow down a reproducible error case, and I found one. Deleting the default MX record consistently fails. To make sure it wasn’t caused by some odd manual change I made, I deleted the record from my Cloudflare dashboard, then from the ApisCP dashboard I ran “Restore default MX” which threw errors on other records but did in fact re-create the MX record. After that, the “Delete” button still errors with:

Record `@.domain.com' (rr: `MX', param: `10 mail.domain.com') does not exist

For what it’s worth, below is the output when I try to run the test suite. I’m not sure I understand how it’s supposed to work, though. It’s erroring because the domain debug.test is not a domain that my Cloudflare account has access to use. So it’s not clear to me that the failure shows any unanticipated problem.

# ./phpunit.php -v dns/ResourceRecordTest.php 
PHPUnit 9.6.22 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.1.21
Configuration: /usr/local/apnscp/tests/phpunit.xml

INFO   : no billing identifier specified for site, generated `apnscp-JYGKMQRN'
         0. Error_Reporter::add_info("no billing identifier specified for site, generated `%s'", ["apnscp-JYGKMQRN"])
            [/usr/local/apnscp/lib/log_wrapper.php:108]
         1. info("no billing identifier specified for site, generated `%s'", "apnscp-JYGKMQRN")
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Billing/Invoice.php:35]
         2. Opcenter\Service\Validators\Billing\Invoice->valid("apnscp-JYGKMQRN")
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:568]
         3. Opcenter\Service\ConfigurationContext->check("invoice", "apnscp-JYGKMQRN")
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:165]
         4. Opcenter\Service\ConfigurationContext->preflight()
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:736]
         5. Opcenter\SiteConfiguration->verify("billing", Opcenter\Service\ConfigurationContext)
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:655]
         6. Opcenter\SiteConfiguration->verifyAll()
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:183]
         7. Opcenter\Account\Create->installServices("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         8. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
         9. Event\Manager->fire("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
        10. Event\Cardinal::fire(["FILESYSTEM", "created"], Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:79]
        11. Opcenter\Filesystem->populate()
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:47]
        12. Opcenter\Filesystem::create("site17", null)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:154]
        13. Opcenter\Account\Create->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:113]
        14. Opcenter\Account\Ephemeral->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:104]
        15. Opcenter\Account\Ephemeral::create([[domain:"debug.test"]])
            [/usr/local/apnscp/tests/TestHelpers.php:45]
        16. TestHelpers::create("debug.test")
            [/usr/local/apnscp/tests/dns/ResourceRecordTest.php:18]
        17. ResourceRecordTest->testProviders()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1617]
        18. PHPUnit\Framework\TestCase->runTest()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1223]
        19. PHPUnit\Framework\TestCase->runBare()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestResult.php:729]
        20. PHPUnit\Framework\TestResult->run(ResourceRecordTest)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:973]
        21. PHPUnit\Framework\TestCase->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:685]
        22. PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:651]
        23. PHPUnit\TextUI\TestRunner->run(PHPUnit\Framework\TestSuite, [listGroups:false, listSuites:false, listTests:false, listTestsXml:false, loader:null, useDefaultConfiguration:true, [[[verbose:true, ]]]])
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:146]
        24. PHPUnit\TextUI\Command->run(["./phpunit.php", "-v", "dns/ResourceRecordTest.php"], true)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:99]
        25. PHPUnit\TextUI\Command::main()
            [/usr/local/apnscp/tests/phpunit.php:70]
INFO   : no mysql database prefix specified - suggesting `debu_'
         0. Error_Reporter::add_info("no %(type)s database prefix specified - suggesting `%(prefix)s'", [[type:"mysql", prefix:"debu_"]])
            [/usr/local/apnscp/lib/log_wrapper.php:108]
         1. info("no %(type)s database prefix specified - suggesting `%(prefix)s'", [type:"mysql", prefix:"debu_"])
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Mysql/Dbaseprefix.php:61]
         2. Opcenter\Service\Validators\Mysql\Dbaseprefix->valid("debu_")
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:568]
         3. Opcenter\Service\ConfigurationContext->check("dbaseprefix", "debu_")
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:165]
         4. Opcenter\Service\ConfigurationContext->preflight()
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:736]
         5. Opcenter\SiteConfiguration->verify("mysql", Opcenter\Service\ConfigurationContext)
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:655]
         6. Opcenter\SiteConfiguration->verifyAll()
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:183]
         7. Opcenter\Account\Create->installServices("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         8. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
         9. Event\Manager->fire("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
        10. Event\Cardinal::fire(["FILESYSTEM", "created"], Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:79]
        11. Opcenter\Filesystem->populate()
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:47]
        12. Opcenter\Filesystem::create("site17", null)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:154]
        13. Opcenter\Account\Create->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:113]
        14. Opcenter\Account\Ephemeral->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:104]
        15. Opcenter\Account\Ephemeral::create([[domain:"debug.test"]])
            [/usr/local/apnscp/tests/TestHelpers.php:45]
        16. TestHelpers::create("debug.test")
            [/usr/local/apnscp/tests/dns/ResourceRecordTest.php:18]
        17. ResourceRecordTest->testProviders()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1617]
        18. PHPUnit\Framework\TestCase->runTest()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1223]
        19. PHPUnit\Framework\TestCase->runBare()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestResult.php:729]
        20. PHPUnit\Framework\TestResult->run(ResourceRecordTest)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:973]
        21. PHPUnit\Framework\TestCase->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:685]
        22. PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:651]
        23. PHPUnit\TextUI\TestRunner->run(PHPUnit\Framework\TestSuite, [listGroups:false, listSuites:false, listTests:false, listTestsXml:false, loader:null, useDefaultConfiguration:true, [[[verbose:true, ]]]])
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:146]
        24. PHPUnit\TextUI\Command->run(["./phpunit.php", "-v", "dns/ResourceRecordTest.php"], true)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:99]
        25. PHPUnit\TextUI\Command::main()
            [/usr/local/apnscp/tests/phpunit.php:70]
WARNING: cgroup usage is strongly encouraged when using PHP-FPM - enable with cgroup,enabled=1
         0. Error_Reporter::add_warning("cgroup usage is strongly encouraged when using PHP-FPM - enable with cgroup,enabled=1", )
            [/usr/local/apnscp/lib/log_wrapper.php:95]
         1. warn("cgroup usage is strongly encouraged when using PHP-FPM - enable with cgroup,enabled=1")
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Apache/Jail.php:59]
         2. Opcenter\Service\Validators\Apache\Jail->valid(1)
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:568]
         3. Opcenter\Service\ConfigurationContext->check("jail", 1)
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:165]
         4. Opcenter\Service\ConfigurationContext->preflight()
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:736]
         5. Opcenter\SiteConfiguration->verify("apache", Opcenter\Service\ConfigurationContext)
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:655]
         6. Opcenter\SiteConfiguration->verifyAll()
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:183]
         7. Opcenter\Account\Create->installServices("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         8. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
         9. Event\Manager->fire("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
        10. Event\Cardinal::fire(["FILESYSTEM", "created"], Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:79]
        11. Opcenter\Filesystem->populate()
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:47]
        12. Opcenter\Filesystem::create("site17", null)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:154]
        13. Opcenter\Account\Create->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:113]
        14. Opcenter\Account\Ephemeral->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:104]
        15. Opcenter\Account\Ephemeral::create([[domain:"debug.test"]])
            [/usr/local/apnscp/tests/TestHelpers.php:45]
        16. TestHelpers::create("debug.test")
            [/usr/local/apnscp/tests/dns/ResourceRecordTest.php:18]
        17. ResourceRecordTest->testProviders()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1617]
        18. PHPUnit\Framework\TestCase->runTest()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1223]
        19. PHPUnit\Framework\TestCase->runBare()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestResult.php:729]
        20. PHPUnit\Framework\TestResult->run(ResourceRecordTest)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:973]
        21. PHPUnit\Framework\TestCase->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:685]
        22. PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:651]
        23. PHPUnit\TextUI\TestRunner->run(PHPUnit\Framework\TestSuite, [listGroups:false, listSuites:false, listTests:false, listTestsXml:false, loader:null, useDefaultConfiguration:true, [[[verbose:true, ]]]])
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:146]
        24. PHPUnit\TextUI\Command->run(["./phpunit.php", "-v", "dns/ResourceRecordTest.php"], true)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:99]
        25. PHPUnit\TextUI\Command::main()
            [/usr/local/apnscp/tests/phpunit.php:70]
INFO   : no bandwidth rollover date specified, using day of month, `16'
         0. Error_Reporter::add_info("no bandwidth rollover date specified, using day of month, `%s'", [16])
            [/usr/local/apnscp/lib/log_wrapper.php:108]
         1. info("no bandwidth rollover date specified, using day of month, `%s'", 16)
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Bandwidth/Rollover.php:27]
         2. Opcenter\Service\Validators\Bandwidth\Rollover->valid(16)
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:568]
         3. Opcenter\Service\ConfigurationContext->check("rollover", 16)
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:165]
         4. Opcenter\Service\ConfigurationContext->preflight()
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:736]
         5. Opcenter\SiteConfiguration->verify("bandwidth", Opcenter\Service\ConfigurationContext)
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:655]
         6. Opcenter\SiteConfiguration->verifyAll()
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:183]
         7. Opcenter\Account\Create->installServices("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         8. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
         9. Event\Manager->fire("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
        10. Event\Cardinal::fire(["FILESYSTEM", "created"], Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:79]
        11. Opcenter\Filesystem->populate()
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:47]
        12. Opcenter\Filesystem::create("site17", null)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:154]
        13. Opcenter\Account\Create->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:113]
        14. Opcenter\Account\Ephemeral->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:104]
        15. Opcenter\Account\Ephemeral::create([[domain:"debug.test"]])
            [/usr/local/apnscp/tests/TestHelpers.php:45]
        16. TestHelpers::create("debug.test")
            [/usr/local/apnscp/tests/dns/ResourceRecordTest.php:18]
        17. ResourceRecordTest->testProviders()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1617]
        18. PHPUnit\Framework\TestCase->runTest()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1223]
        19. PHPUnit\Framework\TestCase->runBare()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestResult.php:729]
        20. PHPUnit\Framework\TestResult->run(ResourceRecordTest)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:973]
        21. PHPUnit\Framework\TestCase->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:685]
        22. PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:651]
        23. PHPUnit\TextUI\TestRunner->run(PHPUnit\Framework\TestSuite, [listGroups:false, listSuites:false, listTests:false, listTestsXml:false, loader:null, useDefaultConfiguration:true, [[[verbose:true, ]]]])
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:146]
        24. PHPUnit\TextUI\Command->run(["./phpunit.php", "-v", "dns/ResourceRecordTest.php"], true)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:99]
        25. PHPUnit\TextUI\Command::main()
            [/usr/local/apnscp/tests/phpunit.php:70]
INFO   : No password specified - generating random password: `Bn2b0xYf7HA7Gkal4DNavwYWmLiKNsmL'
         0. Error_Reporter::add_info("No password specified - generating random password: `%s'", ["Bn2b0xYf7HA7Gkal4DNavwYWmLiKNsmL"])
            [/usr/local/apnscp/lib/log_wrapper.php:108]
         1. info("No password specified - generating random password: `%s'", "Bn2b0xYf7HA7Gkal4DNavwYWmLiKNsmL")
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Auth/Tpasswd.php:33]
         2. Opcenter\Service\Validators\Auth\Tpasswd->valid("Bn2b0xYf7HA7Gkal4DNavwYWmLiKNsmL")
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:568]
         3. Opcenter\Service\ConfigurationContext->check("tpasswd", "Bn2b0xYf7HA7Gkal4DNavwYWmLiKNsmL")
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:165]
         4. Opcenter\Service\ConfigurationContext->preflight()
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:736]
         5. Opcenter\SiteConfiguration->verify("auth", Opcenter\Service\ConfigurationContext)
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:655]
         6. Opcenter\SiteConfiguration->verifyAll()
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:183]
         7. Opcenter\Account\Create->installServices("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         8. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
         9. Event\Manager->fire("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
        10. Event\Cardinal::fire(["FILESYSTEM", "created"], Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:79]
        11. Opcenter\Filesystem->populate()
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:47]
        12. Opcenter\Filesystem::create("site17", null)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:154]
        13. Opcenter\Account\Create->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:113]
        14. Opcenter\Account\Ephemeral->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:104]
        15. Opcenter\Account\Ephemeral::create([[domain:"debug.test"]])
            [/usr/local/apnscp/tests/TestHelpers.php:45]
        16. TestHelpers::create("debug.test")
            [/usr/local/apnscp/tests/dns/ResourceRecordTest.php:18]
        17. ResourceRecordTest->testProviders()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1617]
        18. PHPUnit\Framework\TestCase->runTest()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1223]
        19. PHPUnit\Framework\TestCase->runBare()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestResult.php:729]
        20. PHPUnit\Framework\TestResult->run(ResourceRecordTest)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:973]
        21. PHPUnit\Framework\TestCase->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:685]
        22. PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:651]
        23. PHPUnit\TextUI\TestRunner->run(PHPUnit\Framework\TestSuite, [listGroups:false, listSuites:false, listTests:false, listTestsXml:false, loader:null, useDefaultConfiguration:true, [[[verbose:true, ]]]])
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:146]
        24. PHPUnit\TextUI\Command->run(["./phpunit.php", "-v", "dns/ResourceRecordTest.php"], true)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:99]
        25. PHPUnit\TextUI\Command::main()
            [/usr/local/apnscp/tests/phpunit.php:70]
INFO   : allocated port range [40110,40119] for account
         0. Error_Reporter::add_info("allocated port range [4%03u0,4%03u9] for account", [11, 11])
            [/usr/local/apnscp/lib/log_wrapper.php:108]
         1. info("allocated port range [4%03u0,4%03u9] for account", 11, 11)
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Ssh/PortIndex.php:45]
         2. Opcenter\Service\Validators\Ssh\PortIndex->valid(11)
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:568]
         3. Opcenter\Service\ConfigurationContext->check("port_index", 11)
            [/usr/local/apnscp/lib/Opcenter/Service/ConfigurationContext.php:165]
         4. Opcenter\Service\ConfigurationContext->preflight()
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:736]
         5. Opcenter\SiteConfiguration->verify("ssh", Opcenter\Service\ConfigurationContext)
            [/usr/local/apnscp/lib/Opcenter/SiteConfiguration.php:655]
         6. Opcenter\SiteConfiguration->verifyAll()
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:183]
         7. Opcenter\Account\Create->installServices("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         8. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
         9. Event\Manager->fire("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
        10. Event\Cardinal::fire(["FILESYSTEM", "created"], Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:79]
        11. Opcenter\Filesystem->populate()
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:47]
        12. Opcenter\Filesystem::create("site17", null)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:154]
        13. Opcenter\Account\Create->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:113]
        14. Opcenter\Account\Ephemeral->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:104]
        15. Opcenter\Account\Ephemeral::create([[domain:"debug.test"]])
            [/usr/local/apnscp/tests/TestHelpers.php:45]
        16. TestHelpers::create("debug.test")
            [/usr/local/apnscp/tests/dns/ResourceRecordTest.php:18]
        17. ResourceRecordTest->testProviders()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1617]
        18. PHPUnit\Framework\TestCase->runTest()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1223]
        19. PHPUnit\Framework\TestCase->runBare()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestResult.php:729]
        20. PHPUnit\Framework\TestResult->run(ResourceRecordTest)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:973]
        21. PHPUnit\Framework\TestCase->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:685]
        22. PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:651]
        23. PHPUnit\TextUI\TestRunner->run(PHPUnit\Framework\TestSuite, [listGroups:false, listSuites:false, listTests:false, listTestsXml:false, loader:null, useDefaultConfiguration:true, [[[verbose:true, ]]]])
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:146]
        24. PHPUnit\TextUI\Command->run(["./phpunit.php", "-v", "dns/ResourceRecordTest.php"], true)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:99]
        25. PHPUnit\TextUI\Command::main()
            [/usr/local/apnscp/tests/phpunit.php:70]
INFO   : DNS not configured for `debug.test', bypassing DNS hooks
         0. Error_Reporter::add_info("DNS not configured for `%s', bypassing DNS hooks", ["debug.test"])
            [/usr/local/apnscp/lib/log_wrapper.php:108]
         1. info("DNS not configured for `%s', bypassing DNS hooks", "debug.test")
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Dns/Enabled.php:51]
         2. Opcenter\Service\Validators\Dns\Enabled->populate(Opcenter\SiteConfiguration)
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Common/Enabled.php:126]
         3. Opcenter\Service\Validators\Common\Enabled->fire(["service"], Opcenter\SiteConfiguration)
            [/usr/local/apnscp/lib/Opcenter/Service/Validators/Common/Enabled.php:94]
         4. Opcenter\Service\Validators\Common\Enabled->update("service.success", Opcenter\SiteConfiguration)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         5. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("service.success", Opcenter\SiteConfiguration)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
         6. Event\Manager->fire("service.success", Opcenter\SiteConfiguration)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
         7. Event\Cardinal::fire(["service", "success"], Opcenter\SiteConfiguration)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:209]
         8. Opcenter\Account\Create->installServices("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:143]
         9. Event\Contracts\Subscriber@anonymous/usr/local/apnscp/lib/Event/Cardinal.php:132$d1->update("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Manager.php:187]
        10. Event\Manager->fire("FILESYSTEM.created", Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Event/Cardinal.php:172]
        11. Event\Cardinal::fire(["FILESYSTEM", "created"], Opcenter\Filesystem)
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:79]
        12. Opcenter\Filesystem->populate()
            [/usr/local/apnscp/lib/Opcenter/Filesystem.php:47]
        13. Opcenter\Filesystem::create("site17", null)
            [/usr/local/apnscp/lib/Opcenter/Account/Create.php:154]
        14. Opcenter\Account\Create->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:113]
        15. Opcenter\Account\Ephemeral->exec()
            [/usr/local/apnscp/lib/Opcenter/Account/Ephemeral.php:104]
        16. Opcenter\Account\Ephemeral::create([[domain:"debug.test"]])
            [/usr/local/apnscp/tests/TestHelpers.php:45]
        17. TestHelpers::create("debug.test")
            [/usr/local/apnscp/tests/dns/ResourceRecordTest.php:18]
        18. ResourceRecordTest->testProviders()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1617]
        19. PHPUnit\Framework\TestCase->runTest()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:1223]
        20. PHPUnit\Framework\TestCase->runBare()
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestResult.php:729]
        21. PHPUnit\Framework\TestResult->run(ResourceRecordTest)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestCase.php:973]
        22. PHPUnit\Framework\TestCase->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:685]
        23. PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:651]
        24. PHPUnit\TextUI\TestRunner->run(PHPUnit\Framework\TestSuite, [listGroups:false, listSuites:false, listTests:false, listTestsXml:false, loader:null, useDefaultConfiguration:true, [[[verbose:true, ]]]])
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:146]
        25. PHPUnit\TextUI\Command->run(["./phpunit.php", "-v", "dns/ResourceRecordTest.php"], true)
            [/usr/local/apnscp/vendor/phpunit/phpunit/src/TextUI/Command.php:99]
        26. PHPUnit\TextUI\Command::main()
            [/usr/local/apnscp/tests/phpunit.php:70]
F                                                                   1 / 1 (100%){  }

Time: 00:01.920, Memory: 43.00 MB

There was 1 failure:

1) ResourceRecordTest::testProviders
Failed asserting that actual size 0 matches expected size 2.

/usr/local/apnscp/tests/dns/helpers/RecordFramework.php:284
/usr/local/apnscp/tests/dns/ResourceRecordTest.php:35

FAILURES!
Tests: 1, Assertions: 65, Failures: 1.