Bug 1712531
Summary: | ansible fails to build with Python 3.8 | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> | ||||
Component: | ansible | Assignee: | Kevin Fenzi <kevin> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | rawhide | CC: | a.badger, athmanem, kevin, maxim | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2019-06-10 06:37:54 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1686977 | ||||||
Attachments: |
|
Description
Miro Hrončok
2019-05-21 17:32:11 UTC
Upstream PR (testing it right now): https://github.com/ansible/ansible/pull/56806 Downstream PR (testing it as well, got past the previous error): https://src.fedoraproject.org/rpms/ansible/pull-request/11 not enough: =================================== FAILURES =================================== __________ TestDellos9Facts.test_dellos9_facts_gather_subset_default ___________ [gw7] linux -- Python 3.8.0 /usr/bin/python3 self = <units.modules.network.dellos9.test_dellos9_facts.TestDellos9Facts testMethod=test_dellos9_facts_gather_subset_default> def test_dellos9_facts_gather_subset_default(self): set_module_args(dict()) > result = self.execute_module() test/units/modules/network/dellos9/test_dellos9_facts.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/units/modules/network/dellos9/dellos9_module.py:62: in execute_module result = self.changed(changed) test/units/modules/network/dellos9/dellos9_module.py:83: in changed self.module.main() lib/ansible/modules/network/dellos9/dellos9_facts.py:559: in main inst.populate() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def populate(self): super(Interfaces, self).populate() self.facts['all_ipv4_addresses'] = list() self.facts['all_ipv6_addresses'] = list() data = self.responses[0] interfaces = self.parse_interfaces(data) > for key in interfaces.keys(): E RuntimeError: dictionary keys changed during iteration lib/ansible/modules/network/dellos9/dellos9_facts.py:255: RuntimeError _________ TestDellos9Facts.test_dellos9_facts_gather_subset_interfaces _________ [gw7] linux -- Python 3.8.0 /usr/bin/python3 self = <units.modules.network.dellos9.test_dellos9_facts.TestDellos9Facts testMethod=test_dellos9_facts_gather_subset_interfaces> def test_dellos9_facts_gather_subset_interfaces(self): set_module_args({'gather_subset': 'interfaces'}) > result = self.execute_module() test/units/modules/network/dellos9/test_dellos9_facts.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/units/modules/network/dellos9/dellos9_module.py:62: in execute_module result = self.changed(changed) test/units/modules/network/dellos9/dellos9_module.py:83: in changed self.module.main() lib/ansible/modules/network/dellos9/dellos9_facts.py:559: in main inst.populate() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def populate(self): super(Interfaces, self).populate() self.facts['all_ipv4_addresses'] = list() self.facts['all_ipv6_addresses'] = list() data = self.responses[0] interfaces = self.parse_interfaces(data) > for key in interfaces.keys(): E RuntimeError: dictionary keys changed during iteration lib/ansible/modules/network/dellos9/dellos9_facts.py:255: RuntimeError =============================== warnings summary =============================== I got it working, amended both PRs. This issue is blocking the Python 3.8 rebuilds. If this package won't build with 3.8, it won't be installable, along with all its dependent packages, after the side tag is merged. Furthermore, as it fails to install, its dependent packages will fail to install and/or build as well. The fix should be pushed on the master branch and no release bump is required. Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.8: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/ This issue needs to be resolved by next week, if other rebuilds of Python 3.8 beta 1 go well. If this is unrealistic for you, let us know how much time you need. Let us know if we can push a fix. I am pushing a 2.8.1 update this week/soon... will add this patch to that. This is pushed to rawhide. Feel free to close it and/or verify it... Thanks. |