My spider-sense tells me that fetching the spec (and associated files from the distgit) from a (maybe outdated if we use current-tripleo) .src.rpm is not the best idea, but we should be able to do it without modifying DLRN code.
In [1] we copy the project source Git to DLRN/data/<project_name>. We could fetch the .src.rpm, extract everything but the source tar.gz (something we can detect by parsing Source0 in the spec), then copy that into DLRN/data/<project_name>_distro. We are already passing the --dev switch to DLRN, so that should be transparent.
We could do all that in dlrn-build.yml, ideally with a toggle so we can still reuse the playbook outside the OpenStack infra and then fetch the distgit from GitHub.
I still have some other doubts about this approach:
- How can we detect the proper file name for the .src.rpm to fetch? We know it should be {{ project_name_mapped.stdout }}-*.src.rpm, but we cannot use that wildcard with wget.
- We would still be cloning the rdoinfo repo from GitHub, do we have plans to mirror that inside the OpenStack infra?
My spider-sense tells me that fetching the spec (and associated files from the distgit) from a (maybe outdated if we use current-tripleo) .src.rpm is not the best idea, but we should be able to do it without modifying DLRN code.
In [1] we copy the project source Git to DLRN/data/ <project_ name>. We could fetch the .src.rpm, extract everything but the source tar.gz (something we can detect by parsing Source0 in the spec), then copy that into DLRN/data/ <project_ name>_distro. We are already passing the --dev switch to DLRN, so that should be transparent.
We could do all that in dlrn-build.yml, ideally with a toggle so we can still reuse the playbook outside the OpenStack infra and then fetch the distgit from GitHub.
I still have some other doubts about this approach:
- How can we detect the proper file name for the .src.rpm to fetch? We know it should be {{ project_ name_mapped. stdout }}-*.src.rpm, but we cannot use that wildcard with wget.
- We would still be cloning the rdoinfo repo from GitHub, do we have plans to mirror that inside the OpenStack infra?
[1] - https:/ /github. com/openstack/ tripleo- quickstart- extras/ blob/8d85a55436 e8a93b8081b351f 06ad4100e6dd825 /roles/ build-test- packages/ tasks/dlrn- build.yml# L50-L64