Bug 1270740

Summary: Clone declaration missing from cib2pcscmd result
Product: Red Hat Enterprise Linux 7 Reporter: Raoul Scarazzini <rscarazz>
Component: clufterAssignee: Jan Pokorný [poki] <jpokorny>
Status: CLOSED UPSTREAM QA Contact: cluster-qe <cluster-qe>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.3CC: cfeist, slevine
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
2pcscmd conversion now handles clone/master resources; likewise, node properties, utilization (per node or resource) and {op,rsc}_defaults are now covered when converting CIB content into sequence of pcs commands.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-11 19:58:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1269964, 1343661    

Description Raoul Scarazzini 2015-10-12 09:41:23 UTC
Description of problem:

It seems that extracting the pcs command list from a given cib does not consider the meta data attributes.

Version-Release number of selected component (if applicable):

clufter-cli-0.50.4-1.el7.noarch

How reproducible:

Always

Steps to Reproduce:
1. Export a cib with resources that have meta data, i.e.:

...
      <clone id="memcached-clone">
        <primitive class="systemd" id="memcached" type="memcached">
          <instance_attributes id="memcached-instance_attributes"/>
          <operations>
            <op id="memcached-start-timeout-60s" interval="0s" name="start" timeout="60s"/>
            <op id="memcached-monitor-interval-60s" interval="60s" name="monitor"/>
          </operations>
        </primitive>
        <meta_attributes id="memcached-clone-meta">
          <nvpair id="memcached-interleave" name="interleave" value="true"/>
        </meta_attributes>
      </clone>
...

2. Extract the pcs command list with clufter:

clufter cib2pcscmd --nocheck -i cib.xml > cib.pcs

Actual results:

pcs -f tmp-cib.xml resource create memcached systemd:memcached op start 'id=memcached-start-timeout-60s' 'interval=0s' 'name=start' 'timeout=60s' monitor 'id=memcached-monitor-interval-60s' 'interval=60s' 'name=
monitor'

Expected results:

pcs -f tmp-cib.xml resource create memcached systemd:memcached --clone interleave=true op start 'id=memcached-start-timeout-60s' 'interval=0s' 'name=start' 'timeout=60s' monitor 'id=memcached-monitor-interval-60s' 'interval=60s' 'name=monitor'

Additional info:

Comment 3 Jan Pokorný [poki] 2015-12-11 19:58:16 UTC
Thanks for the report.

Should be fixed upstream as of
https://github.com/jnpkrn/clufter/commit/017d101bf2a4ab7d823544344f12e045781800e7

This is planned for new (soonish) release.

Comment 4 Jan Pokorný [poki] 2015-12-11 23:41:57 UTC
Actually I planted (IMHO) better approach: explicit dedicated command:
https://pagure.io/clufter/e0e8b45dcf2b27bc7bf944e67238aeaaadcd505d

In means the referred case will stay as is modulo following new
final line:

> pcs resource clone memcached 'interleave=true'

Comment 5 Jan Pokorný [poki] 2015-12-11 23:45:42 UTC
re [comment 4]:
unless '--tmp-cib ""' specified: s/pcs/pcs -f tmp-cib.xml/
(and it will be last but one line)

Comment 6 Jan Pokorný [poki] 2016-10-10 13:31:31 UTC
Note this is addressed in RHEL 6.8 through rebase ([bug 1269964])
+ in RHEL 7.3 also through rebase ([bug 1343661]).