diff --git a/api/v1beta1/solrcloud_types.go b/api/v1beta1/solrcloud_types.go index 0a689a20..18930268 100644 --- a/api/v1beta1/solrcloud_types.go +++ b/api/v1beta1/solrcloud_types.go @@ -37,7 +37,7 @@ const ( DefaultSolrReplicas = int32(3) DefaultSolrRepo = "library/solr" - DefaultSolrVersion = "8.11" + DefaultSolrVersion = "9.10.0" DefaultSolrJavaMem = "-Xms1g -Xmx2g" DefaultSolrOpts = "" DefaultSolrLogLevel = "INFO" diff --git a/dev-docs/e2e-testing.md b/dev-docs/e2e-testing.md index 42a31dfc..7360fc2f 100644 --- a/dev-docs/e2e-testing.md +++ b/dev-docs/e2e-testing.md @@ -47,7 +47,7 @@ $ make e2e-tests TEST_SEED=89724023 SOLR_IMAGE=apache/solr-nightly:10.0.0-SNAPSH The default parallelism is `3`. - **SOLR_IMAGE** - The solr docker image label to use in the integration tests. It is recommended to use only supported versions for the Solr Operator version being tested. - Default is `solr:8.11`. + Default is `solr:9.10.0`. - **KUBERETES_VERSION** - A full Kubernetes version, starting with `v`, to use when creating the KinD Cluster. To find a list of all possible versions, check the [KinD Node Docker tags](https://hub.docker.com/r/kindest/node/tags). Default is `v1.26.6`. diff --git a/docs/local_tutorial.md b/docs/local_tutorial.md index 9bb80853..ba1743d1 100644 --- a/docs/local_tutorial.md +++ b/docs/local_tutorial.md @@ -122,9 +122,9 @@ After inspecting the status of you Kube cluster, you should see a deployment for To start a Solr Cloud cluster, we will create a yaml that will tell the Solr Operator what version of Solr Cloud to run, and how many nodes, with how much memory etc. ```bash -# Create a 3-node cluster v8.11 with 300m Heap each: +# Create a 3-node cluster v9.10.0 with 300m Heap each: helm install example-solr apache-solr/solr --version 0.10.0-prerelease \ - --set image.tag=8.11 \ + --set image.tag=9.10.0 \ --set solrOptions.javaMemory="-Xms300m -Xmx300m" \ --set addressability.external.method=Ingress \ --set addressability.external.domainName="ing.local.domain" \ @@ -207,13 +207,13 @@ By default, the helm chart does not set the `replicas` field, so it is safe to u So we wish to upgrade to a newer Solr version: ```bash -# Take note of the current version, which is 8.11.2 +# Take note of the current version curl -s http://default-example-solrcloud.ing.local.domain/solr/admin/info/system | grep solr-i # Update the solrCloud configuration with the new version, keeping all previous settings and the number of nodes set by the autoscaler. helm upgrade example-solr apache-solr/solr --version 0.10.0-prerelease \ --reuse-values \ - --set image.tag=8.7 + --set image.tag=9.10.0 # Click the 'Show all details" button in Admin UI and start hitting the "Refresh" button # See how the operator upgrades one pod at a time. Solr version is in the 'node' column diff --git a/example/test_solrcloud.yaml b/example/test_solrcloud.yaml index 04c7499d..6e348ccf 100644 --- a/example/test_solrcloud.yaml +++ b/example/test_solrcloud.yaml @@ -28,7 +28,7 @@ spec: storage: "5Gi" replicas: 3 solrImage: - tag: "8.11" + tag: "9.10.0" solrJavaMem: "-Xms1g -Xmx3g" solrModules: - jaegertracer-configurator diff --git a/example/test_solrcloud_backuprepos.yaml b/example/test_solrcloud_backuprepos.yaml index 8cb2004e..0213abf9 100644 --- a/example/test_solrcloud_backuprepos.yaml +++ b/example/test_solrcloud_backuprepos.yaml @@ -20,7 +20,7 @@ metadata: spec: replicas: 1 solrImage: - tag: "8.11" + tag: "9.10.0" backupRepositories: # "Volume" repositories store backup data in a Kubernetes volume. - name: "volume_repository_1" diff --git a/example/test_solrcloud_private_repo.yaml b/example/test_solrcloud_private_repo.yaml index fd8d5f98..73ef1cdd 100644 --- a/example/test_solrcloud_private_repo.yaml +++ b/example/test_solrcloud_private_repo.yaml @@ -21,5 +21,5 @@ spec: replicas: 3 solrImage: repository: myprivate-repo.jfrog.io/solr - tag: "8.11" + tag: "9.10.0" imagePullSecret: "k8s-docker-registry-secret" diff --git a/example/test_solrcloud_toleration_example.yaml b/example/test_solrcloud_toleration_example.yaml index 68b322fa..fb4fe6f1 100644 --- a/example/test_solrcloud_toleration_example.yaml +++ b/example/test_solrcloud_toleration_example.yaml @@ -20,7 +20,7 @@ metadata: spec: replicas: 1 solrImage: - tag: "8.11" + tag: "9.10.0" customSolrKubeOptions: podOptions: nodeSelector: diff --git a/example/test_solrprometheusexporter.yaml b/example/test_solrprometheusexporter.yaml index fa64926b..69adc8b3 100644 --- a/example/test_solrprometheusexporter.yaml +++ b/example/test_solrprometheusexporter.yaml @@ -23,4 +23,4 @@ spec: name: "example" numThreads: 4 image: - tag: "8.11" + tag: "9.10.0" diff --git a/hack/release/smoke_test/test_cluster.sh b/hack/release/smoke_test/test_cluster.sh index 27b3aa12..b99e7227 100755 --- a/hack/release/smoke_test/test_cluster.sh +++ b/hack/release/smoke_test/test_cluster.sh @@ -33,7 +33,7 @@ Test the release candidate in a Kind cluster -i Solr Operator docker image to use (Optional, defaults to apache/solr-operator:) -g GPG Key (fingerprint) used to sign the artifacts (Optional, if not provided then the helm chart will not be verified) -k Kubernetes Version to test with (full tag, e.g. v1.26.6) (Optional, defaults to a compatible version) - -t Full solr image, or image tag (for the official Solr image), to test with (e.g. apache/solr-nightly:9.0.0, 8.11). (Optional, defaults to a compatible version) + -t Full solr image, or image tag (for the official Solr image), to test with (e.g. apache/solr-nightly:9.0.0, 9.10.0). (Optional, defaults to a compatible version) EOF } @@ -77,7 +77,7 @@ if [[ -z "${KUBERNETES_VERSION:-}" ]]; then KUBERNETES_VERSION="v1.26.6" fi if [[ -z "${SOLR_IMAGE:-}" ]]; then - SOLR_IMAGE="${SOLR_VERSION:-8.11}" + SOLR_IMAGE="${SOLR_VERSION:-9.10.0}" fi if [[ "${SOLR_IMAGE}" != *":"* ]]; then SOLR_IMAGE="solr:${SOLR_IMAGE}" diff --git a/helm/solr-operator/Chart.yaml b/helm/solr-operator/Chart.yaml index ddbd8128..1e174e17 100644 --- a/helm/solr-operator/Chart.yaml +++ b/helm/solr-operator/Chart.yaml @@ -114,7 +114,7 @@ annotations: storage: "20Gi" replicas: 3 solrImage: - tag: 8.11 + tag: 9.10.0 solrJavaMem: "-Xms4g -Xmx4g" customSolrKubeOptions: podOptions: @@ -155,7 +155,7 @@ annotations: name: "example" numThreads: 4 image: - tag: 8.11 + tag: 9.10.0 - apiVersion: solr.apache.org/v1beta1 kind: SolrBackup metadata: diff --git a/helm/solr/Chart.yaml b/helm/solr/Chart.yaml index 96f31c28..66e0251b 100644 --- a/helm/solr/Chart.yaml +++ b/helm/solr/Chart.yaml @@ -16,7 +16,7 @@ apiVersion: v2 name: solr description: A SolrCloud cluster running on Kubernetes via the Solr Operator version: 0.10.0-prerelease -appVersion: 8.11.1 +appVersion: 9.10.0 kubeVersion: ">= 1.22.0-0" home: https://solr.apache.org sources: @@ -65,7 +65,7 @@ annotations: url: https://solr.apache.org/operator/resources#tutorials artifacthub.io/images: | - name: solr - image: solr:8.11 + image: solr:9.10.0 whitelisted: true artifacthub.io/signKey: | fingerprint: diff --git a/helm/solr/README.md b/helm/solr/README.md index 5a94b80f..a2c29c93 100644 --- a/helm/solr/README.md +++ b/helm/solr/README.md @@ -36,7 +36,7 @@ There may be breaking changes between the version you are using and the version To install a SolrCloud for the first time in your cluster, you can use the latest version or a specific version, run with the following commands: ```bash -helm install example apache-solr/solr --version 0.10.0-prerelease --set image.tag=8.11 +helm install example apache-solr/solr --version 0.10.0-prerelease --set image.tag=9.10.0 ``` The command deploys a SolrCloud object on the Kubernetes cluster with the default configuration. @@ -50,7 +50,7 @@ _Note that the Helm chart version does not contain a `v` prefix, which the Solr If you are upgrading your SolrCloud deployment, you should always use a specific version of the chart and upgrade **after [upgrading the Solr Operator](https://artifacthub.io/packages/helm/apache-solr/solr-operator#upgrading-the-solr-operator) to the same version**: ```bash -helm upgrade example apache-solr/solr --version 0.10.0-prerelease --reuse-values --set image.tag=8.11 +helm upgrade example apache-solr/solr --version 0.10.0-prerelease --reuse-values --set image.tag=9.10.0 ``` The upgrade will be done according to the `upgradeStrategy.method` chosen in the values. @@ -76,19 +76,19 @@ Descriptions on how to use these options can be found in the [SolrCloud document ### Running Solr -| Key | Type | Default | Description | -|-----|------|---------|-------------| +| Key | Type | Default | Description | +|-----|------|-------------------|-------------| | fullnameOverride | string | `""` | A custom name for the Solr Operator Deployment | | nameOverride | string | `""` | | | replicas | int | `3` | The number of Solr pods to run in the Solr Cloud. If you want to use autoScaling, do not set this field. | | image.repository | string | `"solr"` | The repository of the Solr image | -| image.tag | string | `"8.11"` | The tag/version of Solr to run | -| image.pullPolicy | string | | PullPolicy for the Solr image, defaults to the empty Pod behavior | -| image.imagePullSecret | string | | PullSecret for the Solr image | +| image.tag | string | `"9.10.0"` | The tag/version of Solr to run | +| image.pullPolicy | string | | PullPolicy for the Solr image, defaults to the empty Pod behavior | +| image.imagePullSecret | string | | PullSecret for the Solr image | | busyBoxImage.repository | string | `"busybox"` | The repository of the BusyBox image | | busyBoxImage.tag | string | `"1.28.0-glibc"` | The tag/version of BusyBox to run | -| busyBoxImage.pullPolicy | string | | PullPolicy for the BusyBox image, defaults to the empty Pod behavior | -| busyBoxImage.imagePullSecret | string | | PullSecret for the BusyBox image | +| busyBoxImage.pullPolicy | string | | PullPolicy for the BusyBox image, defaults to the empty Pod behavior | +| busyBoxImage.imagePullSecret | string | | PullSecret for the BusyBox image | | solrOptions.javaMemory | string | `"-Xms1g -Xmx2g"` | Java memory parameters | | solrOptions.javaOpts | string | `""` | Additional java arguments to pass via the command line. ZooKeeper-connection related properties should be reserved for `solrOptions.zkJavaOpts` (see below). | | solrOptions.zkJavaOpts | string | `""` | Additional java arguments required to connect to ZooKeeper to pass via the command line | @@ -104,11 +104,11 @@ Descriptions on how to use these options can be found in the [SolrCloud document | updateStrategy.method | string | `"Managed"` | The method for conducting updates of Solr pods. Either `Managed`, `StatefulSet` or `Manual`. See the [docs](https://apache.github.io/solr-operator/docs/solr-cloud/solr-cloud-crd.html#update-strategy) for more information | | updateStrategy.managedUpdate.maxPodsUnavailable | int-or-string | `"25%"` | The number of Solr pods in a Solr Cloud that are allowed to be unavailable during the rolling restart. Either a static number, or a percentage representing the percentage of total pods requested for the statefulSet. | | updateStrategy.managedUpdate.maxShardReplicasUnavailable | int-or-string | `1` | The number of replicas for each shard allowed to be unavailable during the restart. Either a static number, or a percentage representing the percentage of the number of replicas for a shard. | -| updateStrategy.restartSchedule | [string (CRON)](https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format) | | A CRON schedule for automatically restarting the Solr Cloud. [Refer here](https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format) for all possible CRON syntaxes accepted. | +| updateStrategy.restartSchedule | [string (CRON)](https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format) | | A CRON schedule for automatically restarting the Solr Cloud. [Refer here](https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format) for all possible CRON syntaxes accepted. | | availability.podDisruptionBudget.enabled | boolean | `true` | Create [PodDisruptionBudget(s)](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) to ensure the availability of SolrNodes. | | availability.podDisruptionBudget.method | string | `"ClusterWide"` | The method by which PodDisruptionBudgets should be created. The only option currently is `ClusterWide`. | | serviceAccount.create | boolean | `false` | Create a serviceAccount to be used for all pods being deployed (Solr & ZK). If `serviceAccount.name` is not specified, the full name of the deployment will be used. | -| serviceAccount.name | string | | The optional default service account used for Solr and ZK unless overridden below. If `serviceAccount.create` is set to `false`, this serviceAccount must exist in the target namespace. | +| serviceAccount.name | string | | The optional default service account used for Solr and ZK unless overridden below. If `serviceAccount.create` is set to `false`, this serviceAccount must exist in the target namespace. | | backupRepositories | []object | | A list of BackupRepositories to connect your SolrCloud to. Visit the [SolrBackup docs](https://apache.github.io/solr-operator/docs/solr-backup) or run `kubectl explain solrcloud.spec.backupRepositories` to see the available options. | | scaling.vacatePodsOnScaleDown | boolean | `true` | While scaling down the SolrCloud, move replicas off of Solr Pods before they are deleted. This only affects pods that will not exist after the scaleDown operation. | | scaling.populatePodsOnScaleUp | boolean | `true` | While scaling up the SolrCloud, migrate replicas onto the new Solr Pods after they are created. This uses the Balance Replicas API in Solr that is only available in Solr 9.3+. This option will be ignored if using an unsupported version of Solr. | diff --git a/tests/e2e/suite_test.go b/tests/e2e/suite_test.go index c7464430..1ac10f8d 100644 --- a/tests/e2e/suite_test.go +++ b/tests/e2e/suite_test.go @@ -76,7 +76,7 @@ var ( logger logr.Logger defaultOperatorImage = "apache/solr-operator:" + version.FullVersion() - defaultSolrImage = "solr:8.11" + defaultSolrImage = "solr:9.10.0" operatorImage = getEnvWithDefault(operatorImageEnv, defaultOperatorImage) solrImage = getEnvWithDefault(solrImageEnv, defaultSolrImage) diff --git a/tests/scripts/manage_e2e_tests.sh b/tests/scripts/manage_e2e_tests.sh index 2da32c46..09a0c773 100755 --- a/tests/scripts/manage_e2e_tests.sh +++ b/tests/scripts/manage_e2e_tests.sh @@ -35,7 +35,7 @@ Available actions are: run-tests, create-cluster, destroy-cluster, kubeconfig -h Display this help and exit -i Solr Operator docker image to use (Optional, defaults to apache/solr-operator:) -k Kubernetes Version to test with (full tag, e.g. v1.24.16) (Optional, defaults to a compatible version) - -s Full solr image, or image tag (for the official Solr image), to test with (e.g. apache/solr-nightly:9.4.0, 8.11). (Optional, defaults to a compatible version) + -s Full solr image, or image tag (for the official Solr image), to test with (e.g. apache/solr-nightly:9.4.0, 9.10.0). (Optional, defaults to a compatible version) -a Load additional local images into the test Kubernetes cluster. Provide option multiple times for multiple images. (Optional) EOF } @@ -76,7 +76,7 @@ if [[ -z "${KUBERNETES_VERSION:-}" ]]; then KUBERNETES_VERSION="v1.26.6" fi if [[ -z "${SOLR_IMAGE:-}" ]]; then - SOLR_IMAGE="${SOLR_VERSION:-9.8.1}" + SOLR_IMAGE="${SOLR_VERSION:-9.10.0}" fi if [[ "${SOLR_IMAGE}" != *":"* ]]; then SOLR_IMAGE="solr:${SOLR_IMAGE}"