-
-
Notifications
You must be signed in to change notification settings - Fork 268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CentOS8: Errors while making cache if GPG keys change #67
Comments
Hi @pfuntner, I have the same issue and its blocking me from using this on Centos 8. Have you found any way around it? Im pretty new to this deep usage of Ansible and im not sure if there is a way to not run this task. I tried to do the gpg in a pretask but that doesnt seem to work either. Any new would be greatly appreciated. |
I'm also seeing this now, only on CentOS 8 builds, in Travis CI:
On the task This started happening sometime between April 22 and April 30, according to cron-triggered CI builds: https://travis-ci.org/github/geerlingguy/ansible-role-kubernetes/builds |
Weird... if I run it locally, it passes. Exact same CI test. I'm going to re-run the last failed build and see if maybe it's something in the Travis CI environment? |
I think this could possibly be related to the test container. Locally I'm running a 3-month-old image pulled from Docker Hub, while the latest is from 17 days ago... And in the centos8 image build CI task on Travis CI, I'm seeing the error (https://travis-ci.com/github/geerlingguy/docker-centos8-ansible/jobs/326423010#L631):
Going to debug there. |
After updating to the latest version of the centos8 image, which seems to have the initial GPG key issue fixed, I'm getting:
See failed build: https://travis-ci.org/github/geerlingguy/ansible-role-kubernetes/jobs/683881462 So it seems something's amiss with keys in yum in CentOS 8, but only on Travis CI in my case (and it sounds like also on @pfuntner's servers). @pfuntner / @timmay75 - What kind of servers/instances are you deploying against? |
Actually, now I'm able to reproduce the issue locally:
|
After running the playbook a number of times, I see the keys just keep importing over and over again:
|
I can't even rebuild the rpmdb:
|
Possibly related? error: rpmdb: damaged header #173 retrieved -- skipping. |
No clue what's going on here, but also see jellyfin/jellyfin#2563 |
Someone else also ran into the corrupt db issue: ansible/awx#6306 |
Hi Jeff. Thanks for the reply. I was trying to get the example you had out there (https://github.com/geerlingguy/ansible-for-devops/tree/master/kubernetes) working with vagrant and centos8. I seem to remember being able to get this going a work around but have forgotten it now. We ran into issues with the k8s internal flannel networking that was a core issue. So we ended up going another route with this. If you have any pointers on cent8 to get that working I would love to revisit it since another team member took it and wrote a new playbook from scratch and used calico and separated the roles out. |
It looks like the major issue might relate to using Basically, because I had a separate build layer in the Dockerfile that ran a So in geerlingguy/docker-centos8-ansible#7 I removed that separate |
Drat, I fixed the issue with yum and built-in GPG keys over in the issue linked above... but now we're back to:
|
@geerlingguy So, is this issue being worked off of a different branch? |
Oddly, the second run of a converge seems to get past the initial GPG key error. Is that the case for others? |
Interesting related issue containers/podman#4431 Trying to change the task from a |
I'm wondering if the yum command need some sort of TTY input to open and close... |
Interestingly enough I got the task to work by using expect. It's a tty input/output emulator through a scripting language.
The Don't get me wrong, this is a big jump to get the task to work properly. I think we shouldn't have to do this, there should be some other way that doesn't require a TTY. |
Thought of another option last night, |
In my testing it doesn't appear necessary to import the keys in the task "Add Kubernetes GPG keys", since they are already imported by the task "Ensure Kubernetes repository exists" thus the refresh of the cache in the task "Make cache if Kubernetes GPG key changed" doesn't happen, and doesn't error. On freshly deployed VMs from the same template (template built and updated on the 9th of May). Build 1 Build 2 Build 3 Comparing the output of the installed packages on the three builds they are identical, so there seems no reason to need to add the keys or update the cache on CentOS 8, could that task be made conditional on the ansible_distribution_major_version parameter not being 8? Output from Build 1 Output from Build 2 Output from Build 3 Very happy to provide further output or a PR if required, just didn't want to fill this issue with text! |
I want to note that we are experiencing the same issue, and it does not have anything to do related to Kubernetes. Using The centos:8 docker image, Jenkins, a proxy and DNF causes exactly the same issue, it corrupts the database. This is indeed new (and wrong) behaviour. Indeed, running dnf update and install sequences in a single layer resolves the issue, but still corrupts the database (therefore making any derived images impossible) |
Could this have been fixed this week upstream? I just got a passing test a few minutes ago... |
I'm seeing an error using GCP CentOS8 instances for my master and worker nodes:
When I ssh into one of the instances and run the command directly, it seems to work ok:
The GCP keys and fingerprints are different are different from the failure but I don't know what the significance is. If I start over from scratch with new instances, it fails at the same point with the same key and fingerprint from the failure.
The text was updated successfully, but these errors were encountered: