Skip to content

Commit

Permalink
Promote Develop to main for Splunk Operator Release 2.5.1 (#1286)
Browse files Browse the repository at this point in the history
* cspl-2505: add Pod Security standard to restricted (#1266)

* add Pod Security standard to restricted

* helm chart changes

Signed-off-by: vivekr-splunk <[email protected]>

* helm chart packages for 2.5

* removed secret

---------

Signed-off-by: vivekr-splunk <[email protected]>

* level2: Support for Level-2 Upgrade Strategy in Splunk Operator  (#1262)

* CSPL-2094, 2342: Upgrade Strategy for LM and CM (#1181)

* Added changeAnnotation method

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed uninstall kuttl test

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Added branch in int-tests

* Completed code coverage tests

* Added upgradeScenario and related methods for CM

* Added label selectors to get Current Image

* Changed pod.Spec to pod.Status

* Added changeAnnotations for MC

* Added kuttl test cases

* Fixed unit test

* Fixed SmartStore unit test

* Added code coverage test

* using fake client instead of mock

* removed creating statefulset and service

* Corrected LMCurrentImage method

* Completed Coverage tests for CM

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Completed code coverage tests

* Resolved all conflict issues

* Added comments

* Updated upgradeScenario to check if statefulSet exists

* Fixed Unit tests

* Added common APIs, changed upgrade condition

* Added only warning if annotation not found

* Add warning

* Updated upgradeCondition

* updated changeAnnotation to work with no ref

* Fixed unit tests

* Handled not found error

* Removed blank lines; handled errors in changeAnnotation

* Only call changeAnnotation if LM is ready

* Removed redundant checks

* Return if CM list is empty

* removed superfluous nil err check

* Removed branch from workflow

---------

Co-authored-by: vivekr-splunk <[email protected]>

* CSPL-2343: Upgrade Strategy for MC (#1194)

* Added changeAnnotation method

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed uninstall kuttl test

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Added branch in int-tests

* Completed code coverage tests

* Added upgradeScenario and related methods for CM

* Added label selectors to get Current Image

* Changed pod.Spec to pod.Status

* Added changeAnnotations for MC

* Added kuttl test cases

* Fixed unit test

* Fixed SmartStore unit test

* Added code coverage test

* using fake client instead of mock

* removed creating statefulset and service

* Corrected LMCurrentImage method

* Completed Coverage tests for CM

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Completed code coverage tests

* Resolved all conflict issues

* Added comments

* Updated upgradeScenario to check if statefulSet exists

* Fixed Unit tests

* Added common APIs, changed upgrade condition

* Added only warning if annotation not found

* Add warning

* Updated upgradeCondition

* updated changeAnnotation to work with no ref

* Fixed unit tests

* Handled not found error

* Added MC functions

* Removed blank lines; handled errors in changeAnnotation

* Only call changeAnnotation if LM is ready

* Removed redundant checks

* Return if CM list is empty

* removed superfluous nil err check

* Removed branch from workflow

* Added branch to workflow

* Fixed comment

* Fixed unit test

* Improved comment for the upgrade condition

* Removed branch from workflow

---------

Co-authored-by: vivekr-splunk <[email protected]>

* Level-2: Single state machine for Level-2 support (#1216)

* Added SHC functions

* Check error in change annotation

* Added Single Site IDX functions

* Added functional test case

* Removed Change annotation; Added TODO

* Added documentation

* Added multisite func

* Added branch to workflow

* Commiting

* Added specific test

* Changed image

* Added cm ref

* Removed cm ref

* Only CM and LM

* Added image output

* Added mc change image

* Added shc change image

* Fixed shc name

* Added idxc

* Check this

* Test with only CM, SHC, IDX

* Test with only CM, IDX

* Test with only LM, CM, SHC, IDX

* Test only with CM, MC, SHC, IDX

* Addd cm ref to CM,MC,SHC,IDX

* All the instances

* Test with LM,CM,MC

* Check without cm ref

* Cm Ref + LM,CM,MC,SHC

* CM ref + LM,CM,MC,IDX

* Testing all with no idx update code

* Fixed commit

* All + only single site

* With everything

* Fixed mgr client

* Final

* one stop for all the upgrade scenarios

Signed-off-by: vivekr-splunk <[email protected]>

* added upgradepath to clustermanager

Signed-off-by: vivekr-splunk <[email protected]>

* added upgradepath to all CR

Signed-off-by: vivekr-splunk <[email protected]>

* Made changes in upgrade checks

* somemore changes to fix test case for upgrade scenario

Signed-off-by: vivekr-splunk <[email protected]>

* ignore tel app install in unit test

Signed-off-by: vivekr-splunk <[email protected]>

* intermittent, changes

Signed-off-by: vivekr-splunk <[email protected]>

* fixed searchhead cluster,mc, lm, cm

Signed-off-by: vivekr-splunk <[email protected]>

* fixed test case

Signed-off-by: vivekr-splunk <[email protected]>

* working test code for upgrade

Signed-off-by: vivekr-splunk <[email protected]>

* unit test cases fixed

Signed-off-by: vivekr-splunk <[email protected]>

* added comments to the new code

Signed-off-by: vivekr-splunk <[email protected]>

* fixed some test cases

Signed-off-by: vivekr-splunk <[email protected]>

* fixed some test cases

Signed-off-by: vivekr-splunk <[email protected]>

* formatting changes

Signed-off-by: vivekr-splunk <[email protected]>

* addressed review comments

Signed-off-by: vivekr-splunk <[email protected]>

* changing go to 1.21

Signed-off-by: vivekr-splunk <[email protected]>

* changing go to 1.21

Signed-off-by: vivekr-splunk <[email protected]>

* changing go to 1.21

Signed-off-by: vivekr-splunk <[email protected]>

* adding this branch for int test pipeline

Signed-off-by: vivekr-splunk <[email protected]>

* test case fix - adding extra timeout

* test case fix - adding extra timeout

* changed splunk version to 9.1.2

* changed order in the test case for level-2 support

* changing timeout to so test can pass

Signed-off-by: vivekr-splunk <[email protected]>

* changed order first search and then index

Signed-off-by: vivekr-splunk <[email protected]>

* adding back kind name in controller

* adding more timeout

Signed-off-by: vivekr-splunk <[email protected]>

* increasing to 10 min

Signed-off-by: vivekr-splunk <[email protected]>

* increasing overall test run to 6 hours

Signed-off-by: vivekr-splunk <[email protected]>

* doc changes

Signed-off-by: vivekr-splunk <[email protected]>

* just run m4 tests

Signed-off-by: vivekr-splunk <[email protected]>

* just run c3 test

Signed-off-by: vivekr-splunk <[email protected]>

* enabled all the test

Signed-off-by: vivekr-splunk <[email protected]>

* fixed go libraries

* increasing time to 7h for test

* adding helm test

* removed unused functions

* adding comment

---------

Signed-off-by: vivekr-splunk <[email protected]>
Signed-off-by: vivekr-splunk <[email protected]>
Co-authored-by: Tanya Garg <[email protected]>

* fixed test case

* fixed helm test cases

* fixed helm test case

Signed-off-by: vivekr-splunk <[email protected]>

* adding gp2 to helm test

Signed-off-by: vivekr-splunk <[email protected]>

* fixed topologyspread constraint test case

---------

Signed-off-by: vivekr-splunk <[email protected]>
Signed-off-by: vivekr-splunk <[email protected]>
Co-authored-by: tgarg-splunk <[email protected]>
Co-authored-by: Tanya Garg <[email protected]>

* helm test case fix (#1270)

* fixed c3 test case

* adding helm test

* fixed c3 with operator test case

Signed-off-by: vivekr-splunk <[email protected]>

---------

Signed-off-by: vivekr-splunk <[email protected]>

* Splunk Operator 2.5.0 release (#1271)

* [create-pull-request] automated change

* adding helm 2.5.0 packages

* cleanup workflows

* adding env changes

* adding bundle changes

* adding bundle changes

* changing eks version to 1.27

* changing splunk version to 9.1.2

* updated changelog

* updated changelog

---------

Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>

* removed unused files (#1276)

* merging from main to develop after release (#1280)

* Promote Develop to main for Splunk Operator Release 2.5.0 (#1273)

* cspl-2505: add Pod Security standard to restricted (#1266)

* add Pod Security standard to restricted

* helm chart changes

Signed-off-by: vivekr-splunk <[email protected]>

* helm chart packages for 2.5

* removed secret

---------

Signed-off-by: vivekr-splunk <[email protected]>

* level2: Support for Level-2 Upgrade Strategy in Splunk Operator  (#1262)

* CSPL-2094, 2342: Upgrade Strategy for LM and CM (#1181)

* Added changeAnnotation method

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed uninstall kuttl test

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Added branch in int-tests

* Completed code coverage tests

* Added upgradeScenario and related methods for CM

* Added label selectors to get Current Image

* Changed pod.Spec to pod.Status

* Added changeAnnotations for MC

* Added kuttl test cases

* Fixed unit test

* Fixed SmartStore unit test

* Added code coverage test

* using fake client instead of mock

* removed creating statefulset and service

* Corrected LMCurrentImage method

* Completed Coverage tests for CM

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Completed code coverage tests

* Resolved all conflict issues

* Added comments

* Updated upgradeScenario to check if statefulSet exists

* Fixed Unit tests

* Added common APIs, changed upgrade condition

* Added only warning if annotation not found

* Add warning

* Updated upgradeCondition

* updated changeAnnotation to work with no ref

* Fixed unit tests

* Handled not found error

* Removed blank lines; handled errors in changeAnnotation

* Only call changeAnnotation if LM is ready

* Removed redundant checks

* Return if CM list is empty

* removed superfluous nil err check

* Removed branch from workflow

---------

Co-authored-by: vivekr-splunk <[email protected]>

* CSPL-2343: Upgrade Strategy for MC (#1194)

* Added changeAnnotation method

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed uninstall kuttl test

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Added branch in int-tests

* Completed code coverage tests

* Added upgradeScenario and related methods for CM

* Added label selectors to get Current Image

* Changed pod.Spec to pod.Status

* Added changeAnnotations for MC

* Added kuttl test cases

* Fixed unit test

* Fixed SmartStore unit test

* Added code coverage test

* using fake client instead of mock

* removed creating statefulset and service

* Corrected LMCurrentImage method

* Completed Coverage tests for CM

* Refined changeClusterManagerAnnotations

* test case for upgrade scenario

* Modified kuttl cases

* Added kuttl tests; Updated LicenseMaster

* Fixed unit test

* Removed changeAnnotation from licenseMaster

* Completed code coverage tests

* Resolved all conflict issues

* Added comments

* Updated upgradeScenario to check if statefulSet exists

* Fixed Unit tests

* Added common APIs, changed upgrade condition

* Added only warning if annotation not found

* Add warning

* Updated upgradeCondition

* updated changeAnnotation to work with no ref

* Fixed unit tests

* Handled not found error

* Added MC functions

* Removed blank lines; handled errors in changeAnnotation

* Only call changeAnnotation if LM is ready

* Removed redundant checks

* Return if CM list is empty

* removed superfluous nil err check

* Removed branch from workflow

* Added branch to workflow

* Fixed comment

* Fixed unit test

* Improved comment for the upgrade condition

* Removed branch from workflow

---------

Co-authored-by: vivekr-splunk <[email protected]>

* Level-2: Single state machine for Level-2 support (#1216)

* Added SHC functions

* Check error in change annotation

* Added Single Site IDX functions

* Added functional test case

* Removed Change annotation; Added TODO

* Added documentation

* Added multisite func

* Added branch to workflow

* Commiting

* Added specific test

* Changed image

* Added cm ref

* Removed cm ref

* Only CM and LM

* Added image output

* Added mc change image

* Added shc change image

* Fixed shc name

* Added idxc

* Check this

* Test with only CM, SHC, IDX

* Test with only CM, IDX

* Test with only LM, CM, SHC, IDX

* Test only with CM, MC, SHC, IDX

* Addd cm ref to CM,MC,SHC,IDX

* All the instances

* Test with LM,CM,MC

* Check without cm ref

* Cm Ref + LM,CM,MC,SHC

* CM ref + LM,CM,MC,IDX

* Testing all with no idx update code

* Fixed commit

* All + only single site

* With everything

* Fixed mgr client

* Final

* one stop for all the upgrade scenarios

Signed-off-by: vivekr-splunk <[email protected]>

* added upgradepath to clustermanager

Signed-off-by: vivekr-splunk <[email protected]>

* added upgradepath to all CR

Signed-off-by: vivekr-splunk <[email protected]>

* Made changes in upgrade checks

* somemore changes to fix test case for upgrade scenario

Signed-off-by: vivekr-splunk <[email protected]>

* ignore tel app install in unit test

Signed-off-by: vivekr-splunk <[email protected]>

* intermittent, changes

Signed-off-by: vivekr-splunk <[email protected]>

* fixed searchhead cluster,mc, lm, cm

Signed-off-by: vivekr-splunk <[email protected]>

* fixed test case

Signed-off-by: vivekr-splunk <[email protected]>

* working test code for upgrade

Signed-off-by: vivekr-splunk <[email protected]>

* unit test cases fixed

Signed-off-by: vivekr-splunk <[email protected]>

* added comments to the new code

Signed-off-by: vivekr-splunk <[email protected]>

* fixed some test cases

Signed-off-by: vivekr-splunk <[email protected]>

* fixed some test cases

Signed-off-by: vivekr-splunk <[email protected]>

* formatting changes

Signed-off-by: vivekr-splunk <[email protected]>

* addressed review comments

Signed-off-by: vivekr-splunk <[email protected]>

* changing go to 1.21

Signed-off-by: vivekr-splunk <[email protected]>

* changing go to 1.21

Signed-off-by: vivekr-splunk <[email protected]>

* changing go to 1.21

Signed-off-by: vivekr-splunk <[email protected]>

* adding this branch for int test pipeline

Signed-off-by: vivekr-splunk <[email protected]>

* test case fix - adding extra timeout

* test case fix - adding extra timeout

* changed splunk version to 9.1.2

* changed order in the test case for level-2 support

* changing timeout to so test can pass

Signed-off-by: vivekr-splunk <[email protected]>

* changed order first search and then index

Signed-off-by: vivekr-splunk <[email protected]>

* adding back kind name in controller

* adding more timeout

Signed-off-by: vivekr-splunk <[email protected]>

* increasing to 10 min

Signed-off-by: vivekr-splunk <[email protected]>

* increasing overall test run to 6 hours

Signed-off-by: vivekr-splunk <[email protected]>

* doc changes

Signed-off-by: vivekr-splunk <[email protected]>

* just run m4 tests

Signed-off-by: vivekr-splunk <[email protected]>

* just run c3 test

Signed-off-by: vivekr-splunk <[email protected]>

* enabled all the test

Signed-off-by: vivekr-splunk <[email protected]>

* fixed go libraries

* increasing time to 7h for test

* adding helm test

* removed unused functions

* adding comment

---------

Signed-off-by: vivekr-splunk <[email protected]>
Signed-off-by: vivekr-splunk <[email protected]>
Co-authored-by: Tanya Garg <[email protected]>

* fixed test case

* fixed helm test cases

* fixed helm test case

Signed-off-by: vivekr-splunk <[email protected]>

* adding gp2 to helm test

Signed-off-by: vivekr-splunk <[email protected]>

* fixed topologyspread constraint test case

---------

Signed-off-by: vivekr-splunk <[email protected]>
Signed-off-by: vivekr-splunk <[email protected]>
Co-authored-by: tgarg-splunk <[email protected]>
Co-authored-by: Tanya Garg <[email protected]>

* helm test case fix (#1270)

* fixed c3 test case

* adding helm test

* fixed c3 with operator test case

Signed-off-by: vivekr-splunk <[email protected]>

---------

Signed-off-by: vivekr-splunk <[email protected]>

* Splunk Operator 2.5.0 release (#1271)

* [create-pull-request] automated change

* adding helm 2.5.0 packages

* cleanup workflows

* adding env changes

* adding bundle changes

* adding bundle changes

* changing eks version to 1.27

* changing splunk version to 9.1.2

* updated changelog

* updated changelog

---------

Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>

* setting splunk verion to 9.1.3

* removing unwanted file

* removed unused files (#1276)

* Update helm-test-workflow.yml

---------

Signed-off-by: vivekr-splunk <[email protected]>
Signed-off-by: vivekr-splunk <[email protected]>
Co-authored-by: gaurav-splunk <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: tgarg-splunk <[email protected]>
Co-authored-by: Tanya Garg <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>

* change log date fixed (#1277)

* Add documentation for WLM support (#1278)

---------

Signed-off-by: vivekr-splunk <[email protected]>
Signed-off-by: vivekr-splunk <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gaurav-splunk <[email protected]>
Co-authored-by: tgarg-splunk <[email protected]>
Co-authored-by: Tanya Garg <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: Arjun Kondur <[email protected]>

* cspl-2532: fix for leader election lost issue (#1281)

* fix for leader election lost issue

* runs nigtly once a week

* helm chart packages for 2.5.1 (#1282)

* Splunk Operator 2.5.1 release (#1283)

* [create-pull-request] automated change

* fixed change log

* fixed change log

---------

Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>

* fixed release date

* fixed helm changes

* fixed doc changes

---------

Signed-off-by: vivekr-splunk <[email protected]>
Signed-off-by: vivekr-splunk <[email protected]>
Co-authored-by: gaurav-splunk <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: tgarg-splunk <[email protected]>
Co-authored-by: Tanya Garg <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: vivekr-splunk <[email protected]>
Co-authored-by: Arjun Kondur <[email protected]>
  • Loading branch information
8 people authored Feb 21, 2024
1 parent 546f9da commit 751148c
Show file tree
Hide file tree
Showing 19 changed files with 160 additions and 79 deletions.
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ KUBECTL_VERSION=v1.29.1
AZ_CLI_VERSION=2.30.0
EKSCTL_VERSION=v0.143.0
EKS_CLUSTER_K8_VERSION=1.27
SPLUNK_ENTERPRISE_RELEASE_IMAGE=splunk/splunk:9.1.3
SPLUNK_ENTERPRISE_RELEASE_IMAGE=splunk/splunk:9.1.3
1 change: 1 addition & 0 deletions .github/workflows/helm-test-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
branches:
- develop
- main
- feature**
jobs:
build-operator-image:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly-int-test-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Nightly Integration Test WorkFlow
on:
schedule:
- cron: "0 06 * * *"
- cron: "0 06 * * 0"
jobs:
build-operator-image:
runs-on: ubuntu-latest
Expand Down
10 changes: 5 additions & 5 deletions bundle/manifests/splunk-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ metadata:
capabilities: Seamless Upgrades
categories: Big Data, Logging & Tracing, Monitoring, Security, AI/Machine Learning
containerImage: splunk/splunk-operator@sha256:c4e0d314622699496f675760aad314520d050a66627fdf33e1e21fa28ca85d50
createdAt: "2024-01-22T21:05:16Z"
createdAt: "2024-02-20T18:45:06Z"
description: The Splunk Operator for Kubernetes enables you to quickly and easily
deploy Splunk Enterprise on your choice of private or public cloud provider.
The Operator simplifies scaling and management of Splunk Enterprise by automating
Expand All @@ -120,7 +120,7 @@ metadata:
operators.operatorframework.io/builder: operator-sdk-v1.31.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
repository: https://github.com/splunk/splunk-operator
name: splunk-operator.v2.2.1
name: splunk-operator.v2.5.1
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -815,7 +815,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.name
image: docker.io/splunk/splunk-operator:2.5.0
image: docker.io/splunk/splunk-operator:2.5.1
imagePullPolicy: Always
livenessProbe:
httpGet:
Expand Down Expand Up @@ -929,5 +929,5 @@ spec:
relatedImages:
- image: docker.io/splunk/splunk:9.1.3
name: splunk-enterprise
replaces: splunk-operator.v2.2.0
version: 2.2.1
replaces: splunk-operator.v2.5.0
version: 2.5.1
2 changes: 1 addition & 1 deletion config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ kind: Kustomization
images:
- name: controller
newName: docker.io/splunk/splunk-operator
newTag: 2.5.0
newTag: 2.5.1
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ metadata:
administrative workflows using Kubernetes best practices.
olm.properties: '[{"type": "olm.maxOpenShiftVersion", "value": "4.9"}]'
repository: https://github.com/splunk/splunk-operator
name: splunk-operator.v2.2.1
name: splunk-operator.v2.5.1
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -274,5 +274,5 @@ spec:
provider:
name: Splunk Inc.
url: www.splunk.com
replaces: splunk-operator.v2.2.0
version: 2.2.1
replaces: splunk-operator.v2.5.0
version: 2.5.1
66 changes: 33 additions & 33 deletions docs/AppFramework.md

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions docs/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Splunk Operator for Kubernetes Change Log

## 2.5.1 (2024-02-20)

CSPL-2532: fix for leader election lost issue (#1281)

### Supported Splunk Version
>| Splunk Version|
>| --- |
>| 9.0.8 |
>| 9.1.3 |
### Supported Kubernetes Version
>| Kubernetes Version|
>| --- |
>| 1.25+ |

## 2.5.0 (2024-02-05)

CSPL-2155: Support for Level-2 Upgrade Strategy in Splunk Operator
Expand Down
8 changes: 4 additions & 4 deletions docs/Install.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
If you want to customize the installation of the Splunk Operator, download a copy of the installation YAML locally, and open it in your favorite editor.

```
wget -O splunk-operator-cluster.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.0/splunk-operator-cluster.yaml
wget -O splunk-operator-cluster.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.1/splunk-operator-cluster.yaml
```

## Default Installation
Expand All @@ -17,7 +17,7 @@ Based on the file used Splunk Operator can be installed cluster-wide or namespac
By installing `splunk-operator-cluster.yaml` Operator will watch all the namespaces of your cluster for splunk enterprise custom resources

```
wget -O splunk-operator-cluster.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.0/splunk-operator-cluster.yaml
wget -O splunk-operator-cluster.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.1/splunk-operator-cluster.yaml
kubectl apply -f splunk-operator-cluster.yaml
```

Expand All @@ -44,10 +44,10 @@ If Splunk Operator is installed clusterwide and user wants to manage multiple na

## Install operator to watch single namespace with restrictive permission

In order to install operator with restrictive permission to watch only single namespace use [splunk-operator-namespace.yaml](https://github.com/splunk/splunk-operator/releases/download/2.5.0/splunk-operator-namespace.yaml). This will create Role and Role-Binding to only watch single namespace. By default operator will be installed in `splunk-operator` namespace, user can edit the file to change the namespace
In order to install operator with restrictive permission to watch only single namespace use [splunk-operator-namespace.yaml](https://github.com/splunk/splunk-operator/releases/download/2.5.1/splunk-operator-namespace.yaml). This will create Role and Role-Binding to only watch single namespace. By default operator will be installed in `splunk-operator` namespace, user can edit the file to change the namespace

```
wget -O splunk-operator-namespace.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.0/splunk-operator-namespace.yaml
wget -O splunk-operator-namespace.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.1/splunk-operator-namespace.yaml
kubectl apply -f splunk-operator-namespace.yaml
```

Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,12 @@ For production environments, we are requiring the use of Splunk SmartStore. As a

A Kubernetes cluster administrator can install and start the Splunk Operator for specific namespace by running:
```
kubectl apply -f https://github.com/splunk/splunk-operator/releases/download/2.5.0/splunk-operator-namespace.yaml --server-side --force-conflicts
kubectl apply -f https://github.com/splunk/splunk-operator/releases/download/2.5.1/splunk-operator-namespace.yaml --server-side --force-conflicts
```

A Kubernetes cluster administrator can install and start the Splunk Operator for cluster-wide by running:
```
kubectl apply -f https://github.com/splunk/splunk-operator/releases/download/2.5.0/splunk-operator-cluster.yaml --server-side --force-conflicts
kubectl apply -f https://github.com/splunk/splunk-operator/releases/download/2.5.1/splunk-operator-cluster.yaml --server-side --force-conflicts
```

The [Advanced Installation Instructions](Install.md) page offers guidance for advanced configurations, including the use of private image registries, installation at cluster scope, and installing the Splunk Operator as a user who is not a Kubernetes administrator. Users of Red Hat OpenShift should review the [Red Hat OpenShift](OpenShift.md) page.
Expand Down
22 changes: 14 additions & 8 deletions docs/SplunkOperatorUpgrade.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# How to upgrade Splunk Operator and Splunk Enterprise Deployments

To upgrade the Splunk Operator for Kubernetes, you will overwrite the prior Operator release with the latest version. Once the lastest version of `splunk-operator-namespace.yaml` ([see below](#upgrading-splunk-operator-and-splunk-operator-deployment)) is applied the CRD's are updated and Operator deployment is updated with newer version of Splunk Operator image. Any new spec defined by the operator will be applied to the pods managed by Splunk Operator for Kubernetes.
To upgrade the Splunk Operator for Kubernetes, you will overwrite the prior Operator release with the latest version. Once the lastest version of `splunk-operator-namespace.yaml` ([see below](#upgrading-splunk-operator-and-splunk-operator-deployment)) is applied the CRD's are updated and Operator deployment is updated with newer version of Splunk Operator image. Any new spec defined by the operator will be applied to the pods managed by Splunk Operator for Kubernetes.
A Splunk Operator for Kubernetes upgrade might include support for a later version of the Splunk Enterprise Docker image. In that scenario, after the Splunk Operator completes its upgrade, the pods managed by Splunk Operator for Kubernetes will be restarted using the latest Splunk Enterprise Docker image.
Expand All @@ -11,6 +12,7 @@ A Splunk Operator for Kubernetes upgrade might include support for a later versi
* Before you upgrade, review the Splunk Operator [change log](https://github.com/splunk/splunk-operator/releases) page for information on changes made in the latest release. The Splunk Enterprise Docker image compatibility is noted in each release version.
* If the Splunk Enterprise Docker image changes, review the Splunk Enterprise [Upgrade Readme](https://docs.splunk.com/Documentation/Splunk/latest/Installation/AboutupgradingREADTHISFIRST) page before upgrading.
* If the Splunk Enterprise Docker image changes, review the Splunk Enterprise [Upgrade Readme](https://docs.splunk.com/Documentation/Splunk/latest/Installation/AboutupgradingREADTHISFIRST) page before upgrading.
* For general information about Splunk Enterprise compatibility and the upgrade process, see [How to upgrade Splunk Enterprise](https://docs.splunk.com/Documentation/Splunk/latest/Installation/HowtoupgradeSplunk).
Expand All @@ -25,7 +27,7 @@ A Splunk Operator for Kubernetes upgrade might include support for a later versi
1. Download the latest Splunk Operator installation yaml file.
```
wget -O splunk-operator-namespace.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.0/splunk-operator-namespace.yaml
wget -O splunk-operator-namespace.yaml https://github.com/splunk/splunk-operator/releases/download/2.5.1/splunk-operator-namespace.yaml
```
2. (Optional) Review the file and update it with your specific customizations used during your install.
Expand All @@ -48,8 +50,9 @@ If a Splunk Operator release changes the custom resource (CRD) API version, the

### Upgrading Splunk Enterprise Docker Image with the Operator Upgrade

Splunk Operator follows the upgrade path steps mentioned in [Splunk documentation](https://docs.splunk.com/Documentation/Splunk/9.1.2/Installation/HowtoupgradeSplunk). If a Splunk Operator release includes an updated Splunk Enterprise Docker image, the operator upgrade will also initiate pod restart using the latest Splunk Enterprise Docker image. To follow the best practices described under the [General Process to Upgrade the Splunk Enterprise], a recommeded upgrade path is followed while initiating pod restarts of different Splunk Instances. At each step, if a particular CR instance exists, a certain flow is imposed to ensure that each instance is updated in the correct order. After an instance is upgraded, the Operator verifies if the upgrade was successful and all the components are working as expected. If any unexpected behaviour is detected, the process is terminated.
Splunk Operator follows the upgrade path steps mentioned in [Splunk documentation](https://docs.splunk.com/Documentation/Splunk/9.1.3/Installation/HowtoupgradeSplunk). If a Splunk Operator release includes an updated Splunk Enterprise Docker image, the operator upgrade will also initiate pod restart using the latest Splunk Enterprise Docker image. To follow the best practices described under the [General Process to Upgrade the Splunk Enterprise], a recommeded upgrade path is followed while initiating pod restarts of different Splunk Instances. At each step, if a particular CR instance exists, a certain flow is imposed to ensure that each instance is updated in the correct order. After an instance is upgraded, the Operator verifies if the upgrade was successful and all the components are working as expected. If any unexpected behaviour is detected, the process is terminated.

If a Splunk Operator release changes the custom resource (CRD) API version, the administrator is responsible for updating their Custom Resource specification to reference the latest CRD API version.

## Steps to Upgrade from 1.0.5 or older version to latest

Expand Down Expand Up @@ -145,11 +148,14 @@ imagePullPolicy: IfNotPresent

This is an example of the process followed by the Splunk Operator if the operator version is upgraded and a later Splunk Enterprise Docker image is available:
1. A new Splunk Operator pod will be created, and the existing operator pod will be terminated.
3. Any existing License Manager, Standalone, Monitoring console, Cluster manager, Search Head, ClusterManager, Indexer pods will be terminated to be redeployed with the upgraded spec.
4. Splunk Operator follows the upgrade path steps mentioned in Splunk documentation. The termination and redeployment of the pods happen in a particular order based on a recommended upgrade path.
5. After a ClusterManager pod is restarted, the Indexer Cluster pods which are connected to it are terminated and redeployed.
6. After all pods in the Indexer cluster and Search head cluster are redeployed, the Monitoring Console pod is terminated and redeployed.
7. Each pod upgrade is verified to ensure the process was successful and everything is working as expected.

1. Initiation of a new Splunk Operator pod will lead to the termination of the existing operator pod.
2. All existing License Manager, Standalone, Monitoring Console, Cluster Manager, Search Head, ClusterManager, and Indexer pods will undergo termination for subsequent redeployment with upgraded specifications.
3. The Splunk Operator adheres to the upgrade path steps delineated in the Splunk documentation. Pod termination and redeployment occur in a specific order based on the recommended upgrade path.
4. Standalone or License manager will be the first to be redeployed
5. Next ClusterManager pod will be redeployed, next the Monitoring Console pod undergoes termination and redeployment.
6. Subsequently, the Search Head cluster pods connected to it are terminated and redeployed.
7. Afterwards, all pods in the Indexer cluster are redeployed sequentially. In cases where multi-zone Indexer clusters are utilized, they undergo redeployment zone by zone.
8. Each pod upgrade is meticulously verified to ensure a successful process, with thorough checks conducted to confirm that everything is functioning as expected.

* Note: If there are multiple pods per Custom Resource, the pods are terminated and re-deployed in a descending order with the highest numbered pod going first
61 changes: 48 additions & 13 deletions docs/index.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,29 @@
apiVersion: v1
entries:
splunk-enterprise:
- apiVersion: v2
appVersion: 2.5.1
created: "2024-02-20T10:52:46.032948-08:00"
dependencies:
- condition: splunk-operator.enabled
name: splunk-operator
repository: file://splunk-operator/helm-chart/splunk-operator
version: 2.5.1
description: A Helm chart for Splunk Enterprise managed by the Splunk Operator
digest: 089e62bd7c5054b29f6c7cf6a9e72c4b3731debe90fe02ee3fc1eb10c5d2f455
maintainers:
- email: [email protected]
name: Vivek Reddy
- email: [email protected]
name: Arjun Kondur
name: splunk-enterprise
type: application
urls:
- https://splunk.github.io/splunk-operator/splunk-enterprise-2.5.1.tgz
version: 2.5.1
- apiVersion: v2
appVersion: 2.5.0
created: "2024-01-22T12:51:00.460454-08:00"
created: "2024-02-20T10:52:45.982924-08:00"
dependencies:
- condition: splunk-operator.enabled
name: splunk-operator
Expand All @@ -23,7 +43,7 @@ entries:
version: 2.5.0
- apiVersion: v2
appVersion: 2.4.0
created: "2024-01-22T12:51:00.419046-08:00"
created: "2024-02-20T10:52:45.941086-08:00"
dependencies:
- condition: splunk-operator.enabled
name: splunk-operator
Expand All @@ -45,7 +65,7 @@ entries:
version: 2.4.0
- apiVersion: v2
appVersion: 2.3.0
created: "2024-01-22T12:51:00.387561-08:00"
created: "2024-02-20T10:52:45.912109-08:00"
dependencies:
- condition: splunk-operator.enabled
name: splunk-operator
Expand All @@ -67,7 +87,7 @@ entries:
version: 2.3.0
- apiVersion: v2
appVersion: 2.2.1
created: "2024-01-22T12:51:00.373328-08:00"
created: "2024-02-20T10:52:45.896417-08:00"
dependencies:
- condition: splunk-operator.enabled
name: splunk-operator
Expand All @@ -82,7 +102,7 @@ entries:
version: 2.2.1
- apiVersion: v2
appVersion: 2.2.0
created: "2024-01-22T12:51:00.357163-08:00"
created: "2024-02-20T10:52:45.881394-08:00"
dependencies:
- condition: splunk-operator.enabled
name: splunk-operator
Expand All @@ -97,7 +117,7 @@ entries:
version: 2.2.0
- apiVersion: v2
appVersion: 2.1.0
created: "2024-01-22T12:51:00.330725-08:00"
created: "2024-02-20T10:52:45.8558-08:00"
dependencies:
- condition: splunk-operator.enabled
name: splunk-operator
Expand All @@ -111,9 +131,24 @@ entries:
- https://splunk.github.io/splunk-operator/splunk-enterprise-1.0.0.tgz
version: 1.0.0
splunk-operator:
- apiVersion: v2
appVersion: 2.5.1
created: "2024-02-20T10:52:46.127737-08:00"
description: A Helm chart for the Splunk Operator for Kubernetes
digest: 5c90889e175bbfc79cbb7f83bf213de43a46c4d688574d04ff82aa16dcd8681a
maintainers:
- email: [email protected]
name: Vivek Reddy
- email: [email protected]
name: Arjun Kondur
name: splunk-operator
type: application
urls:
- https://splunk.github.io/splunk-operator/splunk-operator-2.5.1.tgz
version: 2.5.1
- apiVersion: v2
appVersion: 2.5.0
created: "2024-01-22T12:51:00.541778-08:00"
created: "2024-02-20T10:52:46.116065-08:00"
description: A Helm chart for the Splunk Operator for Kubernetes
digest: ed93f8fac421f92cfdbfd043ec27911a07ec7db2c05b4efc3137cef4f2bfca4a
maintainers:
Expand All @@ -128,7 +163,7 @@ entries:
version: 2.5.0
- apiVersion: v2
appVersion: 2.4.0
created: "2024-01-22T12:51:00.527611-08:00"
created: "2024-02-20T10:52:46.101936-08:00"
description: A Helm chart for the Splunk Operator for Kubernetes
digest: 9d0377747e46df4bf4b9dbd447c9ff46c926bfe2c66fd07d6d27a61abb31cb42
maintainers:
Expand All @@ -145,7 +180,7 @@ entries:
version: 2.4.0
- apiVersion: v2
appVersion: 2.3.0
created: "2024-01-22T12:51:00.513743-08:00"
created: "2024-02-20T10:52:46.088599-08:00"
description: A Helm chart for the Splunk Operator for Kubernetes
digest: 23e70ec4059bc92920d7d3adce3bff6b8aba0d5eb5d4c0efe225bf3b88d5b274
maintainers:
Expand All @@ -162,7 +197,7 @@ entries:
version: 2.3.0
- apiVersion: v2
appVersion: 2.2.1
created: "2024-01-22T12:51:00.500321-08:00"
created: "2024-02-20T10:52:46.070858-08:00"
description: A Helm chart for the Splunk Operator for Kubernetes
digest: 8868b9ae2ebde0c667b13c97d71d904a31b5a9f2c803b199bc77324f1727e1fd
name: splunk-operator
Expand All @@ -172,7 +207,7 @@ entries:
version: 2.2.1
- apiVersion: v2
appVersion: 2.2.0
created: "2024-01-22T12:51:00.487851-08:00"
created: "2024-02-20T10:52:46.056944-08:00"
description: A Helm chart for the Splunk Operator for Kubernetes
digest: 49c72276bd7ff93465b0545d8b0814f684cade7d2cd191b6d73d4c3660bd1fb4
name: splunk-operator
Expand All @@ -182,12 +217,12 @@ entries:
version: 2.2.0
- apiVersion: v2
appVersion: 2.1.0
created: "2024-01-22T12:51:00.473934-08:00"
created: "2024-02-20T10:52:46.044805-08:00"
description: A Helm chart for the Splunk Operator for Kubernetes
digest: 34e5463f8f5442655d05cb616b50391b738a0827b30d8440b4c7fce99a291d9a
name: splunk-operator
type: application
urls:
- https://splunk.github.io/splunk-operator/splunk-operator-1.0.0.tgz
version: 1.0.0
generated: "2024-01-22T12:51:00.315345-08:00"
generated: "2024-02-20T10:52:45.840335-08:00"
Binary file added docs/splunk-enterprise-2.5.1.tgz
Binary file not shown.
Binary file added docs/splunk-operator-2.5.1.tgz
Binary file not shown.
Loading

0 comments on commit 751148c

Please sign in to comment.