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

Valentin Aitken updated BROOKLYN-519:
-------------------------------------
    Description: 
Scenario:
# Deploy the blueprint:
{noformat}
location: localhost
services:
- type: org.apache.brooklyn.entity.stock.BasicApplication
  brooklyn.config:
    childSpec:
      $brooklyn:entitySpec:
       - type: brooklyn.entity.group.DynamicCluster
{noformat}
# Inspect persistence 
{noformat}
    <childSpec>
      <org.apache.brooklyn.api.entity.EntitySpec>
        <type>org.apache.brooklyn.entity.group.DynamicCluster</type>
        <catalogItemIdSearchPath class="MutableSet"/>
        <tags class="MutableSet"/>
        <parameters class="ImmutableList">
          <org.apache.brooklyn.core.objs.BasicSpecParameter>
            <label>cluster.initial.quorumSize</label>
            <pinned>false</pinned>
            <configKey class="configKey">
              <name>cluster.initial.quorumSize</name>
              <type>java.lang.Integer</type>
              <description>Initial cluster quorum size - number of initial 
nodes that must have been successfully started to report success (if &lt; 0, 
then use value of INITIAL_SIZE)</description>
              <defaultValue class="int">-1</defaultValue>
              <reconfigurable>false</reconfigurable>
              <constraint 
class="com.google.common.base.Predicates$ObjectPredicate">ALWAYS_TRUE</constraint>
            </configKey>
          </org.apache.brooklyn.core.objs.BasicSpecParameter>
          <org.apache.brooklyn.core.objs.BasicSpecParameter>
            <label>cluster.initial.size</label>
            <pinned>false</pinned>
            <configKey class="configKey">
              <name>cluster.initial.size</name>
              .....
            </configKey>
          </org.apache.brooklyn.core.objs.BasicSpecParameter>
        ...
        </parameters>
      </org.apache.brooklyn.api.entity.EntitySpec>
    </childSpec>
{noformat}
Result:
Persisting entity which has $brooklyn:entitySpec config stores all spec configs 
in {{<parameters>}} section.
Concern:
Persisting all config keys can lead to persistence problems when changing 
config keys of a type.

  was:
Scenario:
# Deploy the blueprint:
{noformat}
location: localhost
services:
- type: org.apache.brooklyn.entity.stock.BasicApplication
  brooklyn.config:
    childSpec:
      $brooklyn:entitySpec:
       - type: brooklyn.entity.group.DynamicCluster
{noformat}
# Inspect persistence 
{noformat}
    <childSpec>
      <org.apache.brooklyn.api.entity.EntitySpec>
        <type>org.apache.brooklyn.entity.group.DynamicCluster</type>
        <catalogItemIdSearchPath class="MutableSet"/>
        <tags class="MutableSet"/>
        <parameters class="ImmutableList">
          <org.apache.brooklyn.core.objs.BasicSpecParameter>
            <label>cluster.initial.quorumSize</label>
            <pinned>false</pinned>
            <configKey class="configKey">
              <name>cluster.initial.quorumSize</name>
              <type>java.lang.Integer</type>
              <description>Initial cluster quorum size - number of initial 
nodes that must have been successfully started to report success (if &lt; 0, 
then use value of INITIAL_SIZE)</description>
              <defaultValue class="int">-1</defaultValue>
              <reconfigurable>false</reconfigurable>
              <constraint 
class="com.google.common.base.Predicates$ObjectPredicate">ALWAYS_TRUE</constraint>
            </configKey>
          </org.apache.brooklyn.core.objs.BasicSpecParameter>
          <org.apache.brooklyn.core.objs.BasicSpecParameter>
            <label>cluster.initial.size</label>
            <pinned>false</pinned>
            <configKey class="configKey">
              <name>cluster.initial.size</name>
              .....
            </configKey>
          </org.apache.brooklyn.core.objs.BasicSpecParameter>
        ...
        </parameters>
      </org.apache.brooklyn.api.entity.EntitySpec>
    </childSpec>
{noformat}

Concern:
Persisting all config keys can lead to persistence problems when changing 
config keys of a type.


> Persisting yaml blueprint with $brooklyn:entitySpec stores all configs
> ----------------------------------------------------------------------
>
>                 Key: BROOKLYN-519
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-519
>             Project: Brooklyn
>          Issue Type: Bug
>            Reporter: Valentin Aitken
>
> Scenario:
> # Deploy the blueprint:
> {noformat}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.stock.BasicApplication
>   brooklyn.config:
>     childSpec:
>       $brooklyn:entitySpec:
>        - type: brooklyn.entity.group.DynamicCluster
> {noformat}
> # Inspect persistence 
> {noformat}
>     <childSpec>
>       <org.apache.brooklyn.api.entity.EntitySpec>
>         <type>org.apache.brooklyn.entity.group.DynamicCluster</type>
>         <catalogItemIdSearchPath class="MutableSet"/>
>         <tags class="MutableSet"/>
>         <parameters class="ImmutableList">
>           <org.apache.brooklyn.core.objs.BasicSpecParameter>
>             <label>cluster.initial.quorumSize</label>
>             <pinned>false</pinned>
>             <configKey class="configKey">
>               <name>cluster.initial.quorumSize</name>
>               <type>java.lang.Integer</type>
>               <description>Initial cluster quorum size - number of initial 
> nodes that must have been successfully started to report success (if &lt; 0, 
> then use value of INITIAL_SIZE)</description>
>               <defaultValue class="int">-1</defaultValue>
>               <reconfigurable>false</reconfigurable>
>               <constraint 
> class="com.google.common.base.Predicates$ObjectPredicate">ALWAYS_TRUE</constraint>
>             </configKey>
>           </org.apache.brooklyn.core.objs.BasicSpecParameter>
>           <org.apache.brooklyn.core.objs.BasicSpecParameter>
>             <label>cluster.initial.size</label>
>             <pinned>false</pinned>
>             <configKey class="configKey">
>               <name>cluster.initial.size</name>
>               .....
>             </configKey>
>           </org.apache.brooklyn.core.objs.BasicSpecParameter>
>         ...
>         </parameters>
>       </org.apache.brooklyn.api.entity.EntitySpec>
>     </childSpec>
> {noformat}
> Result:
> Persisting entity which has $brooklyn:entitySpec config stores all spec 
> configs in {{<parameters>}} section.
> Concern:
> Persisting all config keys can lead to persistence problems when changing 
> config keys of a type.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to