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