Bug 1579414

Summary: Openshift-on-OpenStack playbook fails if kuryr_openstack_public_net_id param is not specified
Product: OpenShift Container Platform Reporter: Jon Uriarte <juriarte>
Component: InstallerAssignee: Luis Tomas Bolivar <ltomasbo>
Status: CLOSED ERRATA QA Contact: Itzik Brown <itbrown>
Severity: low Docs Contact:
Priority: medium    
Version: 3.10.0CC: aos-bugs, gcheresh, jokerman, mmccomas, tsedovic
Target Milestone: ---   
Target Release: 3.11.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Ensures the playbook execution will fail soon, at the prerequisites checkings, if the public net id is not configured when the Kuryr SDN is used
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-30 15:19:31 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:

Description Jon Uriarte 2018-05-17 15:17:34 UTC
Description of problem:

https://bugzilla.redhat.com/show_bug.cgi?id=1576001 implied adding a new parameter (kuryr_openstack_public_net_id) which is mandatory. The parameter must be specified in OpenStack configuration file (all.yml), but if not added the playbook fails.

Adding a check for the parameter existence in prerequisites stage would prevent the install playbook from failing, and getting the error before deploying the Openshift cluster. It will fail at the very beginning of the playbook, when checking the prerequisites.

Version-Release number of the following components:
rpm -q openshift-ansible
openshift-ansible-3.10.0-0.46.0.git.0.85c3afd.el7.noarch

rpm -q ansible
ansible-2.4.3.0-1.el7ae.noarch

ansible --version
ansible 2.4.3.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/cloud-user/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Feb  9 2018, 09:51:13) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

How reproducible: always

Steps to Reproduce:
1. Run Openshift-on-Openstack playbook without setting the kuryr_openstack_public_net_id

Actual results:
TASK [kuryr : Create kuryr ConfigMap manifest] ********************************************************************************************************************************************************************
fatal: [master-0.openshift.example.com]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'kuryr_openstack_public_net_id' is undefined"}

  1. Hosts:    master-0.openshift.example.com
     Play:     Configure masters
     Task:     Create kuryr ConfigMap manifest
     Message:  AnsibleUndefinedVariable: 'kuryr_openstack_public_net_id' is undefined

Expected results:
Failure in prerequisites playbook, not in install playbook.

Comment 1 Itzik Brown 2018-12-17 12:18:40 UTC
Checked with:
OSP13+3.11
openshift-ansible-3.11.57-1.git.0.a0e8c1a.el7.noarch

The failure in prerequisites stage:
kuryr_openstack_public_net_id must be set when using Kuryr SDN

Comment 3 errata-xmlrpc 2019-01-30 15:19:31 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, 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-2019:0096