|
| 1 | +# Oracle WebLogic Server Kubernetes Operator Name Changes |
| 2 | + |
| 3 | +The initial version of the WebLogic Server Kubernetes Operator did not use consistent conventions for many customer visible names. |
| 4 | + |
| 5 | +We've recently addressed this by: |
| 6 | +* standardizing the names of scripts and input files for creating operators and domains |
| 7 | +* standardizing the input parameter names and values |
| 8 | +* standardizing the names of the generated yaml files |
| 9 | +* requiring that the custom create and specify a directory that the operators' and domains' generated yaml files will be stored in |
| 10 | + |
| 11 | +This changes how operators and domains are created, and also changes the generated artifacts for operators and domains. |
| 12 | + |
| 13 | +We're not providing an upgrade tool or backwards compatibility with the previous names. Instead, customers need to use the new script, inputs file and parameter names to recreate their operators and domains. |
| 14 | + |
| 15 | +This document lists the customer visible naming changes. Also, the WebLogic Server Kubernetes Operator documentation has been updated. |
| 16 | + |
| 17 | +## Customer Visible Files |
| 18 | + |
| 19 | +### Files for Creating Operators and Domains |
| 20 | + |
| 21 | +The following files are used to create the operator and to create domains. |
| 22 | + |
| 23 | +| Previous File Name | New File Name | |
| 24 | +| --- | --- | |
| 25 | +| kubernetes/create-domain-job.sh | kubernetes/create-weblogic-domain.sh | |
| 26 | +| kubernetes/create-domain-job-inputs.yaml | kubernetes/create-weblogic-domain-inputs.yaml | |
| 27 | +| kubernetes/create-operator-inputs.yaml | kubernetes/create-weblogic-operator-inputs.yaml | |
| 28 | +| kubernetes/create-weblogic-operator.sh | same | |
| 29 | + |
| 30 | +### Generated YAML Files for Operators and Domains |
| 31 | + |
| 32 | +The create scripts generate a number of yaml files that are used to configure the corresponding Kubernetes artifacts for the operator and the domains. |
| 33 | +Normally, customers do not use these yaml files. However, customers can look at them. They can also change the operator and domain configuration by editing these files and reapplying them. |
| 34 | + |
| 35 | +#### Directory for the Generated YAML Files |
| 36 | + |
| 37 | +Previously, these files were placed in the kubernetes directory (e.g. kubernetes/weblogic-operator.yaml). Now, they are placed in per-operator and per-domain directories (since a Kubernetes cluster can have more than one operator and an operator can manage more than one domain). |
| 38 | + |
| 39 | +The customer must create a directory that will parent the per-operator and per-domain directories, and use the -o option to pass the name of that directory to the create script, for example: |
| 40 | + mkdir /scratch/my-user-projects |
| 41 | + create-weblogic-operator.sh -o /scratch/my-user-projects |
| 42 | +The pathname can either be a full path name, or a relative path name. If it's a relative pathname, then it's relative to the directory of the shell invoking the create script. |
| 43 | + |
| 44 | +The per-operator directory name is: |
| 45 | + <user project dir from -o>/weblogic-operators/<operator namespace from the input yaml file's namespace property> |
| 46 | + |
| 47 | +Similarly, the per-domain directory name is: |
| 48 | + <user project dir from -o>/weblogic-domains/<domain uid from the input yaml file's domainUid property> |
| 49 | + |
| 50 | +#### What If I Mess Up Creating a Domain or Operator And Want To Do It Again? |
| 51 | + |
| 52 | +* TBD - destroy the operator / domain - I don't think we provide scripts for this yet, but will soon |
| 53 | +* either remove the directory that was generated for that operator / domain, or remove the generated yaml files and the copy of the input file from it |
| 54 | +* make whatever changes you need in your inputs file |
| 55 | +* re-run the create script |
| 56 | + |
| 57 | +If you run the create script without cleaning up the previously generated directory, the create script will tell you about the offending files and then exit without creating anything. |
| 58 | + |
| 59 | +#### Location of the Input YAML Files |
| 60 | + |
| 61 | +The create scripts support a -i option for specifying the location of the inputs file. Similar to the -o option, the path can either be a full path name or a relative path name. Relative path names are relative to the directory of the shell invoking the create script. |
| 62 | + |
| 63 | +If -i is not specified, kubernetes/create-weblogic-operator.sh uses kubernetes/create-weblogic-operator-inputs.yaml. |
| 64 | + |
| 65 | +Previously, kubernetes/create-domain-job.sh used kubernetes/create-domain-job-inputs.yaml as the input file if -i was not specified. This behavior has been changed. The customer must select a world wide unique id for the domain and set the domainUid property in the inputs file to that value. This means that the customer must always modify the inputs file. |
| 66 | + |
| 67 | +Also, we do not want the customer to have to change files in the weblogic operator's install directory. Because of this, the -i option MUST be specified when calling kubernetes/create-weblogic-operator.sh. The basic flow is: |
| 68 | + |
| 69 | +* pick a user projects directory, e.g. /scratch/my-user-projects |
| 70 | +* mkdir /scratch/my-user-projects |
| 71 | +* pick a unique id for the domain, e.g. foo.com |
| 72 | +* cp kubernetes/create-weblogic-domain-inputs.yaml my-inputs.yaml |
| 73 | +* set the domainUid in my-inputs.yaml to foo.com |
| 74 | +* kubernetes/create-weblogic-operator.sh -i my-inputs.yaml -o /scratch/my-user-projects |
| 75 | + |
| 76 | +Note: my-inputs.yaml will be copied to /scratch/my-user-projects/weblogic-domains/foo.com/create-weblogic-domain-inputs.yaml |
| 77 | + |
| 78 | +#### File Names of the Generated YAML File |
| 79 | + |
| 80 | +The names of several of the generated YAML files have changed. |
| 81 | + |
| 82 | +| Previous File Name | New File Name | |
| 83 | +| --- | --- | |
| 84 | +| domain-custom-resource.yaml | same | |
| 85 | +| domain-job.yaml | create-weblogic-domain-job.yaml | |
| 86 | +| persistent-volume.yaml | weblogic-domain-persistent-volume.yaml | |
| 87 | +| persistent-volume-claim.yaml | weblogic-domain-persistent-volume-claim.yaml | |
| 88 | +| rbac.yaml | weblogic-operator-security.yaml | |
| 89 | +| traefik-deployment.yaml | traefik.yaml | |
| 90 | +| traefik-rbac.yaml | traefik-security.yaml | |
| 91 | +| weblogic-operator.yaml | same | |
| 92 | + |
| 93 | +## Input File Contents |
| 94 | +Some of the contents of the inputs files have changed: |
| 95 | +* Some properties have been renamed |
| 96 | +* Some properties that are no longer needed have been removed |
| 97 | +* Some of the legal property values have changed |
| 98 | +* Some properties that were optional are now required |
| 99 | + |
| 100 | +### create-weblogic-operator-inputs.yaml |
| 101 | + |
| 102 | +#### Property Names |
| 103 | + |
| 104 | +| Previous Property Name | New Property Name | |
| 105 | +| --- | --- | |
| 106 | +| image | weblogicOperatorImage | |
| 107 | +| imagePullPolicy | weblogicOperatorImagePullPolicy | |
| 108 | +| imagePullSecretName | weblogicOperatorImagePullSecretName | |
| 109 | + |
| 110 | +#### Property Values |
| 111 | + |
| 112 | +| Previous Property Name | Property Name | Old Property Value | New Property Value | |
| 113 | +| --- | --- | --- | |
| 114 | +| externalRestOption | externalRestOption | none | NONE | |
| 115 | +| externalRestOption | externalRestOption | custom-cert | CUSTOM_CERT | |
| 116 | +| externalRestOption | externalRestOption | self-signed-cert | SELF_SIGNED_CERT | |
| 117 | + |
| 118 | +### create-weblogic-domain-inputs.yaml |
| 119 | + |
| 120 | +#### Property Names |
| 121 | + |
| 122 | +| Previous Property Name | New Property Name | |
| 123 | +| --- | --- | |
| 124 | +| createDomainScript | This property has been removed | |
| 125 | +| domainUid | domainUID | |
| 126 | +| imagePullSecretName | weblogicImagePullSecretName | |
| 127 | +| loadBalancerAdminPort | loadBalancerDashboardPort | |
| 128 | +| managedServerCount | configuredManagedServerCount | |
| 129 | +| managedServerStartCount | initialManagedServerReplicas | |
| 130 | +| nfsServer | weblogicDomainStorageNFSServer | |
| 131 | +| persistencePath | weblogicDomainStoragePath | |
| 132 | +| persistenceSize | weblogicDomainStorageSize | |
| 133 | +| persistenceType | weblogicDomainStorageType | |
| 134 | +| persistenceStorageClass | This property has been removed | |
| 135 | +| persistenceVolumeClaimName | This property has been removed | |
| 136 | +| persistenceVolumeName | This property has been removed | |
| 137 | +| secretName | weblogicCredentialsSecretName | |
| 138 | + |
| 139 | +#### Properties that must be customized |
| 140 | +The following input properties, which used to have default values, now must be uncommented and customized: |
| 141 | +| Previous Property Name | New Property Name | Previous Default Value | Notes | |
| 142 | +| domainUid | domainUID | domain1 | Since the domain UID is supposed to be globally unique, the customer must choose one. | |
| 143 | +| persistencePath | weblogicDomainStoragePath | /scratch/k8s_dir/persistentVolume001 | The customer must select a directory for the domain's storage. | |
| 144 | +| nfsServer | weblogicDomainStorageNFSServer | nfsServer | If weblogicDomainStorageType is NFS, then the customer must specify the name or IP of the NFS server. | |
| 145 | + |
| 146 | +#### Property Values |
| 147 | + |
| 148 | +| Previous Property Name | New Property Name | Old Property Value | New Property Value | |
| 149 | +| --- | --- | --- | |
| 150 | +| loadBalancer | loadBalancer | none | NONE | |
| 151 | +| loadBalancer | loadBalancer | traefik | TRAEFIK | |
| 152 | +| persistenceType | weblogicDomainStorageType | hostPath | HOST_PATH | |
| 153 | +| persistenceType | weblogicDomainStorateType | nfs | NFS | |
| 154 | + |
0 commit comments