Releases: Seagate/cortx-k8s
CORTX K8s Release v0.13.0
The latest released code v0.13.0 from CORTX K8s is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
ghcr.io/seagate/cortx-data:2.0.0-950
ghcr.io/seagate/cortx-rgw:2.0.0-950
ghcr.io/seagate/cortx-control:2.0.0-950
Changes in v0.13.0:
- Improvement to logging utilities
- Improve options for logs-cortx-cloud.sh (CORTX-34174)
- New utility: get-logs-from-pvc.sh, to get contents from a PVC when the associated pod is not running (CORTX-34141)
- Updates to status-cortx-cloud.sh
- Fix regression in data-only deployment (CORTX-34189)
- Fix issue when nodes are tainted with NoSchedule (CORTX-34284)
- New tool get-logs-from-pvc.sh to get contents of PVC when a Pod is offline (CORTX-32645)
- Remove all deprecated code (CORTX-34139)
Removal of deprecated items notice: In this release (v0.13.0), all previously deprecated items have been removed removed.
-
Uninstallation of deprecated items is no longer performed in destroy-cortx-cloud.sh. All of these items are either installed by the unified CORTX Chart, or are not used at all. To avoid any potential issues during uninstallation, first uninstall your cluster with the v0.12.0 script version before upgrading to v0.13.0, or manually clean up any leftover resources.
- This includes:
- Client Helm releases
- HA Helm release
- Server Helm releases
- Data Helm releases
- Control Helm release
- Platform Helm release
- CORTX-Configmap Helm release
- machine-id and SSL certificate ConfigMap resources
- The
cortx-data-blk-data-${namespace}
Helm release (this is replaced by a release namedcortx-block-data
) - OpenLDAP Helm release
- Consul Helm release
- Kafka Helm release
- ZooKeeper Helm release
- The
cortx-io-svc
Service (this is replaced by a Service namedcortx-server-0
)
- This includes:
-
Deprecated services will be no longer be installed in new deployments. If you rely on these service names you must transition to the new names. You can see the list of deprecated services installed in your cluster by running the command
kubectl -n $NAMESPACE get all -l cortx.io/deprecated=true
.- The
cortx-loadbal-svc
Service has been replaced bycortx-control
. - The
cortx-io-svc-0
Service has been replaced bycortx-server-0
.
- The
-
The
status-cortx-cloud.sh
script has a filter for deprecated services. This filter will no longer be used. If any deprecated services still exist, the script will report a problem.
What's Changed
- Bump VERSION to v0.13.0_dev by @walterlopatka in #371
- CORTX-34141: Add -d option to get-logs-from-pvc.sh by @walterlopatka in #374
- CORTX-34174: Improve options to logs-cortx-cloud.sh by @walterlopatka in #373
- CORTX-34189 Fix status-cortx-cloud.sh regression (data-only deploy) by @walterlopatka in #377
- Updated GLOSSARY page with redirect to seagate/cortx by @osowski in #378
- CORTX-34139: Remove all deprecated code by @keithpine in #379
- Let Helm manage dependent Chart install by @keithpine in #329
- Bump CORTX version to 950 by @walterlopatka in #381
- CORTX-34284: Do not count cortx-consul-client pods in status check by @walterlopatka in #380
- V0.13.0 merge by @walterlopatka in #384
Full Changelog: v0.12.0...v0.13.0
CORTX K8s Release v0.12.0
The latest released code v0.12.0 from CORTX K8s is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
ghcr.io/seagate/cortx-data:2.0.0-933
ghcr.io/seagate/cortx-rgw:2.0.0-933
ghcr.io/seagate/cortx-control:2.0.0-933
Changes in v0.12.0:
- Support external SSL secret (CORTX-33018, see documentation)
- New tool get-logs-from-pvc.sh to get contents of PVC when a Pod is offline (CORTX-32645)
- Improve logs-contrx-cloud.sh error handing (CORTX-33534)
- Add check for CORTX already deployed in deploy script (CORTX-31017)
- Updates to the glossary
Removal of deprecated items notice: In the next release (v0.13.0), all deprecated items will be removed.
-
Uninstallation of deprecated items is no longer performed in destroy-cortx-cloud.sh. All of these items are either installed by the unified CORTX Chart, or are not used at all. To avoid any potential issues during uninstallation, first uninstall your cluster with the v0.12.0 script version before upgrading to v0.13.0, or manually clean up any leftover resources.
- This includes:
- Client Helm releases
- HA Helm release
- Server Helm releases
- Data Helm releases
- Control Helm release
- Platform Helm release
- CORTX-Configmap Helm release
- machine-id and SSL certificate ConfigMap resources
- The
cortx-data-blk-data-${namespace}
Helm release (this is replaced by a release namedcortx-block-data
) - OpenLDAP Helm release
- Consul Helm release
- Kafka Helm release
- ZooKeeper Helm release
- The
cortx-io-svc
Service (this is replaced by a Service namedcortx-server-0
)
- This includes:
-
Deprecated services will be no longer be installed in new deployments. If you rely on these service names you must transition to the new names. You can see the list of deprecated services installed in your cluster by running the command
kubectl -n $NAMESPACE get all -l cortx.io/deprecated=true
.The `cortx-loadbal-svc` Service has been replaced by `cortx-control`. The `cortx-io-svc-0` Service has been replaced by `cortx-server-0`.
-
The
status-cortx-cloud.sh
script has a filter for deprecated services. This filter will no longer be used. If any deprecated services still exist, the script will report a problem.
What's Changed
- Bump VERSION to v0.11.0_dev by @walterlopatka in #354
- CORTX-32209 - Manual PV use case by @osowski in #351
- CORTX-33054: Use Consul as Confstore for CORTX components by @keithpine in #333
- Bump CORTX version to 920 by @keithpine in #359
- CORTX-33018: Support external ssl secret by @walterlopatka in #362
- CORTX-32645: New script: get-logs-from-pvc.sh by @walterlopatka in #361
- CORTX-34043: operator prototype glossary updates by @osowski in #363
- Fix spelling by @keithpine in #364
- CORTX-32834 - glossary updates to reflect template change by @osowski in #365
- CORTX-33283 - glossary updates for Operator FS by @osowski in #366
- CORTX-33534: Improve logs-cortx-cloud.sh error handling. by @walterlopatka in #367
- CORTX-31017: Add check for cortx already deployed by @walterlopatka in #368
- V0.12.0 branch by @walterlopatka in #370
Full Changelog: v0.11.0...v0.12.0
CORTX K8s Release v0.11.0
The latest released code v0.11.0 from CORTX K8s is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
ghcr.io/seagate/cortx-data:2.0.0-902
ghcr.io/seagate/cortx-rgw:2.0.0-902
ghcr.io/seagate/cortx-control:2.0.0-902
Critical change: F-87N: CORTX-K8s: Consul Support for GCONF (CORTX-33054)
- This change brings the cortx-k8s contribution to the “Consul Support for GCONF” project.
- This does not introduce any interface changes – all changes are related to internal config changes
- This requires CORTX version 2.0.0-902 or later.
Other documentation update included:
- Advanced Configuration: Support User-defined Persistent Volumes (CORTX-32209)
- Link to doc
Full Changelog: v0.10.0...v0.11.0
CORTX K8s Release v0.10.0
The latest released code v0.10.0 from CORTX Services is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
ghcr.io/seagate/cortx-data:2.0.0-895
ghcr.io/seagate/cortx-rgw:2.0.0-895
ghcr.io/seagate/cortx-control:2.0.0-895
Key changes:
- F-26C: Highly Available cortx-control pods:
- In Helm chart, specify control.replicaCount to create multiple cortx-control pods. (Default is 1 replica, which is no change from previous.)
- This change also allows failed cortx-control pods to be replaced on any node (not bound to a single node)
- See the description of CORTX-32842 for detailed instructions.
- CORTX-33135: Verbose K8s logging for cortx-control containers
- By specifying global.cortx.setupLoggingDetail = “all” (or “component”) in values.yaml, all lines logged to various log files internal to the container are sent to stdout so that they are readily accessible via kubectl logs.
- (More fine-grained logging options are also available. See github README for details.)
- CORTX-33749: Workaround for conntrack table issues
- One source of IO stability has the symptom of “connection resets” on stressful workloads.
- Saurabh identified the problem earlier. This fix implements the solution as part of prereq-deploy-cortx-cloud.sh plus accompanying documentation.
- (Technically this is not a CORTX/K8s issue, but is a configuration that must be present in the environment.)
- CORTX-27411: Add global image options
- In Helm chart, allow general image pull policy, registration, and tag to be specified in a single, global location (rather than repeated with each image)
What's Changed
- Merge main to integration, update VERSION to v0.10.0.dev by @walterlopatka in #337
- CORTX-32842: Replace PVC with EmptyDir for cortx-control deployment by @walterlopatka in #338
- Silence some script warnings by @keithpine in #340
- CORTX-32842: Support multiple cortx-control pods by @walterlopatka in #339
- Bump CORTX version to 879 by @keithpine in #342
- Validate Chart schema by @keithpine in #343
- CORTX-32842: Remove unused Control persistence settings by @keithpine in #345
- CORTX-27411: Add global image options by @keithpine in #344
- CORTX-33749 - Workaround for conntrack table issues by @osowski in #347
- CORTX-33135: cortx-setup logging enhancements by @keithpine in #348
- Added Documentation for Metadata disk size limitation. by @JugalPatil in #341
- CORTX-33142 - FS glossary updates by @osowski in #349
- Bump CORTX version to 886 by @keithpine in #350
- V0.10.0 branch by @walterlopatka in #353
Full Changelog: v0.9.0...v0.10.0
v0.9.0
The latest released code v0.9.0 from CORTX Services is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
ghcr.io/seagate/cortx-data:2.0.0-871
ghcr.io/seagate/cortx-rgw:2.0.0-871
ghcr.io/seagate/cortx-control:2.0.0-871
This is a major release that includes multiple data pods per node and refactored Helm charts. Note that the solution.example.yaml format has changes that are not compatible with previous versions.
Key changes:
- F-87I: Multiple data pods per node: With multiple CVGs defined in the storage section, multiple cortx-data pods will be created (see below or cortx-k8s/README.md for details)
- F-87J: Helm Chart Refactor: Though changes in solution.yaml are minor, the Helm charts that implement CORTX deploy have undergone a major refactoring. The most significant effect from a user perspective is that all K8s resources are created at once and then transition to ready dependencies are resolved. Besides a significant reduction in deploy complexity, this also allows CORTX to deploy faster.
Other changes:
- CORTX-32355: Increase Consul default resources
- CORTX-33050: Add support for Motr log devices (not yet supported in motr)
- CORTX-33598: Updated max namespace length to 20 characters
- CORTX-31831: Probes to avoid initial Kafka restarts
- CORTX-29838: Fix containerPort off-by-one
- number of cortx-server pods is configurable via the solution.common.s3.instances_per_node setting. (default=1)
Key Changes in solution.yaml file
The primary change is the structure of the storage_sets section:
- “nodes” now specifies a simple list of worker nodes to deploy cortx on
- “storage” is a list of CVGs.
- CVGs will be deployed across multiple pods, as determined by the number of CVGs and the “container_group_size” setting. If container_group_size is 1, then each CVG is deployed as a separate cortx-data StatefulSet / Pod.
- Format of metadata and data sections is slightly different. See solution.example.yaml.
- The “storage_sets” section is now formatted as a list, even though CORTX at this time supports only a single storage set.
What's Changed
- CORTX-30142: Merge cortx-control Chart into cortx Chart by @keithpine in #252
- temporarily disable Consul serviceaccount patching by @keithpine in #256
- simplify deploy/un-deploy cleanup by @keithpine in #255
- CORTX-30684: change retain policy to Delete for local-path storage by @keithpine in #260
- CORTX-30145: Merge cortx-ha Chart into cortx Chart by @keithpine in #261
- CORTX-28340: Update cortx-k8s to use new cortx-data/-control images by @walterlopatka in #262
- Tested and added name to tested by section by @hessio in #257
- CORTX-30473: add support bundle filters to logs-cortx-cloud.sh by @rohit-k-dwivedi in #259
- CORTX-32041: configure HAX http endpoint correctly by @keithpine in #270
- Bump CORTX images to build 803 by @walterlopatka in #271
- CORTX-28968: Server Pod scale out & StatefulSet conversion by @osowski in #280
- Bump VERSION to v0.8.0.dev0 by @keithpine in #273
- CORTX-32010: improve deployment wait and timeout handling by @keithpine in #268
- Add PR checklist items for image updates by @keithpine in #281
- Bump CORTX version to 817 by @keithpine in #283
- CORTX-30143: Merge cortx-server Chart into cortx Chart by @keithpine in #282
- CORTX-29859: Migrate Data Pods to be managed by a StatefulSet by @osowski in #286
- CORTX-30144: Merge cortx-data Chart into cortx Chart by @keithpine in #288
- CORTX-29861: Refactor solution.yaml to support multiple data pods per node by @osowski in #289
- CORTX-32320: Update docs for upgrade to clarify how images are used by @walterlopatka in #292
- CORTX-32063: Parallelize support-bundle generation by @walterlopatka in #291
- CORTX-31536: Bump CORTX version to 835 by @keithpine in #293
- CORTX-30147: misc Chart-related cleanup by @keithpine in #290
- CORTX-30146: Client StatefulSet and unified Chart merge by @keithpine in #294
- CORTX-28584: Add missing common selector labels by @keithpine in #296
- CORTX-30147: Upgrade script should work with StatefulSets by @keithpine in #297
- CORTX-30147: Rename Control service by @keithpine in #299
- CORTX-30147: Simplify upgrade by using selector labels by @keithpine in #298
- Merge v0.8.0 to integration by @walterlopatka in #301
- Bump version to v0.9.0.dev by @walterlopatka in #303
- CORTX-29861: Multiple Data Pods per Node by @osowski in #302
- CORTX-32157: Remove CORTX version field from Chart by @keithpine in #306
- CORTX-32157: Remove support for custom container paths by @keithpine in #307
- CORTX-31831: Add 60s Zookeeper connect timeout to Kafka container by @walterlopatka in #310
- Bump CORTX version to 853 by @keithpine in #309
- CORTX-32157: Replace control/ha UUIDs with hostnames by @keithpine in #311
- CORTX-31831: Enable startup probe for Kafka containers by @walterlopatka in #312
- CORTX-32157: Remove deprecated PSP and disable stale NetworkPolicy by @keithpine in #313
- CORTX-33589: Update grep for local-path PVCs by @walterlopatka in #315
- CORTX-33590: Add --namespace for cortx-data sts in start-cortx-cloud.sh by @walterlopatka in #317
- CORTX-33591: Collect logs from cortx-client containers by @walterlopatka in #319
- CORTX-32355: Bump CORTX version to 859 by @keithpine in #320
- CORTX-32157: Refactor client Chart values by @keithpine in #314
- CORTX-32157: Refactor some Chart values by @keithpine in #318
- CORTX-33576: Update regression tests to support v0.9.0 by @walterlopatka in #316
- CORTX-33598 - Updated max namespace length to 20 chars by @osowski in #321
- Set default S3 server instance count to 1 by @keithpine in #323
- CORTX-32157: Refactor Control chart values by @keithpine in #322
- CORTX-31595 : Exclude CODE_OF_CONDUCT file from Alex Scan by @subhalaxmisa in #325
- CORTX-32157: Refactor Server chart values by @keithpine in #324
- CORTX-32157: Refactor HA chart values by @keithpine in #326
- CORTX-32157: Refactor Data chart values by @keithpine in #327
- CORTX-29540: Move deploy final message to Chart by @keithpine in #328
- CORTX-32355: Increase Consul default resources by @keithpine in #330
- CORTX-32157: Move block data chart into standard location by @keithpine in #332
- CORTX-33050: Add support for Motr log devices by @keithpine in #331
- Deploy with custom Chart values by @keithpine in #334
- CORTX-29838: Fix containerPort off-by-one regression by @keithpine in #335
- Merge v0.9.0 branch into main by @walterlopatka in #336
New Contributors
- @hessio made their first contribution in #257
- @rohit-k-dwivedi made their first contribution in #259
- @subhalaxmisa made their first contribution in #325
Full Changelog: v0.8.0...v0.9.0
v0.8.0
The latest released code v0.8.0 from CORTX Services is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
ghcr.io/seagate/cortx-data:2.0.0-837
ghcr.io/seagate/cortx-rgw:2.0.0-837
ghcr.io/seagate/cortx-control:2.0.0-837
This is a release with just a couple of minor changes:
- CORTX-32063 / CORTX-27442: Parallelize support_bundle creation so that all pods are done in parallel, significantly reducing support bundle creation, especially for large clusters.
- CORTX-32320: Documentation updates to clarify how to specify upgrade images
What's Changed
- CORTX-32063: Parallelize support-bundle generation (#291)
- CORTX-32320: Update docs for upgrade to clarify how images are used (#292)
Full Changelog: v0.7.0...v0.8.0
v0.7.0
The latest released code v0.7.0 from CORTX Services is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
ghcr.io/seagate/cortx-data:2.0.0-803
ghcr.io/seagate/cortx-rgw:2.0.0-803
ghcr.io/seagate/cortx-control:2.0.0-803
Kubernetes change you should be aware of: With this release the reclaim policy for local-path storage (Rancher) is changed from retain to Delete. This means that when a persistent volume is deleted (as it is by destroy-cortx-cloud.sh), the underlying directory that was created for the PV (e.g. /mnt/fs-local-volume/local-path-provisioner/pvc-xxxxx) is removed.
This means:
- You no longer have to worry about filling up your local disk space with old directories! Hooray!
- But as you transition to using this don’t forget:
- Manually delete the existing local-storage storage class (“kubectl delete sc local-path”). The next time you deploy a new local-storage storage class will be created, now with the “Delete” reclaim policy.
- Manually remove old directories from previous runs… these will not be retroactively removed
Key changes in this release:
- Support for granular cortx images (cortx-data/-control/-rgw). (CORTX-28340)
- Change retain policy from Retain to Delete for local-path storage. This is described in the note above. (CORTX-30684)
- Support bundle options added to log-cortx-cloud.sh. All support_bundle options are now available through logs-cortx-cloud.sh, and are passed through to /var/cortx/support_bundle. (CORTX-30473; thank you Rohit Dwivedi for your contribution!)
What's Changed
- Bump VERSION to v0.7.0
- Bump CORTX images to build 803 (#271)
- CORTX-32041: configure HAX http endpoint correctly (#270)
- CORTX-30473: add support bundle filters to logs-cortx-cloud.sh (#259)
- Tested and added name to tested by section (#257)
- CORTX-28340: Update cortx-k8s to use new cortx-data/-control images (#262)
- CORTX-30684: change retain policy to Delete for local-path storage (#260)
v0.6.0
The latest released code v0.6.0 from CORTX Services is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
- ghcr.io/seagate/cortx-all:2.0.0-775
- ghcr.io/seagate/cortx-rgw:2.0.0-775
Note: Starting with this release yq (min version v4.25.1) must be to be installed on the system and in the PATH prior to running any of the *-cortx-cloud.sh scripts. (Previously a copy of yq was included in the report, but this has now been removed.) Here are yq installation instructions.
Key changes in this release:
- Expose CPU & Memory limits through solution.yaml. CORTX-31350. This allows you to specify requests/limits for each container via solution.yaml. See PR#248 for details.
- Add NODE_NAME and POD_NAME to runtime env vars in each pod. This injecets the pods name and k8s worker node into container environment variables to support future changes to provisionwer work in initContainers. See PR#251.
- yq has been removed from the cortx-k8s repo. yq is a large binary executable, which does not belong in our git repo. CORTX-28885. As the documentation now states, yq is a prerequisite to running CORTX with this release.
Other changes are incremental work toward supporting a unified CORTX helm chart, which will be available in a future release.
What's Changed
- CORTX-30140: Kafka managed as cortx Helm Chart dependency by @keithpine in #233
- CORTX-30141: Remove CORTX secrets custom template file by @keithpine in #232
- CORTX-30140: Zookeeper managed as cortx Helm Chart dependency by @keithpine in #236
- CORTX-28885: Remove
yq
binary from project by @keithpine in #240 - CORTX-30785: Fixing the Alex bug by @mukul-seagate11 in #242
- CORTX-30141: Merge cortx-configmap Chart into cortx Chart by @keithpine in #239
- CORTX-31113: Use forked actions by @keithpine in #244
- CORTX-30141: Merge cortx-platform Chart into cortx Chart by @keithpine in #245
- CORTX-30142: Remove machine-id config maps by @keithpine in #249
- CORTX-31350: Expose Cpu & Memory limits for all CORTX Services by @osowski in #248
- Add default lintconf.yaml for chart testing by @keithpine in #250
- CORTX-31408: Add NODE_NAME and POD_NAME to runtime env vars in each Pod by @osowski in #251
- Mention required yq version by @keithpine in #253
- fix missing namespace during chart install by @keithpine in #254
Full Changelog: v0.5.0...v0.6.0
v0.5.0
The latest released code v0.5.0 from CORTX Services is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
- ghcr.io/seagate/cortx-all:2.0.0-756
- ghcr.io/seagate/cortx-rgw:2.0.0-756
Note: This release requires Kubernetes v1.22 or later.
Key change in this release:
- Allow adjustable timeouts in deploy-cortx-cloud.sh. CORTX-31239. This is a change that allows the test team to work around CORTX-29667. The timeouts for waiting for CORTX helm charts to install can now be overridden by environment variables. (See note here.)
This release also includes:
- Bug fix: CORTX-31043: Abort deploy script if the specified namespace has unsupported characters.
What's Changed
- CORTX-31043: Exit on helm failure by @walterlopatka in #225
- CORTX-30015: Specify python3 bin with "/usr/bin/env python3" by @walterlopatka in #226
- CORTX-30139: Add unified Helm chart stub by @keithpine in #220
- CORTX-31082: Address Codacy Issues by @walterlopatka in #228
- CORTX-31012: Include timestamp in Core dump filename. by @papan-singh in #224
- CORTX-31118: Remove custom Kafka settings by @keithpine in #231
- Bump CORTX images to build 744 by @keithpine in #229
- CORTX-30140: Consul managed as cortx Helm Chart dependency by @keithpine in #230
- CORTX-31239: Support variable timeout values in deploy-cortx-cloud.sh by @walterlopatka in #234
New Contributors
- @papan-singh made their first contribution in #224
Full Changelog: v0.4.0...v0.5.0
CORTX Services Release v0.4.0
The latest released code v0.4.0 from CORTX Services is available at https://github.com/Seagate/cortx-k8s on the main branch. This release has been verified with:
- ghcr.io/seagate/cortx-all:2.0.0-735
- ghcr.io/seagate/cortx-rgw:2.0.0-735
Key Changes
- Fix CORTX-20971: Sev 1 unable to deploy system due to helm chart change.
- The root cause of this is that the Consul Helm chart was updated. Since the CORTX deploy script pulls on the latest helm chart, there was a configuration incompatibility and deploy failed. The fix is to pin the helm chart version to a known, verified, working version rather than assuming “latest” will always work. (This issue is being considered as we refactor CORTX helm charts.)
- Fix CORTX-29869: Support specified namespace for cortx-client pods.
- Add rgw_s3 service for RGW component in cluster config file
What's Changed
- CORTX-30708: Fix shellcheck issues in parse scripts by @keithpine in #213
- CORTX-30708: Fix shellcheck issues in solution-validation.sh by @keithpine in #212
- CORTX-30781 Add regression test for default vs other namespace by @walterlopatka in #214
- CORTX-29723: remove mocking from cortx-client-pod init container by @tanujashinde0405 in #181
- CORTX-29807 Update README.md with granular data-only deployment by @zahidsk in #211
- CORTX-30943: Support specified namespace for cortx-client pods by @walterlopatka in #216
- CORTX-29869: Add rgw_s3 service for RGW component in cluster config file by @tanujashinde0405 in #200
- CORTX-30971: Pin helm chart release versions by @walterlopatka in #218
- CORTX-27408 - Updated kafka image version by @osowski in #219
Full Changelog: v0.3.0...v0.4.0