mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-24 23:30:20 +00:00
build: address gofmt
warnings
Signed-off-by: Niels de Vos <ndevos@ibm.com>
This commit is contained in:
parent
a6c14c051f
commit
9201da0502
@ -21,8 +21,9 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
//nolint:lll // error string cannot be split into multiple lines as is a
|
|
||||||
// output from kubectl.
|
// output from kubectl.
|
||||||
|
//
|
||||||
|
//nolint:lll // error string cannot be split into multiple lines as is a
|
||||||
func TestGetStdErr(t *testing.T) {
|
func TestGetStdErr(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
|
@ -122,8 +122,9 @@ func (vc *vaultConfig) canGetPassphrase() bool {
|
|||||||
|
|
||||||
// getPassphrase method will execute few commands to try read the secret for
|
// getPassphrase method will execute few commands to try read the secret for
|
||||||
// specified key from inside the vault container:
|
// specified key from inside the vault container:
|
||||||
// * authenticate with vault and ignore any stdout (we do not need output)
|
// - authenticate with vault and ignore any stdout (we do not need output)
|
||||||
// * issue get request for particular key
|
// - issue get request for particular key
|
||||||
|
//
|
||||||
// resulting in stdOut (first entry in tuple) - output that contains the key
|
// resulting in stdOut (first entry in tuple) - output that contains the key
|
||||||
// or stdErr (second entry in tuple) - error getting the key.
|
// or stdErr (second entry in tuple) - error getting the key.
|
||||||
func (vc *vaultConfig) getPassphrase(f *framework.Framework, key string) (string, string) {
|
func (vc *vaultConfig) getPassphrase(f *framework.Framework, key string) (string, string) {
|
||||||
|
@ -30,6 +30,7 @@ import (
|
|||||||
// composeIntreeMigVolID create a volID similar to intree migration volID
|
// composeIntreeMigVolID create a volID similar to intree migration volID
|
||||||
// the migration volID format looks like below
|
// the migration volID format looks like below
|
||||||
// mig-mons-<hash>-image-<UUID_<poolhash>
|
// mig-mons-<hash>-image-<UUID_<poolhash>
|
||||||
|
//
|
||||||
//nolint:lll // ex: "mig_mons-b7f67366bb43f32e07d8a261a7840da9_image-e0b45b52-7e09-47d3-8f1b-806995fa4412_706f6f6c5f7265706c6963615f706f6f6c
|
//nolint:lll // ex: "mig_mons-b7f67366bb43f32e07d8a261a7840da9_image-e0b45b52-7e09-47d3-8f1b-806995fa4412_706f6f6c5f7265706c6963615f706f6f6c
|
||||||
func composeIntreeMigVolID(mons, rbdImageName string) string {
|
func composeIntreeMigVolID(mons, rbdImageName string) string {
|
||||||
poolField := hex.EncodeToString([]byte(defaultRBDPool))
|
poolField := hex.EncodeToString([]byte(defaultRBDPool))
|
||||||
|
@ -204,6 +204,7 @@ func checkGetKeyError(err error, stdErr string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// checkClusternameInMetadata check for cluster name metadata on RBD image.
|
// checkClusternameInMetadata check for cluster name metadata on RBD image.
|
||||||
|
//
|
||||||
//nolint:nilerr // intentionally returning nil on error in the retry loop.
|
//nolint:nilerr // intentionally returning nil on error in the retry loop.
|
||||||
func checkClusternameInMetadata(f *framework.Framework, ns, pool, image string) {
|
func checkClusternameInMetadata(f *framework.Framework, ns, pool, image string) {
|
||||||
t := time.Duration(deployTimeout) * time.Minute
|
t := time.Duration(deployTimeout) * time.Minute
|
||||||
|
@ -75,6 +75,7 @@ var deepFlattenSupport = []util.KernelVersion{
|
|||||||
|
|
||||||
// To use `io-timeout=0` we need
|
// To use `io-timeout=0` we need
|
||||||
// www.mail-archive.com/linux-block@vger.kernel.org/msg38060.html
|
// www.mail-archive.com/linux-block@vger.kernel.org/msg38060.html
|
||||||
|
//
|
||||||
//nolint:gomnd // numbers specify Kernel versions.
|
//nolint:gomnd // numbers specify Kernel versions.
|
||||||
var nbdZeroIOtimeoutSupport = []util.KernelVersion{
|
var nbdZeroIOtimeoutSupport = []util.KernelVersion{
|
||||||
{
|
{
|
||||||
|
@ -1529,13 +1529,14 @@ func validateController(
|
|||||||
return deleteResource(rbdExamplePath + "storageclass.yaml")
|
return deleteResource(rbdExamplePath + "storageclass.yaml")
|
||||||
}
|
}
|
||||||
|
|
||||||
//nolint:deadcode,unused // Unused code will be used in future.
|
|
||||||
// k8sVersionGreaterEquals checks the ServerVersion of the Kubernetes cluster
|
// k8sVersionGreaterEquals checks the ServerVersion of the Kubernetes cluster
|
||||||
// and compares it to the major.minor version passed. In case the version of
|
// and compares it to the major.minor version passed. In case the version of
|
||||||
// the cluster is equal or higher to major.minor, `true` is returned, `false`
|
// the cluster is equal or higher to major.minor, `true` is returned, `false`
|
||||||
// otherwise.
|
// otherwise.
|
||||||
// If fetching the ServerVersion of the Kubernetes cluster fails, the calling
|
// If fetching the ServerVersion of the Kubernetes cluster fails, the calling
|
||||||
// test case is marked as `FAILED` and gets aborted.
|
// test case is marked as `FAILED` and gets aborted.
|
||||||
|
//
|
||||||
|
//nolint:deadcode,unused // Unused code will be used in future.
|
||||||
func k8sVersionGreaterEquals(c kubernetes.Interface, major, minor int) bool {
|
func k8sVersionGreaterEquals(c kubernetes.Interface, major, minor int) bool {
|
||||||
v, err := c.Discovery().ServerVersion()
|
v, err := c.Discovery().ServerVersion()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1681,6 +1682,7 @@ func retryKubectlFile(namespace string, action kubectlAction, filename string, t
|
|||||||
// retryKubectlArgs takes a namespace and action telling kubectl what to do
|
// retryKubectlArgs takes a namespace and action telling kubectl what to do
|
||||||
// with the passed arguments. This function retries until no error occurred, or
|
// with the passed arguments. This function retries until no error occurred, or
|
||||||
// the timeout passed.
|
// the timeout passed.
|
||||||
|
//
|
||||||
//nolint:unparam // retryKubectlArgs will be used with kubectlDelete arg later on.
|
//nolint:unparam // retryKubectlArgs will be used with kubectlDelete arg later on.
|
||||||
func retryKubectlArgs(namespace string, action kubectlAction, t int, args ...string) error {
|
func retryKubectlArgs(namespace string, action kubectlAction, t int, args ...string) error {
|
||||||
timeout := time.Duration(t) * time.Minute
|
timeout := time.Duration(t) * time.Minute
|
||||||
|
@ -241,6 +241,7 @@ func checkValidCreateVolumeRequest(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CreateVolume creates a reservation and the volume in backend, if it is not already present.
|
// CreateVolume creates a reservation and the volume in backend, if it is not already present.
|
||||||
|
//
|
||||||
//nolint:gocognit,gocyclo,nestif,cyclop // TODO: reduce complexity
|
//nolint:gocognit,gocyclo,nestif,cyclop // TODO: reduce complexity
|
||||||
func (cs *ControllerServer) CreateVolume(
|
func (cs *ControllerServer) CreateVolume(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
@ -730,6 +731,7 @@ func (cs *ControllerServer) ControllerExpandVolume(
|
|||||||
|
|
||||||
// CreateSnapshot creates the snapshot in backend and stores metadata
|
// CreateSnapshot creates the snapshot in backend and stores metadata
|
||||||
// in store
|
// in store
|
||||||
|
//
|
||||||
//nolint:gocognit,gocyclo,cyclop // golangci-lint did not catch this earlier, needs to get fixed late
|
//nolint:gocognit,gocyclo,cyclop // golangci-lint did not catch this earlier, needs to get fixed late
|
||||||
func (cs *ControllerServer) CreateSnapshot(
|
func (cs *ControllerServer) CreateSnapshot(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
@ -986,6 +988,7 @@ func (cs *ControllerServer) validateSnapshotReq(ctx context.Context, req *csi.Cr
|
|||||||
|
|
||||||
// DeleteSnapshot deletes the snapshot in backend and removes the
|
// DeleteSnapshot deletes the snapshot in backend and removes the
|
||||||
// snapshot metadata from store.
|
// snapshot metadata from store.
|
||||||
|
//
|
||||||
//nolint:gocyclo,cyclop // TODO: reduce complexity
|
//nolint:gocyclo,cyclop // TODO: reduce complexity
|
||||||
func (cs *ControllerServer) DeleteSnapshot(
|
func (cs *ControllerServer) DeleteSnapshot(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
|
@ -210,6 +210,7 @@ func fmtBackingSnapshotOptionMismatch(optName, expected, actual string) error {
|
|||||||
|
|
||||||
// NewVolumeOptions generates a new instance of volumeOptions from the provided
|
// NewVolumeOptions generates a new instance of volumeOptions from the provided
|
||||||
// CSI request parameters.
|
// CSI request parameters.
|
||||||
|
//
|
||||||
//nolint:gocyclo,cyclop // TODO: reduce complexity
|
//nolint:gocyclo,cyclop // TODO: reduce complexity
|
||||||
func NewVolumeOptions(
|
func NewVolumeOptions(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
@ -348,6 +349,7 @@ func IsVolumeCreateRO(caps []*csi.VolumeCapability) bool {
|
|||||||
|
|
||||||
// newVolumeOptionsFromVolID generates a new instance of volumeOptions and VolumeIdentifier
|
// newVolumeOptionsFromVolID generates a new instance of volumeOptions and VolumeIdentifier
|
||||||
// from the provided CSI VolumeID.
|
// from the provided CSI VolumeID.
|
||||||
|
//
|
||||||
//nolint:gocyclo,cyclop // TODO: reduce complexity
|
//nolint:gocyclo,cyclop // TODO: reduce complexity
|
||||||
func NewVolumeOptionsFromVolID(
|
func NewVolumeOptionsFromVolID(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
|
@ -44,7 +44,8 @@ ServiceAccount from the Tenant that owns the volume to store/retrieve the
|
|||||||
encryption passphrase of volumes.
|
encryption passphrase of volumes.
|
||||||
|
|
||||||
Example JSON structure in the KMS config is,
|
Example JSON structure in the KMS config is,
|
||||||
{
|
|
||||||
|
{
|
||||||
"vault-tenant-sa": {
|
"vault-tenant-sa": {
|
||||||
"encryptionKMSType": "vaulttenantsa",
|
"encryptionKMSType": "vaulttenantsa",
|
||||||
"vaultAddress": "http://vault.default.svc.cluster.local:8200",
|
"vaultAddress": "http://vault.default.svc.cluster.local:8200",
|
||||||
@ -66,7 +67,7 @@ Example JSON structure in the KMS config is,
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
...
|
...
|
||||||
}.
|
}.
|
||||||
*/
|
*/
|
||||||
type vaultTenantSA struct {
|
type vaultTenantSA struct {
|
||||||
vaultTenantConnection
|
vaultTenantConnection
|
||||||
|
@ -160,7 +160,8 @@ VaultTokens represents a Hashicorp Vault KMS configuration that provides a
|
|||||||
Token per tenant.
|
Token per tenant.
|
||||||
|
|
||||||
Example JSON structure in the KMS config is,
|
Example JSON structure in the KMS config is,
|
||||||
{
|
|
||||||
|
{
|
||||||
"vault-with-tokens": {
|
"vault-with-tokens": {
|
||||||
"encryptionKMSType": "vaulttokens",
|
"encryptionKMSType": "vaulttokens",
|
||||||
"vaultAddress": "http://vault.default.svc.cluster.local:8200",
|
"vaultAddress": "http://vault.default.svc.cluster.local:8200",
|
||||||
@ -183,7 +184,7 @@ Example JSON structure in the KMS config is,
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
...
|
...
|
||||||
}.
|
}.
|
||||||
*/
|
*/
|
||||||
type vaultTenantConnection struct {
|
type vaultTenantConnection struct {
|
||||||
vaultConnection
|
vaultConnection
|
||||||
|
@ -1060,6 +1060,7 @@ func (cs *ControllerServer) ValidateVolumeCapabilities(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CreateSnapshot creates the snapshot in backend and stores metadata in store.
|
// CreateSnapshot creates the snapshot in backend and stores metadata in store.
|
||||||
|
//
|
||||||
//nolint:gocyclo,cyclop // TODO: reduce complexity.
|
//nolint:gocyclo,cyclop // TODO: reduce complexity.
|
||||||
func (cs *ControllerServer) CreateSnapshot(
|
func (cs *ControllerServer) CreateSnapshot(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
|
@ -114,6 +114,7 @@ var (
|
|||||||
|
|
||||||
// parseBoolOption checks if parameters contain option and parse it. If it is
|
// parseBoolOption checks if parameters contain option and parse it. If it is
|
||||||
// empty or not set return default.
|
// empty or not set return default.
|
||||||
|
//
|
||||||
//nolint:unparam // currently defValue is always false, this can change in the future
|
//nolint:unparam // currently defValue is always false, this can change in the future
|
||||||
func parseBoolOption(ctx context.Context, parameters map[string]string, optionName string, defValue bool) bool {
|
func parseBoolOption(ctx context.Context, parameters map[string]string, optionName string, defValue bool) bool {
|
||||||
boolVal := defValue
|
boolVal := defValue
|
||||||
|
@ -538,6 +538,7 @@ func undoVolReservation(ctx context.Context, rbdVol *rbdVolume, cr *util.Credent
|
|||||||
// Generate new volume Handler
|
// Generate new volume Handler
|
||||||
// The volume handler won't remain same as its contains poolID,clusterID etc
|
// The volume handler won't remain same as its contains poolID,clusterID etc
|
||||||
// which are not same across clusters.
|
// which are not same across clusters.
|
||||||
|
//
|
||||||
//nolint:gocyclo,cyclop,nestif // TODO: reduce complexity
|
//nolint:gocyclo,cyclop,nestif // TODO: reduce complexity
|
||||||
func RegenerateJournal(
|
func RegenerateJournal(
|
||||||
volumeAttributes map[string]string,
|
volumeAttributes map[string]string,
|
||||||
|
@ -32,14 +32,14 @@ The CSI identifier is composed as elaborated in the comment against ComposeCSIID
|
|||||||
DecomposeCSIID is the inverse of the same function.
|
DecomposeCSIID is the inverse of the same function.
|
||||||
|
|
||||||
The CSIIdentifier structure carries the following fields,
|
The CSIIdentifier structure carries the following fields,
|
||||||
- LocationID: 64 bit integer identifier determining the location of the volume on the Ceph cluster.
|
- LocationID: 64 bit integer identifier determining the location of the volume on the Ceph cluster.
|
||||||
It is the ID of the poolname or fsname, for RBD or CephFS backed volumes respectively.
|
It is the ID of the poolname or fsname, for RBD or CephFS backed volumes respectively.
|
||||||
- EncodingVersion: Carries the version number of the encoding scheme used to encode the CSI ID,
|
- EncodingVersion: Carries the version number of the encoding scheme used to encode the CSI ID,
|
||||||
and is preserved for any future proofing w.r.t changes in the encoding scheme, and to retain
|
and is preserved for any future proofing w.r.t changes in the encoding scheme, and to retain
|
||||||
ability to parse backward compatible encodings.
|
ability to parse backward compatible encodings.
|
||||||
- ClusterID: Is a unique ID per cluster that the CSI instance is serving and is restricted to
|
- ClusterID: Is a unique ID per cluster that the CSI instance is serving and is restricted to
|
||||||
lengths that can be accommodated in the encoding scheme.
|
lengths that can be accommodated in the encoding scheme.
|
||||||
- ObjectUUID: Is the on-disk uuid of the object (image/snapshot) name, for the CSI volume that
|
- ObjectUUID: Is the on-disk uuid of the object (image/snapshot) name, for the CSI volume that
|
||||||
corresponds to this CSI ID.
|
corresponds to this CSI ID.
|
||||||
*/
|
*/
|
||||||
type CSIIdentifier struct {
|
type CSIIdentifier struct {
|
||||||
@ -60,6 +60,7 @@ const (
|
|||||||
/*
|
/*
|
||||||
ComposeCSIID composes a CSI ID from passed in parameters.
|
ComposeCSIID composes a CSI ID from passed in parameters.
|
||||||
Version 1 of the encoding scheme is as follows,
|
Version 1 of the encoding scheme is as follows,
|
||||||
|
|
||||||
[csi_id_version=1:4byte] + [-:1byte]
|
[csi_id_version=1:4byte] + [-:1byte]
|
||||||
[length of clusterID=1:4byte] + [-:1byte]
|
[length of clusterID=1:4byte] + [-:1byte]
|
||||||
[clusterID:36bytes (MAX)] + [-:1byte]
|
[clusterID:36bytes (MAX)] + [-:1byte]
|
||||||
|
Loading…
Reference in New Issue
Block a user