2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-05-29 17:23:08 +00:00
litingt c13741c010 add cases for issue 4085 :
Usage: chdef - Change xCAT data object definitions.

  chdef [-h | --help ] [-t object-types]

  chdef [-t object-types] [-o object-names] [-n new-name] [node]

  chdef [-V | --verbose] [-t object-types] [-o object-names] [-d | --dynamic]
    [-z | --stanza] [-m | --minus] [-p | --plus]
    [-w attr==val [-w attr=~val] ... ] [noderange] [attr=val [attr=val...]]

The following data object types are supported by xCAT:

auditlog,boottarget,eventlog,firmware,group,kit,kitcomponent,kitrepo,monitoring,network,node,notification,osdistro,osdistroupdate,osimage,pdu,policy,rack,route,site,taskstate,zone,zvmivp

Use the '-h' option together with the '-t' option to
 get a list of valid attribute names for each object type. fails without  and  parameters
2018-12-16 22:19:48 -05:00

319 lines
8.8 KiB
Plaintext

start:chdef_null
description:chdef without any flag
label:mn_only,ci_test,db
cmd:chdef
check:output=~Usage
end
start:chdef_t_node
description:chdef -t node
label:mn_only,ci_test,db
cmd:mkdef -t node -o testnode groups=all
check:rc==0
cmd:chdef -t node -o testnode groups=aix
check:rc==0
cmd:lsdef -t node -l testnode
check:rc==0
check:output=~groups=aix
cmd:chdef testnode groups=linux
check:rc==0
cmd:lsdef -t node -l testnode
check:rc==0
check:output=~groups=linux
cmd:chdef -t node -o testnode postscripts="syslog,remoteshell,syncfiles"
check:rc==0
check:output!~Error
check:output=~Warning: (\[.*?\]: )?testnode: postscripts 'syslog' is already included
check:output=~Warning: (\[.*?\]: )?testnode: postscripts 'remoteshell' is already included
check:output=~Warning: (\[.*?\]: )?testnode: postscripts 'syncfiles' is already included
cmd:chdef -t node -o testnode postbootscripts=otherpkgs
check:rc==0
check:output!~Error
check:output=~Warning: (\[.*?\]: )?testnode: postbootscripts 'otherpkgs' is already included
cmd:rmdef -t node testnode
check:rc==0
end
start:chdef_t_network
description:chdef -t network
label:mn_only,ci_test,db
cmd:chdef -t network -o testnetwork net=111.222.33.0 mask=255.255.255.254
check:rc==0
cmd:lsdef -t network -l testnetwork
check:rc==0
check:output=~net=111.222.33.0
check:output=~mask=255.255.255.254
cmd:chdef -t network -o testnetwork net=111.222.34.0 mask=255.255.255.254 gateway=111.222.34.1
check:rc==0
cmd:lsdef -t network -l testnetwork
check:rc==0
check:output=~net=111.222.34.0
check:output=~mask=255.255.255.254
check:output=~gateway=111.222.34.1
cmd:rmdef -t network testnetwork
end
start:chdef_p
description:chdef -p -t node
label:mn_only,ci_test,db
cmd:mkdef -t node -o testnode groups=all
check:rc==0
cmd:chdef -p -t node -o testnode groups=aix
check:rc==0
cmd:lsdef -t node -l testnode
check:output=~groups=all,aix
cmd:rmdef -t node testnode
end
start:chdef_m
description:chdef -m -t node
label:mn_only,ci_test,db
cmd:mkdef -t node -o testnode groups=all,testgroup
check:rc==0
cmd:chdef -m -t node -o testnode groups=testgroup
check:rc==0
cmd:lsdef -t node -l testnode
check:output!~testgroup
cmd:rmdef -t node testnode
end
start:chdef_z
description:chdef -z
label:mn_only,ci_test,db
cmd:mkdef -t node -o testnode groups=all
check:rc==0
cmd:lsdef testnode -z > /tmp/testnode.stanza
check:rc==0
cmd:perl -pi -e 's/all/aix/g' /tmp/testnode.stanza
cmd:cat /tmp/testnode.stanza | chdef -z
check:rc==0
cmd:lsdef testnode -l
check:rc==0
check:output=~groups=aix
cmd:rm -f /tmp/testnode.stanza
cmd:rmdef -t node testnode
check:rc==0
end
start:chdef_group
description:chdef with node group
label:mn_only,ci_test,db
cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp
check:rc==0
cmd:mkdef -t node -o testnode3-testnode4 mgt=ipmi cons=ipmi groups=all,systemx
check:rc==0
cmd:mkdef -t group -o testgrp1 members=testnode1,testnode3
check:rc==0
cmd:lsdef -s testgrp1
check:rc==0
check:output=~testnode1
check:output=~testnode3
check:output!~testnode2
check:output!~testnode4
cmd:chdef -t group -o testgrp1 -p members=testnode2,testnode4
check:rc==0
cmd:lsdef -s testgrp1
check:rc==0
check:output=~testnode1
check:output=~testnode3
check:output=~testnode2
check:output=~testnode4
cmd:chdef -t group -o testgrp1 -m members=testnode1,testnode2
check:rc==0
cmd:lsdef -s testgrp1
check:rc==0
check:output!~testnode1
check:output=~testnode3
check:output!~testnode2
check:output=~testnode4
cmd:rmdef -t group testgrp1
check:rc==0
cmd:rmdef -t node -o testnode1-testnode4
check:rc==0
end
start:chdef_group_p
label:mn_only,ci_test,db
cmd:chdef abcnode1 -p groups=abc
check:rc==0
cmd:chdef abcnode2 -p groups=abcabc
check:rc==0
cmd:chdef -t group abc members=abcnode2
check:rc==0
cmd:nodels abc
check:output!~abcnode1
check:output=~abcnode2
cmd:rmdef abcnode1
cmd:rmdef abcnode2
end
start:chdef_dynamic_group
description:chdef with dynamic node group
label:mn_only,ci_test,db
cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp
check:rc==0
cmd:mkdef -t node -o testnode3-testnode4 mgt=hmc cons=ipmi groups=all,systemx
check:rc==0
cmd:mkdef -t group -o dyngrp -d -w cons==hmc
check:rc==0
cmd:lsdef -s dyngrp
check:rc==0
check:output=~testnode1
check:output=~testnode2
check:output!~testnode3
check:output!~testnode4
cmd:chdef -t group -o dyngrp -d -w mgt==hmc
check:rc==0
cmd:lsdef -s dyngrp
check:rc==0
check:output=~testnode1
check:output=~testnode2
check:output=~testnode3
check:output=~testnode4
cmd:chdef -t group -o dyngrp -d -p -w cons==hmc -w groups=~systemp
check:rc==0
cmd:lsdef -s dyngrp
check:rc==0
check:output=~testnode1
check:output=~testnode2
check:output!~testnode3
check:output!~testnode4
cmd:lsdef -t group -o dyngrp
check:rc==0
check:output=~wherevals=mgt==hmc::cons==hmc::groups=~systemp
cmd:chdef -t group -o dyngrp -d -m -w cons==hmc -w groups=~systemp
check:rc==0
cmd:lsdef -s dyngrp
check:output=~testnode1
check:output=~testnode2
check:output=~testnode3
check:output=~testnode4
cmd:rmdef -t group -o dyngrp
check:rc==0
cmd:rmdef -t node -o testnode1-testnode4
check:rc==0
end
start:chdef_multiple_keys
description:mkdef support for multiple keys in a table, such as ppcdirect
label:mn_only,ci_test,db
cmd: mkdef -t node -o testfsp mgt=fsp cons=fsp groups=all,fsp nodetype=fsp passwd.HMC=abc123 passwd.general=abc123 passwd.admin=abc123
check:rc==0
cmd:lsdef testfsp
check:rc==0
check:output=~passwd.HMC=abc123
check:output=~passwd.general=abc123
check:output=~passwd.admin=abc123
cmd:chdef -t node -o testfsp groups=fsp passwd.HMC=HMC passwd.general=general passwd.admin=admin
check:rc==0
cmd:lsdef testfsp
check:rc==0
check:output=~passwd.HMC=HMC
check:output=~passwd.general=general
check:output=~passwd.admin=admin
cmd:rmdef -t node -o testfsp
check:rc==0
end
start:chdef_n
description:chdef -n
label:mn_only,ci_test,db
cmd:mkdef -t node -o testnode1 mgt=hmc cons=hmc groups=all,systemp
check:rc==0
cmd:chdef testnode1 -n testnode2
check:rc==0
cmd:lsdef testnode1
check:output=~Could not find
cmd:lsdef testnode2
check:rc==0
check:output=~Object name
check:output=~mgt=hmc
check:output=~cons=hmc
check:output=~groups=all,systemp
cmd:rmdef testnode2
check:rc==0
end
start:chdef_t_o_error
description:chdef -t wrongtype
label:mn_only,ci_test,db
cmd:chdef -t wrongtype -o testnode groups=all,aix
check:rc!=0
check:output=~not a valid
end
start:chdef_template
description:try to change a template, a new node is created according to chdef.
label:mn_only,ci_test,db
cmd:result=`lsdef | grep switch-template`; if [[ $result =~ "switch-template" ]]; then echo $result; noderm switch-template; fi
cmd:chdef -t node -o switch-template groups=test
check:output=~1 object definitions have been created or modified
check:output=~New object definitions \'switch-template\' have been created
check:rc==0
cmd:lsdef switch-template
check:output=~Object name\: switch\-template
check:output=~groups\=test
check:rc==0
cmd:noderm switch-template
check:rc==0
end
start:chdef_site_check
description:This case is use to check site table could be changed successfully
label:mn_only,db
cmd:var=`lsdef -t site clustersite -i dhcplease|grep 'dhcplease=' |awk -F= '{print $2}'`;echo $var>/tmp/sitevalue;chdef -t site clustersite dhcplease=300
check:rc==0
check:output=~1 object definitions have been created or modified.
cmd:lsdef -t site clustersite -i dhcplease|grep 'dhcplease=' |awk -F= '{print $2}'
check:output=~300
cmd:if [ -f /tmp/sitevalue ];then var=`cat /tmp/sitevalue`;chdef -t site clustersite dhcplease=$var;rm -rf /tmp/sitevalue;fi
check:rc==0
end
start:chdef_network_not_exist
description:This case is use to create a network, but not set net and mask.
label:mn_only,db
cmd:chdef -t network aaaaa_not_exist
check:output=~No object definitions have been created or modified
#check:rc!=0
cmd:chdef -t network aaaaa_not_exist mtu=1500
check:rc!=0
check:output=~Net or mask value should not be empty
cmd:chdef -t network aaaaa_not_exist mtu=1500 net=10.0.0.0
check:rc!=0
check:output=~Net or mask value should not be empty
cmd:chdef -t network aaaaa_not_exist mtu=1500 mask=255.255.255.0
check:rc!=0
check:output=~Net or mask value should not be empty
cmd:chdef -t network aaaaa_not_exist mask=255.255.255.0 net=100.0.0.0 mtu=1500
check:rc==0
check:output=~1 object definitions have been created or modified
cmd:lsdef -t network aaaaa_not_exist
check:rc==0
cmd:chdef -t network aaaaa_not_exist gateway=10.0.0.101
check:rc==0
cmd:lsdef -t network aaaaa_not_exist -i gateway
check:output=~10.0.0.101
cmd:chdef -t network bbbbb_not_exist mask=255.255.255.0 net=100.0.0.0
check:rc!=0
check:output=~A network definition called 'aaaaa_not_exist' already exists
cmd:echo '
bbbbb_not_exist:
objtype=network
net=150.0.0.0
' > /tmp/bbbbb_not_exist.def
cmd:cat /tmp/bbbbb_not_exist.def |mkdef -z
check:rc!=0
check:output=~Net or mask value should not be empty
cmd:lsdef -t network -o bbbbb_not_exist
check:rc!=0
cmd:rmdef -t network -o aaaaa_not_exist
check:rc==0
cmd:rm -rf /tmp/bbbbb_not_exist.def
end