[ovirt-devel] Upgrade to wildfly problem

Roy Golan rgolan at redhat.com
Tue Jun 30 06:21:30 UTC 2015


On 06/30/2015 08:25 AM, Martin Mucha wrote:
> Hi,
>
> this is caused by new HostNetworkingAPI resp one its db upgrade script, not by wildfly. I wrote 'fix' script yesterday, which should fix this. However this patch did not get CR yet, and cannot be merged. But you can use it to cure your environment manually. If you do, please let me know if everything went ok.
>
> https://gerrit.ovirt.org/#/c/42977/
I reviewed the patch, it needs an update
> M.
>
> ----- Original Message -----
>> Hi,
>>
>> I followed the upgrade to wildfly steps here [1]. And everything worked as
>> expected. I was able to compile/run/update database without issues. However
>> now when I start the engine, everything appears to work but I am getting the
>> following stack trace over and over and over again in my engine log.
>>
>> 2015-06-29 11:47:44,240 WARN  [org.ovirt.engine.core.vdsbroker.VdsManager]
>> (DefaultQuartzScheduler_Worker-39) [] Failed to refresh VDS , vds = 'host1' :
>> '932f05b4-e3b0-4e9a-ab99-77ff749138b3', error = 'No enum constant
>> org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol.1',
>> continuing.
>> 2015-06-29 11:47:44,241 ERROR [org.ovirt.engine.core.vdsbroker.VdsManager]
>> (DefaultQuartzScheduler_Worker-39) [] Exception:
>> java.lang.IllegalArgumentException: No enum constant
>> org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol.1
>>          at java.lang.Enum.valueOf(Enum.java:236) [rt.jar:1.7.0_79]
>>          at
>> org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol.valueOf(NetworkBootProtocol.java:6)
>> [common.jar:]
>>          at
>> org.ovirt.engine.core.dao.network.NetworkAttachmentDaoDbFacadeImpl$NetworkAttachmentRowMapper.mapRow(NetworkAttachmentDaoDbFacadeImpl.java:96)
>> [dal.jar:]
>>          at
>> org.ovirt.engine.core.dao.network.NetworkAttachmentDaoDbFacadeImpl$NetworkAttachmentRowMapper.mapRow(NetworkAttachmentDaoDbFacadeImpl.java:79)
>> [dal.jar:]
>>          at
>> org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:92)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:1)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:649)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:587)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:637)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:666)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:706)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.ovirt.engine.core.dal.dbbroker.PostgresDbEngineDialect$PostgresSimpleJdbcCall.executeCallInternal(PostgresDbEngineDialect.java:154)
>> [dal.jar:]
>>          at
>> org.ovirt.engine.core.dal.dbbroker.PostgresDbEngineDialect$PostgresSimpleJdbcCall.doExecute(PostgresDbEngineDialect.java:120)
>> [dal.jar:]
>>          at
>> org.springframework.jdbc.core.simple.SimpleJdbcCall.execute(SimpleJdbcCall.java:181)
>> [spring-jdbc.jar:3.1.1.RELEASE]
>>          at
>> org.ovirt.engine.core.dal.dbbroker.SimpleJdbcCallsHandler.executeImpl(SimpleJdbcCallsHandler.java:147)
>> [dal.jar:]
>>          at
>> org.ovirt.engine.core.dal.dbbroker.SimpleJdbcCallsHandler.executeReadList(SimpleJdbcCallsHandler.java:109)
>> [dal.jar:]
>>          at
>> org.ovirt.engine.core.dao.network.NetworkAttachmentDaoDbFacadeImpl.getAllForHost(NetworkAttachmentDaoDbFacadeImpl.java:40)
>> [dal.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.vdsbroker.HostNetworkAttachmentsPersister.persistNetworkAttachments(HostNetworkAttachmentsPersister.java:69)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.vdsbroker.HostNetworkTopologyPersisterImpl.persistTopology(HostNetworkTopologyPersisterImpl.java:280)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.vdsbroker.HostNetworkTopologyPersisterImpl.persistAndEnforceNetworkCompliance(HostNetworkTopologyPersisterImpl.java:85)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.vdsbroker.HostNetworkTopologyPersisterImpl.persistAndEnforceNetworkCompliance(HostNetworkTopologyPersisterImpl.java:141)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.VdsManager.refreshCapabilities(VdsManager.java:666)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.HostMonitoring.beforeFirstRefreshTreatment(HostMonitoring.java:706)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.HostMonitoring.refreshVdsRunTimeInfo(HostMonitoring.java:128)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.HostMonitoring.refresh(HostMonitoring.java:84)
>> [vdsbroker.jar:]
>>          at
>> org.ovirt.engine.core.vdsbroker.VdsManager.onTimer(VdsManager.java:215)
>> [vdsbroker.jar:]
>>          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> [rt.jar:1.7.0_79]
>>          at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> [rt.jar:1.7.0_79]
>>          at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> [rt.jar:1.7.0_79]
>>          at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_79]
>>          at
>> org.ovirt.engine.core.utils.timer.JobWrapper.invokeMethod(JobWrapper.java:81)
>> [scheduler.jar:]
>>          at
>> org.ovirt.engine.core.utils.timer.JobWrapper.execute(JobWrapper.java:52)
>> [scheduler.jar:]
>>          at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>>          [quartz.jar:]
>>          at
>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
>> [quartz.jar:]
>>
>> After some debugging it appears that the query from the database returns "1"
>> as the value (which is correct as that is the value in the database). But
>> then
>> the NetworkBootProtocol.forValue fails due to the possible values being
>> "NONE", "DHCP", "STATIC". Looking at the stored procedure there doesn't seem
>> to be any translation between 1 and DHCP, so it makes sense for the failure.
>> I
>> compared the stored procedure to a clean new database and they are identical,
>> so I am assuming my database is fine in that regard.
>>
>> If I modify the code to use NetworkBootProtocol.forValue instead of valueOf
>> it
>> works fine, but the valueOf code has been in there for a long time so if that
>> was broken it would have been noticed a long time ago. I am out of thoughts,
>> can anyone help me figure out what is going on?
>>
>> Thanks,
>> Alexander
>>
>> [1] http://lists.ovirt.org/pipermail/devel/2015-June/010832.html
>> _______________________________________________
>> Devel mailing list
>> Devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/devel
>>
> _______________________________________________
> Devel mailing list
> Devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel




More information about the Devel mailing list