Bug 1313516 - failover serverset don't work - getting null objects as addreses
Summary: failover serverset don't work - getting null objects as addreses
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine-extension-aaa-ldap
Classification: oVirt
Component: Core
Version: 1.1.2
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ovirt-3.6.5
: 1.1.3
Assignee: Ondra Machacek
QA Contact: Gonza
URL:
Whiteboard:
Depends On:
Blocks: 1321991
TreeView+ depends on / blocked
 
Reported: 2016-03-01 18:22 UTC by Ondra Machacek
Modified: 2016-04-21 14:41 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1321991 (view as bug list)
Environment:
Last Closed: 2016-04-21 14:41:11 UTC
oVirt Team: Infra
Embargoed:
rule-engine: ovirt-3.6.z+
mgoldboi: planning_ack+
oourfali: devel_ack+
pstehlik: testing_ack+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 54227 0 None MERGED core: initialize servers/ports array correctly 2020-11-19 13:21:22 UTC

Description Ondra Machacek 2016-03-01 18:22:15 UTC
Description of problem:
There is an issue getting serverset servers/ports.
When creating serversets in Framework.java, we get list of addresses from map which contain also ".port=xxxx",
which lead to having null in list. For most of the serversets it's not an issue, but FailoverServers must not contain null as address.


Version-Release number of selected component (if applicable):
1.1.2

How reproducible:
always

Comment 1 Ondra Machacek 2016-03-02 08:43:56 UTC
Example configuration:
pool.default.serverset.type = failover
pool.default.serverset.failover.00.server = server1
pool.default.serverset.failover.01.server = server2

Exception:
WARNING [ovirt-engine-extension-aaa-ldap.authn::ipa-authn] Cannot initialize LDAP framework, deferring initialization. Error: A null object was provided where a non-null object is required (non-null index 0).  Thread stack trace:  getStackTrace(Thread.java:1589) / ensureNotNull(Validator.java:60) / <init>(SingleServerSet.java:140) / <init>(FailoverServerSet.java:289) / createConnectionPool(Framework.java:549) / createConnectionPoolEntry(Framework.java:667) / getConnectionPoolEntry(Framework.java:782) / runSequence(Framework.java:1505) / open(Framework.java:719) / ensureFramework(AuthnExtension.java:49) / doAuthenticateCredentials(AuthnExtension.java:145) / invoke(AuthnExtension.java:70) / invoke(ExtensionProxy.java:49) / invoke(ExtensionProxy.java:73) / invoke(ExtensionProxy.java:109) / execute(AAAServiceImpl.java:160) / execute(AAAServiceImpl.java:423) / run(AAAServiceImpl.java:694) / main(ExtensionsToolExecutor.java:103) / invoke0(NativeMethodAccessorImpl.java) / invoke(NativeMethodAccessorImpl.java:57) / invoke(DelegatingMethodAccessorImpl.java:43) / invoke(Method.java:606) / run(Module.java:312) / main(Main.java:473)
2016-03-02 10:40:44 SEVERE  A null object was provided where a non-null object is required (non-null index 0).  Thread stack trace:  getStackTrace(Thread.java:1589) / ensureNotNull(Validator.java:60) / <init>(SingleServerSet.java:140) / <init>(FailoverServerSet.java:289) / createConnectionPool(Framework.java:549) / createConnectionPoolEntry(Framework.java:667) / getConnectionPoolEntry(Framework.java:782) / runSequence(Framework.java:1505) / open(Framework.java:719) / ensureFramework(AuthnExtension.java:49) / doAuthenticateCredentials(AuthnExtension.java:145) / invoke(AuthnExtension.java:70) / invoke(ExtensionProxy.java:49) / invoke(ExtensionProxy.java:73) / invoke(ExtensionProxy.java:109) / execute(AAAServiceImpl.java:160) / execute(AAAServiceImpl.java:423) / run(AAAServiceImpl.java:694) / main(ExtensionsToolExecutor.java:103) / invoke0(NativeMethodAccessorImpl.java) / invoke(NativeMethodAccessorImpl.java:57) / invoke(DelegatingMethodAccessorImpl.java:43) / invoke(Method.java:606) / run(Module.java:312) / main(Main.java:473)

Workaround:
In jar file:
/usr/share/ovirt-engine-extension-aaa-ldap/modules/org/ovirt/engine-extensions/aaa/ldap/main/ovirt-engine-extension-aaa-ldap.jar
Find file:
org/ovirt/engineextensions/aaa/ldap/profile-defaults.properties
There comment/remove line:
pool.default.serverset.failover.port = 389
Remember that in this case you have to always use 389 port.

Comment 2 Martin Perina 2016-03-24 15:37:55 UTC
Fix will be included in ovirt-engine-extension-aaa-ldap 1.1.3 package

Comment 3 Gonza 2016-04-06 10:08:39 UTC
Verified with:
ovirt-engine-extension-aaa-ldap-1.1.3-1.el6ev.noarch

[Conf values]
pool.default.serverset.type = failover
pool.default.serverset.failover.00.server = xxxlc.xxx.rhev.lab.eng.brq.redhat.com
pool.default.serverset.failover.01.server = xxxpc.xxx.rhev.lab.eng.brq.redhat.com
pool.default.serverset.failover.domain = ${global:vars.domain}

[Log]
2016-04-06 11:26:39,525 INFO  [org.ovirt.engineextensions.aaa.ldap.Framework] (ServerService Thread Pool -- 60) [] [ovirt-engine-extension-aaa-ldap.authn::ldap-auth-simple_ad] Creating LDAP pool 'authz'
2016-04-06 11:26:43,130 INFO  [org.ovirt.engineextensions.aaa.ldap.Framework] (ServerService Thread Pool -- 60) [] [ovirt-engine-extension-aaa-ldap.authn::ldap-auth-simple_ad] LDAP pool 'authz' information: vendor='null' version='null'
2016-04-06 11:26:43,134 INFO  [org.ovirt.engineextensions.aaa.ldap.Framework] (ServerService Thread Pool -- 60) [] [ovirt-engine-extension-aaa-ldap.authn::ldap-auth-simple_ad] Creating LDAP pool 'authn'
2016-04-06 11:26:43,494 INFO  [org.ovirt.engineextensions.aaa.ldap.Framework] (ServerService Thread Pool -- 60) [] [ovirt-engine-extension-aaa-ldap.authn::ldap-auth-simple_ad] LDAP pool 'authn' information: vendor='null' version='null'
2016-04-06 11:26:43,747 INFO  [org.ovirt.engineextensions.aaa.ldap.Framework] (ServerService Thread Pool -- 60) [] [ovirt-engine-extension-aaa-ldap.authn::ldap-auth-simple_ad] Creating LDAP pool 'xxx.rhev.lab.eng.brq.redhat.com'
2016-04-06 11:26:44,939 INFO  [org.ovirt.engineextensions.aaa.ldap.Framework] (ServerService Thread Pool -- 60) [] [ovirt-engine-extension-aaa-ldap.authn::ldap-auth-simple_ad] LDAP pool 'authz.lab.eng.brq.redhat.com' information: vendor='null' version='null'


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