Bug 1064231 - exception when selecting 'Subnets' sub tab for network imported from neutron
Summary: exception when selecting 'Subnets' sub tab for network imported from neutron
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: oVirt
Classification: Retired
Component: ovirt-engine-installer
Version: 3.4
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 3.6.0
Assignee: Mike Kolesnik
QA Contact: Michael Burman
URL:
Whiteboard: network
Depends On: 1088955
Blocks: 1132259
TreeView+ depends on / blocked
 
Reported: 2014-02-12 09:33 UTC by Omer Frenkel
Modified: 2016-02-10 19:37 UTC (History)
15 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-11-04 11:36:03 UTC
oVirt Team: Network
Embargoed:


Attachments (Terms of Use)
full engine.log with the actions taken and full error (327.88 KB, text/x-log)
2014-02-12 09:33 UTC, Omer Frenkel
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 33959 0 master MERGED core: Use Jackson 1.9.9 Never

Description Omer Frenkel 2014-02-12 09:33:58 UTC
Created attachment 862169 [details]
full engine.log with the actions taken and full error

Description of problem:
Imported an external network from neutron,
using the guide:
http://www.ovirt.org/Overlay_Networks_with_Neutron_Integration

In Nuetron, I created this subnet: '192.168.0.0/24'

when I go to oVirt web-admin, Networks main tab,
select the imported network, and go to 'Subnets' sub-tab,
nothing is shown, in the engine.log i have this exception:

2014-02-12 11:12:20,271 ERROR [org.ovirt.engine.core.bll.provider.network.GetExternalSubnetsOnProviderByNetworkQuery] (ajp--127.0.0.1-8702-1
0) Query GetExternalSubnetsOnProviderByNetworkQuery failed. Exception message is org.codehaus.jackson.map.JsonMappingException: Parameter #0
 type for factory method ([method valueOf, annotations: {interface org.codehaus.jackson.annotate.JsonCreator=.jackson.annotate.
JsonCreator()}]) not suitable, must be java.lang.String : org.jboss.resteasy.spi.ReaderException: org.codehaus.jackson.map.JsonMappingExcept
ion: Parameter #0 type for factory method ([method valueOf, annotations: {interface org.codehaus.jackson.annotate.JsonCreator=.
jackson.annotate.JsonCreator()}]) not suitable, must be java.lang.String: org.jboss.resteasy.spi.ReaderException: org.codehaus.jackson.map.J
sonMappingException: Parameter #0 type for factory method ([method valueOf, annotations: {interface org.codehaus.jackson.annotate.JsonCreato
r=.jackson.annotate.JsonCreator()}]) not suitable, must be java.lang.String

Version-Release number of selected component (if applicable):
ovirt-3.4-beta2

How reproducible:
always

Steps to Reproduce:
1. create network with subnet in neutron
2. import the network to ovirt using external providers
3. select the imported network in the network main tab
4. go to 'Subnets' sub-tab

Actual results:
nothing is shown in UI,
exception in the log.

Expected results:
see the subnets that defined in neutron in oVirt UI.

flow started at 2014-02-12 11:11:18

Comment 1 Omer Frenkel 2014-02-12 12:20:46 UTC
from IRC chat with Moti Asayag:
<masayag> ofrenkel: it seems that the jackson version is outdated, it should be >1.9.6 (on master it is 1.9.9) but the installed jackson in your env is jackson-1.9.4-6.fc19.noarch

indeed in the engine host i see:
# yum info jackson
Loaded plugins: versionlock
Installed Packages
Name        : jackson
Arch        : noarch
Version     : 1.9.4
Release     : 6.fc19
Size        : 1.2 M
Repo        : installed
From repo   : Fedora19-x86_64
Summary     : Jackson Java JSON-processor

but this is the latest i get using yum, so if another repo is needed this is not listed anywhere

Comment 2 Itamar Heim 2014-02-16 08:23:30 UTC
Setting target release to current version for consideration and review. please
do not push non-RFE bugs to an undefined target release to make sure bugs are
reviewed for relevancy, fix, closure, etc.

Comment 3 Sandro Bonazzola 2014-03-04 09:26:19 UTC
This is an automated message.
Re-targeting all non-blocker bugs still open on 3.4.0 to 3.4.1.

Comment 4 Mike Kolesnik 2014-03-06 14:17:33 UTC
Please provide jackson package with version 1.9.9 as specified in the POM of the project

Comment 5 Sandro Bonazzola 2014-04-17 13:58:06 UTC
Re-assigning to Juan as he's Fedora jackson default assignee.

Comment 6 Sandro Bonazzola 2014-04-18 06:29:17 UTC
Looks like 2.x is available in fedora >= 19. In bug #1088955 packager said that 1.x is in maintenance only mode, can't we update pom for using 2.x?

In rawhide 1.9.11 is available, will be that ok?


Installed Packages
jackson.noarch                                     1.9.4-6.fc19          @fedora
Available Packages
jackson-annotations.noarch                         2.2.2-2.fc19          updates
jackson-annotations-javadoc.noarch                 2.2.2-2.fc19          updates
jackson-core.noarch                                2.2.2-2.fc19          updates
jackson-core-javadoc.noarch                        2.2.2-2.fc19          updates
jackson-databind.noarch                            2.2.2-2.fc19          updates
jackson-databind-javadoc.noarch                    2.2.2-2.fc19          updates
jackson-dataformat-smile.noarch                    2.2.2-1.fc19          updates
jackson-dataformat-smile-javadoc.noarch            2.2.2-1.fc19          updates
jackson-dataformat-xml.noarch                      2.2.2-3.fc19          updates
jackson-dataformat-xml-javadoc.noarch              2.2.2-3.fc19          updates
jackson-javadoc.noarch                             1.9.4-6.fc19          fedora 
jackson-jaxrs-json-provider.noarch                 2.2.2-1.fc19          updates
jackson-jaxrs-providers.noarch                     2.2.2-1.fc19          updates
jackson-jaxrs-providers-javadoc.noarch             2.2.2-1.fc19          updates
jackson-jaxrs-smile-provider.noarch                2.2.2-1.fc19          updates
jackson-module-jaxb-annotations.noarch             2.2.2-2.fc19          updates
jackson-module-jaxb-annotations-javadoc.noarch     2.2.2-2.fc19          updates
jackson-module-mrbean.noarch                       2.2.2-2.fc19          updates
jackson-module-mrbean-javadoc.noarch               2.2.2-2.fc19          updates

Comment 7 Juan Hernández 2014-04-21 08:58:24 UTC
I think that the right solution to this problem is to update the engine to use version 2.x of Jackson, as going forward we will need to do this movement anyhow.

Note that currently the engine uses the version of Jackson provided by JBoss, so using a different one will require to add a Jackson module to the backend/manager/dependencies subproject, as currently we are using the version provided by JBoss. Once we have that module we can bundle that dependency with the engine  or symlink it to the package provided by the distribution.

When we move to Wildfly we can remove this additional module, as Wildfly already provides Jackson 1.x and Jackson 2.x.

None of these tasks are Fedora packaging tasks.

Comment 8 Sandro Bonazzola 2014-05-05 13:07:02 UTC
Returning the bug to network whiteboard as per comment #7.

For what it may be helpful, jackson-1.9.11-3 is now provided by Fedora 19 and 20 so dependency is satisfied on Fedora.

For EL6 builds see comment #7.

Comment 9 Alon Bar-Lev 2014-05-05 13:11:55 UTC
(In reply to Sandro Bonazzola from comment #8)
> Returning the bug to network whiteboard as per comment #7.
> 
> For what it may be helpful, jackson-1.9.11-3 is now provided by Fedora 19
> and 20 so dependency is satisfied on Fedora.
> 
> For EL6 builds see comment #7.

we are using jackson from jboss not from external resource, we should downgrade our usage to whatever jboss provides, or we will be required to maintain yet another external library.

Comment 10 Sandro Bonazzola 2014-05-08 13:55:29 UTC
This is an automated message.

oVirt 3.4.1 has been released.
This issue has been retargeted to 3.5.0 since it has not been marked as high priority or severity issue, please retarget if needed.

Comment 11 Lior Vernia 2014-06-23 13:36:41 UTC
To my understanding, and please correct me if I'm wrong, JBoss comes pre-packaged with some jackson jars, and this is what oVirt uses, no matter what jackson package the user downloads independently.

This means that to solve this, we have to either:
1. Make sure oVirt doesn't use the jackson JAR packaged as part of JBoss.
--- or ---
2. Make sure JBoss updates their usage of jackson in their next 7.1.z release (and that this release arrives soon enough).

Alon, am I correct in understanding the problem and do you agree?

Comment 12 Alon Bar-Lev 2014-06-23 13:46:09 UTC
(In reply to Lior Vernia from comment #11)
> To my understanding, and please correct me if I'm wrong, JBoss comes
> pre-packaged with some jackson jars, and this is what oVirt uses, no matter
> what jackson package the user downloads independently.
> 
> This means that to solve this, we have to either:
> 1. Make sure oVirt doesn't use the jackson JAR packaged as part of JBoss.

this is correct, it means that we need to pull these jars at fedora, centos, rhel(upstream), rhel(downstream).

and for upstream we have the following[1], which is 1.8.8.

> 2. Make sure JBoss updates their usage of jackson in their next 7.1.z
> release (and that this release arrives soon enough).
> 
> Alon, am I correct in understanding the problem and do you agree?

This is not a valid solution as upstream jboss will not be updated for 7.1.z... as no later fixes than 7.1.1 for this series.

Best is to avoid requiring this newer version for now, even at the price of somewhat more code. Not sure how people even tested it at current state.

[1] http://jpackage.org/browser/rpm.php?jppversion=6.0&id=16394

Comment 13 Lior Vernia 2014-06-24 10:54:58 UTC
Since it's not oVirt code that causes this breakage but that of the OpenStack Java SDK, I don't see how we can work around this code-wise.

If we don't want to package the right jar with oVirt, this will have to wait until we adopt the next version of JBoss, so I'm postponing this to 3.6.

There is a workaround to get this to work on oVirt 3.4 and 3.5 - one may download jboss-eap (which includes a newer version of jackson) and modify the environment variable JBOSS_HOME accordingly.

Comment 14 Michael Burman 2015-04-27 11:30:17 UTC
Verified on - 3.6.0-0.0.master.20150412172306.git55ba764.el6

Comment 16 Sandro Bonazzola 2015-11-04 11:36:03 UTC
oVirt 3.6.0 has been released on November 4th, 2015 and should fix this issue.
If problems still persist, please open a new BZ and reference this one.


Note You need to log in before you can comment on or make changes to this bug.