In fuelmenu, if you set IP for master, static pool starts from same IP

Bug #1283805 reported by Mike Scherbakov
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Matthew Mosesohn

Bug Description

In fuelmenu dialog, if you set IP address for master node different from default one (in my case that was 10.20.0.10), click Apply, and then go to PXE setup - you will observe that Static Pool Start is 10.20.0.10. It means that first node for deployment will be allocated with same IP address as master node, and it leads to error during deployment. Namely, system installs, but node goes into offline state and becomes unreachable from master node.

The fix should be pretty easy - [Static Pool Start, Static Pool End] should not intersect with master node IP address.

ISO #180, "nailgun_sha": "f786786894acc331a4b53b31f33e373ef95ccdfc"

Revision history for this message
Mike Scherbakov (mihgen) wrote :
Revision history for this message
Mike Scherbakov (mihgen) wrote :
description: updated
Revision history for this message
Matthew Mosesohn (raytrac3r) wrote :

Mike, ideally, I would love to see a workaround where we exclude the IP of the Fuel master interface, but I believe nailgun doesn't have any awareness of its own IP address. Regrettably, neither does dnsmasq care if it gives out its own IP address as a lease and cause problems.

I would like to see an alternative solution exist where you can set a range of 10.20.0.2 -> 10.20.0.128 for the static pool, and automatically exclude 10.20.0.10 if that's my IP on the admin interface. That's a longer workaround, so the error really is the best option right now.

I'll get it ready for tomorrow.

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
Andrew Woodward (xarses) wrote :

We should be able to short circuit this (as long as its in the fuel admin range and not dnsmasq) by just adding an IPAddr object into the db of the fuel node. This will make the address show as "used" and prevent it from being allocated

Revision history for this message
Mike Scherbakov (mihgen) wrote :

Yes, this might be easier to fix in Nailgun. Please talk to Python team about it.

Changed in fuel:
status: In Progress → Confirmed
Revision history for this message
Andrey Danin (gcon-monolake) wrote :

The right way to fix it is to provide a set of excluded IPs from Fuelmenu to admin_network.json fixture through Puppet.
This solution requires modification of Fuelmenu and nailgun Puppet module. Puppet must add additional items to
https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/admin_network.json
For example, if we want to exclude two IPs 10.20.0.10 and 10.20.0.20 we must add items:
    {
        "pk": 1,
        "model": "nailgun.i_p_addr",
        "fields": {
            "network_group": 1,
            "ip_addr": "10.20.0.10"
        }
    },
    {
        "pk": 2,
        "model": "nailgun.i_p_addr",
        "fields": {
            "network_group": 1,
            "ip_addr": "10.20.0.20"
        }
    }

Another way to fix it is to warn a user about intersection of master node/gateway IPs with static/dynamic pools in Fuelmenu. It can be done in Fuelmenu only.

Also we can just describe these restrictions in Fuel documentation.

Revision history for this message
Dima Shulyak (dshulyak) wrote :

what about discovering master node ip address on fixture uploading?
{
        "pk": 1,
        "model": "nailgun.i_p_addr",
        "fields": {
            "network_group": 1,
            "ip_addr": "{{settings.master_node_ip}}"
        }
}

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

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

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Matthew Mosesohn (raytrac3r)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

Changed in fuel:
assignee: Matthew Mosesohn (raytrac3r) → Dima Shulyak (dshulyak)
Changed in fuel:
assignee: Dima Shulyak (dshulyak) → Matthew Mosesohn (raytrac3r)
Revision history for this message
Matthew Mosesohn (raytrac3r) wrote :

Waiting on approval of Dima Shulyak's patch proposal. 75845 is implemented in ISO 191 if we need to test.

Revision history for this message
Andrey Danin (gcon-monolake) wrote :

Anyway a user can have uncommon IP for a router and some other devices in the network, and maybe they IPs will lay in a dynamic range.
I think we must point this problem in our docs in detail.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/75849
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=f219032cf09759dfbbda14672648208f236b7581
Submitter: Jenkins
Branch: master

commit f219032cf09759dfbbda14672648208f236b7581
Author: Dima Shulyak <email address hidden>
Date: Mon Feb 24 14:14:17 2014 +0200

    Load fixture with master node ip for fuelweb_admin

    Change-Id: I315b51560c02a4e4f29edcacfa1058f396ceb605
    Partial-Bug: #1283805

tags: added: release-notes
Changed in fuel:
status: In Progress → Fix Committed
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.