You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/11/21 12:47:00 UTC

[jira] [Updated] (AMBARI-24934) Accept legacy JSON configuration in Add Service request

     [ https://issues.apache.org/jira/browse/AMBARI-24934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated AMBARI-24934:
------------------------------------
    Labels: pull-request-available  (was: )

> Accept legacy JSON configuration in Add Service request
> -------------------------------------------------------
>
>                 Key: AMBARI-24934
>                 URL: https://issues.apache.org/jira/browse/AMBARI-24934
>             Project: Ambari
>          Issue Type: Improvement
>          Components: ambari-server
>            Reporter: Doroszlai, Attila
>            Assignee: Doroszlai, Attila
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.8.0
>
>
> Cluster creation via blueprint accepts configuration in the following format, where the {{"properties"}} level is omitted:
> {noformat}
>   "configurations": [
>     {
>       "cluster-env": {
>         "custom-property": "whatever"
>       }
>     },
>     {
>       "zoo.cfg": {
>         "syncLimit": "7"
>       }
>     },
> ...
> {noformat}
> "Add Service" request should accept the same format, too, but currently it results in:
> {noformat}
> <h3>Caused by:</h3><pre>java.lang.IllegalArgumentException: Invalid fields in cluster-env configuration: [custom-property]
> 	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
> 	at org.apache.ambari.server.topology.ConfigurableHelper.lambda$parseConfigs$1(ConfigurableHelper.java:102)
> 	at java.util.ArrayList.forEach(ArrayList.java:1249)
> 	at org.apache.ambari.server.topology.ConfigurableHelper.parseConfigs(ConfigurableHelper.java:88)
> 	at org.apache.ambari.server.controller.AddServiceRequest.&lt;init&gt;(AddServiceRequest.java:88)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> 	at com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:124)
> 	at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:283)
> 	at com.fasterxml.jackson.databind.deser.ValueInstantiator.createFromObjectWith(ValueInstantiator.java:229)
> 	at com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:195)
> 	at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:488)
> 	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1280)
> 	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
> 	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
> 	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4001)
> 	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2992)
> 	at org.apache.ambari.server.controller.AddServiceRequest.of(AddServiceRequest.java:115)
> 	at org.apache.ambari.server.controller.internal.ServiceResourceProvider.createAddServiceRequest(ServiceResourceProvider.java:1242)
> 	at org.apache.ambari.server.controller.internal.ServiceResourceProvider.processAddServiceRequest(ServiceResourceProvider.java:1232)
> 	at org.apache.ambari.server.controller.internal.ServiceResourceProvider.createResourcesAuthorized(ServiceResourceProvider.java:257)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)