Prechecks fails when using multinode deploy using a single node and haproxy disabled

Bug #1570935 reported by Carlos Cesario
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla
Fix Released
High
Hiroki Ito
Liberty
Fix Released
High
Hiroki Ito
Mitaka
Fix Released
High
Hiroki Ito

Bug Description

When using deploy with a single node, it is needed change the var kolla_internal_vip_address: pointing to node ip address.

And in this case, the prechecks process will fail, because this Ip address is in use.

Steps to reproduce

1 - Choose stable/mitaka branch and use the inventory as follow

======================================================================

# These initial groups are the only groups required to be modified. The
# additional groups are for more control of the environment.
[control]
# These hostname must be resolvable from your deployment host
192.168.201.2
#192.168.201.3
#192.168.201.4

# The above can also be specified as follows:
#control[01:03] ansible_ssh_user=kolla

# The network nodes are where your l3-agent and loadbalancers will run
# This can be the same as a host in the control group
[network]
192.168.201.2
#192.168.201.3
#192.168.201.4

[compute]
192.168.201.2
#192.168.201.3
#192.168.201.4

...
...
======================================================================

2 - Change it in /etc/kolla/globals.yml

kolla_internal_vip_address: "192.168.201.2"
enable_haproxy: "no"

3 - Run the prechecks: # ./tools/kolla-ansible prechecks -i inventory

The error logs generated

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TASK: [prechecks | Checking if kolla_internal_vip_address and kolla_external_vip_address are not pingable from any node] ***
failed: [192.168.201.2] => (item=192.168.201.2) => {"changed": false, "cmd": ["ping", "-c", "3", "192.168.201.2"], "delta": "0:00:02.020890", "end": "2016-04-15 15:19:30.756474", "failed": true, "failed_when_result": true, "item": "192.168.201.2", "rc": 0, "start": "2016-04-15 15:19:28.735584", "stdout_lines": ["PING 192.168.201.2 (192.168.201.2) 56(84) bytes of data.", "64 bytes from 192.168.201.2: icmp_seq=1 ttl=64 time=16.0 ms", "64 bytes from 192.168.201.2: icmp_seq=2 ttl=64 time=0.188 ms", "64 bytes from 192.168.201.2: icmp_seq=3 ttl=64 time=0.095 ms", "", "--- 192.168.201.2 ping statistics ---", "3 packets transmitted, 3 received, 0% packet loss, time 2001ms", "rtt min/avg/max/mdev = 0.095/5.428/16.002/7.477 ms"], "warnings": []}
stdout: PING 192.168.201.2 (192.168.201.2) 56(84) bytes of data.
64 bytes from 192.168.201.2: icmp_seq=1 ttl=64 time=16.0 ms
64 bytes from 192.168.201.2: icmp_seq=2 ttl=64 time=0.188 ms
64 bytes from 192.168.201.2: icmp_seq=3 ttl=64 time=0.095 ms

--- 192.168.201.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.095/5.428/16.002/7.477 ms
failed: [192.168.201.2] => (item=192.168.201.2) => {"changed": false, "cmd": ["ping", "-c", "3", "192.168.201.2"], "delta": "0:00:02.002006", "end": "2016-04-15 15:19:32.880008", "failed": true, "failed_when_result": true, "item": "192.168.201.2", "rc": 0, "start": "2016-04-15 15:19:30.878002", "stdout_lines": ["PING 192.168.201.2 (192.168.201.2) 56(84) bytes of data.", "64 bytes from 192.168.201.2: icmp_seq=1 ttl=64 time=0.049 ms", "64 bytes from 192.168.201.2: icmp_seq=2 ttl=64 time=0.104 ms", "64 bytes from 192.168.201.2: icmp_seq=3 ttl=64 time=0.055 ms", "", "--- 192.168.201.2 ping statistics ---", "3 packets transmitted, 3 received, 0% packet loss, time 1998ms", "rtt min/avg/max/mdev = 0.049/0.069/0.104/0.025 ms"], "warnings": []}
stdout: PING 192.168.201.2 (192.168.201.2) 56(84) bytes of data.
64 bytes from 192.168.201.2: icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from 192.168.201.2: icmp_seq=2 ttl=64 time=0.104 ms
64 bytes from 192.168.201.2: icmp_seq=3 ttl=64 time=0.055 ms

--- 192.168.201.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.049/0.069/0.104/0.025 ms

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
           to retry, use: --limit @/root/prechecks.retry

192.168.201.2 : ok=52 changed=0 unreachable=0 failed=1

Revision history for this message
Steven Dake (sdake) wrote :

haproxy disabled is not really a mode we want to promote. If we fix in master, I'd be ok with that (and release in stable/newton), but I am hesitant to bring this mode of operation into stable/mitaka unless the patch is super simple. Lets see an implementation before making a decision. 2.0.1 is always an option as well as long sa this isn't a feature.

Changed in kolla:
status: New → Triaged
importance: Undecided → Medium
milestone: none → newton-1
Steven Dake (sdake)
Changed in kolla:
importance: Medium → High
Changed in kolla:
milestone: newton-1 → newton-2
Revision history for this message
Jeffrey Zhang (jeffrey4l) wrote :

The root cause is the precheck do not respect the enable_* values.
for example, when set
enable_horizon: yes

the precheck still check the :80 port, which is not expected.

Changed in kolla:
milestone: newton-2 → newton-3
Hiroki Ito (hrito)
Changed in kolla:
assignee: nobody → Hiroki Ito (hrito)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kolla (master)

Fix proposed to branch: master
Review: https://review.openstack.org/351588

Changed in kolla:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla (master)

Reviewed: https://review.openstack.org/351588
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=9c69d4b2e0a8a22c3b56697b7252f17e8be84614
Submitter: Jenkins
Branch: master

commit 9c69d4b2e0a8a22c3b56697b7252f17e8be84614
Author: Hiroki Ito <email address hidden>
Date: Fri Aug 5 17:27:03 2016 +0900

    Fix prechecks of a vip address

    In the case of a single node environment without haproxy, the var
    "kolla_internal_vip_adress" in global.yml should be the ip address
    of the host. However, the prechecks will fail, because this ip
    address is used by the host node and is pingable.

    This commit fixes the prechecks of a vip address properly.
    When the var "enable_haproxy" is "no", this fix will skip prechecks
    for a vip address.

    Change-Id: I0b752f179d20f82e3d6331047ee0bd802ab99a4b
    Closes-Bug: #1570935

Changed in kolla:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kolla (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/353214

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kolla (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/353221

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla (stable/mitaka)

Reviewed: https://review.openstack.org/353214
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=68ca8942cb1828e801540088e7de9d3dce34f23e
Submitter: Jenkins
Branch: stable/mitaka

commit 68ca8942cb1828e801540088e7de9d3dce34f23e
Author: Hiroki Ito <email address hidden>
Date: Fri Aug 5 17:27:03 2016 +0900

    Fix prechecks of a vip address

    In the case of a single node environment without haproxy, the var
    "kolla_internal_vip_adress" in global.yml should be the ip address
    of the host. However, the prechecks will fail, because this ip
    address is used by the host node and is pingable.

    This commit fixes the prechecks of a vip address properly.
    When the var "enable_haproxy" is "no", this fix will skip prechecks
    for a vip address.

    Change-Id: I0b752f179d20f82e3d6331047ee0bd802ab99a4b
    Closes-Bug: #1570935
    (cherry picked from commit 9c69d4b2e0a8a22c3b56697b7252f17e8be84614)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla (stable/liberty)

Reviewed: https://review.openstack.org/353221
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=c4d2067d2833c2db04c7f5f125c43bdf86706aee
Submitter: Jenkins
Branch: stable/liberty

commit c4d2067d2833c2db04c7f5f125c43bdf86706aee
Author: Hiroki Ito <email address hidden>
Date: Fri Aug 5 17:27:03 2016 +0900

    Fix prechecks of a vip address

    In the case of a single node environment without haproxy, the var
    "kolla_internal_vip_adress" in global.yml should be the ip address
    of the host. However, the prechecks will fail, because this ip
    address is used by the host node and is pingable.

    This commit fixes the prechecks of a vip address properly.
    When the var "enable_haproxy" is "no", this fix will skip prechecks
    for a vip address.

    Change-Id: I0b752f179d20f82e3d6331047ee0bd802ab99a4b
    Closes-Bug: #1570935
    (cherry picked from commit 9c69d4b2e0a8a22c3b56697b7252f17e8be84614)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/kolla 3.0.0.0b3

This issue was fixed in the openstack/kolla 3.0.0.0b3 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/kolla 2.0.3

This issue was fixed in the openstack/kolla 2.0.3 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.