Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the Helm chart to use newer version of cass-operator chart #1081

Merged

Conversation

burmanm
Copy link
Contributor

@burmanm burmanm commented Oct 4, 2023

What this PR does:
Updates cass-operator chart to 0.44.0, which deploys datastax/dse-mgmtapi-6_8-ubi8.

Which issue(s) this PR fixes:
Fixes #1013

Checklist

  • Changes manually tested
  • Automated Tests added/updated
  • Documentation added/updated
  • CHANGELOG.md updated (not required for documentation PRs)
  • CLA Signed: DataStax CLA

@burmanm burmanm requested a review from a team as a code owner October 4, 2023 16:14
@codecov
Copy link

codecov bot commented Oct 4, 2023

Codecov Report

Merging #1081 (3d82014) into main (3bbdd74) will not change coverage.
Report is 9 commits behind head on main.
The diff coverage is n/a.

❗ Current head 3d82014 differs from pull request most recent head 9dcf2cd. Consider uploading reports for the commit 9dcf2cd to get more accurate results

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #1081   +/-   ##
=======================================
  Coverage   57.27%   57.27%           
=======================================
  Files         100      100           
  Lines       10162    10162           
=======================================
  Hits         5820     5820           
  Misses       3831     3831           
  Partials      511      511           

@sonarqubecloud
Copy link

sonarqubecloud bot commented Oct 9, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 6 Code Smells

No Coverage information No Coverage information
5.8% 5.8% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

@Miles-Garnsey
Copy link
Member

Miles-Garnsey commented Oct 10, 2023

I've been trying to test this using some instructions Michael suggested. Unfortunately, I can't seem to get the chart to build.

$ helm template charts/k8ssandra-operator --api-versions=cert-manager.io/v1
Error: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: k8ssandra-common, cass-operator

So then I do:

$ helm dependency build charts/k8ssandra-operator
Getting updates for unmanaged Helm repositories...
...Successfully got an update from the "https://helm.k8ssandra.io" chart repository
...Successfully got an update from the "https://helm.k8ssandra.io" chart repository
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "datastax-pulsar" chart repository
...Successfully got an update from the "k8ssandra" chart repository
...Successfully got an update from the "vector" chart repository
...Successfully got an update from the "grafana" chart repository
Update Complete. ⎈Happy Helming!⎈
Error: can't get a valid version for repositories cass-operator. Try changing the version constraint in Chart.yaml

@burmanm
Copy link
Contributor Author

burmanm commented Oct 10, 2023

I see some job failures on the k8ssandra repo, I'll try to check what's in there..

@burmanm
Copy link
Contributor Author

burmanm commented Oct 10, 2023

Yeah, it seems 0.44.1 wasn't pushed to the helm.k8ssandra.io/stable/index.yaml

@Miles-Garnsey
Copy link
Member

So I still see the same issue here. I don't know how any of this is meant to be structured these days, given that we still have some weird dependencies on the k8ssandra repo. I wonder if we should talk about archiving that repo completely and publishing everything from cass-operator or k8ssandra-operator.

For now, it looks like you have a PR here which I'm going to merge (as Alex has approved) to see if that gets us a release that works.

@Miles-Garnsey
Copy link
Member

Merging that PR didn't do anything unfortunately. I assume I need to cut a new release of the helm charts published out of the k8ssandra repo, but I'm not sure what the procedure there is.

I'd simply push a tag, but it looks like the last release was 1.5.2 back in Nov 29 2022, so that doesn't seem like the right thing to do...

@adejanovski
Copy link
Contributor

@Miles-Garnsey, in order to cut out a new Helm release of k8ssandra-operator, you'll need to go through the release process.
The PR that was merged on the K8ssandra repo did allow to cut out the release of the cass-operator 0.44.1 helm chart, which should now unblock this PR.

@Miles-Garnsey
Copy link
Member

Miles-Garnsey commented Oct 12, 2023

Righto, this wasn't working yesterday (after merging that PR) but it is working today, so maybe it just took a while to appear in the Helm repo, idk.

Testing again, on the main branch I see this:

  image_config.yaml: |
    apiVersion: config.k8ssandra.io/v1beta1
    kind: ImageConfig
    images:
      system-logger: "k8ssandra/system-logger:v1.15.0"
      config-builder: "datastax/cass-config-builder:1.0-ubi7"
    imagePullPolicy: IfNotPresent
    defaults:
      # Note, postfix is ignored if repository is not set
      cassandra:
        repository: "k8ssandra/cass-management-api"
      dse:
        repository: "datastax/dse-server"
        suffix: "-ubi7"

Which was where the problem was. If I switch to this branch I see this:

$ helm template charts/k8ssandra-operator --api-versions=cert-manager.io/v1 > templates.yaml
#tempates.yaml
...
image_config.yaml: |
    apiVersion: config.k8ssandra.io/v1beta1
    kind: ImageConfig
    images:
      system-logger: "k8ssandra/system-logger:v1.15.0"
      config-builder: "datastax/cass-config-builder:1.0-ubi7"
    imagePullPolicy: IfNotPresent
    defaults:
      # Note, postfix is ignored if repository is not set
      cassandra:
        repository: "k8ssandra/cass-management-api"
      dse:
        repository: "datastax/dse-server"
        suffix: "-ubi7"
...

I also see:

$ helm dependency build charts/k8ssandra-operator                                           
Error: the lock file (Chart.lock) is out of sync with the dependencies file (Chart.yaml). Please update the dependencies

So I think the Chart.lock hasn't been updated.

If I go ahead and delete the chart.lock and run helm dependency build charts/k8ssandra-operator again, then:

$ helm template charts/k8ssandra-operator --api-versions=cert-manager.io/v1 > templates.yaml
#tempates.yaml
...
image_config.yaml: |
    apiVersion: config.k8ssandra.io/v1beta1
    kind: ImageConfig
    images:
      system-logger: k8ssandra/system-logger:v1.17.2
      config-builder: datastax/cass-config-builder:1.0-ubi7
      k8ssandra-client: k8ssandra/k8ssandra-client:v0.2.0
    imagePullPolicy: IfNotPresent
    defaults:
      # Note, postfix is ignored if repository is not set
      cassandra:
        repository: "k8ssandra/cass-management-api"
      dse:
        repository: "datastax/dse-mgmtapi-6_8"
        suffix: "-ubi8"...

I've checked, and the chart.lock is in .gitignore anyway, so I think this PR will fix things. Approving.

@burmanm burmanm merged commit 475d044 into k8ssandra:main Oct 16, 2023
55 of 57 checks passed
@burmanm burmanm mentioned this pull request Oct 16, 2023
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update k8ssandra-operator helm packages to point to management api DSE image.
3 participants