Thanks very much, for review.
I mistakenly used BootProtocol enum instead of NetworkBootProtocol enum, and relied on
ordinal values of former instead on 'intValue's of latter.
updated.
M.
----- Original Message -----
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(a)ovirt.org
>>
http://lists.ovirt.org/mailman/listinfo/devel
>>
> _______________________________________________
> Devel mailing list
> Devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/devel