Bug 1313516 - failover serverset don't work - getting null objects as addreses
failover serverset don't work - getting null objects as addreses
Status: CLOSED CURRENTRELEASE
Product: ovirt-engine-extension-aaa-ldap
Classification: oVirt
Component: Core (Show other bugs)
1.1.2
Unspecified Unspecified
medium Severity medium (vote)
: ovirt-3.6.5
: 1.1.3
Assigned To: Ondra Machacek
Gonza
:
Depends On:
Blocks: 1321991
  Show dependency treegraph
 
Reported: 2016-03-01 13:22 EST by Ondra Machacek
Modified: 2016-04-21 10:41 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1321991 (view as bug list)
Environment:
Last Closed: 2016-04-21 10:41:11 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: Infra
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
rule-engine: ovirt‑3.6.z+
mgoldboi: planning_ack+
oourfali: devel_ack+
pstehlik: testing_ack+


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
oVirt gerrit 54227 None None None 2016-03-02 03:43 EST

  None (edit)
Description Ondra Machacek 2016-03-01 13:22:15 EST
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 03:43:56 EST
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 11:37:55 EDT
Fix will be included in ovirt-engine-extension-aaa-ldap 1.1.3 package
Comment 3 Gonza 2016-04-06 06:08:39 EDT
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@xxx.rhev.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.