[Twisted-Python] Twisted 17.5.0rc2 RC Announcement
Jean-Paul Calderone
exarkun at twistedmatrix.com
Fri May 26 05:38:55 MDT 2017
On Fri, May 26, 2017 at 2:35 AM, Amber Brown <hawkowl at atleastfornow.net>
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20170526/7156818d/attachment-0002.html>
-------------- next part --------------
[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 at 1/started
├── kind: Namespace
├── name: e
├── namespace: None
├── timestamp: 1495798510.55902
├── network-client:request at 2,1/started
│ ├── method: DELETE
│ ├── timestamp: 1495798510.559532
│ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ └── network-client:request at 2,2/succeeded
│ └── timestamp: 1495798510.564767
└── network-client:delete at 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 at 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 at 3,1/started
│ ├── kind: Namespace
│ ├── name: e
│ ├── namespace: None
│ ├── timestamp: 1495798510.566587
│ ├── network-client:request at 3,2,1/started
│ │ ├── method: GET
│ │ ├── timestamp: 1495798510.566854
│ │ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ │ └── network-client:request at 3,2,2/succeeded
│ │ └── timestamp: 1495798510.570049
│ └── network-client:get at 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 at 4/succeeded
└── timestamp: 1495798510.571529
3fd46547-0772-441e-9896-6a52f1f8500b
└── network-client:create at 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 at 3,1/started
│ ├── method: POST
│ ├── timestamp: 1495798510.572626
│ ├── url: https://kubernetes.example.invalid./api/v1/namespaces
│ ├── memory:create at 3,2,1/started
│ │ ├── kind: namespaces
│ │ ├── timestamp: 1495798510.574204
│ │ └── memory:create at 3,2,2/succeeded
│ │ └── timestamp: 1495798510.57565
│ └── network-client:request at 3,3/succeeded
│ └── timestamp: 1495798510.5765
└── network-client:create at 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 at 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 at 3,1/started
│ ├── method: POST
│ ├── timestamp: 1495798510.629161
│ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e/configmaps
│ ├── memory:create at 3,2,1/started
│ │ ├── kind: configmaps
│ │ ├── timestamp: 1495798510.631462
│ │ └── memory:create at 3,2,2/succeeded
│ │ └── timestamp: 1495798510.633133
│ └── network-client:request at 3,3/succeeded
│ └── timestamp: 1495798510.634102
└── network-client:create at 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 at 1/started
├── apiVersion: v1
├── kind: ConfigMap
├── timestamp: 1495798510.635709
├── network-client:request at 2,1/started
│ ├── method: GET
│ ├── timestamp: 1495798510.636105
│ ├── url: https://kubernetes.example.invalid./api/v1/configmaps
│ ├── memory:list at 2,2,1/started
│ │ ├── kind: configmaps
│ │ ├── timestamp: 1495798510.637864
│ │ └── memory:list at 2,2,2/succeeded
│ │ └── timestamp: 1495798510.638355
│ └── network-client:request at 2,3/succeeded
│ └── timestamp: 1495798510.639244
└── network-client:list at 3/succeeded
└── timestamp: 1495798510.640504
637a1c25-b51a-4adf-a793-3ecacaa0a1ed
└── network-client:delete at 1/started
├── kind: Namespace
├── name: e
├── namespace: None
├── timestamp: 1495798510.64151
├── network-client:request at 2,1/started
│ ├── method: DELETE
│ ├── timestamp: 1495798510.642039
│ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ └── network-client:request at 2,2/succeeded
│ └── timestamp: 1495798510.645008
└── network-client:delete at 3/succeeded
└── timestamp: 1495798510.645366
fca69971-893b-4b04-9c33-e33a6f7008b0
└── poll:start at 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 at 3,1/started
│ ├── kind: Namespace
│ ├── name: e
│ ├── namespace: None
│ ├── timestamp: 1495798510.646276
│ ├── network-client:request at 3,2,1/started
│ │ ├── method: GET
│ │ ├── timestamp: 1495798510.646669
│ │ ├── url: https://kubernetes.example.invalid./api/v1/namespaces/e
│ │ └── network-client:request at 3,2,2/succeeded
│ │ └── timestamp: 1495798510.649995
│ └── network-client:get at 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 at 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
More information about the Twisted-Python
mailing list