We updated our productive HCL Connections environment last week from 6.5CR1 to 7. This time we decided to do an inplace update.
Upgrade WAS to 8.5.5.18 on commandline :
cd /opt/ibm/InstallationManager/eclipse/tools ./imcl install com.ibm.websphere.ND.v85_8.5.5018.20200910_1821 -repositories /data/install/unpacked/wasfp18/ -acceptLicense
The Connections update itself did not provide any surprises.
The database wizard was a bit creepy as it wanted to do a db update from 2.5 to 7 in the first place. After switching to the db2inst1 user, it still wanted an update from 3 to 7 for wikis and files db. So we decided to go through the wizards connections.sql directory and run any upgrade-XY-70.sql scripts. There’s only one for homepage.
Export PDF: there’s a post install step hidden, deep inside the help on how to install wkhtmltopdf.
Upgrade the Component Pack to 7 required some steps.
I decided to upgrade our kubernetes environment to 1.18.latest first. Then install helm3 and migrate all the stuff from helm2 using helm 2to3 Plugin
What am I missing at the moment: all my previous metrics data. The elasticsearch got updated from 5.5 to 7 which does not automatically update the elasticsearch indices. I have not found a way to update these properly yet.
The next step was to prepare all the *.yml files from the samples to my environment.
After applying all the new helm builds all the pods updated. Nothing worked. All the pods were up, but neither /appreg nor /social worked.
I only got a 404 from nginx.
After some debugging with krew’s tail plugin, it was clear that I had some issues with the ingress definitions.
Looks like the ingress controller has some issues with regex and wildcard definitions.
To fix this issue I added these 2 ingress definitions.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
name: my-ingress-appreg
namespace: connections
spec:
rules:
- host: 'connections.belsoft.ch'
http:
paths:
- backend:
serviceName: appregistry-client
servicePort: 7000
path: /appreg
pathType: ImplementationSpecific
- backend:
serviceName: te-creation-wizard
servicePort: 8080
path: /te-creation-wizard
pathType: ImplementationSpecific
- backend:
serviceName: community-template-service
servicePort: 3000
path: /comm-template
pathType: ImplementationSpecific
- backend:
serviceName: admin-portal
servicePort: 8080
path: /cnxadmin
pathType: ImplementationSpecific
- backend:
serviceName: sanity
servicePort: 3000
path: /sanity
pathType: ImplementationSpecific
and
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: my-ingress-appregistry
namespace: connections
spec:
rules:
- host: 'connections.belsoft.ch'
http:
paths:
- backend:
serviceName: appregistry-service
servicePort: 3000
path: /appregistry
pathType: ImplementationSpecific
- backend:
serviceName: orient-web-client
servicePort: 8000
path: /social
pathType: ImplementationSpecific
- backend:
serviceName: itm-services
servicePort: 3000
path: /itm
pathType: ImplementationSpecific
- backend:
serviceName: community-suggestions
servicePort: 3000
path: /community_suggestions/api/recommend/communities
pathType: ImplementationSpecific
- backend:
serviceName: connections-ui-poc
servicePort: 3000
path: /connections-ui
pathType: ImplementationSpecific
- backend:
serviceName: teams-presence-service
servicePort: 3000
path: /teams-presence
pathType: ImplementationSpecific
- backend:
serviceName: teams-share-service
servicePort: 3000
path: /teams-share-service
pathType: ImplementationSpecific
- backend:
serviceName: teams-share-ui
servicePort: 3000
path: /teams-share-ui
pathType: ImplementationSpecific
- backend:
serviceName: teams-tab-api
servicePort: 3000
path: /teams-tab/api
pathType: ImplementationSpecific
- backend:
serviceName: teams-tab-ui
servicePort: 8080
path: /teams-tab
pathType: ImplementationSpecific