Repository: AnalogJ/lexicon

Issue:
test_hetzner tests mostly fail (without internet access?)
When running builds of packages for openSUSE, we have all builds in the isolated environment without a network connection. Perhaps it is the reason, why most ``test_hetzner`` tests fail (all other pass).
```
[    6s] + py.test3 tests -v -k test_hetzner
[    6s] ============================= test session starts ==============================
[    6s] platform linux -- Python 3.6.5, pytest-3.10.1, py-1.7.0, pluggy-0.8.0 -- /usr/bin/python3
[    6s] cachedir: .pytest_cache
[    6s] rootdir: /home/abuild/rpmbuild/BUILD/lexicon-3.0.7, inifile:
[    6s] plugins: xdist-1.23.2, forked-0.2, cov-2.6.0
[   10s] collecting ... collected 1518 items / 1460 deselected
[   10s] 
[   41s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_authenticate FAILED [  1%]
[   71s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_authenticate_with_unmanaged_domain_should_fail PASSED [  3%]
[  101s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_create_record_for_A_with_valid_name_and_content FAILED [  5%]
[  131s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content FAILED [  6%]
[  162s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content FAILED [  8%]
[  192s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content FAILED [ 10%]
[  222s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content FAILED [ 12%]
[  253s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_create_record_multiple_times_should_create_record_set FAILED [ 13%]
[  283s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop FAILED [ 15%]
[  313s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_delete_record_by_filter_should_remove_record FAILED [ 17%]
[  344s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record FAILED [ 18%]
[  374s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record FAILED [ 20%]
[  404s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_delete_record_by_identifier_should_remove_record FAILED [ 22%]
[  435s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched FAILED [ 24%]
[  465s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_delete_record_with_record_set_name_remove_all FAILED [ 25%]
[  496s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_after_setting_ttl FAILED [ 27%]
[  526s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_should_handle_record_sets FAILED [ 29%]
[  526s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 31%]
[  526s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 32%]
[  556s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record FAILED [ 34%]
[  587s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_with_full_name_filter_should_return_record FAILED [ 36%]
[  617s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list FAILED [ 37%]
[  647s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_with_name_filter_should_return_record FAILED [ 39%]
[  677s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_list_records_with_no_arguments_should_list_all FAILED [ 41%]
[  708s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_update_record_should_modify_record FAILED [ 43%]
[  738s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_update_record_should_modify_record_name_specified FAILED [ 44%]
[  768s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record FAILED [ 46%]
[  799s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_Provider_when_calling_update_record_with_full_name_should_modify_record FAILED [ 48%]
[  799s] tests/providers/test_hetzner.py::HetznerRobotProviderTests::test_provider_module_shape PASSED [ 50%]
[  829s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_authenticate FAILED [ 51%]
[  859s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 53%]
[  889s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_create_record_for_A_with_valid_name_and_content FAILED [ 55%]
[  920s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content FAILED [ 56%]
[  950s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content FAILED [ 58%]
[  980s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content FAILED [ 60%]
[ 1010s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content FAILED [ 62%]
[ 1041s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_create_record_multiple_times_should_create_record_set FAILED [ 63%]
[ 1071s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop FAILED [ 65%]
[ 1101s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_delete_record_by_filter_should_remove_record FAILED [ 67%]
[ 1132s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record FAILED [ 68%]
[ 1162s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record FAILED [ 70%]
[ 1192s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_delete_record_by_identifier_should_remove_record FAILED [ 72%]
[ 1223s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched FAILED [ 74%]
[ 1253s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_delete_record_with_record_set_name_remove_all FAILED [ 75%]
[ 1283s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_after_setting_ttl FAILED [ 77%]
[ 1314s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_should_handle_record_sets FAILED [ 79%]
[ 1314s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 81%]
[ 1314s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 82%]
[ 1344s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record FAILED [ 84%]
[ 1374s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_with_full_name_filter_should_return_record FAILED [ 86%]
[ 1405s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list FAILED [ 87%]
[ 1435s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_with_name_filter_should_return_record FAILED [ 89%]
[ 1465s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_list_records_with_no_arguments_should_list_all FAILED [ 91%]
[ 1496s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_update_record_should_modify_record FAILED [ 93%]
[ 1526s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_update_record_should_modify_record_name_specified FAILED [ 94%]
[ 1556s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record FAILED [ 96%]
[ 1587s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_Provider_when_calling_update_record_with_full_name_should_modify_record FAILED [ 98%]
[ 1587s] tests/providers/test_hetzner.py::HetznerKonsoleHProviderTests::test_provider_module_shape PASSED [100%]
[ 1587s] 
[ 1587s] =================================== FAILURES ===================================
[ 1587s] _____________ HetznerRobotProviderTests.test_Provider_authenticate _____________
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_authenticate>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_authenticate(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:120: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226623.6936848
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001739263534546 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_create_record_for_A_with_valid_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_create_record_for_A_with_valid_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_A_with_valid_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:137: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226684.1878257
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001224994659424 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:142: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226714.5355732
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001864194869995 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:159: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226744.8239799
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00143837928772 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:153: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226775.1904507
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.002041339874268 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:147: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226805.4625132
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00130319595337 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_create_record_multiple_times_should_create_record_set 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_create_record_multiple_times_should_create_record_set>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_multiple_times_should_create_record_set(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:329: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226835.7801673
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001408338546753 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:317: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226866.2151842
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001322269439697 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_delete_record_by_filter_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_delete_record_by_filter_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_filter_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:280: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226896.5229275
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001464366912842 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:301: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226926.8393946
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00216007232666 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:290: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226957.2404466
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00147795677185 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_delete_record_by_identifier_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_delete_record_by_identifier_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_identifier_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:271: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545226987.6605637
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001694917678833 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:373: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227018.060289
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001522302627563 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_delete_record_with_record_set_name_remove_all 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_delete_record_with_record_set_name_remove_all>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_with_record_set_name_remove_all(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:358: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227048.4098914
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00169563293457 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_list_records_after_setting_ttl 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_list_records_after_setting_ttl>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_after_setting_ttl(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:207: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227078.7399654
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001705169677734 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_list_records_should_handle_record_sets 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_list_records_should_handle_record_sets>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_should_handle_record_sets(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:346: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227109.118544
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.000815868377686 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:195: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227139.438761
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00140929222107 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_list_records_with_full_name_filter_should_return_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_list_records_with_full_name_filter_should_return_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_full_name_filter_should_return_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:183: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227169.791035
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00222635269165 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:338: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227200.072255
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001331090927124 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_list_records_with_name_filter_should_return_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_list_records_with_name_filter_should_return_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_name_filter_should_return_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:173: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227230.3420138
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00171971321106 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_list_records_with_no_arguments_should_list_all 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_list_records_with_no_arguments_should_list_all>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_no_arguments_should_list_all(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:168: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227260.6709635
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001699209213257 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_update_record_should_modify_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_update_record_should_modify_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_should_modify_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:232: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227290.9411821
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.002132654190063 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_update_record_should_modify_record_name_specified 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_update_record_should_modify_record_name_specified>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_should_modify_record_name_specified(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:240: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227321.2468865
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00109076499939 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:258: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227351.6156437
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00177574157715 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerRobotProviderTests.test_Provider_when_calling_update_record_with_full_name_should_modify_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerRobotProviderTests testMethod=test_Provider_when_calling_update_record_with_full_name_should_modify_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_with_full_name_should_modify_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:248: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227381.9297016
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001366138458252 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s] ___________ HetznerKonsoleHProviderTests.test_Provider_authenticate ____________
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_authenticate>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_authenticate(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:120: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227412.1908543
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00184440612793 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_create_record_for_A_with_valid_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_create_record_for_A_with_valid_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_A_with_valid_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:137: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227472.5597498
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001546382904053 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_CNAME_with_valid_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:142: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227502.8352175
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00182032585144 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:159: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227533.1063695
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00209331512451 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_TXT_with_full_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:153: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227563.4163032
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.002171754837036 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_for_TXT_with_valid_name_and_content(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:147: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227593.6919627
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001668691635132 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_create_record_multiple_times_should_create_record_set 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_create_record_multiple_times_should_create_record_set>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_multiple_times_should_create_record_set(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:329: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227623.9842434
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00209879875183 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_create_record_with_duplicate_records_should_be_noop(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:317: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227654.274271
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001965522766113 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_delete_record_by_filter_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_delete_record_by_filter_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_filter_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:280: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227684.612756
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.002180337905884 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:301: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227714.911293
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001580953598022 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:290: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227745.2531846
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00243043899536 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_delete_record_by_identifier_should_remove_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_delete_record_by_identifier_should_remove_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_by_identifier_should_remove_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:271: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227775.5630276
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.0020112991333 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:373: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227805.8652472
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001646280288696 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_delete_record_with_record_set_name_remove_all 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_delete_record_with_record_set_name_remove_all>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_delete_record_with_record_set_name_remove_all(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:358: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227836.2682204
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001182317733765 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_list_records_after_setting_ttl 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_list_records_after_setting_ttl>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_after_setting_ttl(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:207: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227866.6054685
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.000760555267334 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_list_records_should_handle_record_sets 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_list_records_should_handle_record_sets>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_should_handle_record_sets(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:346: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227896.9345942
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.000595569610596 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_fqdn_name_filter_should_return_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:195: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227927.345853
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.002305269241333 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_list_records_with_full_name_filter_should_return_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_list_records_with_full_name_filter_should_return_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_full_name_filter_should_return_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:183: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227957.6347275
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.000818967819214 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list>
[ 1587s] 
[ 1587s]     @pytest.mark.ext_suite_1
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_invalid_filter_should_be_empty_list(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:338: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545227988.0226264
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00152277946472 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_list_records_with_name_filter_should_return_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_list_records_with_name_filter_should_return_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_name_filter_should_return_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:173: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545228018.3699582
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001624584197998 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_list_records_with_no_arguments_should_list_all 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_list_records_with_no_arguments_should_list_all>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_list_records_with_no_arguments_should_list_all(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:168: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545228048.6449227
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.000717878341675 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_update_record_should_modify_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_update_record_should_modify_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_should_modify_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:232: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545228079.003393
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001289129257202 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_update_record_should_modify_record_name_specified 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_update_record_should_modify_record_name_specified>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_should_modify_record_name_specified(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:240: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545228109.3683515
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.001031160354614 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:258: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545228139.6750817
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.000885009765625 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s]  HetznerKonsoleHProviderTests.test_Provider_when_calling_update_record_with_full_name_should_modify_record 
[ 1587s] 
[ 1587s] self = <test_hetzner.HetznerKonsoleHProviderTests testMethod=test_Provider_when_calling_update_record_with_full_name_should_modify_record>
[ 1587s] 
[ 1587s]     @_vcr_integration_test
[ 1587s]     def test_Provider_when_calling_update_record_with_full_name_should_modify_record(self):
[ 1587s] >       provider = self._construct_authenticated_provider()
[ 1587s] 
[ 1587s] tests/providers/integration_tests.py:248: 
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] tests/providers/integration_tests.py:464: in _construct_authenticated_provider
[ 1587s]     provider.authenticate()
[ 1587s] lexicon/providers/hetzner.py:168: in authenticate
[ 1587s]     with self._session(self.domain, get_zone=False):
[ 1587s] /usr/lib64/python3.6/contextlib.py:81: in __enter__
[ 1587s]     return next(self.gen)
[ 1587s] lexicon/providers/hetzner.py:589: in _session
[ 1587s]     qdomain, nameservers, cname = Provider._get_dns_cname((name if name else domain+'.'), link)
[ 1587s] lexicon/providers/hetzner.py:462: in _get_dns_cname
[ 1587s]     domain = dns.resolver.zone_for_name(name).to_text(True)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1156: in zone_for_name
[ 1587s]     answer = resolver.query(name, dns.rdatatype.SOA, rdclass, tcp)
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:1041: in query
[ 1587s]     timeout = self._compute_timeout(start)
[ 1587s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[ 1587s] 
[ 1587s] self = <dns.resolver.Resolver object at 0x7fda8101cc50>
[ 1587s] start = 1545228170.0485935
[ 1587s] 
[ 1587s]     def _compute_timeout(self, start):
[ 1587s]         now = time.time()
[ 1587s]         duration = now - start
[ 1587s]         if duration < 0:
[ 1587s]             if duration < -1:
[ 1587s]                 # Time going backwards is bad.  Just give up.
[ 1587s]                 raise Timeout(timeout=duration)
[ 1587s]             else:
[ 1587s]                 # Time went backwards, but only a little.  This can
[ 1587s]                 # happen, e.g. under vmware with older linux kernels.
[ 1587s]                 # Pretend it didn't happen.
[ 1587s]                 now = start
[ 1587s]         if duration >= self.lifetime:
[ 1587s] >           raise Timeout(timeout=duration)
[ 1587s] E           dns.exception.Timeout: The DNS operation timed out after 30.00108814239502 seconds
[ 1587s] 
[ 1587s] /usr/lib/python3.6/site-packages/dns/resolver.py:858: Timeout
[ 1587s] ====== 50 failed, 4 passed, 4 skipped, 1460 deselected in 1580.97 seconds ======
```
[Full build log](https://github.com/AnalogJ/lexicon/files/2695322/lexicon-build-log.txt) is here.



Discussion:
Hi @mcepl, you are right. It fails because of no nameservers found for the test domains. I will implement fallback handling asap. 
Thanks

Resolving patch:
diff --git a/lexicon/providers/hetzner.py b/lexicon/providers/hetzner.py
--- a/lexicon/providers/hetzner.py
+++ b/lexicon/providers/hetzner.py
@@ -421,6 +421,7 @@ def _dns_lookup(name, rdtype, nameservers=None):
         rrset = dns.rrset.from_text(name, 0, 1, rdtype)
         try:
             resolver = dns.resolver.Resolver()
+            resolver.lifetime = 1
             if nameservers:
                 resolver.nameservers = nameservers
             rrset = resolver.query(name, rdtype)
@@ -459,7 +460,9 @@ def _get_dns_cname(name, link=False):
         more linked record name was found for the given fully qualified record name or
         the CNAME lookup was disabled, and then returns the parameters as a tuple.
         """
-        domain = dns.resolver.zone_for_name(name).to_text(True)
+        resolver = dns.resolver.Resolver()
+        resolver.lifetime = 1
+        domain = dns.resolver.zone_for_name(name, resolver=resolver).to_text(True)
         nameservers = Provider._get_nameservers(domain)
         cname = None
         links, max_links = 0, 5
@@ -474,9 +477,9 @@ def _get_dns_cname(name, link=False):
             if rrset:
                 links += 1
                 cname = rrset[0].to_text()
-                qdomain = dns.resolver.zone_for_name(cname)
-                if domain != qdomain.to_text(True):
-                    domain = qdomain.to_text(True)
+                qdomain = dns.resolver.zone_for_name(cname, resolver=resolver).to_text(True)
+                if domain != qdomain:
+                    domain = qdomain
                     nameservers = Provider._get_nameservers(qdomain)
             else:
                 link = False
@@ -504,10 +507,10 @@ def _link_record(self):
             if action != 'update' or name == qname or not qname:
                 LOGGER.info('Hetzner => Enable CNAME lookup '
                             '(see --linked parameter)')
-                return qname, True
+                return name, True
         LOGGER.info('Hetzner => Disable CNAME lookup '
                     '(see --linked parameter)')
-        return qname, False
+        return name, False
 
     def _propagated_record(self, rdtype, name, content, nameservers=None):
         """


Test patch:
diff --git a/tests/providers/test_hetzner.py b/tests/providers/test_hetzner.py
--- a/tests/providers/test_hetzner.py
+++ b/tests/providers/test_hetzner.py
@@ -1,16 +1,50 @@
-# Test for one implementation of the interface
-from lexicon.providers.hetzner import Provider
-from integration_tests import IntegrationTests
 from unittest import TestCase
-import pytest
-
 import os
+import mock
+import pytest
 from bs4 import BeautifulSoup
+import dns.resolver
+from lexicon.providers.hetzner import Provider
+from integration_tests import IntegrationTests
+
+def _no_dns_lookup():
+    _domains = ['rimek.info', 'bettilaila.com']
+    _resolver = dns.resolver.Resolver()
+    _resolver.lifetime = 1
+    try:
+        for _domain in _domains:
+            _ = dns.resolver.zone_for_name(_domain, resolver=_resolver)
+        return False
+    except dns.exception.DNSException:
+        pass
+    return True
+
+class HetznerIntegrationTests(IntegrationTests):
+
+    @pytest.fixture(autouse=True)
+    def dns_cname_mock(self, request):
+        _ignore_mock = request.node.get_marker('ignore_dns_cname_mock')
+        _domain_mock = self.domain
+        if request.node.name == 'test_Provider_authenticate_with_unmanaged_domain_should_fail':
+            _domain_mock = 'thisisadomainidonotown.com'
+        if _ignore_mock:
+            yield
+        else:
+            with mock.patch('lexicon.providers.hetzner.Provider._get_dns_cname',
+                            return_value=(_domain_mock, [], None)) as fixture:
+                yield fixture
+
+    @pytest.mark.skipif(_no_dns_lookup(), reason='No DNS resolution possible.')
+    @pytest.mark.ignore_dns_cname_mock
+    def test_get_dns_cname(self):
+        """Ensure that zone for name can be resolved through dns.resolver call."""
+        _domain, _nameservers, _cname = Provider._get_dns_cname(('_acme-challenge.fqdn.{}.'
+                                                                 .format(self.domain)), False)
+        assert _domain == self.domain
+        assert _nameservers
+        assert not _cname
 
-# Hook into testing framework by inheriting unittest.TestCase and reuse
-# the tests which *each and every* implementation of the interface must
-# pass, by inheritance from integration_tests.IntegrationTests
-class HetznerRobotProviderTests(TestCase, IntegrationTests):
+class HetznerRobotProviderTests(TestCase, HetznerIntegrationTests):
 
     Provider = Provider
     provider_name = 'hetzner'
@@ -18,7 +52,7 @@ class HetznerRobotProviderTests(TestCase, IntegrationTests):
     domain = 'rimek.info'
 
     def _filter_post_data_parameters(self):
-        return ['_username','_password', '_csrf_token']
+        return ['_username', '_password', '_csrf_token']
 
     def _filter_headers(self):
         return ['Cookie']
@@ -28,9 +62,11 @@ def _filter_response(self, response):
             if cookie in response['headers']:
                 del response['headers'][cookie]
         if os.environ.get('LEXICON_LIVE_TESTS', 'false') == 'true':
-            filter_body = BeautifulSoup(response['body']['string'], 'html.parser').find(id='center_col')
+            filter_body = (BeautifulSoup(response['body']['string'], 'html.parser')
+                           .find(id='center_col'))
             if not filter_body:
-                filter_body = BeautifulSoup(response['body']['string'], 'html.parser').find(id='login-form')
+                filter_body = (BeautifulSoup(response['body']['string'], 'html.parser')
+                               .find(id='login-form'))
             response['body']['string'] = str(filter_body).encode('UTF-8')
         return response
 
@@ -41,7 +77,7 @@ def _test_parameters_overrides(self):
                    'latency': 1}
         return options
 
-class HetznerKonsoleHProviderTests(TestCase, IntegrationTests):
+class HetznerKonsoleHProviderTests(TestCase, HetznerIntegrationTests):
 
     Provider = Provider
     provider_name = 'hetzner'
@@ -49,7 +85,7 @@ class HetznerKonsoleHProviderTests(TestCase, IntegrationTests):
     domain = 'bettilaila.com'
 
     def _filter_post_data_parameters(self):
-        return ['login_user_inputbox','login_pass_inputbox', '_csrf_name', '_csrf_token']
+        return ['login_user_inputbox', 'login_pass_inputbox', '_csrf_name', '_csrf_token']
 
     def _filter_headers(self):
         return ['Cookie']
@@ -59,15 +95,17 @@ def _filter_response(self, response):
             if cookie in response['headers']:
                 del response['headers'][cookie]
         if os.environ.get('LEXICON_LIVE_TESTS', 'false') == 'true':
-            filter_body = BeautifulSoup(response['body']['string'], 'html.parser').find(id='content')
+            filter_body = (BeautifulSoup(response['body']['string'], 'html.parser')
+                           .find(id='content'))
             if not filter_body:
-                filter_body = BeautifulSoup(response['body']['string'], 'html.parser').find(id='loginform')
+                filter_body = (BeautifulSoup(response['body']['string'], 'html.parser')
+                               .find(id='loginform'))
             response['body']['string'] = str(filter_body).encode('UTF-8')
         return response
 
     def _test_parameters_overrides(self):
-        env_username = os.environ.get('LEXICON_HETZNER_KONSOLEH_USERNAME')
-        env_password = os.environ.get('LEXICON_HETZNER_KONSOLEH_PASSWORD')
+        env_username = os.environ.get('LEXICON_HETZNER_KONSOLEH_USERNAME', 'placeholder_username')
+        env_password = os.environ.get('LEXICON_HETZNER_KONSOLEH_PASSWORD', 'placeholder_password')
         options = {'auth_account': 'konsoleh',
                    'auth_username': env_username,
                    'auth_password': env_password,