On Fri, May 26, 2017 at 2:35 AM, Amber Brown <[email protected]>
wrote:
> Hi everyone,
>
> Fresh from PyCon US, comes a 17.5 prerelease. Fancy things in this release:
>
> - twisted.python.url has been spun out into the new 'hyperlink' package;
> importing twisted.python.url is now a compatibility alias
> - Support for OpenSSL 1.1.0.
> - Fixes around the reactor DNS resolver changes in 17.1, solving all known
> regressions
> - Deferred.asFuture and Deferred.fromFuture, to allow you to map asyncio
> Futures to Twisted Deferreds and vice versa, for use the with Python 3+
> asyncioreactor in Twisted
> - Support for TLS 1.3 ciphersuites, in advance of a released OpenSSL to
> enable the protocol
> - Further Python 3 support in twisted.web, initial support in
> twisted.mail.smtp
>
> Please see the NEWS.rst file and download the tarball at
> https://twistedmatrix.com/Releases/rc/17.5.0rc2/ . (rc1 fell to metadata
> mishaps!)
>
> Let me know if you notice anything out of the ordinary. If there's no
> problems, it'll release in the next week or so.
>
>
Thanks to all who contributed to this (and previous) efforts.
Some of the txkube problems have been resolved but either not entirely or
some new ones have been introduced. Attached is a log of the failures from
the unit test suite. I haven't investigated these new errors in depth yet
so I won't say whether these are txkube's fault or Twisted's fault... but
at least *something* is at fault.
Jean-Paul
[ERROR]
Traceback (most recent call last):
Failure: testtools.testresult.real._StringException: Traceback (most recent
call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/txkube/test/test_authentication.py",
line 124, in test_bearer_token_authorization
request_bytes = self._authorized_request(token=token, headers=None)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/txkube/test/test_authentication.py",
line 108, in _authorized_request
[(host, port, factory, _, _)] = reactor.tcpClients
ValueError: need more than 0 values to unpack
txkube.test.test_authentication.AuthenticateWithServiceAccountTests.test_bearer_token_authorization
===============================================================================
[ERROR]
Traceback (most recent call last):
Failure: testtools.testresult.real._StringException: Traceback (most recent
call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/txkube/test/test_authentication.py",
line 140, in test_other_headers_preserved
request_bytes = self._authorized_request(token=token, headers=headers)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/txkube/test/test_authentication.py",
line 108, in _authorized_request
[(host, port, factory, _, _)] = reactor.tcpClients
ValueError: need more than 0 values to unpack
txkube.test.test_authentication.AuthenticateWithServiceAccountTests.test_other_headers_preserved
===============================================================================
[ERROR]
Traceback (most recent call last):
Failure: testtools.testresult.real._StringException: eliot-log: {{{
2ad4f697-40a8-4bbe-bcf1-e54383e849ac
└── network-client:delete@1/started
├── kind: Namespace
├── name: e
├── namespace: None
├── timestamp: 1495798510.55902
├── network-client:request@2,1/started
│ ├── method: DELETE
│ ├── timestamp: 1495798510.559532
│ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ └── network-client:request@2,2/succeeded
│ └── timestamp: 1495798510.564767
└── network-client:delete@3/failed
├── exception: txkube._exception.KubernetesError
├── reason: <KubernetesError: code = 404; status =
v1.Status(status=u'Failure', code=404, reason=u'NotFound',
details=v1.StatusDetails(kind=u'namespaces', group=None, name=u'e',
retryAfterSeconds=None, causes=V1.statuscausePVector([])), message=u'namespaces
"e" not found', metadata=v1.ListMeta(selfLink=None, resourceVersion=None))>
└── timestamp: 1495798510.565738
ffd04195-0b06-44db-9dc3-bc6f99ae5326
└── poll:start@1/started
├── obj
│ ├── apiVersion: v1
│ ├── kind: Namespace
│ └── metadata
│ ├── annotations
│ ├── finalizers: []
│ ├── labels
│ │ ├── c: x
│ │ └── v8: k
│ ├── name: e
│ └── ownerReferences: []
├── timestamp: 1495798510.566214
├── <UNNAMED TASK>
│ ├── poll_iteration: None
│ └── timestamp: 1495798510.566402
├── network-client:get@3,1/started
│ ├── kind: Namespace
│ ├── name: e
│ ├── namespace: None
│ ├── timestamp: 1495798510.566587
│ ├── network-client:request@3,2,1/started
│ │ ├── method: GET
│ │ ├── timestamp: 1495798510.566854
│ │ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ │ └── network-client:request@3,2,2/succeeded
│ │ └── timestamp: 1495798510.570049
│ └── network-client:get@3,3/failed
│ ├── exception: txkube._exception.KubernetesError
│ ├── reason: <KubernetesError: code = 404; status =
v1.Status(status=u'Failure', code=404, reason=u'NotFound',
details=v1.StatusDetails(kind=u'namespaces', group=None, name=u'e',
retryAfterSeconds=None, causes=V1.statuscausePVector([])), message=u'namespaces
"e" not found', metadata=v1.ListMeta(selfLink=None, resourceVersion=None))>
│ └── timestamp: 1495798510.571157
└── poll:start@4/succeeded
└── timestamp: 1495798510.571529
3fd46547-0772-441e-9896-6a52f1f8500b
└── network-client:create@1/started
├── timestamp: 1495798510.571942
├── <UNNAMED TASK>
│ ├── submitted_object
│ │ ├── apiVersion: v1
│ │ ├── kind: Namespace
│ │ └── metadata
│ │ ├── annotations
│ │ ├── finalizers: []
│ │ ├── labels
│ │ │ ├── c: x
│ │ │ └── v8: k
│ │ ├── name: e
│ │ └── ownerReferences: []
│ └── timestamp: 1495798510.572287
├── network-client:request@3,1/started
│ ├── method: POST
│ ├── timestamp: 1495798510.572626
│ ├── url: https://kubernetes.example.invalid./api/v1/namespaces
│ ├── memory:create@3,2,1/started
│ │ ├── kind: namespaces
│ │ ├── timestamp: 1495798510.574204
│ │ └── memory:create@3,2,2/succeeded
│ │ └── timestamp: 1495798510.57565
│ └── network-client:request@3,3/succeeded
│ └── timestamp: 1495798510.5765
└── network-client:create@4/succeeded
├── response_object
│ ├── apiVersion: v1
│ ├── kind: Namespace
│ └── metadata
│ ├── annotations
│ ├── finalizers: []
│ ├── labels
│ │ ├── c: x
│ │ └── v8: k
│ ├── name: e
│ └── ownerReferences: []
└── timestamp: 1495798510.577317
681b6079-8efe-4f84-8e65-1d7813672458
└── network-client:create@1/started
├── timestamp: 1495798510.628154
├── <UNNAMED TASK>
│ ├── submitted_object
│ │ ├── apiVersion: v1
│ │ ├── data: None
│ │ ├── kind: ConfigMap
│ │ └── metadata
│ │ ├── annotations
│ │ ├── finalizers: []
│ │ ├── labels
│ │ │ ├── axvp7ist: a
│ │ │ ├── az8dkywg/l: p
│ │ │ ├── d74gcupm1vlm/xk5: e
│ │ │ ├── g-u: dg
│ │ │ ├── hs0dvu: do
│ │ │ ├── r: y1
│ │ │ ├── r2.pa.th.i/rnli: h
│ │ │ ├── sr: fzaa52b
│ │ │ ├── w: zr8
│ │ │ └── y: h
│ │ ├── name: d
│ │ ├── namespace: e
│ │ └── ownerReferences: []
│ └── timestamp: 1495798510.62869
├── network-client:request@3,1/started
│ ├── method: POST
│ ├── timestamp: 1495798510.629161
│ ├── url:
https://kubernetes.example.invalid./api/v1/namespaces/e/configmaps
│ ├── memory:create@3,2,1/started
│ │ ├── kind: configmaps
│ │ ├── timestamp: 1495798510.631462
│ │ └── memory:create@3,2,2/succeeded
│ │ └── timestamp: 1495798510.633133
│ └── network-client:request@3,3/succeeded
│ └── timestamp: 1495798510.634102
└── network-client:create@4/succeeded
├── response_object
│ ├── apiVersion: v1
│ ├── data: None
│ ├── kind: ConfigMap
│ └── metadata
│ ├── annotations
│ ├── finalizers: []
│ ├── labels
│ │ ├── axvp7ist: a
│ │ ├── az8dkywg/l: p
│ │ ├── d74gcupm1vlm/xk5: e
│ │ ├── g-u: dg
│ │ ├── hs0dvu: do
│ │ ├── r: y1
│ │ ├── r2.pa.th.i/rnli: h
│ │ ├── sr: fzaa52b
│ │ ├── w: zr8
│ │ └── y: h
│ ├── name: d
│ ├── namespace: e
│ └── ownerReferences: []
└── timestamp: 1495798510.635196
c49ed305-030b-48c0-88fa-3d8f49f7609c
└── network-client:list@1/started
├── apiVersion: v1
├── kind: ConfigMap
├── timestamp: 1495798510.635709
├── network-client:request@2,1/started
│ ├── method: GET
│ ├── timestamp: 1495798510.636105
│ ├── url: https://kubernetes.example.invalid./api/v1/configmaps
│ ├── memory:list@2,2,1/started
│ │ ├── kind: configmaps
│ │ ├── timestamp: 1495798510.637864
│ │ └── memory:list@2,2,2/succeeded
│ │ └── timestamp: 1495798510.638355
│ └── network-client:request@2,3/succeeded
│ └── timestamp: 1495798510.639244
└── network-client:list@3/succeeded
└── timestamp: 1495798510.640504
637a1c25-b51a-4adf-a793-3ecacaa0a1ed
└── network-client:delete@1/started
├── kind: Namespace
├── name: e
├── namespace: None
├── timestamp: 1495798510.64151
├── network-client:request@2,1/started
│ ├── method: DELETE
│ ├── timestamp: 1495798510.642039
│ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ └── network-client:request@2,2/succeeded
│ └── timestamp: 1495798510.645008
└── network-client:delete@3/succeeded
└── timestamp: 1495798510.645366
fca69971-893b-4b04-9c33-e33a6f7008b0
└── poll:start@1/started
├── obj
│ ├── apiVersion: v1
│ ├── kind: Namespace
│ └── metadata
│ ├── annotations
│ ├── finalizers: []
│ ├── labels
│ │ ├── c: x
│ │ └── v8: k
│ ├── name: e
│ └── ownerReferences: []
├── timestamp: 1495798510.645802
├── <UNNAMED TASK>
│ ├── poll_iteration: None
│ └── timestamp: 1495798510.646016
├── network-client:get@3,1/started
│ ├── kind: Namespace
│ ├── name: e
│ ├── namespace: None
│ ├── timestamp: 1495798510.646276
│ ├── network-client:request@3,2,1/started
│ │ ├── method: GET
│ │ ├── timestamp: 1495798510.646669
│ │ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ │ └── network-client:request@3,2,2/succeeded
│ │ └── timestamp: 1495798510.649995
│ └── network-client:get@3,3/failed
│ ├── exception: txkube._exception.KubernetesError
│ ├── reason: <KubernetesError: code = 404; status =
v1.Status(status=u'Failure', code=404, reason=u'NotFound',
details=v1.StatusDetails(kind=u'namespaces', group=None, name=u'e',
retryAfterSeconds=None, causes=V1.statuscausePVector([])), message=u'namespaces
"e" not found', metadata=v1.ListMeta(selfLink=None, resourceVersion=None))>
│ └── timestamp: 1495798510.651176
└── poll:start@4/succeeded
└── timestamp: 1495798510.651542
}}}
logged-error: {{{
Traceback (most recent call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 250, in inContext
result = inContext.theWork()
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 266, in <lambda>
inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 85, in callWithContext
return func(*args,**kw)
socket.gaierror: [Errno -2] Name or service not known
}}}
logged-error-1: {{{
Traceback (most recent call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 250, in inContext
result = inContext.theWork()
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 266, in <lambda>
inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 85, in callWithContext
return func(*args,**kw)
socket.gaierror: [Errno -2] Name or service not known
}}}
twisted-log: {{{
2017-05-26 07:35:10-0400 [-] while looking up example.invalid. with <bound
method HostnameEndpoint._fallbackNameResolution of
<twisted.internet.endpoints.HostnameEndpoint object at 0x7f1c3d205c10>>
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/_threads/_threadworker.py",
line 46, in work
task()
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/_threads/_team.py",
line 190, in doWork
task()
--- <exception caught here> ---
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 250, in inContext
result = inContext.theWork()
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 266, in <lambda>
inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 85, in callWithContext
return func(*args,**kw)
socket.gaierror: [Errno -2] Name or service not known
2017-05-26 07:35:10-0400 [-] while looking up example.invalid. with <bound
method HostnameEndpoint._fallbackNameResolution of
<twisted.internet.endpoints.HostnameEndpoint object at 0x7f1c3d243890>>
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/_threads/_threadworker.py",
line 46, in work
task()
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/_threads/_team.py",
line 190, in doWork
task()
--- <exception caught here> ---
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 250, in inContext
result = inContext.theWork()
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/threadpool.py",
line 266, in <lambda>
inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/python/context.py",
line 85, in callWithContext
return func(*args,**kw)
socket.gaierror: [Errno -2] Name or service not known
2017-05-26 07:35:10-0400 [-] Main loop terminated.
}}}
unhandled-error-in-deferred: {{{
Traceback (most recent call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/defer.py",
line 653, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/endpoints.py",
line 954, in startConnectionAttempts
"no results for hostname lookup: {}".format(self._hostStr)
twisted.internet.error.DNSLookupError: DNS lookup failed: no results for
hostname lookup: example.invalid..
}}}
unhandled-error-in-deferred-1: {{{
Traceback (most recent call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/defer.py",
line 653, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/endpoints.py",
line 954, in startConnectionAttempts
"no results for hostname lookup: {}".format(self._hostStr)
twisted.internet.error.DNSLookupError: DNS lookup failed: no results for
hostname lookup: example.invalid..
}}}
txkube.test.test_memory.KubernetesClientIntegrationTests.test_configmap
===============================================================================
[ERROR]
Traceback (most recent call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/endpoints.py",
line 992, in startConnectionAttempts
iterateEndpoint.start(self._attemptDelay)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/task.py",
line 190, in start
self.starttime = self.clock.seconds()
exceptions.AttributeError: 'Redirectable' object has no attribute 'seconds'
txkube.test.test_network.NetworkKubernetesFromContextTests.test_client_chain_certificate
===============================================================================
[ERROR]
Traceback (most recent call last):
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/endpoints.py",
line 992, in startConnectionAttempts
iterateEndpoint.start(self._attemptDelay)
File
"/tmp/txkube-twisted-17.5.0rc2/local/lib/python2.7/site-packages/twisted/internet/task.py",
line 190, in start
self.starttime = self.clock.seconds()
exceptions.AttributeError: 'MemoryReactor' object has no attribute 'seconds'
<not in test>
-------------------------------------------------------------------------------
Ran 141 tests in 15.685s
_______________________________________________
Twisted-Python mailing list
[email protected]
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python