Commit Graph

4133 Commits

Author SHA1 Message Date
Niels de Vos
6db7138ca0 build: address gosec warning "Implicit memory aliasing in for loop"
gosec warns about it like this:

    G601: Implicit memory aliasing in for loop. (gosec)

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-29 14:36:48 +00:00
Niels de Vos
e85914fc0d build: address 'intrange' linter warning
golangci-lint warns about this:

    for loop can be changed to use an integer range (Go 1.22+)
    (intrange)

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-29 14:36:48 +00:00
Niels de Vos
0e7b06e9d0 build: address 'copyloopvar' linter warning
golangci-lint reports these:

    The copy of the 'for' variable "kmsID" can be deleted (Go 1.22+)
    (copyloopvar)

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-29 14:36:48 +00:00
Niels de Vos
9321fe03c3 build: use Go 1.22
Kubernetes 1.30 packages require Go 1.22 or newer.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-29 14:36:48 +00:00
Niels de Vos
60e2527917 build: use Fedora 39 as base image for test container
It seems GitHub has an issue with the Fedora 40 container image,
extracting the Golang tarball fails. The Fedora 39 image does not have
this problem, so use that for the time being.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-25 13:32:48 +00:00
Niels de Vos
2887747f37 ci: do not require Kubernetes 1.26 tests for the devel branch
Kubernetes 1.26 is End-Of-Life, the next version of Ceph-CSI will not
support that anymore.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-24 10:06:30 +00:00
Niels de Vos
4b49d2898f build: include MirrorDaemonCount in the ConfigMap API
It seems that original commit 4c2d2caf9f modified the API under the
vendor/ directory. Weirdly this did not cause any issues?! The change
should have been done in the api/deploy/kubernetes/ file instead, that
gets sync'd after running "go mod vendor".

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-24 08:25:07 +00:00
Madhu Rajanna
cc0427fc4b ci: add more tests for cephfs external test
Adding more tests for cephfs external tests

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-24 07:57:22 +00:00
Praveen M
b095e0441a deploy: update CSI sidecars to latest versions available
Below sidecars are updated with latest available versions

csi-node-driver-registrar: v2.10.1
csi-resizer: v1.10.1
csi-provisioner: v4.0.1
csi-attacher: v4.5.1
csi-snapshotter: v7.0.2

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-04-23 13:49:14 +00:00
Rakshith R
1bb78fdf43 e2e: validate PVC-PVC clone creation with deleted parent snap
This commit modifies a test case to check creation of
PVC-PVC clone of a restored PVC when parent snapshot
is deleted.

Signed-off-by: Rakshith R <rar@redhat.com>
2024-04-23 12:04:59 +00:00
Rakshith R
c34b31ee05 rbd: add ParentInTrash parameter in rbdImage struct
This commit adds ParentInTrash parameter in rbdImage struct
and makes use of it in getParent() function in order to avoid
error in case the parent is present but in trash.

Signed-off-by: Rakshith R <rar@redhat.com>
2024-04-23 12:04:59 +00:00
dependabot[bot]
058426dce6 rebase: bump golang.org/x/net from 0.19.0 to 0.23.0 in /api
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.19.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.19.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-23 08:55:29 +00:00
Madhu Rajanna
4c2d2caf9f util: add support to configure mirror daemon count
Currently we are assuming that only one
rbd mirror daemon running on the ceph cluster
but that is not true for many cases and it
can be more that one, this PR make this as a
configurable parameter.

fixes: #4312

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-22 09:49:59 +00:00
dependabot[bot]
51d1d46dd2 rebase: bump github.com/ceph/go-ceph
Bumps [github.com/ceph/go-ceph](https://github.com/ceph/go-ceph) from 0.26.1-0.20240319113421-755481f8c243 to 0.27.0.
- [Release notes](https://github.com/ceph/go-ceph/releases)
- [Changelog](https://github.com/ceph/go-ceph/blob/master/docs/release-process.md)
- [Commits](https://github.com/ceph/go-ceph/commits/v0.27.0)

---
updated-dependencies:
- dependency-name: github.com/ceph/go-ceph
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 11:42:07 +00:00
Praveen M
29f1fbeb84 cleanup: client cert decoding is not required
Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-04-15 13:25:49 +00:00
Niels de Vos
c1dd15ae59 ci: do not add the ok-to-test label if there is a conflict
When there is a conflict in merging a PR, the `ok-to-test` label should
not be added automatically. This prevents a loop in triggering CI jobs
for PRs that might not even build.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-12 06:53:00 +02:00
Niels de Vos
ae7f513816 build: use Go 1.21.9 to include latest security fixes
Update from v1.21.5 to latest v1.21.9, to include the following fixes:

go1.21.6 (released 2024-01-09) includes fixes to the compiler, the
runtime, and the crypto/tls, maps, and runtime/pprof packages.

go1.21.7 (released 2024-02-06) includes fixes to the compiler, the go
command, the runtime, and the crypto/x509 package.

go1.21.8 (released 2024-03-05) includes security fixes to the
crypto/x509, html/template, net/http, net/http/cookiejar, and net/mail
packages, as well as bug fixes to the go command and the runtime.

go1.21.9 (released 2024-04-03) includes a security fix to the net/http
package, as well as bug fixes to the linker, and the go/types and
net/http packages.

See-also: https://go.dev/doc/devel/release#go1.21.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-11 11:57:45 +00:00
dependabot[bot]
fbf768ac0f rebase: bump google.golang.org/grpc from 1.62.1 to 1.63.2
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.1 to 1.63.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.62.1...v1.63.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 09:51:03 +00:00
dependabot[bot]
6b8549e6a9 rebase: bump sigs.k8s.io/controller-runtime
Bumps the k8s-dependencies group with 1 update: [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).


Updates `sigs.k8s.io/controller-runtime` from 0.17.2 to 0.17.3
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.17.2...v0.17.3)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 12:06:16 +00:00
dependabot[bot]
d599385ac5 rebase: bump the golang-dependencies group with 3 updates
Bumps the golang-dependencies group with 3 updates: [golang.org/x/crypto](https://github.com/golang/crypto), [golang.org/x/net](https://github.com/golang/net) and [golang.org/x/sys](https://github.com/golang/sys).


Updates `golang.org/x/crypto` from 0.21.0 to 0.22.0
- [Commits](https://github.com/golang/crypto/compare/v0.21.0...v0.22.0)

Updates `golang.org/x/net` from 0.22.0 to 0.24.0
- [Commits](https://github.com/golang/net/compare/v0.22.0...v0.24.0)

Updates `golang.org/x/sys` from 0.18.0 to 0.19.0
- [Commits](https://github.com/golang/sys/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-dependencies
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 08:51:19 +00:00
Madhu Rajanna
5aace6e02d cleanup: remove nolint:interfacer comment
nolint:interfacer is not required for
the latest golangci-lint

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
0c5a30fa47 ci: use timeout for golangci-lint
deadline is replaced with timeout
in recent release and updated the
reference to the new sample yaml.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
8862293475 ci: update helm to latest release
updating helm to the latest release
3.14.3

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
9b3d07928d ci: increase timeout for golangci-lint
As updated to the latest release more
tests are added we need to increase
the timeout to avoid issues.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
4fc6703d33 ci: update golangci-lint to latest release
updating golangci-lint to the latest release

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
f6da33b6f7 util: address golangci-lint in controller
addressing golangci-lint in the controller
code.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
a85b4a9305 util: address golangci-lint for csi-common
addressing golangci-lint issues in the
csi-common related code.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
2465310543 util: address golangci-lint for kms
addressing golangci-lint issues for
the kms related code.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
48d2e2ce2d nfs: address golangci-lint issues
addressing golangci-lint issues for
the nfs code.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
4b7cafe821 util: address golangci-lint issues
address golangci-lint issues in utils

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
8c4a38eec6 rbd: address golangci-lint issues
addressing golangci-lint issues in rbd
related code.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
b66b311770 ci: add csi-addons to commitlintrc
adding csi-addons to the commitlintrc
for csi-addons related changes.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
29a9114409 csi-addons: address golangci-lint issues
addressed golangci-lint issues in csi-addons
code.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
a362ef6bd4 cephfs: address golangci-lint issues
address golangci-lint issues in cephfs
related code.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
6961b103b8 e2e: address golangci-lint issues
addessed golangci-lint issues in
e2e folder.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-09 06:55:23 +00:00
Madhu Rajanna
a0921a2706 ci: add snapshotclass name
adding snapshotclass name for
external tests.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-05 14:01:09 +00:00
Madhu Rajanna
e72cf23bc0 ci: run snapshot tests and expand tests
enabling snapshot,pvc clone tests and
the expand tests to see if everything
works fine.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-05 14:01:09 +00:00
Praveen M
c1467242c6 cleanup: use slices package
This commit replaces the user implemented function
`CheckSliceContains()` with `slices.Contains()`
function introduced in Go 1.21.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-04-05 12:18:00 +00:00
Praveen M
86a89d5425 cephfs: refactor code for improved reusability
Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-04-05 12:18:00 +00:00
Praveen M
3538b23794 rbd: remove topologyConstrainedPools parameter
This commit removes the `topologyConstrainedPools` parameter
from PV volumeAttributes as it is not required.

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-04-05 12:18:00 +00:00
Madhu Rajanna
9fb3743280 ci: fix secret name in rbd storageclass
use rbd secret for rbd storageclass

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-04 12:55:03 +00:00
Madhu Rajanna
307a2f130b ci: add volumesnapshotclasses for externalstorage
added volumesnapshotclasses yaml and script for
external-storage test

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-04 12:55:03 +00:00
Madhu Rajanna
66f71aea3a ci: remove auto merge condition
auto merge for release-3.11 is already
convered with regex check and we cannot
auto merge PR to the devel branch.
Removing unwanted checks.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-04 08:08:30 +02:00
Madhu Rajanna
61eec7e9c8 ci: remove condition for dependabot
dependabot will not create PR on the
release branch and for that reason
removing unused rule

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-04 08:08:30 +02:00
Madhu Rajanna
884d49e2ab ci: remove mergify rules for 3.11
we dont need a new mergify rule for
3.11 branch and the default mergirfy
with regex for `^(release-.+)$` branch
will cover it.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-04 08:08:30 +02:00
karthik-us
01ca536a56 ci: upgrade_version update
Updating the CSI_UPGRADE_VERSION to the latest release.

Signed-off-by: karthik-us <ksubrahm@redhat.com>
2024-04-03 12:00:46 +00:00
Madhu Rajanna
5718053e9c ci: use golang 1.21 for retest action
use golang 1.21 for resest action
dockerfile.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-02 14:10:11 +00:00
Madhu Rajanna
1e0254daba util: use slices package for contains
use slices package to check whether
the slice contains the element or not.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-04-02 14:10:11 +00:00
Niels de Vos
86b5db90bc cleanup: rename EncryptionTypeString() to EncryptionType.String()
This makes it easier to log the EncryptionType as string, or int,
whatever is preferred. Standard fmt formatting notations like %s or %d
can be used now.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-02 14:04:10 +00:00
Niels de Vos
5a6556c4d4 cleanup: destroy connections after .Copy() an other one
Everytime a connection is copied with the .Copy() function, it needs to
be destroyed once the object is not needed anymore. This was not done
consistently, a few more locations require the freeing of the connection
resources.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-04-02 11:11:20 +00:00