Skip to content

Commit dcbb0f9

Browse files
committed
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernetes-operator into owls-72998
2 parents be20422 + 04b4b42 commit dcbb0f9

File tree

16 files changed

+488
-371
lines changed

16 files changed

+488
-371
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# Pull base image
1010
# From the Docker store
1111
# -------------------------
12-
FROM store/oracle/serverjre:8
12+
FROM openjdk:11-oracle
1313
RUN yum -y install openssl && yum clean all
1414

1515
# Maintainer

docs-source/content/userguide/managing-domains/domain-lifecycle/scaling.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,15 +255,15 @@ details about [Using Prometheus to Automatically Scale WebLogic Clusters on Kube
255255

256256
### Helpful Tips
257257
#### Debugging scalingAction.sh
258-
The [`scalingAction.sh`](/src/scripts/scaling/scalingAction.sh) script was designed to be executed within the
258+
The [`scalingAction.sh`](https://github.com/oracle/weblogic-kubernetes-operator/blob/master/src/scripts/scaling/scalingAction.sh) script was designed to be executed within the
259259
Administration Server pod because the associated diagnostic module is targed to the Administration Server.
260260

261261
The easiest way to verify and debug the `scalingAction.sh` script is to open a shell on the running Administration Server pod and execute the script on the command line.
262262

263263
The following example illustrates how to open a bash shell on a running Administration Server pod named `domain1-admin-server` and execute the `scriptAction.sh` script. It assumes that:
264264

265265
* The domain home is in `/u01/oracle/user-projects/domains/domain1` (that is, the domain home is inside a Docker image).
266-
* The Dockerfile copied [`scalingAction.sh`](/src/scripts/scaling/scalingAction.sh) to `/u01/oracle/user-projects/domains/domain1/bin/scripts/scalingAction.sh`.
266+
* The Dockerfile copied [`scalingAction.sh`](https://github.com/oracle/weblogic-kubernetes-operator/blob/master/src/scripts/scaling/scalingAction.sh) to `/u01/oracle/user-projects/domains/domain1/bin/scripts/scalingAction.sh`.
267267

268268
```
269269
> kubectl exec -it domain1-admin-server /bin/bash

docs/charts/index.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ entries:
1010
version: "2.2"
1111
- created: 2019-04-04T14:48:45.071125-04:00
1212
description: Helm chart for configuring the WebLogic operator.
13-
digest: 89dc1fe3be6b005b8aa8c7fe00445f057328ec6a018520f4180ffea17fb7651c
13+
digest: 391e23c0969ada5f0cd2a088ddc6f11f237f57521801ed3925db2149a8437a0d
1414
name: weblogic-operator
1515
urls:
1616
- https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.1.tgz

docs/charts/weblogic-operator-2.1.tgz

-1 Bytes
Binary file not shown.

integration-tests/README.md

Lines changed: 20 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -14,93 +14,7 @@ Wercker runs only Quick test use cases, Jenkins runs both Quick and Full test us
1414

1515
# Use Cases
1616

17-
Java integration tests cover the below use cases:
18-
19-
Quick test Configuration & Use Cases -
20-
21-
| | |
22-
| --- | --- |
23-
| Operator Configuration | operator1 deployed in `weblogic-operator1` namespace and manages domains in `default` and `test1` namespaces |
24-
| Domain Configuration | Domain on PV using WLST, Traefik load balancer |
25-
26-
Basic Use Cases
27-
28-
1. Create operator `operator1` which manages `default` and `test1` namespaces, verify it's deployed successfully, pods created, operator ready and verify external REST service, if configured.
29-
2. Create domain `domain1` in `default` namespace and verify the pods, services are created and servers are in ready state.
30-
3. Verify the admin external service by accessing the admin REST endpoint with `nodeport` in URL.
31-
4. Verify admin t3 channel port by exec into the admin pod and deploying webapp using the channel port for WLST.
32-
5. Verify web app load balancing by accessing the webapp using `loadBalancerWebPort`.
33-
34-
Advanced Use Cases
35-
36-
6. Verify domain life cycle (destroy and create) should not have any impact on operator managing the domain and web app load balancing and admin external service.
37-
7. Cluster scale up/down using operator REST endpoint, webapp load balancing should adjust accordingly.
38-
8. Operator life cycle (destroy and create) should not impact the running domain.
39-
40-
Also the below use cases are covered for Quick test:
41-
42-
9. Verify the liveness probe by killing managed server 1 process 3 times to kick pod auto-restart.
43-
10. Shutdown the domain by changing domain `serverStartPolicy` to `NEVER`.
44-
45-
46-
Full test Configuration & Use Cases - Runs Quick test Configuration & Use cases and the below
47-
48-
| | |
49-
| --- | --- |
50-
| Operator Configuration | operator2 deployed in weblogic-operator2 namespace and manages domains test2 namespace |
51-
| Domain Configuration | Domain on PV using WDT <p> Domain home in image using WLST <p> Domain home in image using WDT <p> Domain with serverStartPolicy ADMIN_ONLY <p> Domain with auto and custom situational configuration <p> Two domains managed by two operators <p> Domain with Recycle weblogicDomainStorageReclaimPolicy <p> Domain with default sample values |
52-
53-
54-
Basic Use Cases described above are verified in all the domain configurations. Also the below use cases are covered:
55-
56-
| Domain | Use Case |
57-
| --- | --- |
58-
| Domain on PV using WDT | WLDF scaling |
59-
| Domain with ADMIN_ONLY | making sure only admin server is started and managed servers are not started. Shutdown domain by deleting domain CRD. Create domain on existing PV dir, pv is already populated by a shutdown domain. |
60-
| Domain with situational config | create domain with listen address not set for admin server and t3 channel/NAP and incorrect file for admin server log location. Introspector should override these with sit-config automatically. Also, with some junk value for t3 channel public address and using custom situational config override replace with valid public address using secret. Also, on Jenkins this domain uses NFS instead of HOSTPATH PV storage |
61-
| Two domains managed by two operators | verify scaling and restart of one domain doesn't impact another domain. Delete domain resources using delete script from samples. |
62-
| Domain with Recycle policy | create domain with pvReclaimPolicy="Recycle" Verify that the PV is deleted once the domain and PVC are deleted |
63-
| Domain with default sample values | create domain using mostly default values for inputs |
64-
| Domain home in image using WLST | cluster scaling |
65-
| Domain home in image using WDT | cluster scaling |
66-
67-
| Operator Usability | Use Case |
68-
| --- | --- |
69-
| Operator Helm Chart with Invalid Attributes | create chart with invalid attributes, verify that deployment fails with expected error |
70-
| Two Operators using same Operator Namespace | create two operators sharing same namespace,verify that deployment fails with expected error |
71-
| Operator Helm Chart using default target domains Namespace| create chart using default target domains namespace |
72-
| Operator Helm Chart using empty target domains Namespace| create chart using empty target domains namespace |
73-
| Operator Helm Chart using UpperCase target domains Namespace| create chart using invalid UpperCase target domains namespace, verify that deployment fails with expected error |
74-
| Operator Helm Chart using not preexisted Operator Namespace | create chart using not preexisted Operator namespace, verify that deployment will fail |
75-
| Operator Helm Chart using not preexisted Operator ServiceAccount | create chart using not preexisted Operator ServiceAccount, verify that deployment will fail, but will change to running after SA is created |
76-
| Operator Helm Chart create delete create | create delete create chart with same values |
77-
| Two Operators using same External Https Port | create chart using same https rest port as already running first operator, verify that deployment fails with expected error |
78-
| Two Operators using same target domains namespace | create chart using target domains namespace as already running first operator, verify that deployment fails with expected error |
79-
| Operator Helm Chart using not preexisted target domains namespace | create chart using not preexisted target domains namespace as already running first operator, verify that deployment fails with expected error |
80-
| Operator Helm Chart add/delete target domain namespaces (domain1, domain2) | create operator helm chart managing domain1, use upgrade to add domain2. Verify that operator is able to manage added domain (domain2). Use helm upgrade to remove domain1, verify that operator not able to manage anymore the deleted one(domain1) |
81-
| Operator Helm Chart delete operator helm chart, leave domain running | create operator helm chart and start domain1, delete operator helm chart, verify domain1 is still functional |
82-
83-
| Server Pods Restarted by modifying properties on the domain resource| Use Case |
84-
| --- | --- |
85-
| Server pods restarted by changing Env property | Verify admin and managed server pods being restarted by property change: `-Dweblogic.StdoutDebugEnabled=false` --> `-Dweblogic.StdoutDebugEnabled=true` |
86-
| Server pods restarted by changing image | Verify admin and managed server pods being restarted by property change: image: `store/oracle/weblogic:12.2.1.3` --> image: `store/oracle/weblogic:duplicate` |
87-
| Server pods restarted by changing imagePullPolicy | Verify admin and managed server pods being restarted by property change: imagePullPolicy: IfNotPresent --> imagePullPolicy: Never |
88-
| Server pods restarted by changing includeServerOutInPodLog | Verify admin and managed server pods being restarted by property change: includeServerOutInPodLog: true --> includeServerOutInPodLog: false |
89-
| Server pods restarted by changing logHomeEnable | Verify admin and managed server pods being restarted by property change: logHomeEnabled: true --> logHomeEnabled: false |
90-
91-
Configuration Overrides Usecases
92-
93-
| Override | Usecase |
94-
| --- | --- |
95-
| Configuration override | Override the administration server properties `connect-timeout`, `max-message-size`, `restart-max`, `debug-server-life-cycle` and `debug-jmx-core` debug flags. Also T3Channel public address using Kubernetes secret. The override is verified by JMX client connecting to the serverConfig MBean tree and the values are checked against the expected values. The test client connects to the overridden T3 public address and port to connect to the MBean servers |
96-
| JDBC Resource Override | Override JDBC connection pool properties; `initialCapacity`, `maxCapacity`, `test-connections-on-reserve`, `connection-harvest-max-count`, `inactive-connection-timeout-seconds`. Override the JDBC driver parameters like data source `URL`, `DB` `user` and `password` using kubernetes secret. The test verifies the overridden functionality datasource `URL`, `user`, `password` by getting the data source connection and running DDL statement it is connected to. |
97-
| JMS Resource Override | Override UniformDistributedTopic Delivery Failure Parameters, `redelivery-limit` and `expiration-policy`. The JMX test client verifies the serverConfig MBean tree for the expected delivery failure parameters, `redelivery-limit` and `expiration-policy`. |
98-
| WLDF Resource Override | Override `wldf-instrumentation-monitor` and `harvester` in a diagnostics module. The test client verifies the new instrumentation monitors/harvesters set by getting the WLDF resource from serverConfig tree with expected values. |
99-
100-
| Session Migration | Use Case |
101-
| --- | --- |
102-
| Primary Server Repick | A backup server becomes the primary server when a primary server fails|
103-
| HTTP Session Migration | Verify in-memory HTTP session State replication |
17+
Use Cases covered in integration tests for the operator is available [here](USECASES.MD)
10418

10519
# Directory Configuration and Structure
10620

@@ -184,7 +98,7 @@ externalRestEnabled: true
18498
javaLoggingLevel: FINE
18599
```
186100

187-
src/integration-tests/resources/domainonpvwlst.yaml - input/customized properties for PV/Load Balancer/WebLogic Domain. Any property can be provided here from kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml and kubernetes/samples/scripts/create-weblogic-domain-pv-pvc/create-pv-pvc-inputs.yaml. For all the properties that are not defined here, the default values in the sample inputs are used while generating inputs yaml.
101+
src/integration-tests/resources/domainonpvwlst.yaml - See [Input Yaml to the test](#input-yaml-to-the-test). For all the properties that are not defined here, the default values in the sample inputs are used while generating inputs yaml.
188102

189103
```
190104
adminServerName: admin-server
@@ -203,7 +117,25 @@ namespace: default
203117

204118
Certain properties like weblogicDomainStoragePath, image, externalOperatorCert are populated at run time.
205119

120+
# Input Yaml to the test
121+
122+
The input yaml file(for example, domainonpvwlst.yaml) to the java test is used to override any or all the attributes in
123+
- samples domain inputs - click [here](https://github.com/oracle/weblogic-kubernetes-operator/blob/develop/kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/create-domain-inputs.yaml) to see samples create-domain-inputs file
124+
- PV/PVC inputs - click [here](https://github.com/oracle/weblogic-kubernetes-operator/blob/develop/kubernetes/samples/scripts/create-weblogic-domain-pv-pvc/create-pv-pvc-inputs.yaml) to see PV/PVC inputs file
125+
- load balancer attributes and
126+
- custom attributes that are used to provide more flexibility for creating the domain.
127+
128+
Below are the load balancer attributes:
129+
- loadBalancer: value can be `TRAEFIK` or `VOYAGER`, default is `TRAEFIK`
130+
- loadBalancerWebPort: web port for the load balancer
131+
- ingressPerDomain: create ingress per domain or one ingress for all domains in multiple domain configuration, default is true.
132+
133+
**Note: System env variables LB_TYPE, INGRESSPERDOMAIN take precedence over the domain input attributes. These variables apply for the entire run, not just one domain.**
206134

135+
Below are the custom attributes:
136+
- createDomainPyScript is used to provide a custom create-domain.py script for domain on pv using WLST or create-wls-domain.py for domain in image
137+
- clusterType is used to create a CONFIGURED or DYNAMIC Cluster. Default is DYNAMIC. This is supported for domain on pv using WLST or domain in image using WDT configurations.
138+
207139
# How does it work
208140

209141
When the tests are run with mvn command,

0 commit comments

Comments
 (0)