@@ -635,7 +635,7 @@ function test_second_operator {
635635 declare_test_pass
636636}
637637
638- # dom_define DOM_KEY OP_KEY NAMESPACE DOMAIN_UID WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_ADMIN_PORT
638+ # dom_define DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_ADMIN_PORT
639639# Sets up a table of domain values: all of the above, plus TMP_DIR which is derived.
640640#
641641# dom_get DOM_KEY <value>
@@ -651,21 +651,22 @@ function test_second_operator {
651651# echo Defined operator $opkey with `dom_echo_all $DOM_KEY`
652652#
653653function dom_define {
654- if [ " $# " != 12 ] ; then
655- fail " requires 12 parameters: DOM_KEY OP_KEY NAMESPACE DOMAIN_UID WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_ADMIN_PORT"
654+ if [ " $# " != 13 ] ; then
655+ fail " requires 13 parameters: DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_ADMIN_PORT"
656656 fi
657657 local DOM_KEY=" ` echo \" ${1} \" | sed ' s/-/_/g' ` "
658658 eval export DOM_${DOM_KEY} _OP_KEY=" $2 "
659659 eval export DOM_${DOM_KEY} _NAMESPACE=" $3 "
660660 eval export DOM_${DOM_KEY} _DOMAIN_UID=" $4 "
661- eval export DOM_${DOM_KEY} _WL_CLUSTER_NAME=" $5 "
662- eval export DOM_${DOM_KEY} _MS_BASE_NAME=" $6 "
663- eval export DOM_${DOM_KEY} _ADMIN_PORT=" $7 "
664- eval export DOM_${DOM_KEY} _ADMIN_WLST_PORT=" $8 "
665- eval export DOM_${DOM_KEY} _ADMIN_NODE_PORT=" $9 "
666- eval export DOM_${DOM_KEY} _MS_PORT=" ${10} "
667- eval export DOM_${DOM_KEY} _LOAD_BALANCER_WEB_PORT=" ${11} "
668- eval export DOM_${DOM_KEY} _LOAD_BALANCER_ADMIN_PORT=" ${12} "
661+ eval export DOM_${DOM_KEY} _STARTUP_CONTROL=" $5 "
662+ eval export DOM_${DOM_KEY} _WL_CLUSTER_NAME=" $6 "
663+ eval export DOM_${DOM_KEY} _MS_BASE_NAME=" $7 "
664+ eval export DOM_${DOM_KEY} _ADMIN_PORT=" $8 "
665+ eval export DOM_${DOM_KEY} _ADMIN_WLST_PORT=" $9 "
666+ eval export DOM_${DOM_KEY} _ADMIN_NODE_PORT=" ${10} "
667+ eval export DOM_${DOM_KEY} _MS_PORT=" ${11} "
668+ eval export DOM_${DOM_KEY} _LOAD_BALANCER_WEB_PORT=" ${12} "
669+ eval export DOM_${DOM_KEY} _LOAD_BALANCER_ADMIN_PORT=" ${13} "
669670
670671 # derive TMP_DIR $RESULT_DIR/$NAMESPACE-$DOMAIN_UID :
671672 eval export DOM_${DOM_KEY} _TMP_DIR=" $RESULT_DIR /$3 -$4 "
@@ -693,6 +694,7 @@ function run_create_domain_job {
693694
694695 local NAMESPACE=" ` dom_get $1 NAMESPACE` "
695696 local DOMAIN_UID=" ` dom_get $1 DOMAIN_UID` "
697+ local STARTUP_CONTROL=" ` dom_get $1 STARTUP_CONTROL` "
696698 local WL_CLUSTER_NAME=" ` dom_get $1 WL_CLUSTER_NAME` "
697699 local MS_BASE_NAME=" ` dom_get $1 MS_BASE_NAME` "
698700 local ADMIN_PORT=" ` dom_get $1 ADMIN_PORT` "
@@ -767,6 +769,7 @@ function run_create_domain_job {
767769 sed -i -e " s/^loadBalancerWebPort:.*/loadBalancerWebPort: $LOAD_BALANCER_WEB_PORT /" ${tmp_dir} /create-domain-job-inputs.yaml
768770 sed -i -e " s/^loadBalancerAdminPort:.*/loadBalancerAdminPort: $LOAD_BALANCER_ADMIN_PORT /" ${tmp_dir} /create-domain-job-inputs.yaml
769771 sed -i -e " s/^javaOptions:.*/javaOptions: $WLS_JAVA_OPTIONS /" ${tmp_dir} /create-domain-job-inputs.yaml
772+ sed -i -e " s/^startupControl:.*/startupControl: $STARTUP_CONTROL /" ${tmp_dir} /create-domain-job-inputs.yaml
770773
771774 # we will test cluster scale up and down in domain1 and domain4
772775 if [ " $DOMAIN_UID " == " domain1" ] || [ " $DOMAIN_UID " == " domain4" ] ; then
@@ -1890,6 +1893,7 @@ function verify_domain_created {
18901893
18911894 local NAMESPACE=" ` dom_get $1 NAMESPACE` "
18921895 local DOMAIN_UID=" ` dom_get $1 DOMAIN_UID` "
1896+ local STARTUP_CONTROL=" ` dom_get $1 STARTUP_CONTROL` "
18931897 local MS_BASE_NAME=" ` dom_get $1 MS_BASE_NAME` "
18941898
18951899 trace " verify domain $DOMAIN_UID in $NAMESPACE namespace"
@@ -1909,6 +1913,11 @@ function verify_domain_created {
19091913 trace " verify the service and pod of admin server"
19101914 verify_service_and_pod_created $DOM_KEY 0
19111915
1916+ local verify_as_only=false
1917+ if [ " $STARTUP_CONTROL " = " ADMIN" ] ; then
1918+ verify_as_only=true
1919+ fi
1920+
19121921 local replicas=` get_cluster_replicas $DOM_KEY `
19131922
19141923 trace " verify $replicas number of managed servers for creation"
@@ -1917,15 +1926,22 @@ function verify_domain_created {
19171926 do
19181927 local MS_NAME=" $DOMAIN_UID -${MS_BASE_NAME} $i "
19191928 trace " verify service and pod of server $MS_NAME "
1920- verify_service_and_pod_created $DOM_KEY $i
1929+ if [ " ${verify_as_only} " = " true" ]; then
1930+ verify_pod_deleted $DOM_KEY $i
1931+ else
1932+ verify_service_and_pod_created $DOM_KEY $i
1933+ fi
19211934 done
19221935
19231936 # Check if we got exepcted number of managed servers running
19241937 local ms_name_common=${DOMAIN_UID} -${MS_BASE_NAME}
19251938 local pod_count=` kubectl get pods -n $NAMESPACE | grep " ^${ms_name_common} " | wc -l `
1926- if [ ${pod_count:= Error} != $replicas ] ; then
1939+ if [ ${pod_count:= Error} != $replicas ] && [ " ${verify_as_only} " != " true " ] ; then
19271940 fail " ERROR: expected $replicas number of managed servers running, but got $pod_count , exiting!"
19281941 fi
1942+ if [ ${pod_count:= Error} != 0 ] && [ " ${verify_as_only} " = " true" ] ; then
1943+ fail " ERROR: expected none of managed servers running, but got $pod_count , exiting!"
1944+ fi
19291945}
19301946
19311947function verify_pod_deleted {
@@ -2472,11 +2488,12 @@ function test_suite {
24722488 op_define oper1 weblogic-operator-1 " default,test1" 31001
24732489 op_define oper2 weblogic-operator-2 test2 32001
24742490
2475- # DOM_KEY OP_KEY NAMESPACE DOMAIN_UID WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_ADMIN_PORT
2476- dom_define domain1 oper1 default domain1 cluster-1 managed-server 7001 30012 30701 8001 30305 30315
2477- dom_define domain2 oper1 default domain2 cluster-1 managed-server 7011 30031 30702 8021 30306 30316
2478- dom_define domain3 oper1 test1 domain3 cluster-1 managed-server 7021 30041 30703 8031 30307 30317
2479- dom_define domain4 oper2 test2 domain4 cluster-1 managed-server 7041 30051 30704 8041 30308 30318
2491+ # DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_ADMIN_PORT
2492+ dom_define domain1 oper1 default domain1 AUTO cluster-1 managed-server 7001 30012 30701 8001 30305 30315
2493+ dom_define domain2 oper1 default domain2 AUTO cluster-1 managed-server 7011 30031 30702 8021 30306 30316
2494+ dom_define domain3 oper1 test1 domain3 AUTO cluster-1 managed-server 7021 30041 30703 8031 30307 30317
2495+ dom_define domain4 oper2 test2 domain4 AUTO cluster-1 managed-server 7041 30051 30704 8041 30308 30318
2496+ dom_define domain5 oper1 default domain5 ADMIN cluster-1 managed-server 7051 30061 30705 8051 30309 30319
24802497
24812498 # create namespaces for domains (the operator job creates a namespace if needed)
24822499 # TODO have the op_define commands themselves create target namespace if it doesn't already exist, or test if the namespace creation is needed in the first place, and if so, ask MikeG to create them as part of domain create job
@@ -2541,6 +2558,10 @@ function test_suite {
25412558 # cycle domain1 down and back up, plus verify no impact on domain4
25422559 test_domain_lifecycle domain1 domain4
25432560
2561+ # create another domain in the default namespace with startupControl="ADMIN", and verify that only admin server is created
2562+ run_create_domain_job domain5
2563+ verify_domain_created domain5
2564+
25442565 # test managed server 1 pod auto-restart
25452566 test_wls_liveness_probe domain1
25462567
0 commit comments