Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

CORTX-28885: Remove yq binary from project #240

Merged
merged 1 commit into from
May 12, 2022
Merged

CORTX-28885: Remove yq binary from project #240

merged 1 commit into from
May 12, 2022

Conversation

keithpine
Copy link
Contributor

@keithpine keithpine commented May 12, 2022

Description

This changes removes the bundled yq command line utility from the Git repository. Users are now expected to install a minimum version of the software themselves. Version 4.25.1.

One problem with the bundled yq is that it was specific to the Linux amd64 platform. This means the deployment scripts could not be run on MacOS or Linux arm installations.

Another problem is that Git does not support binaries well. Updating the version of yq increases the project sizes dramatically.

Breaking change

⚠️⚠️⚠️

Deploying with the deploy-cortx-cloud.sh script will now fail if yq is not installed (and is not accessible from $PATH).

The minimum version of yq is 4.25.1 (currently the latest). A version lower than that will produce an error causing the deployment to fail. Be sure to upgrade to this version.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds new functionality)
  • Breaking change (bug fix or new feature that breaks existing functionality)
  • Third-party dependency update
  • Documentation additions or improvements
  • Code quality improvements to existing code or test additions/updates

Applicable issues

  • This change fixes an issue: CORTX-28885
  • This change is related to an issue: CORTX-30141

With CORTX-30141 we'll be relying more on the native capabilities of yq to parse the solution YAML file. See #239 for example.

How was this tested?

Deployed, un-deployed, started, and stopped a cluster. Ran utility scripts.

Tested error conditions with invalid version and missing yq.

Additional information

I actually reduced dependency on most scripts of yq, except for deploy, for now. I'd expect we'll want to actually take advantage of yq (since it's already required) and just remove the custom yaml parsing.

Completely removed the yaml parsing scripts, as any use of them has been removed, or some were already unused.

I updated the README.md file to mention yq as a requirement. I took the liberty of re-organizing the pre-reqs section.

Fixed some markdown lint warnings along the way.

Checklist

  • The change is tested and works locally.
  • New or changed settings in the solution YAML are documented clearly in the README.md file.
  • All commits are signed off and are in agreement with the CORTX Community DCO and CLA policy.

If this change addresses a CORTX Jira issue:

  • The title of the PR starts with the issue ID (e.g. CORTX-XXXXX:)

View rendered README.md

Users are now expected to ensure `yq` is installed. This means CORTX on
Kubernetes deployment scripts can be run on more platforms.

Signed-off-by: Keith Pine <[email protected]>
@cla-bot cla-bot bot added the cla-signed label May 12, 2022
@keithpine keithpine marked this pull request as ready for review May 12, 2022 23:15
@keithpine keithpine requested a review from a team as a code owner May 12, 2022 23:15
@keithpine keithpine added the breaking-change Issues related to items containing breaking changes label May 12, 2022
Copy link
Contributor

@osowski osowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. We'll want to get @shailesh-vaidya a heads up on this change, as well as hit it with some of @walterlopatka regression test scripts, but that should all be good from what I can see.

@keithpine keithpine merged commit b6118a4 into Seagate:integration May 12, 2022
@keithpine keithpine deleted the CORTX-28885_remove-yq branch May 12, 2022 23:38
@keithpine keithpine added this to the v0.6.0 milestone Jun 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
breaking-change Issues related to items containing breaking changes cla-signed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants