Nailgun returns 500 if plugin's network roles has intersection by name or id

Bug #1499291 reported by Ihor Kalnytskyi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Roman Prykhodchenko
7.0.x
Won't Fix
High
Rodion Tikunov
8.0.x
Fix Released
High
Roman Prykhodchenko

Bug Description

(extracted from here https://bugs.launchpad.net/fuel/+bug/1484181/comments/4)

Also reproduced in the case when names of several "-id" & "-name" are the same http://paste.openstack.org/show/414294/

{"build_id": "2015-08-12_17-24-26", "build_number": "165", "release_versions": {"2015.1.0-7.0": {"VERSION": {"build_id": "2015-08-12_17-24-26", "build_number": "165", "api": "1.0", "fuel-library_sha": "1176b634eeafb8465a88ff357fdcf40005fba610", "nailgun_sha": "68642a8207d6f12543f244bab0c130e2510536ee", "feature_groups": ["mirantis"], "fuel-nailgun-agent_sha": "e01693992d7a0304d926b922b43f3b747c35964c", "openstack_version": "2015.1.0-7.0", "fuel-agent_sha": "57145b1d8804389304cd04322ba0fb3dc9d30327", "production": "docker", "python-fuelclient_sha": "26fc025e0fc5791b62e5ed8561a6016bf8a406bc", "astute_sha": "e1d3a435e5df5b40cbfb1a3acf80b4176d15a2dc", "fuel-ostf_sha": "58220583f10fa47f12291488ef77854809c68310", "release": "7.0", "fuelmain_sha": "67e5214c0dc5d4ba6da4ae651cef9934800459a9"}}}, "auth_required": true, "api": "1.0", "fuel-library_sha": "1176b634eeafb8465a88ff357fdcf40005fba610", "nailgun_sha": "68642a8207d6f12543f244bab0c130e2510536ee", "feature_groups": ["mirantis"], "fuel-nailgun-agent_sha": "e01693992d7a0304d926b922b43f3b747c35964c", "openstack_version": "2015.1.0-7.0", "fuel-agent_sha": "57145b1d8804389304cd04322ba0fb3dc9d30327", "production": "docker", "python-fuelclient_sha": "26fc025e0fc5791b62e5ed8561a6016bf8a406bc", "astute_sha": "e1d3a435e5df5b40cbfb1a3acf80b4176d15a2dc", "fuel-ostf_sha": "58220583f10fa47f12291488ef77854809c68310", "release": "7.0", "fuelmain_sha": "67e5214c0dc5d4ba6da4ae651cef9934800459a9"}

tags: added: module-nailgun
Revision history for this message
Ihor Kalnytskyi (ikalnytskyi) wrote :

Well, in scope of this the proper error message and proper HTTP code MUST be returned. The fix for UI part (how to handle it) is moved to the separate bug #1504572

Changed in fuel:
assignee: Igor Kalnitsky (ikalnitsky) → Fuel Python Team (fuel-python)
Dmitry Pyzhov (dpyzhov)
tags: added: area-python
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Sergey Slipushenko (sslypushenko)
status: Confirmed → In Progress
Revision history for this message
Sergey Slipushenko (sslypushenko) wrote :
Dmitry Pyzhov (dpyzhov)
tags: added: team-bugfix
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-web (master)

Change abandoned by Sergey Slipushenko (<email address hidden>) on branch: master
Review: https://review.openstack.org/240009

Revision history for this message
Sergey Slipushenko (sslypushenko) wrote :

Agreed with Igor, that origin here is in the bad implementation of network serialization in Nailgun. Serialization should not do things like VIP's assignment.
ML link : http://lists.openstack.org/pipermail/openstack-dev/2015-October/077421.html

Changed in fuel:
assignee: Sergey Slipushenko (sslypushenko) → Fuel Python Team (fuel-python)
status: In Progress → Confirmed
Revision history for this message
Mike Scherbakov (mihgen) wrote :

Can we do at least traceback in logs (quick fix) and downgrade importance to Medium, and work on full solution to the problem in parallel?

Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Maciej Kwiek (maciej-iai)
Changed in fuel:
status: Confirmed → In Progress
Changed in fuel:
assignee: Maciej Kwiek (maciej-iai) → Roman Prykhodchenko (romcheg)
Changed in fuel:
milestone: 8.0 → 9.0
status: In Progress → New
Changed in fuel:
status: New → In Progress
Dmitry Pyzhov (dpyzhov)
no longer affects: fuel/future
Revision history for this message
Roman Prykhodchenko (romcheg) wrote :
Changed in fuel:
status: In Progress → Fix Committed
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
status: Fix Committed → In Progress
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/274798

Revision history for this message
Roman Prykhodchenko (romcheg) wrote :

The patch is being merged by CI to master. After it's done, the back-port will be created and then merged within a few hours.

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

Reviewed: https://review.openstack.org/274798
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=77f5eaf896e8ddcef3fb4c4efc855896ea947255
Submitter: Jenkins
Branch: master

commit 77f5eaf896e8ddcef3fb4c4efc855896ea947255
Author: Roman Prykhodchenko <email address hidden>
Date: Mon Feb 1 18:13:17 2016 +0100

    Don't assign VIPs for GET requests

    Since VIPs make no sense before a cluster is deployed
    there's no need to assign them when network configuration
    is generated for GET requests.

    Co-authored by: Maciej Kwiek <email address hidden>
    Co-authored by: Roman Prykhodchenko<email address hidden>

    Change-Id: I382066cc62a9d98f728f5cd5edf771a5a980922f
    Closes-bug: #1504572
    Closes-bug: #1499291
    Partial-bug: #1524320

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/8.0)

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

Andrey Maximov (maximov)
tags: added: hit-hcf
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (stable/8.0)

Reviewed: https://review.openstack.org/275234
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=25a85691b60f8ef0140e835926953afa664cf9ba
Submitter: Jenkins
Branch: stable/8.0

commit 25a85691b60f8ef0140e835926953afa664cf9ba
Author: Roman Prykhodchenko <email address hidden>
Date: Mon Feb 1 18:13:17 2016 +0100

    Don't assign VIPs for GET requests

    Since VIPs make no sense before a cluster is deployed
    there's no need to assign them when network configuration
    is generated for GET requests.

    Co-authored by: Maciej Kwiek <email address hidden>
    Co-authored by: Roman Prykhodchenko<email address hidden>

    Change-Id: I382066cc62a9d98f728f5cd5edf771a5a980922f
    Closes-bug: #1504572
    Closes-bug: #1499291
    Partial-bug: #1524320

tags: added: on-verification
Revision history for this message
Mikhail Samoylov (msamoylov) wrote :

Verified in fuel version:
cat /etc/fuel/version.yaml
VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "8.0"
  api: "1.0"
  build_number: "529"
  build_id: "529"
  fuel-nailgun_sha: "baec8643ca624e52b37873f2dbd511c135d236d9"
  python-fuelclient_sha: "4f234669cfe88a9406f4e438b1e1f74f1ef484a5"
  fuel-agent_sha: "658be72c4b42d3e1436b86ac4567ab914bfb451b"
  fuel-nailgun-agent_sha: "b2bb466fd5bd92da614cdbd819d6999c510ebfb1"
  astute_sha: "b81577a5b7857c4be8748492bae1dec2fa89b446"
  fuel-library_sha: "e2d79330d5d708796330fac67722c21f85569b87"
  fuel-ostf_sha: "3bc76a63a9e7d195ff34eadc29552f4235fa6c52"
  fuel-mirror_sha: "fb45b80d7bee5899d931f926e5c9512e2b442749"
  fuelmenu_sha: "e071216cb214e34b4d861478033425ee6a54a3be"
  shotgun_sha: "63645dea384a37dde5c01d4f8905566978e5d906"
  network-checker_sha: "a43cf96cd9532f10794dce736350bf5bed350e9d"
  fuel-upgrade_sha: "616a7490ec7199f69759e97e42f9b97dfc87e85b"
  fuelmain_sha: "a365f05b903368225da3fea9aa42afc1d50dc9b4"

Steps:
1. Create any env
2. Install plugin https://github.com/adidenko/fuel-plugin-external-lb/blob/master/rpms/external_loadbalancer-0.1-0.1.3-1.noarch.rpm
3. Change plugins network.yaml file like here http://paste.openstack.org/show/414294/
4. Download compute node role fuel role --rel 2 --role compute --file compute.yaml
5. Edit compute.yaml (add to meta section public_ip_required: true. Save file
6. Upload compute.yaml fuel role --rel 2 --update --file compute.yaml
7. Add to env some nodes
8. Check that network tab in WEB UI not hang.

Revision history for this message
Alexandr Kostrikov (akostrikov-mirantis) wrote :

Verified on 9.0 :
wget https://github.com/adidenko/fuel-plugin-external-lb/blob/master/rpms/external_loadbalancer-0.1-0.1.3-1.noarch.rpm
fuel plugins --install external_loadbalancer-0.1-0.1.3-1.noarch.rpm
cd /var/www/nailgun/plugins/external_loadbalancer-0.1
vim network_roles.yaml
fuel plugins --sync --plugin-id=1
fuel role --rel 2 --role compute --file compute.yaml
vim compute.yaml
fuel role --rel 2 --update --file compute.yaml

#There were no 500 errors.

Revision history for this message
Alexandr Kostrikov (akostrikov-mirantis) wrote :

shotgun2 short-report
cat /etc/fuel_build_id:
 376

Also, should we set "Wont Fix" for 7.0?

Changed in fuel:
status: Fix Committed → Fix Released
tags: removed: on-verification
Revision history for this message
Rodion Tikunov (rtikunov) wrote :

Won't Fix for 7.0 as patch is too big and risky

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.