Skip to content

Commit aced710

Browse files
committed
Merge branch 'jyoti_onprem_controller' into 'master'
Jyoti onprem controller branch See merge request rac-docker-dev/oracle-database-operator!210
2 parents f1c813d + fdaf049 commit aced710

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+2604
-199
lines changed

docs/onpremdb/README.md

Lines changed: 140 additions & 199 deletions
Large diffs are not rendered by default.

docs/onpremdb/images/K8S_SECURE1.png

127 KB
Loading

docs/onpremdb/images/K8S_SECURE2.png

128 KB
Loading

docs/onpremdb/images/K8S_SECURE3.png

127 KB
Loading

docs/onpremdb/images/K8S_SECURE4.png

129 KB
Loading
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
-- Check the status of CDB CRD Pod(s):
2+
3+
% kubectl get all -n oracle-database-operator-system
4+
NAME READY STATUS RESTARTS AGE
5+
pod/cdb-dev-ords-rs-q2b68 1/1 Running 0 29s
6+
pod/oracle-database-operator-controller-manager-76cb674c5c-4nrh8 1/1 Running 0 4d10h
7+
pod/oracle-database-operator-controller-manager-76cb674c5c-f9wsd 1/1 Running 1 4d10h
8+
pod/oracle-database-operator-controller-manager-76cb674c5c-xsv9g 1/1 Running 2 4d10h
9+
10+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
11+
service/oracle-database-operator-controller-manager-metrics-service ClusterIP 10.96.98.47 <none> 8443/TCP 5d1h
12+
service/oracle-database-operator-webhook-service ClusterIP 10.96.166.163 <none> 443/TCP 5d1h
13+
14+
NAME READY UP-TO-DATE AVAILABLE AGE
15+
deployment.apps/oracle-database-operator-controller-manager 3/3 3 3 5d1h
16+
17+
NAME DESIRED CURRENT READY AGE
18+
replicaset.apps/cdb-dev-ords-rs 1 1 1 31s
19+
replicaset.apps/oracle-database-operator-controller-manager-76cb674c5c 3 3 3 5d1h
20+
21+
22+
-- .yaml file for the add replica use case:
23+
24+
% cat add_replica.yaml
25+
#
26+
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
27+
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
28+
#
29+
apiVersion: database.oracle.com/v1alpha1
30+
kind: CDB
31+
metadata:
32+
name: cdb-dev
33+
namespace: oracle-database-operator-system
34+
spec:
35+
cdbName: "goldcdb"
36+
scanName: "goldhost-scan.lbsub52b3b1cae.okecluster.oraclevcn.com"
37+
dbServer: "goldhost1.lbsub52b3b1cae.okecluster.oraclevcn.com"
38+
ordsImage: phx.ocir.io/<repo_name>/oracle/ords:21.4.3
39+
dbPort: 1521
40+
replicas: 2
41+
serviceName: "goldcdb_phx1pw.lbsub52b3b1cae.okecluster.oraclevcn.com"
42+
sysAdminPwd:
43+
secret:
44+
secretName: "cdb1-secret"
45+
key: "sysadmin_pwd"
46+
ordsPwd:
47+
secret:
48+
secretName: "cdb1-secret"
49+
key: "ords_pwd"
50+
cdbAdminUser:
51+
secret:
52+
secretName: "cdb1-secret"
53+
key: "cdbadmin_user"
54+
cdbAdminPwd:
55+
secret:
56+
secretName: "cdb1-secret"
57+
key: "cdbadmin_pwd"
58+
webServerUser:
59+
secret:
60+
secretName: "cdb1-secret"
61+
key: "webserver_user"
62+
webServerPwd:
63+
secret:
64+
secretName: "cdb1-secret"
65+
key: "webserver_pwd"
66+
67+
68+
69+
70+
-- Apply the .yaml file:
71+
72+
% kubectl apply -f add_replica.yaml
73+
cdb.database.oracle.com/cdb-dev configured
74+
75+
76+
77+
-- Check the status of the CDB CRD Pod(s):
78+
79+
% kubectl get all -n oracle-database-operator-system
80+
NAME READY STATUS RESTARTS AGE
81+
pod/cdb-dev-ords-rs-5bztb 1/1 Running 0 21s << New Pod Added
82+
pod/cdb-dev-ords-rs-q2b68 1/1 Running 0 7m40s
83+
pod/oracle-database-operator-controller-manager-76cb674c5c-4nrh8 1/1 Running 0 4d10h
84+
pod/oracle-database-operator-controller-manager-76cb674c5c-f9wsd 1/1 Running 1 4d10h
85+
pod/oracle-database-operator-controller-manager-76cb674c5c-xsv9g 1/1 Running 2 4d10h
86+
87+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
88+
service/cdb-dev-ords ClusterIP None <none> <none> 6m25s
89+
service/oracle-database-operator-controller-manager-metrics-service ClusterIP 10.96.98.47 <none> 8443/TCP 5d2h
90+
service/oracle-database-operator-webhook-service ClusterIP 10.96.166.163 <none> 443/TCP 5d2h
91+
92+
NAME READY UP-TO-DATE AVAILABLE AGE
93+
deployment.apps/oracle-database-operator-controller-manager 3/3 3 3 5d2h
94+
95+
NAME DESIRED CURRENT READY AGE
96+
replicaset.apps/cdb-dev-ords-rs 2 2 2 7m42s
97+
replicaset.apps/oracle-database-operator-controller-manager-76cb674c5c 3 3 3 5d2h
98+
99+
100+
101+
102+
103+
-- Logs from Oracle DB Operator Pod:
104+
105+
% kubectl logs -f pod/oracle-database-operator-controller-manager-76cb674c5c-f9wsd -n oracle-database-operator-system
106+
.
107+
.
108+
2022-06-27T03:24:34Z DEBUG controller-runtime.webhook.webhooks received request {"webhook": "/validate-database-oracle-com-v1alpha1-cdb", "UID": "19a3fbb6-57e4-4ad2-92c9-a90bb66cefae", "kind": "database.oracle.com/v1alpha1, Kind=CDB", "resource": {"group":"database.oracle.com","version":"v1alpha1","resource":"cdbs"}}
109+
2022-06-27T03:24:34Z INFO cdb-webhook validate update {"name": "cdb-dev"}
110+
2022-06-27T03:24:34Z DEBUG controller-runtime.webhook.webhooks wrote response {"webhook": "/validate-database-oracle-com-v1alpha1-cdb", "code": 200, "reason": "", "UID": "19a3fbb6-57e4-4ad2-92c9-a90bb66cefae", "allowed": true}
111+
2022-06-27T03:24:34Z INFO controllers.CDB Reconcile requested {"onpremdboperator": "oracle-database-operator-system/cdb-dev"}
112+
2022-06-27T03:24:34Z INFO controllers.CDB Res Status: {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "Ready", "Status": "true"}
113+
2022-06-27T03:24:34Z INFO controllers.CDB Existing Replicas: 1, New Replicas: 2 {"evaluateSpecChange": "oracle-database-operator-system/cdb-dev"}
114+
2022-06-27T03:24:34Z INFO controllers.CDB Current Phase:ValidatingPods {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev"}
115+
2022-06-27T03:24:34Z INFO controllers.CDB Validating Pod creation for :cdb-dev {"validateORDSPod": "oracle-database-operator-system/cdb-dev"}
116+
2022-06-27T03:24:34Z INFO controller.cdb Executing Command : {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
117+
2022-06-27T03:24:34Z INFO controller.cdb bash -c curl -sSkv -k -X GET https://localhost:8888/ords/_/db-api/stable/metadata-catalog/ || curl -sSkv -X GET http://localhost:8888/ords/_/db-api/stable/metadata-catalog/ {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
118+
2022-06-27T03:24:35Z INFO controllers.CDB Replicas: 2 {"validateORDSPod": "oracle-database-operator-system/cdb-dev", "Ready Pods: ": 1}
119+
2022-06-27T03:24:35Z INFO controllers.CDB Reconcile queued {"onpremdboperator": "oracle-database-operator-system/cdb-dev"}
120+
2022-06-27T03:24:35Z INFO controllers.CDB DEFER {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "ValidatingPods", "Status": "false"}
121+
2022-06-27T03:24:50Z INFO controllers.CDB Reconcile requested {"onpremdboperator": "oracle-database-operator-system/cdb-dev"}
122+
2022-06-27T03:24:50Z INFO controllers.CDB Res Status: {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "ValidatingPods", "Status": "false"}
123+
2022-06-27T03:24:50Z INFO controllers.CDB Current Phase:ValidatingPods {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev"}
124+
2022-06-27T03:24:50Z INFO controllers.CDB Validating Pod creation for :cdb-dev {"validateORDSPod": "oracle-database-operator-system/cdb-dev"}
125+
2022-06-27T03:24:50Z INFO controller.cdb Executing Command : {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
126+
2022-06-27T03:24:50Z INFO controller.cdb bash -c curl -sSkv -k -X GET https://localhost:8888/ords/_/db-api/stable/metadata-catalog/ || curl -sSkv -X GET http://localhost:8888/ords/_/db-api/stable/metadata-catalog/ {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
127+
2022-06-27T03:24:50Z INFO controller.cdb Executing Command : {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
128+
2022-06-27T03:24:50Z INFO controller.cdb bash -c curl -sSkv -k -X GET https://localhost:8888/ords/_/db-api/stable/metadata-catalog/ || curl -sSkv -X GET http://localhost:8888/ords/_/db-api/stable/metadata-catalog/ {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
129+
2022-06-27T03:24:50Z INFO controllers.CDB Replicas: 2 {"validateORDSPod": "oracle-database-operator-system/cdb-dev", "Ready Pods: ": 1}
130+
2022-06-27T03:24:50Z INFO controllers.CDB Reconcile queued {"onpremdboperator": "oracle-database-operator-system/cdb-dev"}
131+
2022-06-27T03:24:50Z INFO controllers.CDB DEFER {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "ValidatingPods", "Status": "false"}
132+
2022-06-27T03:25:05Z INFO controllers.CDB Reconcile requested {"onpremdboperator": "oracle-database-operator-system/cdb-dev"}
133+
2022-06-27T03:25:05Z INFO controllers.CDB Res Status: {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "ValidatingPods", "Status": "false"}
134+
2022-06-27T03:25:05Z INFO controllers.CDB Current Phase:ValidatingPods {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev"}
135+
2022-06-27T03:25:05Z INFO controllers.CDB Validating Pod creation for :cdb-dev {"validateORDSPod": "oracle-database-operator-system/cdb-dev"}
136+
2022-06-27T03:25:05Z INFO controller.cdb Executing Command : {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
137+
2022-06-27T03:25:05Z INFO controller.cdb bash -c curl -sSkv -k -X GET https://localhost:8888/ords/_/db-api/stable/metadata-catalog/ || curl -sSkv -X GET http://localhost:8888/ords/_/db-api/stable/metadata-catalog/ {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
138+
2022-06-27T03:25:05Z INFO controller.cdb Executing Command : {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
139+
2022-06-27T03:25:05Z INFO controller.cdb bash -c curl -sSkv -k -X GET https://localhost:8888/ords/_/db-api/stable/metadata-catalog/ || curl -sSkv -X GET http://localhost:8888/ords/_/db-api/stable/metadata-catalog/ {"reconciler group": "database.oracle.com", "reconciler kind": "CDB", "name": "cdb-dev", "namespace": "oracle-database-operator-system", "ExecCommand": "oracle-database-operator-system/cdb-dev"}
140+
2022-06-27T03:25:06Z INFO controllers.CDB DEFER {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "CreatingService", "Status": "false"}
141+
2022-06-27T03:25:21Z INFO controllers.CDB Reconcile requested {"onpremdboperator": "oracle-database-operator-system/cdb-dev"}
142+
2022-06-27T03:25:21Z INFO controllers.CDB Res Status: {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "CreatingService", "Status": "false"}
143+
2022-06-27T03:25:21Z INFO controllers.CDB Current Phase:CreatingService {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev"}
144+
2022-06-27T03:25:21Z INFO controllers.CDB ORDS Cluster Service already exists {"createORDSSVC": "oracle-database-operator-system/cdb-dev"}
145+
2022-06-27T03:25:21Z INFO controllers.CDB DEFER {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "Ready", "Status": "false"}
146+
2022-06-27T03:25:36Z INFO controllers.CDB Reconcile requested {"onpremdboperator": "oracle-database-operator-system/cdb-dev"}
147+
2022-06-27T03:25:36Z INFO controllers.CDB Res Status: {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "Ready", "Status": "false"}
148+
2022-06-27T03:25:36Z INFO controllers.CDB Current Phase:Ready {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev"}
149+
2022-06-27T03:25:36Z INFO controllers.CDB DEFER {"onpremdboperator": "oracle-database-operator-system/cdb-dev", "Name": "cdb-dev", "Phase": "Ready", "Status": "true"}
150+
151+
152+
153+
-- Logs of the newly added CDB CRD Pod:
154+
155+
% kubectl logs -f pod/cdb-dev-ords-rs-5bztb -n oracle-database-operator-system
156+
157+
Retrieving information.
158+
Requires to login with administrator privileges to verify Oracle REST Data Services schema.
159+
160+
Connecting to database user: SYS AS SYSDBA url: jdbc:oracle:thin:@//goldhost1.lbsub52b3b1cae.okecluster.oraclevcn.com:1521/goldcdb_phx1pw.lbsub52b3b1cae.okecluster.oraclevcn.com
161+
162+
Retrieving information..
163+
Completed verifying Oracle REST Data Services schema version 21.4.3.r1170405.
164+
2022-06-27T03:24:40.351Z INFO reloaded pools: []
165+
2022-06-27T03:24:40.353Z INFO Oracle REST Data Services schema version 21.4.3.r1170405 is installed.
166+
spawn java -jar /opt/oracle/ords/ords.war user sql_admin SQL Administrator
167+
Enter a password for user sql_admin:
168+
Confirm password for user sql_admin:
169+
2022-06-27T03:24:42.034Z INFO Created user: sql_admin in file: /opt/oracle/ords/config/ords/credentials
170+
2022-06-27T03:24:43.666Z INFO Modified: /opt/oracle/ords/config/ords/conf/apex_pu.xml, updated properties: database.api.admin.enabled, db.cdb.adminUser, db.cdb.adminUser.password
171+
2022-06-27T03:24:45.455Z INFO HTTP and HTTP/2 cleartext listening on host: localhost port: 8888
172+
2022-06-27T03:24:45.520Z INFO The document root is serving static resources located in: /opt/oracle/ords/doc_root
173+
2022-06-27T03:24:47.515Z INFO Configuration properties for: |apex|pu|
174+
db.servicename=goldcdb_phx1pw.lbsub52b3b1cae.okecluster.oraclevcn.com
175+
db.hostname=goldhost1.lbsub52b3b1cae.okecluster.oraclevcn.com
176+
database.api.admin.enabled=true
177+
db.password=******
178+
db.cdb.adminUser.password=******
179+
database.api.enabled=true
180+
db.cdb.adminUser=C##DBAPI_CDB_ADMIN as SYSDBA
181+
db.username=ORDS_PUBLIC_USER
182+
restEnabledSql.active=true
183+
resource.templates.enabled=true
184+
db.port=1521
185+
feature.sdw=true
186+
db.connectionType=basic
187+
188+
2022-06-27T03:24:47.517Z WARNING *** jdbc.MaxLimit in configuration |apex|pu| is using a value of 10, this setting may not be sized adequately for a production environment ***
189+
2022-06-27T03:24:47.517Z WARNING *** jdbc.InitialLimit in configuration |apex|pu| is using a value of 3, this setting may not be sized adequately for a production environment ***
190+
2022-06-27T03:24:51.761Z INFO Oracle REST Data Services initialized
191+
Oracle REST Data Services version : 21.4.3.r1170405
192+
Oracle REST Data Services server info: jetty/9.4.44.v20210927
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Add a new replicate to an existing CDB CRD Resource using Oracle DB Operator On-Prem Controller
2+
3+
In this use case, using the Oracle Database Operator On-Prem Controller, you will add a new replica to an existing CDB CRD resource.
4+
5+
**NOTE:** It is assumed that before this step, you have followed the [prerequisite](./../README.md#prerequsites-to-manage-pdb-life-cycle-using-oracle-db-operator-on-prem-database-controller) steps.
6+
7+
This example uses `add_replica.yaml` with:
8+
9+
- CDB CRD resource Name as `cdb-dev`
10+
- Container Database (CDB) Name as `goldcdb`
11+
- Scan Name as `goldhost-scan.lbsub52b3b1cae.okecluster.oraclevcn.com`
12+
- Database Server Name as `goldhost1.lbsub52b3b1cae.okecluster.oraclevcn.com`
13+
- ORDS Docker Image as `phx.ocir.io/<repo_name>/oracle/ords:21.4.3`
14+
- Database Listener Port as `1521`
15+
- Number of replicas for CDB CRD Resource as 2.
16+
17+
**NOTE:** For the details of the parameters to be used in the .yaml file, please refer [config/crd/bases/database.oracle.com_cdbs.yaml](../../../config/crd/bases/database.oracle.com_cdbs.yaml)
18+
19+
Use the file: [add_replica.yaml](./add_replica.yaml) for this use case as below:
20+
21+
1. Deploy the .yaml file:
22+
```sh
23+
[root@test-server oracle-database-operator]# kubectl apply -f add_replica.yaml
24+
```
25+
26+
2. Monitor the Oracle DB Operator Pod for the progress of the CDB CRD Resource creation.
27+
28+
NOTE: Check the DB Operator Pod name in your environment.
29+
30+
```
31+
[root@test-server oracle-database-operator]# kubectl logs -f pod/oracle-database-operator-controller-manager-76cb674c5c-f9wsd -n oracle-database-operator-system
32+
```
33+
34+
## Sample Output
35+
36+
[Here](./add_replica.log) is the sample output for a PDB created using Oracle DB Operator On-Prem Controller using file [add_replica.yaml](./add_replica.yaml)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#
2+
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
3+
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
4+
#
5+
apiVersion: database.oracle.com/v1alpha1
6+
kind: CDB
7+
metadata:
8+
name: cdb-dev
9+
namespace: oracle-database-operator-system
10+
spec:
11+
cdbName: "goldcdb"
12+
scanName: "goldhost-scan.lbsub52b3b1cae.okecluster.oraclevcn.com"
13+
dbServer: "goldhost1.lbsub52b3b1cae.okecluster.oraclevcn.com"
14+
ordsImage: phx.ocir.io/<repo_name>/oracle/ords:21.4.3
15+
dbPort: 1521
16+
replicas: 2
17+
serviceName: "goldcdb_phx1pw.lbsub52b3b1cae.okecluster.oraclevcn.com"
18+
sysAdminPwd:
19+
secret:
20+
secretName: "cdb1-secret"
21+
key: "sysadmin_pwd"
22+
ordsPwd:
23+
secret:
24+
secretName: "cdb1-secret"
25+
key: "ords_pwd"
26+
cdbAdminUser:
27+
secret:
28+
secretName: "cdb1-secret"
29+
key: "cdbadmin_user"
30+
cdbAdminPwd:
31+
secret:
32+
secretName: "cdb1-secret"
33+
key: "cdbadmin_pwd"
34+
webServerUser:
35+
secret:
36+
secretName: "cdb1-secret"
37+
key: "webserver_user"
38+
webServerPwd:
39+
secret:
40+
secretName: "cdb1-secret"
41+
key: "webserver_pwd"

0 commit comments

Comments
 (0)