brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Valentin Aitken (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (BROOKLYN-519) Persisting yaml blueprint with $brooklyn:entitySpec stores all configs
Date Thu, 22 Jun 2017 07:12:00 GMT

     [ 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)

Mime
View raw message