Skip to content

Commit bec0cb4

Browse files
Tom BarnesdoxiaorosemarymaranoJohnny Shumvanajamukkara
authored
Model in image sample v2 merge (#1588)
* MII Sample README update. * MII Sample - remove mention of rcu admin password in sample doc. * first pass edits * Remove wdtEncryptionSecret from the schema and code * fix two broken links * Clean up after WDT encryption secret related code is removed Signed-off-by: doxiao <[email protected]> * Fix doc Signed-off-by: doxiao <[email protected]> * Fix doc links Signed-off-by: doxiao <[email protected]> * remove wdt encryption passphrase logic from introspector job scripts since it no longer supported in the schema * update MII doc to mention wdt encryption isn't supported * update error message in modelInImage.sh * Enable updateRCUSchemaPassword and add special env variables for macro expansion in modelInImage.sh script * Add @@secret and @@env support to MII sample/doc. * Add utility methods for model in image tests (#1481) * adding mii utility methods * adding mii utility methods * adding wdtDomainType and use of properties for weblogic base image * minor doc update * doc update * doc update * doc update * doc update * doc update * add script comment * Add introspectorJobActiveDeadlinSeconds to the samples Signed-off-by: doxiao <[email protected]> * first draft update of 'choosing a model' doc * first draft update of 'choosing a model' doc * Remove updateDomainResult - dynamic update code * doc updated * Doc update. * doc edits from Ryan * clean up sample descriptor * Remove mii section from samples domain-template.yaml (#1491) * undo changes in domain-template.yaml * adding mii config file * resolve comment merge * Move introspectVersion to spec level only * Update _index.md * Fix inadvertent change * Update sample doc for introspectorJobActiveDeadlineSeconds and runtimeEncryptionSecret Signed-off-by: doxiao <[email protected]> * More sample doc update Signed-off-by: doxiao <[email protected]> * doc update * clean up sample descriptor * Update Operator.properties * doc update * Removed unused field * edit new choose a model doc * Minor doc fix - address review comment Signed-off-by: doxiao <[email protected]> * Fix copyrights * Add support for defaulting the MII sample's WORKDIR. Default is '/tmp/tbarnes/model-in-image-sample-work-dir'. * doc update * sample update * doc update * doc update * fix for MII sample script opss_wallet_util.sh * remove mention of helm 2.x syntax from MII sample * doc update * doc update * doc update * doc update * doc update * doc update * Update the wallet in the primordial domain if the rcu schema password changed * doc update * doc update * add error checking * doc update * doc update * doc update * Checkstyle * Update restarting.md * Update usage.md * Code review * remove unnecessary comment * minor edit * minor edit * Minor doc changes Signed-off-by: doxiao <[email protected]> * Revert one doc change Signed-off-by: doxiao <[email protected]> * Javadoc * Adding weblogic credentials change test (#1493) * Adding testCredentialsChange * fix import * Add utility method to replace runtimeEncryptionSecret * modify the secret * fix formatting * fix formatting * remove unwanted code * cleanup * cleanup * cleanup * fix indendation * doc updates * doc update * doc update * Minor doc fix Signed-off-by: doxiao <[email protected]> * doc update * doc update * add usage and friendlier syntax error reporting to MII sample create_secret.sh + create_configmap.sh, correct the usage text in opss_wallet_util.sh * doc update * doc update * fix to handle image names with '/' in them in create_domain.sh sample script * remove mention of unused var from build_image_model.sh sample script * Fix help text in create_configmap.sh helper script. * Put the domain name back if present * remove printing the model * Correct configmap data is not inserted into the flow after it's read. * Minor change to Operator.properties Signed-off-by: doxiao <[email protected]> * remove debug code * minor help text correction for create_configmap.sh sample script * doc update (#1509) * doc update * doc update * doc update * MII: avoid deploying/referencing JRF secrets for non-JRF domain types, it's too confusing (#1507) * doc update (#1510) * doc update * doc update * doc update * update ci/cd doc for mii (#1502) * update ci/cd doc for mii * first pass edits * doc update * doc update Co-authored-by: Rosemary Marano <[email protected]> * cherry pick 1517 from develop * two automated test case for Wdt Config Update w single Model File jenkins-ignore (#1495) * The first test case for OWLS-80444 Automate Wdt Config Override with single Model File jenkins-ignore * Modified TestUtils.java jenkins-ignore * Added python file to verify JDBC DS prop in server pod jenkins-ignore * Changes b ased on the comments jenkins-ignore * Added the 2nd test case jenkins-ignore * Used patch domain to restart domain jenkins-ignore * Changed test case names jenkins-ignore * adding config delete and app delete tests using mode file (#1521) * adding config update tests * add config and app delete tests * Model in image namefixes (#1515) * Fix for PR1478 * add more traces and minor update Co-authored-by: Johnny Shum <[email protected]> * Missing secret dir fix (#1525) * Add temporary work around for WDT return non-zero rc if secret directory doesn't exist. * Change per WDT fix for no more default for custom secrets mount Co-authored-by: Johnny Shum <[email protected]> * Update rest_domainqualtrue.yml * Update OperatorUtils.java * Update OperatorUtils.java * removing commented/incomplete test code (#1533) * Merge from develop to model-in-image with conflict resolution (#1531) * OWLS-80522 Domain status ordering, OWLS-80144 Ordered rolling upgrade (#1503) * Domain.getServers() should return servers in order * ordered rolling upgrade * minor test fix * new RollingHelperTest * update getSortingString to handle up to 20 digits * rolling upgrade clusters sorted by cluster names * add isAdminServer to ServerStatus * ServerStatus isAdminServer excluded from json schema * ClusterStatus sorted by sorting name * getClusters returning sorted clusters * add unit tests * handle null map * Enhance Helm chart deletion Logic in cleanup.sh Script (#1517) * Enhance the clean up Script to support Helm 2/3 * Addressed the review comment Co-authored-by: [email protected] <[email protected]> * Added test for domainQualifier=true, added cleanup for intermittent failures (#1513) * added support for helm 3.0 * added check for repo * moved from monitoring ns * added the test * fixed style * added missed file * added condition for ver * rework to avoid interm failures * fixed docs * updated version of MonExp * Stub the ApiClient in tests that get connections but where this was not already done. (#1519) * Enhance the cleanup script to include deletion of few namesapce(s) created by Integration Tests (#1523) Co-authored-by: [email protected] <[email protected]> * overall doc edits (#1518) * overall doc edits * fix a mistake I created * update Kubernetes prereqs * incorporate edits from Ryan and Mark * fix typo * fix my mistake * minor fixes * Disable preserveUnknownFields * Update rest_domainqualtrue.yml * Update OperatorUtils.java * Update OperatorUtils.java Co-authored-by: Anthony Lai <[email protected]> Co-authored-by: Antaryami Panigrahi <[email protected]> Co-authored-by: [email protected] <[email protected]> Co-authored-by: Marina Kogan <[email protected]> Co-authored-by: Rosemary Marano <[email protected]> * Fix javadoc * fix broken anchor links (#1540) * Updated model files to user @@secret macro; added sparce jms/wldf mod… (#1529) * Updated model files to user @@secret macro; added sparce jms/wldf model files * Added Copyright Statements * Missing CopyRight * Resync the branch and removed work-around * Addressed review comment Co-authored-by: [email protected] <[email protected]> * Model in Image sample updates * mii sample updates * add --force delete phase to cleanup.sh * mii sample updates * mii sample updates * increase dots timeout * Enhance operator to treat restart version of null, unset, or '' all the same (always create the wl pod label and set it to the empty string). Enhance mii sample 'wait for pods' script to check if pods are at the domain's current restart version. * MII sample updates * rename sample test directory * MII sample test updates, etc * mii sample update: update comments, centralize defaults * MII sample updates * mii sample update * minor update * mii sample updates * mii sample update * sample update * mii sample: use exploded app, change sample-app to sample-archive for clarity, ... * mii sample: update waiter script to also wait for proper image to be reached * mii sample: file, directory, and variable renames * MII Sample: Update app to show DS (if there). Update test to test app too. * MII sample: Add traefik ingress helper script, add verbose 'watch like' mode to util-wl-pod-wait.sh, and refine logging/comments throughout. * MII Sample: minor updates. * MII Sample and MII Sample Test updates: - Decorate target image/archive stage dirs with image name (eg. WORKDIR/image/IMAGE_NAME/yadayadayayda, and ditto for WORKDIR/archive). - Decorate target staged domain resource with DOMAIN_UID (eg. WORKDIR/mii-DOMAIN_UID.yaml). - Put traefik yaml in WORKDIR/ingresses instead of directly in WORKDIR. - Save old traefik ingress yaml if staging replaces them (to WORKDIR/ingresses/old). - Set 'host' on all traefik ingresses to 'DOMAIN_UID.mii-sample.org'. - Modify sample curl commands to use the above host. - Limit/remove mentions of using console with traefik (it's not clear how to make it work when host is set). - Change default namespace from DOMAIN_UID-ns to sample-domain1-ns. - Add help at and of 'create-domain-resource.sh' to detail exact useful commands to run next (monitor domain/pods, run curl, etc.). - Fix minor bug in 'util-wl-pod-wait.sh', and enhance the output of same. - Add README to the sample test. * MII Sample: Minor change to output in the 'util-patch-restart-version.sh' script. * MII Sample: Minor update (change 10g to 10GB throughout). * MII Sample: Update sample test's README. Make util-wl-pod-wait.sh output friendlier. * use theirs * remove additional files that re-appeared after merge with develop * MII Sample: Begin process of moving some of the sample scripts into the test directory. * MII Sample: Complete the move of sample stage/create/build scripts to the test directory. * minor change * minor change * minor change * minor fix * MII Sample: minor updates * MII sample: Hard code defaults for all util scripts. * MII Sample: restructure directory in prep for revised doc approach * MII Sample: Updates * MII Sample: include sample ingresses * MII sample updates. * MII Sample Update * MII Sample: User doc with two use cases. * MII Sample: File rename - windows doesn't like colons in file names. * MII Sample: Use __ instead : in testing and sample generation. * edits up to initial use case summary * MII Sample: Minor edits. * complete first pass edits * MII Sample: Minor doc updates. * MII: user doc update (runtime update section) * some edits * MII sample: remove extra text file. * MII User Doc: Dummy edits to 'choosing a model' so it shows up in the pull review. * MII Sample: Minor doc edit. * last round edits * MII: Minor doc update: fewer expands in sample, fewer copyrights, etc. * MII minor user doc update * MII minor sample doc update * MII minor sample doc update * MII minor sample doc update * MII Sample: Minor doc edit. * MII Sample: Minor doc edit. * MII Sample: Minor sample doc edit. * MII Sample: Minor sample doc edit. * Update _index.md * Update _index.md * Update _index.md * fix incorrect spelling of ConfigMap * Update _index.md * link back to mii sample from quickstart * Update _index.md * fix indent of notice: * Update _index.md * anchor * Update _index.md * Update _index.md * Update _index.md * fix notice * tidy up * sample page done done * Update debugging.md * Update _index.md * Update model-files.md * Update overview.md * Update _index.md * Update debugging.md * Update model-files.md * Update overview.md * Update model-files.md * Delete reusing-rcu.md * Update _index.md * remove rcu db stuff * Update runtime-updates.md * Update usage.md * Delete README * remove unwanted changes from pr * remove unwanted changes from pr Co-authored-by: doxiao <[email protected]> Co-authored-by: Rosemary Marano <[email protected]> Co-authored-by: Johnny Shum <[email protected]> Co-authored-by: Vanajakshi Mukkara <[email protected]> Co-authored-by: Ryan Eberhard <[email protected]> Co-authored-by: Sankar Periyathambi Neelakandan <[email protected]> Co-authored-by: Mark Nelson <[email protected]> Co-authored-by: Huiling Zhao <[email protected]> Co-authored-by: Johnny Shum <[email protected]> Co-authored-by: Anthony Lai <[email protected]> Co-authored-by: Antaryami Panigrahi <[email protected]> Co-authored-by: [email protected] <[email protected]> Co-authored-by: Marina Kogan <[email protected]>
1 parent 5318b3a commit bec0cb4

File tree

96 files changed

+6652
-1513
lines changed

Some content is hidden

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

96 files changed

+6652
-1513
lines changed

docs-source/content/quickstart/prepare.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,8 @@ weight: 5
3131
--set "kubernetes.namespaces={traefik,sample-domain1-ns}" \
3232
--wait
3333
```
34+
35+
{{% notice note %}}
36+
If you have reached this point while following the "Model in image" sample, please
37+
stop here and return to the [Model in image sample instructions]({{< relref "/samples/simple/domains/model-in-image/_index.md#resume" >}}).
38+
{{% /notice %}}

docs-source/content/samples/simple/domains/model-in-image/_index.md

Lines changed: 1508 additions & 290 deletions
Large diffs are not rendered by default.

docs-source/content/userguide/managing-domains/choosing-a-model/_index.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,25 @@ weight = 1
55
pre = "<b> </b>"
66
+++
77

8-
When using the operator to deploy a WebLogic domain, you have the choice of the following WebLogic domain home source types:
8+
When using the operator to deploy a WebLogic domain, you have the choice of the following WebLogic domain home source types:
99

10-
- **Domain in PV**: Supply your domain home configuration in a persistent volume.
11-
- **Domain in Image**: Supply your domain home in a Docker image.
12-
- **Model in Image**: Supply a WebLogic Deployment Tool model file in a Docker image.
10+
- **Domain in PV**: Supply your domain home configuration in a persistent volume.
11+
- **Domain in Image**: Supply your domain home in a Docker image.
12+
- **Model in Image**: Supply a WebLogic Deployment Tool model file in a Docker image.
1313

14-
There are advantages for each domain home source type, but sometimes there are technical limitations of various cloud providers that may make one type better suited to your needs.
14+
There are advantages for each domain home source type, but sometimes there are technical limitations of various cloud providers that may make one type better suited to your needs.
1515

16-
Note that you can use different domain home types for different domains; there's no restriction on having domains with different domain home types deployed to the same Kubernetes cluster or namespace.
16+
Note that you can use different domain home types for different domains; there's no restriction on having domains with different domain home types deployed to the same Kubernetes cluster or namespace.
1717

1818
| Domain in PV | Domain in Image | Model in Image |
1919
| --- | --- | --- |
20-
| Lets you use the same standard read-only Docker image for every server in every domain. | Requires a different image for each domain, but all servers in that domain use the same image. | Same as Domain in Image. |
21-
| No state is kept in Docker images making them completely throw away (cattle not pets). | Runtime state should not be kept in the images, but applications and configuration are. | Same as Domain in Image.|
22-
| The domain is long-lived, so you can mutate the configuration or deploy new applications using standard methods (Administration Console, WLST, and such). You can also mutate the configuration using configuration overrides. | If you want to mutate the domain home configuration, then you can apply configuration overrides or create a new image. If you want to deploy application updates, then you must create a new image. | If you want to mutate the domain home configuration, then you can override it with additional model files supplied in a config map or you can supply a new image. If you want to deploy application updates, then you must create a new image. |
23-
| You can use configuration overrides to mutate the domain at runtime, but this requires first shutting down the entire domain, and then restarting it for the change to take effect. | You can use configuration overrides to mutate the domain home at runtime, but this requires first shutting down the entire domain, and then restarting it for the change to take effect. | You can deploy model files to a config map to mutate the domain at runtime, and do not need to restart the entire domain for the change to take effect. Instead, you can initiate a rolling upgrade, which restarts your WebLogic Server pods one at a time. Also, the model file syntax is far simpler and less error prone than the configuration override syntax, and, unlike configuration overrides, allows you to directly add data sources and JMS modules. |
24-
| Logs are automatically placed on persistent storage. | Logs are kept in the images and sent to the pod's log (`stdout`) by default. To change their location, you can set the domain resource `logHomeEnabled` to true and configure the desired directory using `logHome`. | Same as Domain in Image. |
25-
| Patches can be applied by simply changing the image and rolling the domain. | To apply patches, you must create a new domain-specific image and then roll the domain. | Same as Domain in Image. |
26-
| Many cloud providers do not provide persistent volumes that are shared across availability zones, so you may not be able to use a single persistent volume. You may need to use some kind of volume replication technology or a clustered file system. | You do not have to worry about volume replication across availability zones because each pod has its own copy of the domain. WebLogic replication will handle propagation of any online configuration changes. If you are using a JRF domain, then the domain's RCU wallet must be extracted from the domain and supplied to the failed over or restarted domain. | Same as Domain in Image. |
27-
| CI/CD pipelines may be more complicated because you would probably need to run WLST against the live domain directory to effect changes. | CI/CD pipelines are simpler because you can create the whole domain in the image and don't have to worry about a persistent copy of the domain. | CI/CD pipelines are even simpler because you don't need to generate a domain home. The operator will create a domain home for you based on the model that you supply. |
28-
| There are less images to manage and store, which could provide significant storage and network savings. | There are more images to manage and store in this approach. | Same as Domain in Image.|
29-
| You may be able to use standard Oracle-provided images or, at least, a very small number of self-built images, for example, with patches installed. | You may need to do more work to set up processes to build and maintain your images. | Same as Domain in Image.|
20+
| Lets you use the same standard read-only Docker image for every server in every domain. | Requires a different image for each domain, but all servers in that domain use the same image. | Different domains can use the same image, but require different domainUID and may have different configuration. |
21+
| No state is kept in Docker images making them completely throw away (cattle not pets). | Runtime state should not be kept in the images, but applications and configuration are. | Runtime state should not be kept in the images. Application and configuration may be. |
22+
| The domain is long-lived, so you can mutate the configuration or deploy new applications using standard methods (Administration Console, WLST, and such). You can also mutate the configuration using configuration overrides. | If you want to mutate the domain home configuration, then you can apply configuration overrides or create a new image. If you want to deploy application updates, then you must create a new image. | If you want to mutate the domain home configuration, then you can override it with additional model files supplied in a config map or you can supply a new image. If you want to deploy application updates, then you must create a new image. |
23+
| You can use configuration overrides to mutate the domain at runtime, but this requires first shutting down the entire domain, and then restarting it for the change to take effect. | You can use configuration overrides to mutate the domain home at runtime, but this requires first shutting down the entire domain, and then restarting it for the change to take effect. You should not use the Administration Console or WLST for these domains as changes are ephemeral and will be lost when servers restart. | You can deploy model files to a config map to mutate the domain at runtime, and may not need to restart the entire domain for the change to take effect. Instead, you can initiate a rolling upgrade, which restarts your WebLogic Server pods one at a time. Also, the model file syntax is far simpler and less error prone than the configuration override syntax, and, unlike configuration overrides, allows you to directly add data sources and JMS modules. You should not use the Administration Console or WLST for these domains as changes are ephemeral and will be lost when servers restart. |
24+
| Logs are automatically placed on persistent storage and sent to the pod's stdout. | Logs are kept in the images and sent to the pod's log (`stdout`) by default. To change their location, you can set the domain resource `logHomeEnabled` to true and configure the desired directory using `logHome`. | Same as Domain in Image. |
25+
| Patches can be applied by simply changing the image and rolling the domain. | To apply patches, you must update the domain-specific image and then restart or roll the domain depending on the nature of the patch. | Same as Domain in PV. |
26+
| Many cloud providers do not provide persistent volumes that are shared across availability zones, so you may not be able to use a single persistent volume. You may need to use some kind of volume replication technology or a clustered file system. | Provided you do not store and state in containers, you do not have to worry about volume replication across availability zones because each pod has its own copy of the domain. WebLogic replication will handle propagation of any online configuration changes. | Same as Domain in Image. |
27+
| CI/CD pipelines may be more complicated because you would probably need to run WLST against the live domain directory to effect changes. | CI/CD pipelines are simpler because you can create the whole domain in the image and don't have to worry about a persistent copy of the domain. | CI/CD pipelines are even simpler because you don't need to generate a domain home. The operator will create a domain home for you based on the model that you supply. |
28+
| There are less images to manage and store, which could provide significant storage and network savings. | There are more images to manage and store in this approach. | Same as Domain in Image.|
29+
| You may be able to use standard Oracle-provided images or, at least, a very small number of self-built images, for example, with patches installed. | You may need to do more work to set up processes to build and maintain your images. | Same as Domain in Image.|

docs-source/content/userguide/managing-domains/domain-resource.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ Elements related to specifying and overriding WebLogic domain configuration:
101101
* `runtimeEncryptionSecret`: Required. Expected field is `password`. This is used by Model in Image to encrypt data while the data is passed from the introspector job to WebLogic pods. The password can be arbitrary: the only requirement is that it must stay the same for the life of a domain resource. If a domain resource is deleted then redeployed, it's fine to change the password during the interim.
102102
* `wdtEncryptionSecret`: Optional. Rarely used. See [Model in Image]({{< relref "/userguide/managing-domains/model-in-image/_index.md" >}}) for details.
103103

104-
* These elements are under `configuration.opss`, and only apply if the `domainHomeSourceType` is `FromModel` and the `domainType` is `JRF`. For details, see [Reusing an RCU database]({{< relref "/userguide/managing-domains/model-in-image/reusing-rcu.md" >}}).
104+
* These elements are under `configuration.opss`, and only apply if the `domainHomeSourceType` is `FromModel` and the `domainType` is `JRF`.
105105

106106
* `walletPasswordSecret`: The expected secret field is `walletPassword`. Used to encrypt/decrypt the wallet that's used for accessing the domain's entries in its RCU database.
107107
* `walletFileSecret`: Optional. The expected secret field is `walletFile`. Use this to allow a JRF domain to reuse its entries in the RCU database (specify a wallet file that was obtained from the domain home while the domain was booted for the first time).

docs-source/content/userguide/managing-domains/model-in-image/debugging.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ pre = "<b> </b>"
66
description = "Debugging a deployed Model in Image domain."
77
+++
88

9+
{{% notice info %}}
10+
This feature is supported only in 3.0.0-RC1.
11+
{{% /notice %}}
12+
913
#### Contents
1014

1115
- [Introduction](#introduction)
@@ -56,7 +60,7 @@ For example, assuming your domain UID is `sample-domain1` and your domain namesp
5660
# kubectl -n sample-domain1-ns logs pod/sample-domain1-introspect-domain-job-v2l7k
5761
```
5862

59-
A common reason for the introspector job to fail is because of a typo in a model file. Here's some sample log output from an introspector job that shows such a failure:
63+
A common reason for the introspector job to fail is because of an error in a model file. Here's some sample log output from an introspector job that shows such a failure:
6064

6165
```
6266
...
@@ -67,7 +71,7 @@ For example, assuming your domain UID is `sample-domain1` and your domain namesp
6771

6872
#### Check the WebLogic Server pods
6973

70-
If your introspector job succeeded, then there will be no introspector job or pod, the operator will create a `MY_DOMAIN_UID-weblogic-domain-introspect-cm` config map for your domain, and the operator will then run the domain's WebLogic pods.
74+
If your introspector job succeeded, then there will be no introspector job or pod, the operator will create a `MY_DOMAIN_UID-weblogic-domain-introspect-cm` ConfigMap for your domain, and the operator will then run the domain's WebLogic pods.
7175

7276
If `kubectl -n MY_NAMESPACE get pods` reveals that your WebLogic pods have errors, then use `kubectl -n MY_NAMESPACE describe pod POD_NAME` and `kubectl -n MY_NAMESPACE logs POD_NAME` to debug.
7377

docs-source/content/userguide/managing-domains/model-in-image/model-files.md

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ pre = "<b> </b>"
66
description = "Model file requirements, macros, and loading order."
77
+++
88

9+
{{% notice info %}}
10+
This feature is supported only in 3.0.0-RC1.
11+
{{% /notice %}}
12+
913
#### Contents
1014

1115
- [Introduction](#introduction)
@@ -26,7 +30,7 @@ This document describes basic Model in Image model file syntax, naming, and macr
2630

2731
#### Sample model file
2832

29-
Here's an example of a model `.yaml` file that defines a WebLogic Server Administration Server and dynamic cluster.
33+
Here's an example of a model YAML file that defines a WebLogic Server Administration Server and dynamic cluster.
3034

3135
```
3236
domainInfo:
@@ -54,14 +58,13 @@ topology:
5458
ListenPort: 8001
5559
```
5660

57-
Some notes about the sample model file:
58-
- It includes a WebLogic credentials stanza that is required by Model in Image.
59-
- It derives its domain name from the pre-defined environment variable `DOMAIN_UID`, but note that this is not required.
60-
- For a description of model file macro references to secrets and environment variables, see [Model file macros](#model-file-macros).
61+
This sample model file:
62+
- Includes a WebLogic credentials stanza that is required by Model in Image.
63+
- Derives its domain name from the predefined environment variable `DOMAIN_UID`, but note that this is not required.
6164

62-
#### Important notes about Model in Image model files
65+
For a description of model file macro references to secrets and environment variables, see [Model file macros](#model-file-macros).
6366

64-
- Understand when to use model macros.
67+
#### Important notes about Model in Image model files
6568

6669
- You can use model macros to reference arbitrary secrets from model files. This is recommended for handling mutable values such as database user names, passwords, and URLs. See [Using secrets in model files](#using-secrets-in-model-files).
6770

@@ -86,11 +89,17 @@ Some notes about the sample model file:
8689
8790
Refer to this section if you need to control the order in which your model files are loaded. The order is important when two or more model files refer to the same configuration, because the last model that's loaded has the highest precedence.
8891
89-
During domain home creation, model and property files are first loaded from the `/u01/model_home/models` directory within the image and are then loaded from the optional WDT config map described in [Optional WDT model config map]({{< relref "/userguide/managing-domains/model-in-image/usage/_index.md#3-optional-wdt-model-config-map" >}}).
92+
During domain home creation, model and property files are first loaded from the `/u01/model_home/models` directory within the image and are then loaded from the optional WDT ConfigMap described in [Optional WDT model ConfigMap]({{< relref "/userguide/managing-domains/model-in-image/usage/_index.md#3-optional-wdt-model-configmap" >}}).
93+
94+
The loading order within each of these locations is first determined using the convention `filename.##.yaml` and `filename.##.properties`, where `##` are digits that specify the desired order when sorted numerically. Additional details:
9095
91-
The loading order within each of these locations is first determined using the convention `filename.##.yaml` and `filename.##.properties`, where `##` is a numeric number that specifies the desired order, and then is determined alphabetically as a tie-breaker. File names that don't include `.##.` sort _before_ other files as if they implicitly have the lowest possible `.##.`.
96+
* Embedding a `.##.` in a filename is optional and can appear anywhere in the file name before the `properties` or `yaml` extension.
97+
* The precedence of file names that include more than one `.##.` is undefined.
98+
* The number can be any integer greater than or equal to zero.
99+
* File names that don't include `.##.` sort _before_ other files as if they implicitly have the lowest possible `.##.`
100+
* If two files share the same number, the loading order is determined alphabetically as a tie-breaker.
92101
93-
If an image file and config map file both have the same name, then both files are loaded.
102+
If an image file and ConfigMap file both have the same name, then both files are loaded.
94103
95104
For example, if you have these files in the image directory `/u01/model_home/models`:
96105
@@ -101,7 +110,7 @@ my-model.10.yaml
101110
y.yaml
102111
```
103112
104-
And you have these files in the config map:
113+
And you have these files in the ConfigMap:
105114
106115
```
107116
jdbc-dev-urlprops.10.yaml

0 commit comments

Comments
 (0)