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

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

Doroszlai, Attila created AMBARI-24934:
------------------------------------------

             Summary: 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
             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)