Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1805117

Summary: [RHOSP16] Error: error authenticating creds for \"registry.redhat.io
Product: Red Hat OpenStack Reporter: Nilesh <nchandek>
Component: documentationAssignee: RHOS Documentation Team <rhos-docs>
Status: CLOSED CURRENTRELEASE QA Contact: RHOS Documentation Team <rhos-docs>
Severity: medium Docs Contact:
Priority: medium    
Version: 16.0 (Train)CC: aschultz, mburns
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-09 16:32:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Comment 2 Alex Schultz 2020-02-20 15:02:09 UTC
I guess this is a documentation deficiency. In the case that the overcloud will not have connectivity to the source registries, undercloud does and masquerading is not used. You would have to perform the container image prepare prior to doing the deploy.  The process would look like:


1) have ContainerImageRegistryLogin: True and push_destination: true in the container-image-prepare.yaml
2) run `openstack tripleo container image prepare -e container-image-prepare.yaml`
3) Update the container-image-prepare.yaml and remove the ContainerImageRegistryLogin: true
4) run the deploy with the new version of container-image-prepare.yaml

Comment 4 Alex Schultz 2020-02-21 18:21:58 UTC
So if you've previously defined ContainerImageRegistryLogin: true and deployed, you need to set it to false to turn it off when you rerun the deploy. I'm running a deployment myself and it seems like you don't actually need to do ContainerImageRegistryLogin: true at all if you do the following >

1) openstack container image prepare defaults > container-image-prepare.yaml
2) add ContainerImageRegistryCredentials to container-image-prepare.yaml
3) Add container-image-prepare.yaml (with fully qualified path) to undercloud.conf
4) Install undercloud
5) Do various overcloud deployment preparations (overcloud images into glance, node imports, etc)
6) Do an overcloud deploy including -e container-image-prepare.yaml


The only time you need to ContainerImageRegistryLogin for the overcloud is if you using a source that requires authentication (registry.redhat.io / satellite server)

Comment 7 Alex Schultz 2020-02-26 20:16:00 UTC
I'm able to reproduce the original error if I set ContainerImageRegistryLogin: true when the overcloud nodes do not have internet connectivity.  However, once updating it to be ContainerImageRegistryLogin: false and rerunning, the deployment works as expected.  I think this specific use case needs to be better documented.