Cannot ping external ip with custom network template.

Bug #1511747 reported by Iryna Vovk on 2015-10-30
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
High
Fuel Sustaining
7.0.x
High
Fuel Sustaining
8.0.x
High
Fuel Sustaining
Mitaka
High
Fuel Documentation Team

Bug Description

Steps to reproduce:
1. Prepare master node and 5 slaves with iso http://jenkins-product.srt.mirantis.net:8080/view/custom_iso/job/custom_7.0_iso/1293/ for 7.0. It contains patch according to bug https://bugs.launchpad.net/fuel/+bug/1498088
2. Create network template (https://github.com/openstack/fuel-docs/blob/710e43e2e71b42660a36fd1403a9e34ca315c29c/examples/network_templates/two_networks.yaml)
3. Create env with Neutron with GRE segmentation
fuel env create --name n01 --rel 2 --mode ha --network-mode neutron --net-segment-type gre
4. Create net-group
fuel network-group --create --name everything --cidr 10.109.1.0/24 --gateway 10.109.1.1 --nodegroup 1
5. Set metadate for the net-group
fuel network-group --set --network 6 --meta '{"name": "everything", "notation": "cidr", "render_type": null, "map_priority": 2, "configurable": true, "use_gateway": true, "render_addr_mask": "internal", "vlan_start": null, "cidr": "10.109.1.0/24"}'
6. Upload template
7. Deploy cluster
8. Go to horizon and create new instance
9. Create router and add interface
10. Go to instance ant try to ping external ip

Actual result:
Cannot ping external ip with network template due default floating ip range is taken instead of range from metadate

Workaround: delete subnet and configure with right parameters.

Additional info:
api: '1.0'
astute_sha: 4703e7333c89116f4cc0b2ccee5f981683825c54
auth_required: true
build_id: 2015-10-27_09-50-56
build_number: '1293'
feature_groups:
- mirantis
fuel-agent_sha: 50e90af6e3d560e9085ff71d2950cfbcca91af67
fuel-library_sha: c499bef87daa311c1d695f39b98dbb94ae2d2855
fuel-nailgun-agent_sha: d7027952870a35db8dc52f185bb1158cdd3d1ebd
fuel-ostf_sha: 8c906b73a6400df4d1dd00a21dc60de48d6a7005
fuelmain_sha: 6d684dfdcd79f7c1ae2a89d7cf581f9f460b238f
nailgun_sha: 433d7ab0a7aac7dbae5dedaa20d29eb70e7150ce
openstack_version: 2015.1.0-7.0
production: docker
python-fuelclient_sha: 486bde57cda1badb68f915f66c61b544108606f3
release: '7.0'
release_versions:
  2015.1.0-7.0:
    VERSION:
      api: '1.0'
      astute_sha: 4703e7333c89116f4cc0b2ccee5f981683825c54
      build_id: 2015-10-27_09-50-56
      build_number: '1293'
      feature_groups:
      - mirantis
      fuel-agent_sha: 50e90af6e3d560e9085ff71d2950cfbcca91af67
      fuel-library_sha: c499bef87daa311c1d695f39b98dbb94ae2d2855
      fuel-nailgun-agent_sha: d7027952870a35db8dc52f185bb1158cdd3d1ebd
      fuel-ostf_sha: 8c906b73a6400df4d1dd00a21dc60de48d6a7005
      fuelmain_sha: 6d684dfdcd79f7c1ae2a89d7cf581f9f460b238f
      nailgun_sha: 433d7ab0a7aac7dbae5dedaa20d29eb70e7150ce
      openstack_version: 2015.1.0-7.0
      production: docker
      python-fuelclient_sha: 486bde57cda1badb68f915f66c61b544108606f3
      release: '7.0'

Iryna Vovk (ivovk) wrote :
Changed in fuel:
importance: Undecided → High
Dmitry Klenov (dklenov) on 2015-11-02
tags: added: area-python l23network
Changed in fuel:
milestone: none → 7.0-updates
assignee: nobody → Fuel Python Team (fuel-python)
status: New → Confirmed
Changed in fuel:
milestone: 7.0-updates → 9.0
status: Confirmed → New

Looks like status was changes mistakenly. Revert back.

no longer affects: fuel
Dmitry Pyzhov (dpyzhov) on 2016-01-11
no longer affects: fuel/future
Changed in fuel:
status: New → Incomplete
importance: Undecided → High
assignee: nobody → Fuel Python Team (fuel-python)
milestone: none → 9.0
tags: added: team-network
tags: added: feature-network-template
removed: l23network team-network
tags: added: team-network
Dmitry Pyzhov (dpyzhov) wrote :

Looks like this issue should affect 8.0 and 9.0

Changed in fuel:
status: Incomplete → Confirmed
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → slava valyavskiy (slava-val-al)
slava valyavskiy (slava-val-al) wrote :

firist thing there - 'floating range' parameter will not be update automatically if you create new network and will assign public role for it into network template. You should manually change this value in cluster settings - ['networking_parameters']['floating_ranges'] for 7.0 version.
But, here we have another issue. When we try to change this floating range to range belongs to 'everything' network we encountered following error there:
"Error uploading configuration: Floating address range 192.168.124.130:192.168.124.254 is not in public address space 192.168.123.0/24."

We get this message due to our validation approach in 'public' network identification:
https://github.com/openstack/fuel-web/blob/master/nailgun/nailgun/network/checker.py#L390-L391

We assumed that public network should have only constant name('public'), but in template's case it may have different name('everything' in our case).

I see two ways to fix an issue:
1. To document that it's not possible to set another name for public network then 'public' and we should have only one network with 'public' name for on nodegroup.
2. To introduce new meta parameter for network what will help us to identify public networks and verify floating range (seem like feature for me)

slava valyavskiy (slava-val-al) wrote :

I'm voting for option #1, cause #2 looks like feature, but not the bug for me.

Aleksandr Didenko (adidenko) wrote :

Is it possible to re-design this template in order to use 'public' network instead of new 'everything' network? So we'll join all network in 'public' one.

Ihor Kalnytskyi (ikalnytskyi) wrote :

Slava,

Thanks for investigation. Yes, we indeed rely on 'public' network name, AFAIK that's only hardcode left from old ref arch. I'm not sure it would be easy to drop it, perhaps some puppet relies on this 'name' either or other modules (e.g. network checker that tests public network).

So I propose to go document this behaviour, add to release notes and close this story for 7.0/8.0. Implementation could be tricky.

However, I don't think we should close this bug. From some POV - it's valid, and we need to think how to properly solve, take into account all cases and who will be affected.

tags: added: tricky
Dmitry Pyzhov (dpyzhov) wrote :

This is not a documentation bug so I'm moving it back to fuel-python. I've added tag 'release-notes' for documentation team to highlight that we need update of documentation.

tags: added: release-notes
Changed in fuel:
assignee: slava valyavskiy (slava-val-al) → Fuel Python Team (fuel-python)
tags: added: 8.0 release-notes-done
removed: release-notes
tags: added: feature

(This check performed automatically)
Please, make sure that bug description contains the following sections filled in with the appropriate data related to the bug you are describing:

expected result

For more detailed information on the contents of each of the listed sections see https://wiki.openstack.org/wiki/Fuel/How_to_contribute#Here_is_how_you_file_a_bug

tags: added: need-info
tags: removed: need-info
Aleksandr Didenko (adidenko) wrote :

It's impossible to fix this bug in 9.0 because proposed fix #2 (or other possible fix - stick to network roles) is rather a new feature than a simple bugfix. Moving this to 10.0, in 9.0 we should update network template docs to specify that public network is a mandatory.

Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Fuel Documentation Team (fuel-docs)
Dmitry Pyzhov (dpyzhov) on 2016-04-19
no longer affects: fuel/newton
Changed in fuel:
milestone: 9.0 → 10.0
assignee: Fuel Documentation Team (fuel-docs) → Fuel Python Team (fuel-python)
Changed in fuel:
assignee: Fuel Python (Deprecated) (fuel-python) → Networking (l23-network)
Dmitry Pyzhov (dpyzhov) on 2016-06-22
Changed in fuel:
assignee: Registry Administrators (registry) → l23network (l23network)
Curtis Hovey (sinzui) on 2017-04-13
Changed in fuel:
assignee: Registry Administrators (registry) → nobody
Changed in fuel:
assignee: nobody → Fuel Sustaining (fuel-sustaining-team)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers