Deployment starts and silently fails if public GW not accessible

Bug #1418572 reported by Vyacheslav Struk
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Triaged
Critical
Fuel Library (Deprecated)

Bug Description

There is a known issue with a mandatory deployment requirement of public GW IP address must be accessible from controller nodes. Otherwise, the deployment would fail.

We should make additional network check that pings public gw and warn user if gw is inaccessible.
Or even block deployment at all until this check will be passed.

===
VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.1"
  api: "1.0"
  build_number: "96"
  build_id: "2015-02-03_22-55-01"
  nailgun_sha: "62dd62897850795fa35d2f359cf4f310d33f65c5"
  python-fuelclient_sha: "2ea7b3e91c1d2ff85110bf5abb161a6f4e537358"
  astute_sha: "ed5270bf9c6c1234797e00bd7d4dd3213253a413"
  fuellib_sha: "2147da0c583a7944f440ceb51236e7cb2e6610c9"
  ostf_sha: "c9100263140008abfcc2704732e98fbdfd644068"
  fuelmain_sha: ""

How to reproduce:

        Create KVM virtual machine and install fuel.
        Create new environment with default settings, except:
                Virtalization: Qemu
                Network: Neutron VLAN segmentation
        Create 3 KVM vm's, boot them to fuel's bootstrap
        Set role "controller" for all of them.
        Deploy.

Deploy fails with:

Deployment has failed. Timeout of deployment is exceeded.

Puppet.log(part):
Thu Feb 05 13:55:55 +0000 2015 Puppet (err): Could not prefetch neutron_router provider 'neutron': Can't prefetch router-list Neutron or Keystone API is not avalaible.
2015-02-05 13:58:55 WARNING Could not disable basic service for Pacemaker primitive 'vip__public' using 'upstart' provider: Could not find init script or upstart conf file for 'vip__public'

Small investigation showed up a missing public vip address, wich "provider neutron" tries to access (172.16.0.2, in my case)
Public vip also missing in output of "ip netns exec haproxy ip a sh"

Seems there is some kind of misconfiguration in corosync/pacemaker.

Just the same behavior with several other iso builds: 94,95,92

Revision history for this message
Vyacheslav Struk (vstruk) wrote :
Stepan Rogov (srogov)
Changed in fuel:
milestone: none → 6.1
assignee: nobody → Fuel Library Team (fuel-library)
importance: Undecided → Critical
description: updated
description: updated
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

There is a known issue with a mandatory deployment requirement of public GW IP address must be accessible from controller nodes. Otherwise, the deployment would fail. For your example, you configured public VIP 172.16.0.2 and public GW 172.16.0.1, so please make sure the public GW can be pinged from controller nodes once MODULAR networking step was done.

Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

Please note, by MODULAR I refer to the following steps in puppet logs:
node-1.mirtest.net/puppet-apply.log:2015-02-05T12:59:51.173273+00:00 notice: (Scope(Class[main])) MODULAR: hiera.pp
node-1.mirtest.net/puppet-apply.log:2015-02-05T12:59:53.255936+00:00 notice: (Scope(Class[main])) MODULAR: globals.pp
node-1.mirtest.net/puppet-apply.log:2015-02-05T12:59:55.473896+00:00 notice: (Scope(Class[main])) MODULAR: netconfig.pp

>>> HERE is the point to check your public GW <<<

node-1.mirtest.net/puppet-apply.log:2015-02-05T13:01:32.797587+00:00 notice: (Scope(Class[main])) MODULAR: hosts.pp
node-1.mirtest.net/puppet-apply.log:2015-02-05T13:01:37.163765+00:00 notice: (Scope(Class[main])) MODULAR: tools.pp
node-1.mirtest.net/puppet-apply.log:2015-02-05T13:01:45.648844+00:00 notice: (Scope(Class[main])) MODULAR: firewall.pp
node-1.mirtest.net/puppet-apply.log:2015-02-05T13:01:54.216050+00:00 notice: (Scope(Class[main])) MODULAR: controller.pp
node-1.mirtest.net/puppet-apply.log:2015-02-05T13:26:48.818024+00:00 notice: (Scope(Class[main])) MODULAR: controller.pp
node-1.mirtest.net/puppet-apply.log:2015-02-05T13:58:00.238258+00:00 notice: (Scope(Class[main])) MODULAR: controller.pp

Revision history for this message
Vyacheslav Struk (vstruk) wrote :

You're right, accessible public gw solved this issue.

If it's mandatory requierment then we should check it before deployment and warn user if gw is inaccessible.
Now deploy just silently starts and fails then.

summary: - Fuel can't deploy openstack multinode HA, kvm
+ Deployment starts and silently fails if public GW not accessible
description: updated
Changed in fuel:
status: New → Triaged
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.