oVirt / ovirt-ansible-collection

Ansible collection with official oVirt modules and roles
72 stars 89 forks source link

Remove problematic placeholder vars #734

Open gotmax23 opened 9 months ago

gotmax23 commented 9 months ago
SUMMARY

The Python files and other code in ovirt.ovirt's git repository is syntactically invalid, as it uses placeholder values (@NAMESPACE@ and @NAME@) in the checked in code. This is disrupting efforts to test collections across the ansible package, as we cannot run ansible-test sanity without running extra scripts to preprocess the sources. Also, it prevents installing the collection straight from the git repository (ansible-galaxy collection install git+https://github.com/oVirt/ovirt-ansible-collection.git).

As far as I know, no other collections in the entire package, even the other ones that have different upstream/downstream collection names, do this. I would suggest using the upstream name in the source repository and then run a separate script to replace ovirt.ovirt across the collection with whatever the downstream name like the others do.

COMPONENT NAME

all

STEPS TO REPRODUCE

N/A

EXPECTED RESULTS

N/A

ACTUAL RESULTS

N/A

mwperina commented 9 months ago

Hi @gotmax23 ,

placeholders in the collection were introduced due to inability to provide the same namespace used for upstream collection within Automation Hub as a fully supported collection by RH. Before Automation Hub introduction oVirt Ansible modules were included within ansible 2.y distribution and oVirt Ansible roles were available in Galaxy and specific version were test and included in Red Hat Virtualization packaged as RPM, which mean that RHV customers could use any playbook tested on upstream and without any changes they could used it for RHV. Unfortunately when Automation Hub was introduced we needed to put oVirt Ansible Collection under redhat.rhv namespace, which completely broke our compatibility between upstream and downstream. So we were able to solve that within RHV RPMs, where we provide both namespaces.

And we definitely don't want to have 2 repositories, one for ovirt.ovirt and one for redhat.rhv, because that mean much more work and our resources are very limited.

Also we are running sanity tests as a part of our GH CI: https://github.com/oVirt/ovirt-ansible-collection/blob/master/.github/workflows/build.yaml#L11

mwperina commented 9 months ago

This was also discussed in https://github.com/oVirt/ovirt-ansible-collection/issues/256 but without a resolution