-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added TOC to 2021-01-23 Journal Entry Issue #5 "XE: Using discovered Python interpreter" Updated Firewall Configuration Resolved "XE: Firewall needs to be reloaded after rule changes #10" - Split firewalls between Oracle listener and Enterprise Manager Express - Added handler to reload firewall rules Added untested code for Python3 on OL7 Added design journal entries
- Loading branch information
1 parent
295bd6d
commit 0e69ce9
Showing
9 changed files
with
242 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# 2021-02-02: Failed 18C XE Installation | ||
|
||
## Overview | ||
|
||
This is a hacked-together Ansible script to install XE and 19C. There was no | ||
real design involved. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# 2021-02-03: Successful 18C XE Installation | ||
|
||
## Overview | ||
|
||
I am starting to get a handle on designing the installation of 18C XE. This is | ||
a summary of design decisions made to bring rationality to the overall design. | ||
|
||
# Table of Contents | ||
|
||
* [Issues Resolved:](#issues-resolved) | ||
* [Other Design Issues](#other-design-issues) | ||
* [YAMLLINT Configuration Setting](#yamllint-configuration-setting) | ||
* [Switch to Python2](#switch-to-python2) | ||
* [Remove Python Setting](#remove-python-setting) | ||
* [Check for Working Version of PIP2](#check-for-working-version-of-pip2) | ||
* [Validate XE Installation on OL7](#validate-xe-installation-on-ol7) | ||
* [Separate Script for OL7](#separate-script-for-ol7) | ||
* [Restrict Ansible 2.10 to OL 8](#restrict-ansible-210-to-ol-8) | ||
* [XE Specific Password](#xe-specific-password) | ||
|
||
# Issues Resolved: | ||
|
||
- #1 "XE: RPM Dependency - Cannot Use 19C Preinstall RPM" | ||
- #3 "XE: YUM fails for OL7" | ||
- #4 "XE: load passwords failed due to censored" | ||
- #6 "XE: PIP fails to install PEXPECT" | ||
- #7 "XE: Unable to find 18C XE RPM" | ||
- #8 "XE: Configuration Loops Indefinitely" | ||
- #9 "XE: Invalid Protocols for Firewall Rules" | ||
|
||
# Other Design Issues | ||
|
||
## YAMLLINT Configuration Setting | ||
|
||
Added `.yamllint` for my preferred yamllint settings. This is done through the | ||
script, `ansible-check.sh`, from the | ||
[local_utilities](https://github.com/dfhawthorne/local_utilities) GIT | ||
repository. | ||
|
||
This was done because I had forgotten how I have configured `yamllint` on other | ||
systems. It has the effect of exposing the `yamllint` configuration settings in | ||
the current project when using the `ansible-check.sh` utility. | ||
|
||
## Switch to Python2 | ||
|
||
I had great difficulties running Ansible 2.10 scripts on Oracle Linux 7 (OL7) | ||
servers. The solution was to install Ansible 2.9 and use Python2 on OL7 servers. | ||
|
||
### Remove Python Setting | ||
|
||
Removed `python_interpreter` from Ansible configuration file, `ansible.cfg`. | ||
This allows me to specify the python interpreter per host by setting the | ||
variable, `ansible_python_interpreter`. | ||
|
||
This is needed because Oracle Linux 7 requires Python2 to work currently for | ||
Ansible scripts. | ||
|
||
### Check for Working Version of PIP2 | ||
|
||
Because of | ||
"[pip install on Python 2 fails with SyntaxError: sys.stderr.write(f"ERROR: {exc}") #9500](https://github.com/pypa/pip/issues/9500)", | ||
I need to install a downgraded version of `pip2`. | ||
|
||
I created a utility, called `files/validate_pip2.sh`, which detects the | ||
existence of `pip2`, and whether that command is error-free. If `pip2` does | ||
not exist, or `pip2` fails, the script fails. In that case, the downgraded | ||
`pip2` is installed. | ||
|
||
## Validate XE Installation on OL7 | ||
|
||
I restrict the installation of the XE software onto Oracle Linux 7 (OL7). | ||
|
||
## Separate Script for OL7 | ||
|
||
Separated Oracle Linux 7 tasks into a separate file, `ol7_tasks.yml`. This | ||
allows operating specific tasks to be separated out. | ||
|
||
## Restrict Ansible 2.10 to OL 8 | ||
|
||
I made the decision to restrict the use of Ansible 2.10 to Oracle Linux 8 (OL8). | ||
|
||
## XE Specific Password | ||
|
||
Because the XE password cannot include special characters, I created a special | ||
password variable, `xe_password`, which was added to `passwords/oracle.yml`. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# 2021-02-04: Cleanup of 18C XE Installation | ||
|
||
## Overview | ||
|
||
After the successful installation of 18C XE, there were some minor changes to | ||
the playbook to fix remaining issues. | ||
|
||
# Table of Contents | ||
|
||
* [Issues Fixed](#issues-fixed) | ||
* [Issue - #5 XE: Using discovered Python interpreter](#issue---#5-xe-using-discovered-python-interpreter) | ||
* [Issue - #10 XE: Firewall needs to be reloaded after rule changes](#issue---#10-xe-firewall-needs-to-be-reloaded-after-rule-changes) | ||
* [Added Python Version Dependency](#added-python-version-dependency) | ||
|
||
# Issues Fixed | ||
|
||
## Issue - #5 XE: Using discovered Python interpreter | ||
|
||
Resolved issue #5 ("XE: Using discovered Python interpreter") by setting | ||
`ansible_python_interpreter` in the host variable file for XE. | ||
|
||
## Issue - #10 XE: Firewall needs to be reloaded after rule changes | ||
|
||
Resolved "XE: Firewall needs to be reloaded after rule changes #10" by: | ||
- Split firewall rules between Oracle listener and Enterprise Manager Express | ||
- Firewall rules for Oracle listener moved to `sites.yml` because these rules | ||
are common to all Oracle database builds. | ||
- Firewall rules for Enterprise Manager Express are left in | ||
`install_XE_database.yml` because this feature is part of the XE database. | ||
- Added handler to reload firewall rules to `sites.yml`. | ||
|
||
# Added Python Version Dependency | ||
|
||
Because of the issue described in | ||
"[pip install on Python 2 fails with SyntaxError: sys.stderr.write(f"ERROR: {exc}") #9500](https://github.com/pypa/pip/issues/9500)", | ||
I had to add code to deploy a downgraded version of PIP2. This code only runs | ||
if the version of Python used is 2. | ||
|
||
As a counterpart to this, I added untested code for Python3 on OL7 based on | ||
code I used in | ||
[install_modules.yml](https://github.com/dfhawthorne/ansible-ocm12c/blob/version_2/roles/common/tasks/install_modules.yml) | ||
of my [ansible-ocm12c](https://github.com/dfhawthorne/ansible-ocm12c) | ||
project. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters