Build nova-compute package with NSXv support for Fuel 7.0

Bug #1485605 reported by Igor Zinovik
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Released
Medium
MOS Nova
7.0.x
Fix Released
High
MOS Nova
8.0.x
Fix Released
Medium
MOS Nova

Bug Description

Problem:
nova-compute (Kilo release) lacks two patches that implement NSXv support:
https://review.openstack.org/#/c/209372/
https://review.openstack.org/#/c/209374/

I need a customized .deb (and .rpm if we are shipping CentOS in Fuel 7.0)
package with this patches.

These patches apply fine to Novas stable/kilo branch.

Packages will be shipped within Fuel NSXv plugin and crucial for NSXv support
in Fuel, without them plugin will not work.

Igor Zinovik (izinovik)
description: updated
description: updated
Revision history for this message
Matthew Mosesohn (raytrac3r) wrote :

This goes to MOS team, not fuel-build

Changed in fuel:
assignee: Fuel build team (fuel-build) → MOS Nova (mos-nova)
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

Igor, I remember we discussed this in the email thread. The outcome was that despite the fact those patches apply cleanly, those are still back ports of features, not bug fixes. So this should wait until 8.0 (which will effectively include this code merged). Or you can ship custom nova-compute packages in your plugin.

no longer affects: fuel
Changed in mos:
status: Triaged → Won't Fix
Revision history for this message
Igor Zinovik (izinovik) wrote :

Yes, Roman, we build custom python-nova package with aforementioned patches and will ship this package
within the plugin.

Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

As discussed on the ML thread, we'll be delivering this in 7.0 MU1

tags: added: 70mu1-confirmed
information type: Private → Public
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix proposed to openstack/nova (openstack-ci/fuel-7.0/2015.1.0)

Fix proposed to branch: openstack-ci/fuel-7.0/2015.1.0
Change author: Gary Kotton <email address hidden>
Review: https://review.fuel-infra.org/12866

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote :

Fix proposed to branch: openstack-ci/fuel-7.0/2015.1.0
Change author: Gary Kotton <email address hidden>
Review: https://review.fuel-infra.org/12867

Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

Igor, could you please test the proposed fixes to 7.0 MU 1? ^

Revision history for this message
Igor Zinovik (izinovik) wrote :

Will give a try for this patch tomorrow.

Revision history for this message
Igor Zinovik (izinovik) wrote :

One question:
is it possible to specify a staging mirror in environment (Settings tab -> Repositories) configuration to utilize built python-nova package?

Revision history for this message
Igor Zinovik (izinovik) wrote :

I added extra repository with built packages and started deployment.

Will report back when it finishes.

Revision history for this message
Igor Zinovik (izinovik) wrote :

I tested package with vmware-nsx plugin and it works fine. Instances can be successfully spawn, they get IP address via DHCP service, networking works fine.

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix merged to openstack/nova (openstack-ci/fuel-7.0/2015.1.0)

Reviewed: https://review.fuel-infra.org/12867
Submitter: Vitaly Sedelnik <email address hidden>
Branch: openstack-ci/fuel-7.0/2015.1.0

Commit: 382dda8f2777a5a91cd0454e5f34f40e5dcfccd3
Author: Gary Kotton <email address hidden>
Date: Thu Oct 15 13:19:23 2015

Metadata: support proxying loadbalancers

Metadata service identified an instance by its IP address which is
stored in X-Forwarded-For header, and the attached router instance
which is stored in X-Metadata-Provider header.

A generic load balancer will not be able to insert the X-Instance-ID
which is identifying the metadata requesting instance.

To identify the instance, we use the following algorithm:
The load balancer adds an X-Forwared-For header to the HTTP header,
with the IP address of the instance. That is not enough to identify
the instance as we could have overlapping IPs.

The load balancer inserts an additional header - X-Metadata-Provider,
which identifies the load balancer. The load balancer is an IP device
and therefore cannot have overlapping IPs connected to it. So
X-Metadata-Provider with the X-Forwarded-For make a unique pair,
which is enough to identify the requesting instance.

X-Metadata-Provider-Signature is used to authenticate the load balancer,
in a similar way to X-Instance-ID-Signature with X-Instance-ID is
authenticated the metadata proxy requests.

DocImpact

Co-authored-by: Kobi Samoray <email address hidden>

This completes the blueprint vmware-nsxv-support

Closes-Bug: #1485605

Conflicts:
 nova/api/metadata/handler.py

Change-Id: I3ab687913acd7301c76632de69c80116c2d99cf6
(cherry picked from commit cc5ae7f4f715391ded65c40fbe37d35b69560ee1)

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote :

Reviewed: https://review.fuel-infra.org/12866
Submitter: Vitaly Sedelnik <email address hidden>
Branch: openstack-ci/fuel-7.0/2015.1.0

Commit: 0df646eefedfdf477716a83a9921e9bc67d81ee2
Author: Gary Kotton <email address hidden>
Date: Thu Oct 15 13:19:23 2015

Neutron: add in API method for updating VNIC index

The security group support for the VMware-NSXv Neutron plugin
requires that the Neutron port update the actual VNIC index of
the instance.

This patch adds the support for updating the VNIC index for the
Neutron port. This is done in two places:
1. When the instance is spawned
2. If and when a port is attached to a running instance

The Neutron support for the extension is:
https://review.openstack.org/#/c/144278

This is part of the blueprint vmware-nsxv-support

Conflicts:
 nova/tests/unit/virt/vmwareapi/test_vmops.py
 nova/virt/vmwareapi/vmops.py

Partial-Bug: #1485605

Change-Id: Ie990fa1141a7b2bdae1883572969adef072f4358
(cherry picked from commit d1b01d6aea42a9205950c72723b19a0fa9ae1717)

Revision history for this message
Igor Zinovik (izinovik) wrote :

There is not need in special reproduction scenario.

In order to verify this bug we can run BVT test or run system test
that deploys Compute nodes.

Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

One important note:
You need to install the following plugin before the verification (vCenter is required for this plugin): https://github.com/openstack/fuel-plugin-nsxv
and then perform the following verification scenario:
1. Update repo information and add update repository
2. Update Nova package
3. Create 2 networks (local and external) and router and add networks to this router
4. Boot VM in the local network
5. Assign Floating IP to this VM and ping VM via floating IP.
6. Verify that we can successfully ping VM by Floating IP and that we can access Internet from this VM.

Verification of this issue required lab with vCenter, installation of Fuel NSXv plugin and it will work only if we will update ONLY one Nova package. In case if we apply all MOS 7.0 MU1 update NSXv plugin will not work (accordingly our private discussions with Igor Zinovik in skype, NSXv plugin team knows about the issue)

tags: added: nsx-v
tags: added: nsxv
removed: nsx-v
tags: added: area-nova
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.