Store default values for networks externally

Bug #1381557 reported by Sergii Golovatiuk
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
Medium
Dima Shulyak

Bug Description

Today, I had an issue with manual testing of Fuel. When environment is created manually, nailgun proposes '172.16.0.x' Public network by default. This creates an issue as gateway on public networkcreated by dos.py (devops) is

virsh net-dumpxml env1_system_test_public | grep 'ip address'
  <ip address='10.108.1.1' prefix='24'>

Since 10.108.1.1 is not reachable, the deployment will fail as default gateway should be pingable ( required by pingd resource in corosync). Deployment fails as corosync brings down Public VIP and keystone is not available via public VIP.

Everytime when you create environment manually, you should keep in mind that 'bug' and change Public network to what you have on host.

I propose to externalize and save network settings somewhere in DB. Once done, devops should be modified to change this values on created master node in accordance to networks on host node. This will allow to perform manual testing without changing public network everytime.

Tags: nailgun
Changed in fuel:
importance: Undecided → High
assignee: nobody → Fuel Python Team (fuel-python)
milestone: none → 6.0
Dima Shulyak (dshulyak)
Changed in fuel:
status: New → Confirmed
tags: added: nailgun
Changed in fuel:
importance: High → Medium
Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

It is not in UI nor in CLI now but you have the following options:

1. API. You need PUT on /api/releases/x/ with changed "networks_metadata". Its format you can see at openstack.yaml. Unfortunately, you will not get it via GET request - it is not serialized now for output via API. It is very easy to make it serialized though (see https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/objects/serializers/release.py#L22-34).

2. Edit openstack.yaml. You can just edit corresponding values in openstack.yaml, restart nailgun and reload DB (see https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml#L30-81, https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml#L582-651).

Changed in fuel:
status: Confirmed → Triaged
Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

3. Add new release(s). Copy openstack.yaml to some-new.yaml. Edit corresponding values in some-new.yaml. Invent new names for the releases (https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml#L1182, https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml#L1233). Load new releases with "/usr/bin/manage.py /.../some-new.yaml". They will be added to DB (existing ones will stay as is). Another way to load new release (one by one) is by using POST on /api/releases/ (you will need to convert them into JSON format in this case).

Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

Mistake on manage.py command, should be: "/usr/bin/manage.py loaddata /.../some-new.yaml" (from nailgun container).

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/132829

Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Dima Shulyak (dshulyak)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

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

commit 4815936beb1b3d4cb1dc23bd878d151def027757
Author: Dima Shulyak <email address hidden>
Date: Wed Nov 5 13:06:24 2014 +0200

    Add support for release network_metadata serialziation

    Patch adds support for release network metadata serialization,
    by adding additional handler on release/<release_id>/networks for PUT/GET
    requestss
    Proper validation for release networking data

    Why not to add another field in release handler:
    1. networks_metadata it is ours internal naming
    2. url release/<release_id>/networks makes more sense for client
      applications

    Change-Id: I205ec786f1a9d772905ff22e426c1ce8a6d4d6e7
    Closes-Bug: 1381557

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.