From f9507068fdaa8155352f4854aaa4bb1e40704548 Mon Sep 17 00:00:00 2001 From: Fergal Connolly Date: Fri, 16 Jul 2021 14:08:06 +0100 Subject: [PATCH 1/4] correct travis branch call --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4ef6655..8e3c8b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ script: - markdownlint **/*.mdx - npm run build - docker run --rm -d --name gatsby -p 8888:80 -v $(pwd)/public:/usr/local/apache2/htdocs$SITE_PREFIX httpd:2.4 - #- linkchecker http://$(hostname -f):8888$SITE_PREFIX --config=./linkcheckerrc + - linkchecker http://$(hostname -f):8888$SITE_PREFIX --config=./linkcheckerrc deploy: - provider: pages @@ -26,4 +26,4 @@ deploy: committer_from_gh: true target_branch: gh-pages on: - branch: master + branch: main From dbb33b3fd102e41af8698d20aadcc3632fc50135 Mon Sep 17 00:00:00 2001 From: Gilles Devillard Date: Fri, 16 Jul 2021 14:52:23 +0100 Subject: [PATCH 2/4] Add OpenShift Introduction --- src/pages/openshift/introduction.mdx | 82 ++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/pages/openshift/introduction.mdx diff --git a/src/pages/openshift/introduction.mdx b/src/pages/openshift/introduction.mdx new file mode 100644 index 0000000..7ea6bd0 --- /dev/null +++ b/src/pages/openshift/introduction.mdx @@ -0,0 +1,82 @@ +--- +title: Introduction +description: Introduction +--- + +This section provides information related to the tuning of IBM® Cúram Social Program Management (SPM) deployed on cloud environments such as the OpenShift Container Platform (OCP). + +> The configurable parameters and tuning values listed are for guidance purposes only. These configurable parameters and values are a suggested starting point and are not definitive. Clients should perform their own testing to validate and verify their own settings, in order to meet their system needs. + +> While the starter configurable parameters and values are based on experience and are sensible for production, it is unlikely they are the configuration for your specific system. **Therefore, it is strongly recommended these configurations are further tuned during your load testing and production monitoring.** + +The parameters are key to the performance of Social Program Management on WebSphere® +Liberty (WLP) application server running on Kubernetes. Refine the values during load testing of the system and during monitoring of production. A load test phase in the project is highly recommended. + + + Architecture + What are JMS producers and JMS consumers? + Helm Charts + Passing Values + Parameters + + + + +Please note as a complex software product actual results may vary, based on a broad range of implementation specific factors, such as Cúram modifications and customization, transaction mix, hardware platform, third party software and database size. + + + +## Architecture + +As a platform for Social Programs, SPM allows customers to configure and customize their deployments according to their own requirements. + +The tuning parameters presented are for illustrative purpose only, therefore it is important to understand how the components interconnect with each other by +reviewing the [Architecture Overview](https://ibm.github.io/spm-kubernetes/architecture/arch-overview/architecture-overview) +and by performing adequate workload exercises to determine the optimal values for each deployment. + +### What are JMS producers and JMS consumers? + +To mitigate against the risk of thread exhaustion, the client HTTP initiated transactions and JMS initiated transactions run on different WebSphere Liberty instances, integrated through a messaging engine (IBM MQ). + +The Application/EAR responsible for processing client HTTP initiated transactions is called the JMS Producer and has JMS message consumption through EJB MDBs disabled. + +The Application/EAR responsible for processing JMS initiated transactions is called the JMS Consumer and has JMS message consumption through EJB MDBs enabled. + +This resolution is part of a multi-faceted solution, with client HTTP initiated transactions and JMS initiated transactions isolated from each other, and the implementation of local interfaces. + +For more information please review the SPM [Transaction isolation](https://www.ibm.com/docs/en/spm/7.0.11?topic=architecture-transaction-isolation) topic. + +## Helm Charts + +The values and parameters presented in this document apply to the Helm Charts distributed in the [SPM-Kubernetes](https://github.com/IBM/spm-kubernetes/) repository. + +## Docker + +As part of the [SPM Kubernetes containerization assets](https://github.com/IBM/spm-kubernetes) release, SPM has not embedded tuning within Dockerfiles. +Clients are free to update these docker files with their required tuning based on their requirements. + +## Passing Values + +The Helm Charts expose parameters that can be accessed using the Values object, which users can override using an [value file](https://helm.sh/docs/chart_template_guide/values_files/). + +Consequently, in this guide the tuning of the components is made possible by passing values into the chart during deployment time. + +The following command example shows a typical command to pass values during the deployment of the `spm` chart: + +```shell +helm install spm -f override-values.yaml +``` + +## Parameters + +The parameters documented in this guide and in the [SPM Configuration Reference](https://ibm.github.io/spm-kubernetes/deployment/config-reference/) +are referenced in a 'flat' manner to allow specifying which values to amend in a readable way. + +For example, the value `global.images.imageTag` refers to the following in an override values file: + +```yaml +global: + images: + imageTag: "latest" +``` + From d7f0ae276f40099b3d6813d513795c6933bb4d77 Mon Sep 17 00:00:00 2001 From: Gilles Devillard Date: Fri, 16 Jul 2021 14:54:55 +0100 Subject: [PATCH 3/4] Remove blank line --- src/pages/openshift/introduction.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/openshift/introduction.mdx b/src/pages/openshift/introduction.mdx index 7ea6bd0..49a5374 100644 --- a/src/pages/openshift/introduction.mdx +++ b/src/pages/openshift/introduction.mdx @@ -79,4 +79,3 @@ global: images: imageTag: "latest" ``` - From 3d259c07186c2751a3adf3ed4f8e71a83436a77a Mon Sep 17 00:00:00 2001 From: Gilles Devillard Date: Fri, 16 Jul 2021 15:00:45 +0100 Subject: [PATCH 4/4] Overwrite Switcher component --- .../components/Switcher/Switcher.js | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 src/gatsby-theme-carbon/components/Switcher/Switcher.js diff --git a/src/gatsby-theme-carbon/components/Switcher/Switcher.js b/src/gatsby-theme-carbon/components/Switcher/Switcher.js new file mode 100644 index 0000000..2756ced --- /dev/null +++ b/src/gatsby-theme-carbon/components/Switcher/Switcher.js @@ -0,0 +1,141 @@ +import React, { + useContext, + useRef, + useLayoutEffect, + useEffect, + useState, +} from 'react'; +import cx from 'classnames'; +import useMedia from 'use-media'; +import { Locked16 } from '@carbon/icons-react'; +import NavContext from 'gatsby-theme-carbon/src/util/context/NavContext'; +import { nav, open, divider, link, linkDisabled } from 'gatsby-theme-carbon/src/components/Switcher/Switcher.module.scss'; + +const Switcher = ({ children }) => { + const lgBreakpoint = useMedia('min-width: 1056px'); + const { switcherIsOpen, toggleNavState } = useContext(NavContext); + const listRef = useRef(null); + const [height, setHeight] = useState(0); + + useEffect(() => { + const collapseOpenNavs = function (e) { + if (e.which === 27) { + toggleNavState('switcherIsOpen', 'close'); + } + }; + + document.addEventListener('keyup', collapseOpenNavs); + + return function cleanup() { + document.removeEventListener('keyup', collapseOpenNavs); + }; + }, [toggleNavState]); + + // calculate and update height + useLayoutEffect(() => { + if (switcherIsOpen) { + setHeight(listRef.current.offsetHeight + 40); + } else { + setHeight(0); + } + }, [listRef, switcherIsOpen]); + + const maxHeight = !lgBreakpoint && switcherIsOpen ? '100%' : `${height}px`; + + return ( + + ); +}; + +export const SwitcherDivider = (props) => ( +
  • + +
  • +); + +export const SwitcherLink = ({ + disabled, + children, + isInternal, + href: hrefProp, + ...rest +}) => { + const href = disabled || !hrefProp ? undefined : hrefProp; + const className = disabled ? linkDisabled : link; + const { switcherIsOpen } = useContext(NavContext); + const openTabIndex = disabled ? '-1' : 0; + + return ( +
  • + + {children} + {isInternal && } + +
  • + ); +}; + +// https://css-tricks.com/using-css-transitions-auto-dimensions/ +// Note: if you change this, update the max-height in the switcher stylesheet +const DefaultChildren = () => ( + <> + Foundations + + IBM Brand Center + + + IBM Design Language + + Implementation + + Carbon Design System + + + Carbon for IBM.com + + + IBM Event Design + + Practices + + Enterprise Design Thinking + + + IBM Accessibility + + + IBM Design for AI + + + IBM Design Research + + + IBM iX + + Community + + IBM Design + + + Racial Equity in Design + + +); + +Switcher.defaultProps = { + children: , +}; + +export default Switcher;