[octane] Network validation issue after restoring data to MOS8.0

Bug #1573075 reported by Roman Sokolkov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Undecided
Oleg S. Gelbukh
6.1.x
Invalid
Medium
Fuel Sustaining
8.0.x
Fix Committed
Critical
Oleg S. Gelbukh

Bug Description

I'm trying to upgrade from 6.0 to 8.0. After restoring 6.0 data into 8.0, i'm unable to change network settings (in any new environment).

Getting error #1: Flag 'use_gateway' cannot be provided without gateway
Workaround #2: dockerctl shell postgres sudo -u postgres psql nailgun -c "update network_groups set meta='{"unmovable": true, "use_gateway": false, "notation": "ip_ranges", "render_addr_mask": null, "render_type": null, "map_priority": 0, "configurable": false}' where name='fuelweb_admin';"

Getting error #2 (when #1 fixed): New IP ranges for network 'fuelweb_admin'({1}) do not cover already allocated IPs.
Workaround #2: dockerctl shell postgres sudo -u postgres psql nailgun -c "update ip_addrs set vip_type=NULL where id='1';"

Steps to reproduce:
1) Backup Fuel 6.0 with octane
2) Restore Fuel 8.0 with octane
3) Create new environement and change any Network settings (i.e. vlan)
4) Push "Save"

Expected result:
All changes saved

Actual result:
Getting error #1 and #2

Changed in fuel:
assignee: nobody → Fuel Octane (fuel-octane-team)
Dmitry Klenov (dklenov)
tags: added: area-python
Revision history for this message
Oleg S. Gelbukh (gelbuhos) wrote :

This bug indicates two missing data migrations in Nailgun's DB migration script. It should be split into 2 bugs and assigned to Fuel Python team.

no longer affects: fuel/mitaka
Revision history for this message
Oleg S. Gelbukh (gelbuhos) wrote :

Upon the second look it seems that the Release API in 8.0 works incorrectly with the given parameters. This requires additional checking.

Revision history for this message
Roman Sokolkov (rsokolkov) wrote :

Affects only 6.0 source version. Doesn't affect if source env is 6.1.

Revision history for this message
Oleg S. Gelbukh (gelbuhos) wrote :

It seems from RCA for this issue that it is caused by a change in logic of Nailgun and corresponding change to admin_network.json fixture. Parameter "gateway" was added to the fixture, and "use_gateway" validation was made more strict. Thus, the fixture from 6.0 creates admin network in DB, which is then restored into 8.0 Fuel Master DB 'as is'. But Nailgun code no longer supports the logic implied by the fixture. So it fails in the ways described above.

The proper solution to this bug would be to add data migration for admin_network metadata in module nailgun/util/migration.py and backport it to version 6.1.

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

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

Changed in fuel:
assignee: Fuel Octane (fuel-octane-team) → Oleg S. Gelbukh (gelbuhos)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-octane (stable/8.0)

Fix proposed to branch: stable/8.0
Review: https://review.openstack.org/331171

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-octane (master)

Change abandoned by Oleg Gelbukh (<email address hidden>) on branch: master
Review: https://review.openstack.org/331056
Reason: Not needed anymore in master.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-octane (stable/8.0)

Reviewed: https://review.openstack.org/331171
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=99809129c368b2cc22dbe3fc31ec525e28780d7b
Submitter: Jenkins
Branch: stable/8.0

commit 99809129c368b2cc22dbe3fc31ec525e28780d7b
Author: Oleg Gelbukh <email address hidden>
Date: Fri Jun 17 10:33:20 2016 +0000

    Repair fuelweb_admin network metadata

    When upgrade from version 6.0 to 8.0, the fuelweb_admin network metadata
    is restored from version 6.0. However, since version 6.1, certain params
    in the metadata changed, which is reflected in fixture/admin_network.json
    file.

    Set 'gateway' field for network group 'fuelweb_admin' to the address
    of the Fuel Master node.

    Set 'vip_type' field in ip_addrs table for the 'fuelweb_admin' to NULL.

    Change-Id: Ice94dcb7826b5357b9aaab56ea1632d77160db5e
    Partial-bug: 1573075

no longer affects: fuel/newton
Changed in fuel:
status: In Progress → Invalid
importance: Critical → Undecided
Revision history for this message
Vitaly Sedelnik (vsedelnik) wrote :

Invalid for 6.1-updates per comment #3

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.