Unable to deploy a custom namer as plugin

30 views
Skip to first unread message

bethle...@indix.com

unread,
May 24, 2017, 2:05:17 AM5/24/17
to linkerd-users
Hi,

I have followed linkerd-plugin-dev doc and developed a marathon-namer that resolves apps (services) based on the hostnames.
My configuration is as below:
> namers:
> - kind: io.buoyant.marathonHostNamer
>   host: mesos.marathon
>   port: 8080
>
> routers:
> - protocol: http
>   servers:
>   - port: 4140
>     ip: 0.0.0.0
>   dtab: >-
>     /marathonId => /#/io.buoyant.marathonHostNamer;
>     /svc      => /marathonId

I get the below log on starting linkerd.

com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'io.buoyant.marathonHostNamer' into a subtype of [simple type, class io.buoyant.namer.NamerConfig]: known type ids = [NamerConfig, io.l5d.consul, io.l5d.curator, io.l5d.fs, io.l5d.k8s, io.l5d.k8s.external, io.l5d.marathon, io.l5d.rewrite, io.l5d.serversets, io.l5d.zkLeader]
 at [Source: java.io.StringReader@6b587673; line: 9, column: 9] (through reference chain: io.buoyant.linkerd.Linker$LinkerConfig["namers"]->com.fasterxml.jackson.module.scala.deser.BuilderWrapper[0])
at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:42)
at com.fasterxml.jackson.databind.DeserializationContext.unknownTypeIdException(DeserializationContext.java:1477)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1170)
at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleUnknownTypeId(TypeDeserializerBase.java:282)
at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:156)
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:112)
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97)
at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:142)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:289)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:259)
at com.fasterxml.jackson.module.scala.deser.SeqDeserializer.deserialize(SeqDeserializerModule.scala:78)
at com.fasterxml.jackson.module.scala.deser.SeqDeserializer.deserialize(SeqDeserializerModule.scala:61)
at com.fasterxml.jackson.module.scala.deser.OptionDeserializer.deserialize(OptionDeserializerModule.scala:60)
at com.fasterxml.jackson.module.scala.deser.OptionDeserializer.deserialize(OptionDeserializerModule.scala:11)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:499)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:511)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:396)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1197)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:314)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:148)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3798)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2880)
at com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper$class.readValue(ScalaObjectMapper.scala:190)
at io.buoyant.config.Parser$$anon$1.readValue(Parser.scala:79)
at io.buoyant.linkerd.Linker$.parse(Linker.scala:81)
at io.buoyant.linkerd.Main$.loadLinker(Main.scala:61)
at io.buoyant.linkerd.Main$.main(Main.scala:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.twitter.app.App$$anonfun$nonExitingMain$3.apply(App.scala:176)
at com.twitter.app.App$$anonfun$nonExitingMain$3.apply(App.scala:175)
at scala.Option.foreach(Option.scala:257)
at com.twitter.app.App$class.nonExitingMain(App.scala:175)
at io.buoyant.linkerd.Main$.nonExitingMain(Main.scala:20)
at com.twitter.app.App$class.main(App.scala:141)
at io.buoyant.linkerd.Main$.main(Main.scala:20)
at io.buoyant.linkerd.Main.main(Main.scala)
Exception thrown in main on startup

Any help is much appreciated.

Thanks in advance.
Bethleharaja G.


Andrew Seigner

unread,
May 24, 2017, 2:08:51 PM5/24/17
to bethle...@indix.com, linkerd-users

--
You received this message because you are subscribed to the Google Groups "linkerd-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linkerd-users+unsubscribe@googlegroups.com.
To post to this group, send email to linker...@googlegroups.com.
Visit this group at https://groups.google.com/group/linkerd-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/linkerd-users/20c96f48-6093-4da0-b9eb-0d8616c70be7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages