forked from oravirt/ansible-oracle
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #102 from Rendanic/prantsibull-changelog
antsibull-changelog
- Loading branch information
Showing
22 changed files
with
403 additions
and
214 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,31 @@ | ||
name: Test antsibull-changelog lint | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- oc | ||
- master | ||
- collection | ||
push: | ||
branches: | ||
- 'pr*' | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Python 3.9 | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.9 | ||
|
||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install antsibull-changelog | ||
- name: antsibull-changelog lint (own changelog fragments) | ||
run: | | ||
antsibull-changelog lint |
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,243 @@ | ||
:toc: | ||
:toc-placement!: | ||
toc::[] | ||
|
||
* Installs Oracle RAC, RAC One Node and normal single instances. | ||
* Start with one or more clean machine(s), end up with a fully | ||
configured RAC Cluster. | ||
== Getting started | ||
|
||
Pre-requisites: | ||
|
||
* Ansible >= 2.4 | ||
* Oracle Linux (or any RHEL-based Linux System) >= 6.4 | ||
* Oracle Database/Grid Infrastructure 18.3.0.0, 12.2.0.1, 12.1.0.1, | ||
12.1.0.2, 11.2.0.4, 11.2.0.3 | ||
* For example configurations, look in: | ||
|
||
---- | ||
SI/FS: group_vars/vbox-si-fs. - vagrant config: http://github.com/oravirt/vagrant-vbox-si-fs | ||
SI/ASM: group_vars/vbox-si-asm - vagrant config: http://github.com/oravirt/vagrant-vbox-si-asm | ||
RAC/ASM: group_vars/vbox-rac-dc1 - vagrant config: http://github.com/oravirt/vagrant-vbox-rac | ||
---- | ||
|
||
By default, installs a single instance 18.3.0.0 database on a | ||
filesystem. | ||
|
||
. Clone this repository: | ||
`git clone --recursive https://github.com/oravirt/ansible-oracle` | ||
. Add the following file to `/tmp` on the controlmachine | ||
* `LINUX.X64_180000_db_home.zip` | ||
. Create an Ansible inventory file | ||
+ | ||
.... | ||
[myhostgroup] | ||
dbhost | ||
.... | ||
. Run the playbook: | ||
+ | ||
`ansible-playbook single-instance-db-on-fs.yml -e hostgroup=myhostgroup -i /path/to/inventory` | ||
+ | ||
where the `-i` part is optional | ||
|
||
== Roles | ||
|
||
A lot of these roles uses Ansible modules that comes from | ||
https://github.com/oravirt/ansible-oracle-modules[ansible-oracle-modules] | ||
|
||
=== common | ||
|
||
This will configure stuff common to all machines | ||
|
||
* Install some generic packages | ||
* Configure ntp | ||
|
||
=== orahost | ||
|
||
This will configure the host specific Oracle stuff: | ||
|
||
* Add a user & group | ||
* Create directory structures | ||
* Handle filesystem storage (partition devices, creates vg/lv and a | ||
filesystem (ext4, xfs, btrfs) etc). If you want to create your database | ||
on a filesystem (instead of ASM) this is where you define the layout. | ||
* Install required packages | ||
* Change kernel paramemeters | ||
* Set up pam.d/limits config | ||
* Configures Hugepages (as a percentage of total RAM) | ||
* Disables transparent hugepages | ||
* Disables NUMA (if needed) | ||
* Configures the interconnect network (if needed) | ||
* Configures Oracle ASMLib | ||
|
||
=== orahost-ssh | ||
|
||
Configures passwordless ssh between clusternodes if setting up RAC | ||
(`configure_cluster=True`) | ||
|
||
* Uses existing ssh-keys | ||
|
||
=== orahost-storage | ||
|
||
This role configures storage that shoud be used by ASM. | ||
|
||
* Partitions devices (using parted) | ||
* Create ASMlib labels or sets up udev-rules for device name persistence | ||
|
||
=== oraswgi-install | ||
|
||
This role will install and configure Oracle Grid Infrastructure (RAC/SI) | ||
|
||
* Adds a .profile_grid to the oracle user | ||
* Sets up directory structures | ||
* Copies the install-files to the servers, or installs from a remote | ||
location (e.g nfs share) | ||
* Install Oracle Grid Infrastructure | ||
|
||
=== oraasm-manage-diskgroups | ||
|
||
This role will statefully manage the lifecycle of an ASM diskgroup | ||
|
||
* Uses the *oracle_asmdg* module | ||
* Create/delete diskgroup. | ||
* Add/remove disks | ||
* Manage attributes for the DG | ||
|
||
=== oraswdb-install | ||
|
||
This role will install the oracle database server(s). It is possible to | ||
run more than 1 database from each home. It performs both Single | ||
Instance/RAC installations. | ||
|
||
* Creates a .profile with the correct environment | ||
* Creates directory structures | ||
* Installs the database-server(s) | ||
|
||
=== oradb-manage-db | ||
|
||
This role statefully manages the lifecycle of a database | ||
|
||
* Uses the *oracle_db* module | ||
* Creates/deletes: `state: present/absent` | ||
* Maintains archivelog/force_logging True/False | ||
|
||
=== oraswgi-manage-patches | ||
|
||
Manage patches in a GI environment | ||
|
||
* Uses the *oracle_opatch* module | ||
* Manages opatchauto type of patches as well as 'normal' one-offs | ||
|
||
=== oraswdb-manage-patches | ||
|
||
Statefully manage patches in a DB environment | ||
|
||
* Uses the *oracle_opatch* module | ||
* Manages opatchauto type of patches as well as 'normal' one-offs | ||
|
||
=== cxoracle | ||
|
||
Installs cx_Oracle in preparation for using | ||
https://github.com/oravirt/ansible-oracle-modules[ansible-oracle-modules] | ||
|
||
=== orahost-cron | ||
|
||
Configures cron schedules if needed | ||
|
||
=== orahost-logrotate | ||
|
||
=== oradb-manage-<*> | ||
|
||
Statefully manages various aspects of the DB. They all use modules from | ||
https://github.com/oravirt/ansible-oracle-modules[ansible-oracle-modules] | ||
|
||
* *oradb-manage-pdb* | ||
* *oradb-manage-tablespace* | ||
* *oradb-manage-parameters* | ||
* *oradb-manage-roles* | ||
* *oradb-manage-users* | ||
* *oradb-manage-grants* | ||
* *oradb-manage-redo* | ||
* *oradb-manage-services* | ||
|
||
== Deprecated roles | ||
|
||
*_oraswgi-opatch (use oraswgi-manage-patches instead)_* | ||
|
||
== Note | ||
|
||
These are the Oracle binaries that are pre-configured to be used. They | ||
have to be manually downloaded and made available (either locally, from | ||
a web endpoint or through a nfs-share) | ||
|
||
For 18.3.0.0: | ||
|
||
---- | ||
LINUX.X64_180000_db_home.zip | ||
LINUX.X64_180000_grid_home.zip | ||
---- | ||
|
||
For 12.2.0.1: | ||
|
||
---- | ||
linuxx64_12201_database.zip | ||
linuxx64_12201_grid_home.zip | ||
---- | ||
|
||
For 12.1.0.2 | ||
|
||
---- | ||
linuxamd64_12102_database_1of2.zip | ||
linuxamd64_12102_database_2of2.zip | ||
linuxamd64_12102_grid_1of2.zip | ||
linuxamd64_12102_grid_2of2.zip | ||
---- | ||
|
||
For 12.1.0.1: | ||
|
||
---- | ||
linuxamd64_12c_database_1of2.zip | ||
linuxamd64_12c_database_2of2.zip | ||
linuxamd64_12c_grid_1of2.zip | ||
linuxamd64_12c_grid_2of2.zip | ||
---- | ||
|
||
For 11.2.0.4: | ||
|
||
---- | ||
p13390677_112040_Linux-x86-64_1of7.zip | ||
p13390677_112040_Linux-x86-64_2of7.zip | ||
p13390677_112040_Linux-x86-64_3of7.zip | ||
---- | ||
|
||
For 11.2.0.3: | ||
|
||
---- | ||
p10404530_112030_Linux-x86-64_1of7.zip | ||
p10404530_112030_Linux-x86-64_2of7.zip | ||
p10404530_112030_Linux-x86-64_3of7.zip | ||
---- | ||
|
||
== Pull-Requests | ||
|
||
=== Important Information | ||
|
||
The ansible-oracle project introduced `antsibull-changelog` for managing the `CHANGELOG.rst` based on fragments in `changelogs/gragments`. | ||
|
||
The ID should point to the PR and the filename describe the PR in short form. | ||
The fragments are part of the PR. If multiple PRs are open, the upper rule makes sure that no duplicate files are created during merge. | ||
|
||
IMPORTANT: Each Pull-Requests needs a fragment from Release 3.0.0 onwards! | ||
|
||
=== Working with antsibull-changelog | ||
|
||
Changelogs for Collections: https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelogs.rst#releasing-a-new-version-of-a-collection | ||
|
||
=== Creating new releases | ||
|
||
`antsibull-changelog release` reads `galaxy.yml` to get the release version automatically. | ||
The execution is aborted, when a release with the version is existing in `CHANGELOG.rst`. | ||
|
||
NOTE: The whole release process should be donw with a dedicated Pull-Request. | ||
|
Oops, something went wrong.