Bug 1804056

Summary: Could not create github idp if "Hostname" is not set
Product: OpenShift Container Platform Reporter: Yanping Zhang <yanpzhan>
Component: Management ConsoleAssignee: Samuel Padgett <spadgett>
Status: CLOSED ERRATA QA Contact: Yanping Zhang <yanpzhan>
Severity: high Docs Contact:
Priority: high    
Version: 4.4CC: aos-bugs, jhadvig, jokerman, spadgett, yapei
Target Milestone: ---Keywords: Reopened
Target Release: 4.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 1806166 (view as bug list) Environment:
Last Closed: 2020-08-04 18:00:52 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:
Bug Depends On:    
Bug Blocks: 1806166    

Description Yanping Zhang 2020-02-18 06:14:53 UTC
Description of problem:
Create github idp from console, the "Hostname" field is not marked as a required field, when it's not set, github idp could not be created successfully.

Version-Release number of selected component (if applicable):
4.4.0-0.nightly-2020-02-17-192940

How reproducible:
Always

Steps to Reproduce:
1.Create github idp from console, set name, client id, client secret, organization name, click "Create".
2.
3.

Actual results:
1. Could not create successfully, an error showed up:
Danger alert:An error occurred
Error "Invalid value: v1.ConfigMapNameReference{Name:"ca-name"}: cannot be specified when hostname is empty" for field "spec.identityProviders[1].github.ca".

Expected results:
1. Should create github idp seccessfully if there is no info to indicate the "Hostname" must be set.

Additional info:

Comment 1 Samuel Padgett 2020-02-18 14:45:13 UTC
Hostname is not required. It's only required because you provided a CA file (or for GitHub Enterprise), and it only makes sense to provide a CA file if you also provide a hostname. See the documentation here:

https://docs.openshift.com/container-platform/4.3/authentication/identity_providers/configuring-github-identity-provider.html

Comment 2 Yanping Zhang 2020-02-19 07:05:05 UTC
@Sam, the scenario is: I don't want to set "Hostname" and "CA", I just set idp name, client id, client secret, organization or team name, then click "Create", the idp should be created, it works in OCP 4.3/4.2, but now fails in OCP 4.4 with error:"Invalid value: v1.ConfigMapNameReference{Name:"ca-name"}: cannot be specified when hostname is empty" for field "spec.identityProviders[1].github.ca".u 
If it's not a bug for 4.4, then should be bug for 4.2/4.3, could you have a check again?

Comment 3 Yanping Zhang 2020-02-20 07:04:36 UTC
Could not create github idp successfully if I don't set "Hostname" and "CA", reopen the bug, we need a effective way to create github idp from console without "Hostname" and "CA" set.

Comment 4 Samuel Padgett 2020-02-22 15:06:58 UTC
This is a regression from https://github.com/openshift/console/pull/3947. We are incorrectly setting a CA in the dry-run request when one isn't set in the form. We might have this problem for other IDPs.

Comment 5 Samuel Padgett 2020-02-22 15:11:25 UTC
This affects most IDP forms.

Comment 8 Yanping Zhang 2020-02-28 09:33:46 UTC
Checked on OCP 4.5 with payload 4.5.0-0.ci-2020-02-28-043432, create github idp from console, after set idp name, client id, client secret and organization, click "Create", idp is created successfully.
The bug is fixed, so move it to Verified.

Comment 11 errata-xmlrpc 2020-08-04 18:00:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Container Platform 4.5 image release advisory), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:2409