awx-operator icon indicating copy to clipboard operation
awx-operator copied to clipboard

Helm Make targets broken, blocking release

Open rooftopcellist opened this issue 2 years ago • 7 comments

Please confirm the following

  • [X] I agree to follow this project's code of conduct.
  • [X] I have checked the current issues for duplicates.
  • [X] I understand that the AWX Operator is open source software provided for free and that I might not receive a timely response.

Bug Summary

The Helm release automation for this past 0.26.0 awx-operator release failed. It looks like there are a couple issues contributing to this:

  • We try to create this charts/awx-operator/crds directory multiple times causing an error. This has been fixed in https://github.com/ansible/awx-operator/pull/1008 (not yet merged)
  • I tested those changes out by doing a release on my fork though and ran into more errors, shown on the Promote job logs linked below.

Stage job here - https://github.com/rooftopcellist/awx-operator/actions/runs/2783065360 Release here - https://github.com/rooftopcellist/awx-operator/releases/tag/0.26.1 Promote job here - https://github.com/rooftopcellist/awx-operator/actions/runs/2783181291

I am seeing these failures when running make helm-chart, but it is unclear if that is what is causing make helm-index to fail.

Error: bad file 'charts/awx-operator/templates/postgres-config.yaml': yaml: did not find expected node content
Error: bad file 'charts/awx-operator/templates/_helpers.tpl': yaml: line 3: did not find expected <document start>
Error: bad file 'charts/awx-operator/templates/awx-deploy.yaml': yaml: did not find expected node content

@miles-w-3 I see that you have worked on helm chart related code in the past, any ideas on what might be wrong here?

AWX Operator version

0.26.0

AWX version

21.4.0

Kubernetes platform

kubernetes

Kubernetes/Platform version

1.23.0

Modifications

no

Steps to reproduce

Try to release a new version of the awx-operator using the github workflow, or more specifically, try to run make helm-package and make helm-index

Expected results

Helm charts get release as part of the awx-operator release.

Actual results

Failure - https://github.com/ansible/awx-operator/actions/runs/2777155994

Additional information

No response

Operator Logs

No response

rooftopcellist avatar Aug 02 '22 15:08 rooftopcellist

Hi, I'll take a look and see if I can help sometime this week

miles-w-3 avatar Aug 02 '22 15:08 miles-w-3

Whoever ends up working on this - the workflows are written in a way that you can run them from your fork and they will use your GitHub username to push things under your personal GitHub and Quay accounts. You may end up needed to create a token or two, but should be trivial to figure out. Holler if you need any help.

shanemcd avatar Aug 02 '22 16:08 shanemcd

I'm working on cleaning up the makefile and templates now, probably won't finish tonight, but the Errors you're getting are from yq since helm templates are not really yaml files. The solution I'm working towards would dump all of the slices from the actual operator somewhere else first, correct them for helm, and then add them to the repo. I'll definitely have something up this week

miles-w-3 avatar Aug 03 '22 02:08 miles-w-3

Created #1013, will fix any workflow problems tomorrow

miles-w-3 avatar Aug 03 '22 04:08 miles-w-3

The PR submitted should clean up the errors you were describing @rooftopcellist, I will look at the links you presented to see if additional changes need to be made tomorrow

miles-w-3 avatar Aug 03 '22 05:08 miles-w-3

@miles-w-3 thanks for the patch. I cherry-picked it to my fork's devel and tried to stage and promote a release there with both of our changes:

  • https://github.com/ansible/awx-operator/pull/1013
  • https://github.com/ansible/awx-operator/pull/1008

It failed, here are the logs - https://github.com/rooftopcellist/awx-operator/runs/7653621316?check_suite_focus=true

rooftopcellist avatar Aug 03 '22 14:08 rooftopcellist

The following line is failing inside of your run:

"fatal: invalid reference: httpsorigin/gh-pages", "Error: exit status 128", "Usage:", "  cr index [flags]", "", "Flags:", "  -c, --charts-repo string             The URL to the charts repository", "  -b, --git-base-url string            GitHub Base URL (only needed for private GitHub) (default \"[https://api.github.com/\](https://api.github.com//)")", "  -r, --git-repo string                GitHub repository", "  -u, --git-upload-url string          GitHub Upload URL (only needed for private GitHub) (default \"[https://uploads.github.com/\](https://uploads.github.com//)")", "  -h, --help                           help for index", "  -i, --index-path string              Path to index file (default \".cr-index/index.yaml\")", "  -o, --owner string                   GitHub username or organization", "  -p, --package-path string

I'm having trouble running the creation pipeline myself, I don't have time to fix the docker problem. but it could be something as simple as an. invalid argument at this point

EDIT: It seems like this block is missing from the 0.26 pipeline

From [https://github.com/ansible/awx-operator\n](https://github.com/ansible/awx-operator/n) * [new branch]      awx-ee-latest         -> httpsorigin/awx-ee-latest\n * [new branch]      devel                 -> httpsorigin/devel\n * [new branch]      gh-pages              -> httpsorigin/gh-pages\n * [new branch]      pr-check-capacity-fix -> httpsorigin/pr-check-capacity-fix\n * [new branch]      shanemcd-patch-1      -> httpsorigin/shanemcd-patch-1\n * [new tag]         0.10.0                -> 0.10.0\n * [new tag]         0.11.0                -> 0.11.0\n * [new tag]         0.12.0                -> 0.12.0\n * [new tag]         0.13.0                -> 0.13.0\n * [new tag]         0.14.0                -> 0.14.0\n * [new tag]         0.15.0                -> 0.15.0\n * [new tag]         0.16.0                -> 0.16.0\n * [new tag]         0.16.1                -> 0.16.1\n * [new tag]         0.6.0                 -> 0.6.0\n * [new tag]         0.7.0                 -> 0.7.0\n * [new tag]         0.8.0                 -> 0.8.0\n * [new tag]         0.9.0                 -> 0.9.0\nPreparing worktree (detached HEAD 17d9ca8)\nTo [https://github.com/ansible/awx-operator.git\n](https://github.com/ansible/awx-operator.git/n)   17d9ca8..d0232c6  HEAD -> gh-pages",

Final EDIT of the night: @rooftopcellist - you dont have the gh-pages branch in your repo, that's why it's failing at that stage. please include the branch in your fork and let me know if it still fails

miles-w-3 avatar Aug 04 '22 03:08 miles-w-3

Thanks for the tip @miles-w-3 , that did the trick. See https://github.com/ansible/awx-operator/pull/1013 comments, I think we are ready to merge unless you have any reasons to hold off.

rooftopcellist avatar Aug 25 '22 15:08 rooftopcellist

Nope, I think we should be all set to merge in, I would love to use these changes myself.

miles-w-3 avatar Aug 25 '22 15:08 miles-w-3

Today's release used the PR associated with this issue and was successful. AWX Operator v0.26.0 is now available!

rooftopcellist avatar Aug 25 '22 17:08 rooftopcellist