elkozmon / zoonavigator

Web-based ZooKeeper UI / editor / browser
https://zoonavigator.elkozmon.com
GNU Affero General Public License v3.0
506 stars 72 forks source link

ACL issue with sasl #1

Closed simplesteph closed 7 years ago

simplesteph commented 7 years ago

Some of my nodes are configured with sasl access. It seems that the API isn't configured to work with those:

zoonavigator-api | [debug] c.e.z.c.c.b.DefaultBackgroundPromiseFactory - GET_ACL event completed with result code 0
zoonavigator-api | [error] o.a.c.f.i.CuratorFrameworkImpl - Background operation result handling threw exception
zoonavigator-api | scala.MatchError: sasl (of class java.lang.String)
zoonavigator-api |  at com.elkozmon.zoonavigator.core.zookeeper.acl.Scheme$.fromZookeeperScheme(Scheme.scala:40)
zoonavigator-api |  at com.elkozmon.zoonavigator.core.query.queries.GetZNodeAclQueryHandler$$anonfun$2$$anonfun$3.apply(GetZNodeAclQueryHandler.scala:51)
zoonavigator-api |  at com.elkozmon.zoonavigator.core.query.queries.GetZNodeAclQueryHandler$$anonfun$2$$anonfun$3.apply(GetZNodeAclQueryHandler.scala:48)
zoonavigator-api |  at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
zoonavigator-api |  at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
zoonavigator-api |  at scala.collection.Iterator$class.foreach(Iterator.scala:893)
zoonavigator-api |  at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
zoonavigator-api |  at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
zoonavigator-api |  at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
zoonavigator-api |  at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
zoonavigator-api | [warn] application - Background operation result handling threw exception
zoonavigator-api | scala.MatchError: sasl (of class java.lang.String)
zoonavigator-api |  at com.elkozmon.zoonavigator.core.zookeeper.acl.Scheme$.fromZookeeperScheme(Scheme.scala:40)
zoonavigator-api |  at com.elkozmon.zoonavigator.core.query.queries.GetZNodeAclQueryHandler$$anonfun$2$$anonfun$3.apply(GetZNodeAclQueryHandler.scala:51)
zoonavigator-api |  at com.elkozmon.zoonavigator.core.query.queries.GetZNodeAclQueryHandler$$anonfun$2$$anonfun$3.apply(GetZNodeAclQueryHandler.scala:48)
zoonavigator-api |  at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
zoonavigator-api |  at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
zoonavigator-api |  at scala.collection.Iterator$class.foreach(Iterator.scala:893)
zoonavigator-api |  at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
zoonavigator-api |  at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
zoonavigator-api |  at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
zoonavigator-api |  at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
zoonavigator-api | [debug] application - Closing connection to zookeeper-1.zk.dev.analytics.in.cld:2181. Cause: EXPIRED
elkozmon commented 7 years ago

Indeed, sasl is not supported at the moment. It shouldn't be too much work though, I will look into it this week.

elkozmon commented 7 years ago

API should be able to handle any ACL scheme now. Docker images with the fix are now available under version tag 0.2.0. Please let me know if it didn't solve the issue for you!

simplesteph commented 7 years ago

@elkozmon thanks will test and get back to you!

simplesteph commented 7 years ago

@elkozmon working like a charm, thanks!

elkozmon commented 7 years ago

@simplesteph good! thanks to you, too :)