-
Notifications
You must be signed in to change notification settings - Fork 91
Create Domain is not using symbolic link values as they're being passed #1591
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@wicketr I don't think this is a WDT issue. Try creating a domain with the Config Wizard or WLST offline to see what paths are baked into the Domain scripts... |
Seems to be mixed bag. Weblogic home is resolving to actual, but java home is remaining the symbolic link. Running this command:
Console output:
All the scripts in the domain/bin are:
|
@wicketr OK, so it might be that WDT is doing something (e.g., Another thing you might want to look is the following:
As you can see, running import os
env_var_names = ['ORACLE_HOME', 'WL_HOME', 'MW_HOME', 'JAVA_HOME']
for key, value in os.environ.items():
if key in env_var_names:
print(str(key) + ' = ' + str(value)) In this case, the wlst.sh and supporting shell scripts are all from the OUI installer created Middleware Home directory. If WLST is resetting these values to the ones used to run the installer, there isn't much we can do at the WDT level. Maybe try running the installer using the symbolic links to see if that makes any difference? |
@wicketr In looking more at the WDT code, it seems like I guess we need to figure out if the value passed using the
In my environment (where I did not pass in
Can you show me the log entries corresponding to the |
Here's parameters part:
Later on regarding the oracle home I see this as well as the other paths being resolved to actuals instead of symbolics. The last line in this log shows all actual paths.
|
@wicketr As for the Java Home, please provide the other log entry requested so that I can see what, if anything, may need to be changed for this to work. The
There is no WLST Public API that allows us to specify the the Oracle Home to be used to create the domain--it is always the one from which wlst.sh is running ( and the path is determined by WLST itself). As such, I do not believe that there is any WDT fix that can help you. |
I'm seeing this for the JavaHome:
As an aside, Isn't WLST also owned by Oracle? Figure someone in the company should be made aware of this problem and fix the "private" implementation. Allowing the WDT appropriately interface with it would help us all. For now, I'm just going to create my own "bin" scripts, that are generic and allow me to pass in the appropriate WL_HOME and JAVA_HOME without them getting overwritten. |
@wicketr yes, of course WLST is part of WebLogic Server, which itself is the foundation for the rest of Fusion Middleware. The issue is that this removal of the symbolic links from the paths is likely intentional so changing that behavior is not something that is easy to do. If you feel strongly about this, I would encourage you to file an SR with Oracle Support as customer-driven change requests get the highest level of consideration. |
@wicketr I did two things:
After doing that, running the env.py script shows the Oracle Home-related symlinks inside of WLST are being used.
When I run WDT, I no longer see any conversion of the symlinks inside WDT.
Unfortunately, creating the domain does not exclusively use the symlinks in the setDomainEnv.sh script:
Assuming the WDT change doesn't break anything in our integration tests, I will go ahead and commit the change. However, this will not solve all of your Oracle Home-related challenges. |
It's at least a step closer! Thanks for looking into this! Yea, until the other one is fixed from the other team, I'll likely use my custom bin folder of scripts, so I'm fully dynamic. Thanks again. |
@wicketr The other one won't be fixed unless/until customers file an SR asking for it to be changed... |
The WDT change discussed is now in the |
Using WebLogic Deploy Tooling 4.2.1
Script: createDomain.sh
We are trying to use symbolic link names to our Weblogic directory and our Java directory. We're passing that to the createDomain.sh script, however these symbolic links are getting resolved to the actual paths. This is causing headaches when Weblogic and Java updates are getting added, and EOL patches removed.
example:
I'm even trying to set JAVA_HOME directly in advance, but it's still getting resolved to the actual path when it generates all the scripts.
In all the domain/bin scripts, like setDomainEnv.sh, the values are set to:
As newer versions of Java and Weblogic patches are released, these old versions are removed from our servers as we get new patched versions of Weblogic and Java, and we're left with a domain that no longer starts when the old versions are eventually removed from our servers (typically only have latest 6 months of versions).
If I'm setting specific paths for these values, shouldn't it being using those specific paths? That would allow us to keep our symbolic link pointed to the latest patches without having to modify a dozen scripts every few months.
The text was updated successfully, but these errors were encountered: