Skip to content

Commit

Permalink
July-CR7 (#338)
Browse files Browse the repository at this point in the history
  • Loading branch information
sabrina-yee authored Jul 23, 2024
1 parent d135841 commit 259d018
Show file tree
Hide file tree
Showing 19 changed files with 58 additions and 53 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ To learn more about how to install Ansible on your local machine or Ansible cont

Supported OSs:

* CentOS 7+
* AlmaLinux 9
* RHEL 9

NOTE: Recommended OS for this automation is CentOS 7.9/RHEL 9. All HCL Connections, Docs and Component Pack builds are done on CentOS 7.9/RHEL 9. While it is being tested, in different scenarios, using version 8+ on CentOS you may hit different issues that are eventually not being tested.
NOTE: Recommended OS for this automation is AlmaLinux 9/RHEL 9. All HCL Connections, Docs and Component Pack builds are done on AlmaLinux 9/RHEL 9. Since CentOS 7 is officially end of life, automation support for it will eventually be dropped.

### Have files ready for download

Expand Down Expand Up @@ -89,7 +89,7 @@ Connections8:
-r-xr-xr-x 1 root root 66 Aug 22 05:20 HCL_Connections_8.0_lin.tar.sha256
-r-xr-xr-x 1 root root 661821440 Aug 22 05:20 HCL_Connections_8.0_wizards_lin_aix.tar
-r-xr-xr-x 1 root root 66 Aug 22 05:20 HCL_Connections_8.0_wizards_lin_aix.tar.sha256
-r-xr-xr-x 1 root root Apr 10 16:41 HC8.0_CR6.zip
-r-xr-xr-x 1 root root Apr 10 16:41 HC8.0_CR7.zip
DB2:
-rw-r--r--. 1 dmenges dmenges 3993254 Oct 16 13:13 DB2_ESE_AUSI_Activation_11.5.zip
Expand Down Expand Up @@ -411,7 +411,7 @@ ansible-playbook -i environments/examples/cnx8/db2/inventory.ini playbooks/hcl/c

To set up Component Pack, you should have the WebSphere-side of Connections already up and running and be able to log in successfully.

Follow the steps in [Installing MongoDB 5 for Component Pack](https://opensource.hcltechsw.com/connections-doc/admin/install/installing_mongodb_5_for_component_pack_8.html) till the point the image is imported into containerd. This is a manual step.
Follow the steps in [Installing MongoDB 5 for Component Pack](https://opensource.hcltechsw.com/connections-doc/v8-cr7/admin/install/installing_mongodb_5_for_component_pack_8.html) till the point the image is imported into containerd. This is a manual step.

Access to the HCL Harbor registry is needed to install the Component Pack. You can provide the Harbor credentials (and Quay credentials if enabling Huddo Boards) as environment variables.

Expand Down
20 changes: 13 additions & 7 deletions documentation/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,21 @@

[Why are we using Nginx and Haproxy here?](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/main/documentation/FAQ.md#why-are-we-using-nginx-and-haproxy-here)

[Docs thumbnails stop working after upgrading Connections. How to fix that?](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/main/documentation/FAQ.md#docs-thumbnails-stop-working-after-upgrading-connections-how-to-fix-that)

## What do I see here?

This is the end to end automation used by HCL Connections development team(s) to test different features for HCL Connections, Component Pack for HCL Connections and HCL Connections Docs.

Everything on main branch can be considered tested by HCL Connections development teams in at least single node, multiple single nodes (like, for example, one node for HCL Connections and another for Component Pack) or fully distributed environment.
Everything on main branch can be considered tested by HCL Connections development teams in at least single node, multiple single nodes (like, for example, one node for HCL Connections and another for Component Pack) or fully distributed environment.

## How can I start with this?

If you never used Ansible before, please start with this [quick start guide](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/main/documentation/QUICKSTART.md).

## What if I have some issues?

The easiest way is just to open the issue/start the discussion here in Github. If you are using HCL Connections you can go through the official support channels as well, but this is the fastest and the most straight forward way to get in touch directly with the developers who are maintaining the upstream.
The easiest way is just to open the issue/start the discussion here in Github. If you are using HCL Connections you can go through the official support channels as well, but this is the fastest and the most straight forward way to get in touch directly with the developers who are maintaining the upstream.

## Flexnet package names are different then some default package names here

Expand All @@ -70,7 +72,7 @@ For WebSphere, for example, this is how you overwrite default IBM names with tho

## What are the minimum system requirements to use this automation?

To spin up demo ready HCL Connections with Component Pack (including Customizer enabled), we (HCL Connections Development Team) use two nodes environments equivalent to AWS m5a.xlarge instance for DB2, OpenLDAP, IBM SDI, HCL Connections and equivalent of AWS m5a.4xlarge for Nginx, Docker (and Docker Registry), NFS server, Kubernetes and Component Pack with all the features currently automated enabled.
To spin up demo ready HCL Connections with Component Pack (including Customizer enabled), we (HCL Connections Development Team) use two nodes environments equivalent to AWS m5a.xlarge instance for DB2, OpenLDAP, IBM SDI, HCL Connections and equivalent of AWS m5a.4xlarge for Nginx, Docker (and Docker Registry), NFS server, Kubernetes and Component Pack with all the features currently automated enabled.

If you want to use Docs as well, be sure to increase the first instance to at least m5a.2xlarge equivalent.

Expand All @@ -88,15 +90,15 @@ These scripts will spin up OpenLDAP only, but even if you are using other LDAP i

## How do I specify which clusters should auto start?

[This line](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/c04747109398a2e34945d8893334aca165ea8255/environments/examples/cnx7/connections_7_without_component_pack/connections#L173) lists all the clusters that should start automatically. The reason why not all clusters are started or stopped automatically is simply that in some cases you don't want some clusters running at all (one of the first examples being Push cluster).
[This line](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/c04747109398a2e34945d8893334aca165ea8255/environments/examples/cnx7/connections_7_without_component_pack/connections#L173) lists all the clusters that should start automatically. The reason why not all clusters are started or stopped automatically is simply that in some cases you don't want some clusters running at all (one of the first examples being Push cluster).

## Can I only add Component Pack with this?

Yes, this automation is flexible enough that you can install everything or just a part of it, in this case Component Pack only (yes, also on already running HCL Connections environment).
Yes, this automation is flexible enough that you can install everything or just a part of it, in this case Component Pack only (yes, also on already running HCL Connections environment).

## What if my Connections is on Windows?

All the steps that would be otherwise done by Ansible on your Windows side would have to be executed manually.
All the steps that would be otherwise done by Ansible on your Windows side would have to be executed manually.

## Can I upgrade HCL Connections using those scripts?

Expand All @@ -108,7 +110,7 @@ Yes. The scripts are written in a way that you can spin up everything end to end

## Can I upgrade Component Pack using those scripts?

Yes, you can upgrade or recreate Component Pack with those scripts.
Yes, you can upgrade or recreate Component Pack with those scripts.

## Why are there many assumptions in different configuration files?

Expand All @@ -133,3 +135,7 @@ No, it's not. However, any node can be controller node (if you are using Linux o
Nginx is used just as a reverse proxy example. You can use whatever web server you are used to use.

Haproxy is definitely not mandatory, but if you are creating a Kubernetes cluster specifically with more then one master, you do need some load balancer in front of it. Also, if you are using Amazon EKS or RedHat OpenShift for your Component Pack installation, this Haproxy solves potential CORS issues for you. But no, Haproxy is not mandatory either.

## Docs thumbnails stop working after upgrading Connections. How to fix that?

Under certain circumstances, the references to Connections Docs shared libraries will be removed during the Connections upgrade. To add them back, go to the WebSphere Integrated Solutions Console, navigate to All applications -> News. Select "Shared library references" then "Reference shared libraries" to add DocsDaemonLib and ViewerDaemonLib to the News application, click OK.
2 changes: 1 addition & 1 deletion documentation/QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This is just an example of setting up your first HCL Connections and Component Pack environment including Customizer configured.

To set this up, you will need at least four machines (for this example, let us say we use CentOS 7):
To set this up, you will need at least four machines (for this example, let us say we use AlmaLinux 9):

- ansible.internal.example.com is going to run Ansible commands (i.e. Ansible controller). Typical laptop grade environment should be suffice.
- web.internal.example.com is going to host, in this example, only Nginx and Haproxy. This is needed here only for the Customizer. At least 1CPU and 2G of RAM are preferable.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ NOTE: If this is the very first document you are landing on, please ensure that
The easiest and most straight forward way to set up any end-to-end HCL Connections installation is to simply:

* Set up your inventory file the way you want (we will use [this example file for setting up 6.5CR1- inventory.ini](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/main/environments/examples/cnx6/db2/inventory.ini) and [group_vars](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/main/environments/examples/cnx6/db2/group_vars/all.yml))
* Use CentOS 7 Or RHEL 8.5 (the later CentOS 7 Or RHEL 8.5 the better)
* Use AlmaLinux 9 Or RHEL 9 (the later the better)

...and simply run your playbook with

Expand Down Expand Up @@ -44,7 +44,7 @@ Please note that [files in this folder ](https://github.com/HCL-TECH-SOFTWARE/co

### Choosing operating system version

For this scenario, let's say you are using CentOS 7.9 (latest in this moment). Be always sure, as whenever installing any of the components mentioned here, using automation or manually, to configure machine properly and just to be on the safe side run yum update before you start.
For this scenario, let's say you are using AlmaLinux 9. Be always sure, as whenever installing any of the components mentioned here, using automation or manually, to configure machine properly and just to be on the safe side run yum update before you start.

### Installing end-to-end HCL Connections 6.5CR1

Expand Down
7 changes: 6 additions & 1 deletion documentation/howtos/connections_upgrade_to_8.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Please note that if needed user can overwrite defaults using [files in this fold

### Choosing operating system version

Use CentOS 7 Or RHEL 9 (the later CentOS 7 Or RHEL 9 the better). For this scenario, let's say you are using CentOS 7.9. Be always sure, as whenever installing any of the components mentioned here, using automation or manually, to configure machine properly and just to be on the safe side run yum update before you start.
Use AlmaLinux 9 or RHEL 9 (the later the better). For this scenario, let's say you are using AlmaLinux 9. Be always sure, as whenever installing any of the components mentioned here, using automation or manually, to configure machine properly and just to be on the safe side run yum update before you start.


## Upgrading HCL Connections to v8
Expand Down Expand Up @@ -173,6 +173,11 @@ ansible-playbook -i environments/examples/cnx8/db2/inventory.ini playbooks/hcl/c
Once this is done, log in to your HCL Connections 8 installation, just to confirm that all is fine.
### Thumbnail fix for Connections Docs after upgrade
Thumbnails may not be generated after Connections is upgraded. If `com.ibm.connections.spi.events.EventHandlerInitException` exceptions are found in the WebSphere server log, follow the fix in the [FAQ](https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/main/documentation/FAQ.md#docs-thumbnails-stop-working-after-upgrading-connections-how-to-fix-that).
## Final words
As you probably already noticed, same playbooks can be used for both installations and upgrades, and it is designed that way. Worst case scenario that can happen is that some services will be restarted while playbooks are ensuring that everything is the way it is described.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ ic360_db={ 'name': 'LSCONN', 'server': 'db1.internal.example.com', 'user': 'ESSU

## Using Microsoft SQL Server 2019 as a database backend for HCL Connections 8

This was, obviously, implemented and tested on Linux (CentOS 7.9 to be more specific).
This was implemented on Linux and no longer tested.

It follows the same logic that DB2 and Oracle are following, but note that in case of MSSQL you need to use strong password, otherwise it will simply not work:

Expand Down
4 changes: 2 additions & 2 deletions environments/examples/cnx8/db2/group_vars/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ cnx_repository_url: "http://{{ groups['installer'][
tinyeditors_download_location: http://{{ groups['installer'][0] }}:8001/TinyEditors
cnx_fixes_repository_url: "http://{{ groups['installer'][0] }}:8001/{{ connections_kit_folder }}"

cnx_fixes_version: "8.0.0.0_CR6"
cnx_fixes_version: "8.0.0.0_CR7"
cnx_fixes_files:
- { file_name: "HC8.0_CR6.zip" }
- { file_name: "HC8.0_CR7.zip" }

cnx_package: "HCL_Connections_8.0_lin.tar"
connections_wizards_package_name: "HCL_Connections_8.0_wizards_lin_aix.tar"
Expand Down
4 changes: 2 additions & 2 deletions environments/examples/cnx8/oracle/group_vars/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ cnx_repository_url: "http://{{ groups['installer'][
tinyeditors_download_location: http://{{ groups['installer'][0] }}:8001/TinyEditors
cnx_fixes_repository_url: "http://{{ groups['installer'][0] }}:8001/{{ connections_kit_folder }}"

cnx_fixes_version: "8.0.0.0_CR6"
cnx_fixes_version: "8.0.0.0_CR7"
cnx_fixes_files:
- { file_name: "HC8.0_CR6.zip" }
- { file_name: "HC8.0_CR7.zip" }

cnx_package: "HCL_Connections_8.0_lin.tar"
connections_wizards_package_name: "HCL_Connections_8.0_wizards_lin_aix.tar"
Expand Down
4 changes: 2 additions & 2 deletions environments/examples/cnx8/quick_start/group_vars/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ cnx_repository_url: "http://{{ groups['installer'][
tinyeditors_download_location: http://{{ groups['installer'][0] }}:8001/TinyEditors
cnx_fixes_repository_url: "http://{{ groups['installer'][0] }}:8001/{{ connections_kit_folder }}"

cnx_fixes_version: "8.0.0.0_CR6"
cnx_fixes_version: "8.0.0.0_CR7"
cnx_fixes_files:
- { file_name: "HC8.0_CR6.zip" }
- { file_name: "HC8.0_CR7.zip" }

cnx_package: "HCL_Connections_8.0_lin.tar"
connections_wizards_package_name: "HCL_Connections_8.0_wizards_lin_aix.tar"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ cnx_repository_url: "http://{{ groups['installer'][
tinyeditors_download_location: http://{{ groups['installer'][0] }}:8001/TinyEditors
cnx_fixes_repository_url: "http://{{ groups['installer'][0] }}:8001/{{ connections_kit_folder }}"

cnx_fixes_version: "8.0.0.0_CR6"
cnx_fixes_version: "8.0.0.0_CR7"
cnx_fixes_files:
- { file_name: "HC8.0_CR6.zip" }
- { file_name: "HC8.0_CR7.zip" }

cnx_package: "HCL_Connections_8.0_lin.tar"
connections_wizards_package_name: "HCL_Connections_8.0_wizards_lin_aix.tar"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ cnx_repository_url: "http://{{ groups['installer'][
tinyeditors_download_location: http://{{ groups['installer'][0] }}:8001/TinyEditors
cnx_fixes_repository_url: "http://{{ groups['installer'][0] }}:8001/{{ connections_kit_folder }}"

cnx_fixes_version: "8.0.0.0_CR6"
cnx_fixes_version: "8.0.0.0_CR7"
cnx_fixes_files:
- { file_name: "HC8.0_CR6.zip" }
- { file_name: "HC8.0_CR7.zip" }

cnx_package: "HCL_Connections_8.0_lin.tar"
connections_wizards_package_name: "HCL_Connections_8.0_wizards_lin_aix.tar"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ cnx_repository_url: "http://{{ groups['installer'][
tinyeditors_download_location: http://{{ groups['installer'][0] }}:8001/TinyEditors
cnx_fixes_repository_url: "http://{{ groups['installer'][0] }}:8001/{{ connections_kit_folder }}"

cnx_fixes_version: "8.0.0.0_CR6"
cnx_fixes_version: "8.0.0.0_CR7"
cnx_fixes_files:
- { file_name: "HC8.0_CR6.zip" }
- { file_name: "HC8.0_CR7.zip" }

cnx_package: "HCL_Connections_8.0_lin.tar"
connections_wizards_package_name: "HCL_Connections_8.0_wizards_lin_aix.tar"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
path: "{{ __db_extraction_folder }}"
state: directory
when:
- (not migrations_already_done.stat.exists) or (__cnx_force_repopulation |bool )
- (not migrations_already_done.stat.exists) or (__cnx_force_repopulation |bool ) or (__cnx_docs_force_repopulation | bool)


- name: Download and unzip installation "{{ __download_location}}/{{ __package_name }}" to the {{ __db_extraction_folder }}
Expand All @@ -25,7 +25,7 @@
remote_src: yes
validate_certs: false
when:
- (not migrations_already_done.stat.exists) or (__cnx_force_repopulation |bool) or (__db_enable_upgrades |bool)
- (not migrations_already_done.stat.exists) or (__cnx_force_repopulation |bool) or (__db_enable_upgrades |bool) or (__cnx_docs_force_repopulation | bool)
retries: 3

- name: Stop CNX cluster for database cleanup
Expand Down
2 changes: 1 addition & 1 deletion roles/third_party/ibm/db2-install/tasks/setup_os.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
name: epel-release
state: present
when:
- ansible_os_family == "AlmaLinux"
- ansible_distribution == "AlmaLinux"


- name: Install pre-requisites Yum for RHEL 8/9
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1180,4 +1180,4 @@ Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains

# Apply CSP to all requests to prevent clickjacking. Include exceptions for teams addin and outlook addin
Header unset Content-Security-Policy
Header always set Content-Security-Policy "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com .office365.com"
Header always set Content-Security-Policy "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.office365.com"
8 changes: 0 additions & 8 deletions roles/third_party/ibm/tdi-install/tasks/setup_os.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
- name: Install compat-libstdc++-33 from RPM
package:
name: http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
state: present
disable_gpg_check: yes
when:
- ansible_os_family == "RedHat"

- name: Install libnsl on CentOS8/RHEL8
yum:
name: libnsl
Expand Down
Loading

0 comments on commit 259d018

Please sign in to comment.