Bug 1303859

Summary: installer fails to add nodes if there are files in generated-configs
Product: OpenShift Container Platform Reporter: Evgheni Dereveanchin <ederevea>
Component: InstallerAssignee: Andrew Butcher <abutcher>
Status: CLOSED ERRATA QA Contact: Gan Huang <ghuang>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.1.0CC: agolis, aos-bugs, bleanhar, gpei, jialiu, jokerman, mmagnani, mmccomas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-12 16:37:49 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 Evgheni Dereveanchin 2016-02-02 09:20:18 UTC
Description of problem:

We have a support case where a very similar situation to bz#1298531 that happened in a different scenario: adding nodes to an existing 3.1 setup (instead of the upgrade case that that other bug addresses).

Version-Release number of selected component (if applicable):

openshift-ansible-3.0.37-1-19-gc2f8fa2

How reproducible:
Always on that deployment

Steps to Reproduce:
1. Install a OSE 3.1 environment with 3 masters, 3 etcd, 3 nodes
2. Add 2 nodes to the [nodes] group in the inventory
3. Run the config playbook again to configure the 2 new nodes

Actual results:

  TASK: [openshift_master_certificates | Ensure the generated_configs directory present] ***
  ok: [master1.example.com] => (item={...})
  ok: [master1.example.com] => (item={...})

  TASK: [openshift_master_certificates | set_fact ] *****************************
  ok: [master1.example.com]

  TASK: [openshift_master_certificates | file ] *********************************
  ok: ...
  failed: [master1.example.com] => ... 'master.server.crt']) => {"dest": "/etc/origin/generated-configs/master-master2.example.com/master.server.crt", "failed": true, ...
  msg: Cannot link, file exists at destination

Expected results:

Installer completes and configures the 2 new nodes

Comment 1 Andrew Butcher 2016-03-17 16:07:47 UTC
Could QE please test the scenario described above with the latest puddles?

There have been several changes to how certificates are managed and the master certificate identified in the error output is now forcefully linked. I am unable to reproduce the issue with the latest code.

It is also worth noting that the recommended method for adding nodes is to use the node scaleup playbook. The node scaleup playbook does not modify existing master or node configuration and only performs tasks on the first master in order to generate certificates for newly added nodes. In order to use the node scaleup playbook, a new host group "new_nodes" must be added to the inventory and nodes that will be added are listed under [new_nodes]. Then the playbook is launched like this:

ansible-playbook -i <inventory> openshift-ansible/playbooks/byo/openshift-node/scaleup.yml

Comment 2 Gan Huang 2016-03-18 11:20:01 UTC
Test aganist openshift-ansible-3.0.61-1.git.0.8150c45.el7.noarch

1.Install a OSE environment with 3 masters, 3 etcd, 3 nodes
2.Add 2 nodes to the [new_nodes] group in the inventory
3.ansible-playbook -i hosts /usr/share/ansible/openshift-ansible/playbooks/byo/openshift-node/scaleup.yml

Installation success and working well

Comment 4 errata-xmlrpc 2016-05-12 16:37:49 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-2016:1065