4 Replies Latest reply on Nov 21, 2018 7:44 AM by John Farmer

    Ubuntu Reinstalled Tableau to change authentication type to trust

    John Farmer

      I have a server we are trying to change the authentication type from local to trusted.   I went ahead and uinstalled the tableau server using the:

       

      tableau-server-obliterate -y -y -y -l

       

      and wiped out the tableau_server folder just incase.

       

      Started the install again everything is going smooth until its time to import the json config, here is the example json file for trusted authentication. 

      {

      "configEntities": {

      "trustedAuthenticationSettings": {

      "_type": "trustedAuthenticationSettingsType",

      "trustedHosts": "required"

      }

      }

      }

       

      When I try to import this config file using:  tsm settings import -f  file.json  

       

      I'm getting:  Unable to map JSON in configuration file.

       

      A look at the tsm.log file and I'm seeing:

       

      2018-11-20 09:38:40 main : DEBUG com.tableausoftware.tabadmin.Tabadmin - =====================================================================

      2018-11-20 09:38:40 main : DEBUG com.tableausoftware.tabadmin.Tabadmin - ====>> Starting tsm at 2018-11-20T09:38:40.226 <<====

      2018-11-20 09:38:40 main : DEBUG com.tableausoftware.tabadmin.Tabadmin - System.out encoding: UTF8

      2018-11-20 09:38:40 main : DEBUG com.tableausoftware.tabadmin.Tabadmin - Default locale: en_US

      2018-11-20 09:38:40 main : DEBUG com.tableausoftware.tabadmin.Tabadmin - Display language: English

      2018-11-20 09:38:40 main : DEBUG com.tableausoftware.tabadmin.Tabadmin - Command line: tsm settings import -f file.json

      2018-11-20 09:38:40 main : DEBUG com.tableausoftware.certificates.LinuxCertManager - Loading certificates: /etc/opt/tableau/tableau_server/tableauservicesmanagerca.jks

      2018-11-20 09:38:41 main : TRACE com.tableausoftware.tabadmin.cli.SessionHandlingRestOperations$RequestFactory - Setting cookie

      2018-11-20 09:38:41 main : ERROR com.tableausoftware.tabadmin.commands.settings.Import - Unable to map JSON in configuration file.

      com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of VALUE_STRING token

      at [Source: file.json; line: 5, column: 19] (through reference chain: com.tableausoftware.tabadmin.webapp.viewmodels.TsmRequest["configEntities"]->java.util.LinkedHashMap["trustedAuthenticationSettings"]->com.tableausoftware.tabadmin.webapp.viewmodels.TrustedAuthenticationSettingsType["trustedHosts"])

              at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:216)

              at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:873)

              at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:869)

              at com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer.handleNonArray(StringCollectionDeserializer.java:259)

              at com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer.deserialize(StringCollectionDeserializer.java:187)

              at com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer.deserialize(StringCollectionDeserializer.java:177)

              at com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer.deserialize(StringCollectionDeserializer.java:20)

              at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490)

              at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:95)

              at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:341)

              at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:168)

              at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:135)

              at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:120)

              at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:91)

              at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:142)

              at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:497)

              at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:341)

              at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26)

              at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490)

              at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:95)

              at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:341)

              at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133)

              at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3789)

              at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2673)

              at com.tableausoftware.tabadmin.commands.settings.Import.doExecute(Import.java:63)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.executeLeaf(TabadminCommand.java:174)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.execute(TabadminCommand.java:120)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.execute(TabadminCommand.java:115)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.execute(TabadminCommand.java:85)

              at com.tableausoftware.tabadmin.Tabadmin.run(Tabadmin.java:174)

              at com.tableausoftware.tabadmin.Tabadmin.main(Tabadmin.java:73)

              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 org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)

              at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)

              at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)

              at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58)

      2018-11-20 09:38:41 main : ERROR com.tableausoftware.tabadmin.cli.Console - Unable to map JSON in configuration file.

      com.tableausoftware.commandline.commons.ReportableException: Unable to map JSON in configuration file.

              at com.tableausoftware.tabadmin.commands.settings.Import.doExecute(Import.java:71)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.executeLeaf(TabadminCommand.java:174)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.execute(TabadminCommand.java:120)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.execute(TabadminCommand.java:115)

              at com.tableausoftware.tabadmin.commands.TabadminCommand.execute(TabadminCommand.java:85)

              at com.tableausoftware.tabadmin.Tabadmin.run(Tabadmin.java:174)

              at com.tableausoftware.tabadmin.Tabadmin.main(Tabadmin.java:73)

              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 org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)

              at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)

              at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)

              at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58)

       

      I assume there is something wrong with the config file I'm using but I'm not really sure what the issue is.