Hi,
According to [ansible lifecyle][1], the ansible 2.8 is security fixes only.
And ansible 2.8 already breaks our CI on Fedora 32 when trying to collect service facts:
https://github.com/ansible/ansible/issues/69302
Meanwhile, due to lacking of support relative import, the files in `modules_utils` are required to use:
from ansible.module_utils.xxx.error import LsrNetworkNmError
Instead of:
from .error import LsrNetworkNmError
Lacking of relative import also requires a lot hack to our unit tests.
Hence I would like to suggest we drop the support of ansible 2.8.
Any ideas?
[1]: https://docs.ansible.com/ansible/devel/reference_appendices/release_and_main...
The short answer is no, we cannot drop support for ansible 2.8 yet (upstream, it is still marked as maintained for security fixes, which means we should still support it; downstream for Red Hat customers, we will still be supporting 2.8 for the foreseeable future).
That being said - let's see if we can fix your problems - see below
On 10/24/20 2:32 AM, Gris Ge wrote:
Hi,
According to [ansible lifecyle][1], the ansible 2.8 is security fixes only.
And ansible 2.8 already breaks our CI on Fedora 32 when trying to collect service facts:
I thought we had some sort of workaround for this? Perhaps Till remembers?
Meanwhile, due to lacking of support relative import, the files in `modules_utils` are required to use:
from ansible.module_utils.xxx.error import LsrNetworkNmError
Instead of:
from .error import LsrNetworkNmError
Is that an ansible 2.8 issue or a python 2.x issue?
Lacking of relative import also requires a lot hack to our unit tests.
How so?
Hence I would like to suggest we drop the support of ansible 2.8.
Any ideas?
systemroles mailing list -- systemroles@lists.fedorahosted.org To unsubscribe send an email to systemroles-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/systemroles@lists.fedorahosted....
Hi,
Am Mo., 26. Okt. 2020 um 19:29 Uhr schrieb Rich Megginson rmeggins@redhat.com:
The short answer is no, we cannot drop support for ansible 2.8 yet (upstream, it is still marked as maintained for security fixes, which means we should still support it; downstream for Red Hat customers, we will still be supporting 2.8 for the foreseeable future).
That being said - let's see if we can fix your problems - see below
On 10/24/20 2:32 AM, Gris Ge wrote:
Hi,
According to [ansible lifecyle][1], the ansible 2.8 is security fixes only.
And ansible 2.8 already breaks our CI on Fedora 32 when trying to collect service facts:
https://github.com/ansible/ansible/issues/69302
I thought we had some sort of workaround for this? Perhaps Till remembers?
Maybe it just went away because we did not test with Ansible 2.8 anymore back then. The discussion/idea to remove the services_facts module happened here: https://github.com/linux-system-roles/network/pull/219
Thanks Till
Meanwhile, due to lacking of support relative import, the files in `modules_utils` are required to use:
from ansible.module_utils.xxx.error import LsrNetworkNmError
Instead of:
from .error import LsrNetworkNmError
Is that an ansible 2.8 issue or a python 2.x issue?
Lacking of relative import also requires a lot hack to our unit tests.
How so?
Hence I would like to suggest we drop the support of ansible 2.8.
Any ideas?
systemroles mailing list -- systemroles@lists.fedorahosted.org To unsubscribe send an email to systemroles-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/systemroles@lists.fedorahosted....
systemroles mailing list -- systemroles@lists.fedorahosted.org To unsubscribe send an email to systemroles-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/systemroles@lists.fedorahosted....
Hi,
On Mon, Oct 26, 2020 at 09:47:27PM +0100, Till Maas wrote:
Am Mo., 26. Okt. 2020 um 19:29 Uhr schrieb Rich Megginson rmeggins@redhat.com:
The short answer is no, we cannot drop support for ansible 2.8 yet (upstream, it is still marked as maintained for security fixes, which means we should still support it; downstream for Red Hat customers, we will still be supporting 2.8 for the foreseeable future).
That being said - let's see if we can fix your problems - see below
On 10/24/20 2:32 AM, Gris Ge wrote:
Hi,
According to [ansible lifecyle][1], the ansible 2.8 is security fixes only.
And ansible 2.8 already breaks our CI on Fedora 32 when trying to collect service facts:
https://github.com/ansible/ansible/issues/69302
I thought we had some sort of workaround for this? Perhaps Till remembers?
Maybe it just went away because we did not test with Ansible 2.8 anymore back then. The discussion/idea to remove the services_facts module happened here: https://github.com/linux-system-roles/network/pull/219
As we can specify the minimum ansible version per image in CI, I suggest to set it to 2.9 for Fedora images.
(It will solve this service_facts issue but not the other one with module_utils import.)
P.
On Mon, Oct 26, 2020 at 12:28:42PM -0600, Rich Megginson wrote:
Meanwhile, due to lacking of support relative import, the files in `modules_utils` are required to use:
from ansible.module_utils.xxx.error import LsrNetworkNmError
Instead of:
from .error import LsrNetworkNmError
Is that an ansible 2.8 issue or a python 2.x issue?
Ansible 2.8. The Ansible 2.9 document confirmed relative import:
https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.9.html...
Lacking of relative import also requires a lot hack to our unit tests.
How so?
sys.modules["ansible"] = mock.Mock() sys.modules["ansible.module_utils.basic"] = mock.Mock() sys.modules["ansible.module_utils"] = mock.Mock() sys.modules["ansible.module_utils.network_lsr"] = __import__("network_lsr")
On 10/27/20 8:53 AM, Gris Ge wrote:
On Mon, Oct 26, 2020 at 12:28:42PM -0600, Rich Megginson wrote:
Meanwhile, due to lacking of support relative import, the files in `modules_utils` are required to use:
from ansible.module_utils.xxx.error import LsrNetworkNmError
Instead of:
from .error import LsrNetworkNmError
Is that an ansible 2.8 issue or a python 2.x issue?
Ansible 2.8. The Ansible 2.9 document confirmed relative import:
https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.9.html...
Lacking of relative import also requires a lot hack to our unit tests.
How so?
sys.modules["ansible"] = mock.Mock() sys.modules["ansible.module_utils.basic"] = mock.Mock() sys.modules["ansible.module_utils"] = mock.Mock() sys.modules["ansible.module_utils.network_lsr"] = __import__("network_lsr")
I would suggest that the network role uses the setup_module_utils.sh script instead of having the tests rewrite the module import path.
e.g. like the storage role which also uses module_utils https://github.com/linux-system-roles/storage/blob/master/.travis/config.sh#...
and the kernel_settings role https://github.com/linux-system-roles/kernel_settings/blob/master/.travis/co...
As a follow up, here are some helpful links to clarify support policies and versions we should expect to support for Ansible Tower, Satellite, and other product integrations.
*Top Support Policies for Red Hat Ansible Automation* https://access.redhat.com/ansible-top-support-policies
*Red Hat Ansible Engine Life Cycle* https://access.redhat.com/support/policy/updates/ansible-engine I am working to clarify the length of support or compatibility for 2.8 after Jan 2021
*Is Ansible 2.10 fully supported by Red Hat?* https://access.redhat.com/articles/5392421 * Note that this is currently upstream/community supported only today as per this doc.
We will provide additional guidance on the Jira Feature ticket. Note that compatibility for Fedora can expand the length of support beyond RHEL requirements (for example, ansible 2.10).
Terry
On Tue, Oct 27, 2020 at 11:49 AM Rich Megginson rmeggins@redhat.com wrote:
On 10/27/20 8:53 AM, Gris Ge wrote:
On Mon, Oct 26, 2020 at 12:28:42PM -0600, Rich Megginson wrote:
Meanwhile, due to lacking of support relative import, the files in `modules_utils` are required to use:
from ansible.module_utils.xxx.error import LsrNetworkNmError
Instead of:
from .error import LsrNetworkNmError
Is that an ansible 2.8 issue or a python 2.x issue?
Ansible 2.8. The Ansible 2.9 document confirmed relative import:
https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.9.html...
Lacking of relative import also requires a lot hack to our unit tests.
How so?
sys.modules["ansible"] = mock.Mock() sys.modules["ansible.module_utils.basic"] = mock.Mock() sys.modules["ansible.module_utils"] = mock.Mock() sys.modules["ansible.module_utils.network_lsr"] =
__import__("network_lsr")
I would suggest that the network role uses the setup_module_utils.sh script instead of having the tests rewrite the module import path.
e.g. like the storage role which also uses module_utils
https://github.com/linux-system-roles/storage/blob/master/.travis/config.sh#...
and the kernel_settings role
https://github.com/linux-system-roles/kernel_settings/blob/master/.travis/co...
systemroles mailing list -- systemroles@lists.fedorahosted.org To unsubscribe send an email to systemroles-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/systemroles@lists.fedorahosted....
On Tue, Oct 27, 2020 at 03:21:18PM -0400, Terry Bowling wrote:
As a follow up, here are some helpful links to clarify support policies and versions we should expect to support for Ansible Tower, Satellite, and other product integrations.
*Red Hat Ansible Engine Life Cycle* https://access.redhat.com/support/policy/updates/ansible-engine I am working to clarify the length of support or compatibility for 2.8 after Jan 2021
Hi Terry,
That's really a big relief that we don't support 2.8 for 5+ years.
Do we have jira/bug/issue tracking your effort on planned support length of 2.8 in linux-system-roles?
Thank you for the links! Best regards.
On Tue, Oct 27, 2020 at 09:49:00AM -0600, Rich Megginson wrote:
sys.modules["ansible.module_utils.network_lsr"] = __import__("network_lsr")
I would suggest that the network role uses the setup_module_utils.sh script instead of having the tests rewrite the module import path.
Hi Rich,
Thanks. I will track the effort at https://github.com/linux-system-roles/network/issues/306
systemroles@lists.fedorahosted.org