diff --git a/integrationtests/iscsi_ps_scripts.go b/integrationtests/iscsi_ps_scripts.go index 89bec253..db209222 100644 --- a/integrationtests/iscsi_ps_scripts.go +++ b/integrationtests/iscsi_ps_scripts.go @@ -9,8 +9,8 @@ import ( "testing" ) -func installIscsiTarget() error { - _, err := runPowershellScript(IscsiTargetInstallScript) +func installISCSITarget() error { + _, err := runPowershellScript(iSCSITargetInstallScript) if err != nil { return fmt.Errorf("failed installing iSCSI target. err=%v", err) } @@ -18,7 +18,7 @@ func installIscsiTarget() error { return nil } -const IscsiTargetInstallScript = ` +const iSCSITargetInstallScript = ` $ErrorActionPreference = "Stop" $ProgressPreference = "SilentlyContinue" @@ -30,12 +30,12 @@ Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\iSCSI Target" -Name AllowLoopBa Restart-Service WinTarget ` -type IscsiSetupConfig struct { +type iSCSISetupConfig struct { Iqn string `json:"iqn"` Ip string `json:"ip"` } -const IscsiEnvironmentSetupScript = ` +const iSCSIEnvironmentSetupScript = ` $ErrorActionPreference = "Stop" $ProgressPreference = "SilentlyContinue" @@ -59,7 +59,7 @@ $output = @{ $output | ConvertTo-Json | Write-Output ` -const IscsiSetChapScript = ` +const iSCSISetChapScript = ` $ErrorActionPreference = "Stop" $ProgressPreference = "SilentlyContinue" @@ -72,7 +72,7 @@ Set-IscsiServerTarget -TargetName $targetName -EnableChap $true -Chap $chap ` func setChap(targetName string, username string, password string) error { - script := fmt.Sprintf(IscsiSetChapScript, targetName, username, password) + script := fmt.Sprintf(iSCSISetChapScript, targetName, username, password) _, err := runPowershellScript(script) if err != nil { return fmt.Errorf("failed setting CHAP on iSCSI target=%v. err=%v", targetName, err) @@ -81,7 +81,7 @@ func setChap(targetName string, username string, password string) error { return nil } -const IscsiSetReverseChapScript = ` +const iSCSISetReverseChapScript = ` $ErrorActionPreference = "Stop" $ProgressPreference = "SilentlyContinue" @@ -96,7 +96,7 @@ Set-IscsiServerTarget -TargetName $targetName -EnableReverseChap $true -ReverseC ` func setReverseChap(targetName string, password string) error { - script := fmt.Sprintf(IscsiSetReverseChapScript, targetName, password) + script := fmt.Sprintf(iSCSISetReverseChapScript, targetName, password) _, err := runPowershellScript(script) if err != nil { return fmt.Errorf("failed setting reverse CHAP on iSCSI target=%v. err=%v", targetName, err) @@ -106,7 +106,7 @@ func setReverseChap(targetName string, password string) error { } func cleanup() error { - _, err := runPowershellScript(IscsiCleanupScript) + _, err := runPowershellScript(iSCSICleanupScript) if err != nil { return fmt.Errorf("failed cleaning up environment. err=%v", err) } @@ -121,7 +121,7 @@ func requireCleanup(t *testing.T) { } } -const IscsiCleanupScript = ` +const iSCSICleanupScript = ` $ErrorActionPreference = "Stop" $ProgressPreference = "SilentlyContinue" @@ -172,14 +172,14 @@ func runPowershellScript(script string) (string, error) { return string(out), nil } -func setupEnv(targetName string) (*IscsiSetupConfig, error) { - script := fmt.Sprintf(IscsiEnvironmentSetupScript, targetName) +func setupEnv(targetName string) (*iSCSISetupConfig, error) { + script := fmt.Sprintf(iSCSIEnvironmentSetupScript, targetName) out, err := runPowershellScript(script) if err != nil { return nil, fmt.Errorf("failed setting up environment. err=%v", err) } - config := IscsiSetupConfig{} + config := iSCSISetupConfig{} err = json.Unmarshal([]byte(out), &config) if err != nil { return nil, err diff --git a/integrationtests/iscsi_test.go b/integrationtests/iscsi_test.go index 39024c80..15ad37a6 100644 --- a/integrationtests/iscsi_test.go +++ b/integrationtests/iscsi_test.go @@ -17,17 +17,17 @@ import ( "github.com/stretchr/testify/require" ) -const defaultIscsiPort = 3260 +const defaultISCSIPort = 3260 const defaultProtoPort = 0 // default value when port is not set -func TestIscsi(t *testing.T) { - skipTestOnCondition(t, !shouldRunIscsiTests()) +func TestISCSI(t *testing.T) { + skipTestOnCondition(t, !shouldRunISCSITests()) - err := installIscsiTarget() + err := installISCSITarget() require.NoError(t, err, "Failed installing iSCSI target") t.Run("List/Add/Remove TargetPortal (Port=3260)", func(t *testing.T) { - targetPortalTest(t, defaultIscsiPort) + targetPortalTest(t, defaultISCSIPort) }) t.Run("List/Add/Remove TargetPortal (Port not mentioned, effectively 3260)", func(t *testing.T) { @@ -58,7 +58,7 @@ func e2eTest(t *testing.T) { defer requireCleanup(t) - iscsiClient, err := iscsi.New(iscsiapi.New()) + iSCSIClient, err := iscsi.New(iscsiapi.New()) require.Nil(t, err) diskClient, err := disk.New(diskapi.New()) @@ -73,27 +73,27 @@ func e2eTest(t *testing.T) { tp := &iscsi.TargetPortal{ TargetAddress: config.Ip, - TargetPort: defaultIscsiPort, + TargetPort: defaultISCSIPort, } addTpReq := &iscsi.AddTargetPortalRequest{ TargetPortal: tp, } - _, err = iscsiClient.AddTargetPortal(context.Background(), addTpReq) + _, err = iSCSIClient.AddTargetPortal(context.Background(), addTpReq) assert.Nil(t, err) discReq := &iscsi.DiscoverTargetPortalRequest{TargetPortal: tp} - discResp, err := iscsiClient.DiscoverTargetPortal(context.TODO(), discReq) + discResp, err := iSCSIClient.DiscoverTargetPortal(context.TODO(), discReq) if assert.Nil(t, err) { assert.Contains(t, discResp.Iqns, config.Iqn) } connectReq := &iscsi.ConnectTargetRequest{TargetPortal: tp, Iqn: config.Iqn} - _, err = iscsiClient.ConnectTarget(context.TODO(), connectReq) + _, err = iSCSIClient.ConnectTarget(context.TODO(), connectReq) assert.Nil(t, err) tgtDisksReq := &iscsi.GetTargetDisksRequest{TargetPortal: tp, Iqn: config.Iqn} - tgtDisksResp, err := iscsiClient.GetTargetDisks(context.TODO(), tgtDisksReq) + tgtDisksResp, err := iSCSIClient.GetTargetDisks(context.TODO(), tgtDisksReq) require.Nil(t, err) require.Len(t, tgtDisksResp.DiskIDs, 1) @@ -120,7 +120,7 @@ func targetTest(t *testing.T) { defer requireCleanup(t) - iscsiClient, err := iscsi.New(iscsiapi.New()) + iSCSIClient, err := iscsi.New(iscsiapi.New()) require.Nil(t, err) systemClient, err := system.New(systemapi.New()) @@ -132,27 +132,27 @@ func targetTest(t *testing.T) { tp := &iscsi.TargetPortal{ TargetAddress: config.Ip, - TargetPort: defaultIscsiPort, + TargetPort: defaultISCSIPort, } addTpReq := &iscsi.AddTargetPortalRequest{ TargetPortal: tp, } - _, err = iscsiClient.AddTargetPortal(context.Background(), addTpReq) + _, err = iSCSIClient.AddTargetPortal(context.Background(), addTpReq) assert.Nil(t, err) discReq := &iscsi.DiscoverTargetPortalRequest{TargetPortal: tp} - discResp, err := iscsiClient.DiscoverTargetPortal(context.TODO(), discReq) + discResp, err := iSCSIClient.DiscoverTargetPortal(context.TODO(), discReq) if assert.Nil(t, err) { assert.Contains(t, discResp.Iqns, config.Iqn) } connectReq := &iscsi.ConnectTargetRequest{TargetPortal: tp, Iqn: config.Iqn} - _, err = iscsiClient.ConnectTarget(context.TODO(), connectReq) + _, err = iSCSIClient.ConnectTarget(context.TODO(), connectReq) assert.Nil(t, err) disconReq := &iscsi.DisconnectTargetRequest{TargetPortal: tp, Iqn: config.Iqn} - _, err = iscsiClient.DisconnectTarget(context.TODO(), disconReq) + _, err = iSCSIClient.DisconnectTarget(context.TODO(), disconReq) assert.Nil(t, err) } @@ -169,7 +169,7 @@ func targetChapTest(t *testing.T) { err = setChap(targetName, username, password) require.NoError(t, err) - iscsiClient, err := iscsi.New(iscsiapi.New()) + iSCSIClient, err := iscsi.New(iscsiapi.New()) require.Nil(t, err) systemClient, err := system.New(systemapi.New()) @@ -181,17 +181,17 @@ func targetChapTest(t *testing.T) { tp := &iscsi.TargetPortal{ TargetAddress: config.Ip, - TargetPort: defaultIscsiPort, + TargetPort: defaultISCSIPort, } addTpReq := &iscsi.AddTargetPortalRequest{ TargetPortal: tp, } - _, err = iscsiClient.AddTargetPortal(context.Background(), addTpReq) + _, err = iSCSIClient.AddTargetPortal(context.Background(), addTpReq) assert.Nil(t, err) discReq := &iscsi.DiscoverTargetPortalRequest{TargetPortal: tp} - discResp, err := iscsiClient.DiscoverTargetPortal(context.TODO(), discReq) + discResp, err := iSCSIClient.DiscoverTargetPortal(context.TODO(), discReq) if assert.Nil(t, err) { assert.Contains(t, discResp.Iqns, config.Iqn) } @@ -203,11 +203,11 @@ func targetChapTest(t *testing.T) { ChapSecret: password, AuthType: iscsi.ONE_WAY_CHAP, } - _, err = iscsiClient.ConnectTarget(context.TODO(), connectReq) + _, err = iSCSIClient.ConnectTarget(context.TODO(), connectReq) assert.Nil(t, err) disconReq := &iscsi.DisconnectTargetRequest{TargetPortal: tp, Iqn: config.Iqn} - _, err = iscsiClient.DisconnectTarget(context.TODO(), disconReq) + _, err = iSCSIClient.DisconnectTarget(context.TODO(), disconReq) assert.Nil(t, err) } @@ -228,7 +228,7 @@ func targetMutualChapTest(t *testing.T) { err = setReverseChap(targetName, reverse_password) require.NoError(t, err) - iscsiClient, err := iscsi.New(iscsiapi.New()) + iSCSIClient, err := iscsi.New(iscsiapi.New()) require.Nil(t, err) systemClient, err := system.New(systemapi.New()) @@ -243,21 +243,21 @@ func targetMutualChapTest(t *testing.T) { tp := &iscsi.TargetPortal{ TargetAddress: config.Ip, - TargetPort: defaultIscsiPort, + TargetPort: defaultISCSIPort, } { req := &iscsi.AddTargetPortalRequest{ TargetPortal: tp, } - resp, err := iscsiClient.AddTargetPortal(context.Background(), req) + resp, err := iSCSIClient.AddTargetPortal(context.Background(), req) assert.Nil(t, err) assert.NotNil(t, resp) } { req := &iscsi.DiscoverTargetPortalRequest{TargetPortal: tp} - resp, err := iscsiClient.DiscoverTargetPortal(context.TODO(), req) + resp, err := iSCSIClient.DiscoverTargetPortal(context.TODO(), req) if assert.Nil(t, err) && assert.NotNil(t, resp) { assert.Contains(t, resp.Iqns, config.Iqn) } @@ -266,7 +266,7 @@ func targetMutualChapTest(t *testing.T) { { // Try using a wrong initiator password and expect error on connection req := &iscsi.SetMutualChapSecretRequest{MutualChapSecret: "made-up-pass"} - resp, err := iscsiClient.SetMutualChapSecret(context.TODO(), req) + resp, err := iSCSIClient.SetMutualChapSecret(context.TODO(), req) require.NoError(t, err) assert.NotNil(t, resp) } @@ -279,22 +279,22 @@ func targetMutualChapTest(t *testing.T) { AuthType: iscsi.MUTUAL_CHAP, } - _, err = iscsiClient.ConnectTarget(context.TODO(), connectReq) + _, err = iSCSIClient.ConnectTarget(context.TODO(), connectReq) assert.NotNil(t, err) { req := &iscsi.SetMutualChapSecretRequest{MutualChapSecret: reverse_password} - resp, err := iscsiClient.SetMutualChapSecret(context.TODO(), req) + resp, err := iSCSIClient.SetMutualChapSecret(context.TODO(), req) require.NoError(t, err) assert.NotNil(t, resp) } - _, err = iscsiClient.ConnectTarget(context.TODO(), connectReq) + _, err = iSCSIClient.ConnectTarget(context.TODO(), connectReq) assert.Nil(t, err) { req := &iscsi.DisconnectTargetRequest{TargetPortal: tp, Iqn: config.Iqn} - resp, err := iscsiClient.DisconnectTarget(context.TODO(), req) + resp, err := iSCSIClient.DisconnectTarget(context.TODO(), req) assert.Nil(t, err) assert.NotNil(t, resp) } @@ -306,7 +306,7 @@ func targetPortalTest(t *testing.T, port uint32) { defer requireCleanup(t) - iscsiClient, err := iscsi.New(iscsiapi.New()) + iSCSIClient, err := iscsi.New(iscsiapi.New()) require.Nil(t, err) systemClient, err := system.New(systemapi.New()) @@ -323,23 +323,23 @@ func targetPortalTest(t *testing.T, port uint32) { listReq := &iscsi.ListTargetPortalsRequest{} - listResp, err := iscsiClient.ListTargetPortals(context.Background(), listReq) + listResp, err := iSCSIClient.ListTargetPortals(context.Background(), listReq) if assert.Nil(t, err) { assert.Len(t, listResp.TargetPortals, 0, "Expect no registered target portals") } addTpReq := &iscsi.AddTargetPortalRequest{TargetPortal: tp} - _, err = iscsiClient.AddTargetPortal(context.Background(), addTpReq) + _, err = iSCSIClient.AddTargetPortal(context.Background(), addTpReq) assert.Nil(t, err) // Port 0 (unset) is handled as the default iSCSI port expectedPort := port if expectedPort == 0 { - expectedPort = defaultIscsiPort + expectedPort = defaultISCSIPort } - gotListResp, err := iscsiClient.ListTargetPortals(context.Background(), listReq) + gotListResp, err := iSCSIClient.ListTargetPortals(context.Background(), listReq) if assert.Nil(t, err) { assert.Len(t, gotListResp.TargetPortals, 1) assert.Equal(t, gotListResp.TargetPortals[0].TargetPort, expectedPort) @@ -349,10 +349,10 @@ func targetPortalTest(t *testing.T, port uint32) { remReq := &iscsi.RemoveTargetPortalRequest{ TargetPortal: tp, } - _, err = iscsiClient.RemoveTargetPortal(context.Background(), remReq) + _, err = iSCSIClient.RemoveTargetPortal(context.Background(), remReq) assert.Nil(t, err) - listResp, err = iscsiClient.ListTargetPortals(context.Background(), listReq) + listResp, err = iSCSIClient.ListTargetPortals(context.Background(), listReq) if assert.Nil(t, err) { assert.Len(t, listResp.TargetPortals, 0, "Expect no registered target portals after delete") diff --git a/integrationtests/utils.go b/integrationtests/utils.go index 50a37086..d2a8255b 100644 --- a/integrationtests/utils.go +++ b/integrationtests/utils.go @@ -36,7 +36,7 @@ func skipTestOnCondition(t *testing.T, condition bool) { // used to skip iSCSI tests as they affect the test machine // e.g. install an iSCSI target, format a disk, etc. // Take care to use disposable clean VMs for tests -func shouldRunIscsiTests() bool { +func shouldRunISCSITests() bool { return os.Getenv("ENABLE_ISCSI_TESTS") == "TRUE" } diff --git a/pkg/iscsi/iscsi.go b/pkg/iscsi/iscsi.go index 8b0ba419..85b13384 100644 --- a/pkg/iscsi/iscsi.go +++ b/pkg/iscsi/iscsi.go @@ -8,9 +8,9 @@ import ( "k8s.io/klog/v2" ) -const defaultIscsiPort = 3260 +const defaultISCSIPort = 3260 -type IsCSI struct { +type ISCSI struct { hostAPI iscsiapi.API } @@ -51,23 +51,23 @@ type Interface interface { SetMutualChapSecret(context.Context, *SetMutualChapSecretRequest) (*SetMutualChapSecretResponse, error) } -var _ Interface = &IsCSI{} +var _ Interface = &ISCSI{} -func New(hostAPI iscsiapi.API) (*IsCSI, error) { - return &IsCSI{ +func New(hostAPI iscsiapi.API) (*ISCSI, error) { + return &ISCSI{ hostAPI: hostAPI, }, nil } -func (ic *IsCSI) requestTPtoAPITP(portal *TargetPortal) *iscsiapi.TargetPortal { +func (ic *ISCSI) requestTPtoAPITP(portal *TargetPortal) *iscsiapi.TargetPortal { port := portal.TargetPort if port == 0 { - port = defaultIscsiPort + port = defaultISCSIPort } return &iscsiapi.TargetPortal{Address: portal.TargetAddress, Port: port} } -func (ic *IsCSI) AddTargetPortal(context context.Context, request *AddTargetPortalRequest) (*AddTargetPortalResponse, error) { +func (ic *ISCSI) AddTargetPortal(context context.Context, request *AddTargetPortalRequest) (*AddTargetPortalResponse, error) { klog.V(4).Infof("calling AddTargetPortal with portal %s:%d", request.TargetPortal.TargetAddress, request.TargetPortal.TargetPort) response := &AddTargetPortalResponse{} err := ic.hostAPI.AddTargetPortal(ic.requestTPtoAPITP(request.TargetPortal)) @@ -92,7 +92,7 @@ func AuthTypeToString(authType AuthenticationType) (string, error) { } } -func (ic *IsCSI) ConnectTarget(context context.Context, req *ConnectTargetRequest) (*ConnectTargetResponse, error) { +func (ic *ISCSI) ConnectTarget(context context.Context, req *ConnectTargetRequest) (*ConnectTargetResponse, error) { klog.V(4).Infof("calling ConnectTarget with portal %s:%d and iqn %s"+ " auth=%v chapuser=%v", req.TargetPortal.TargetAddress, req.TargetPortal.TargetPort, req.Iqn, req.AuthType, req.ChapUsername) @@ -114,7 +114,7 @@ func (ic *IsCSI) ConnectTarget(context context.Context, req *ConnectTargetReques return response, nil } -func (ic *IsCSI) DisconnectTarget(context context.Context, request *DisconnectTargetRequest) (*DisconnectTargetResponse, error) { +func (ic *ISCSI) DisconnectTarget(context context.Context, request *DisconnectTargetRequest) (*DisconnectTargetResponse, error) { klog.V(4).Infof("calling DisconnectTarget with portal %s:%d and iqn %s", request.TargetPortal.TargetAddress, request.TargetPortal.TargetPort, request.Iqn) @@ -128,7 +128,7 @@ func (ic *IsCSI) DisconnectTarget(context context.Context, request *DisconnectTa return response, nil } -func (ic *IsCSI) DiscoverTargetPortal(context context.Context, request *DiscoverTargetPortalRequest) (*DiscoverTargetPortalResponse, error) { +func (ic *ISCSI) DiscoverTargetPortal(context context.Context, request *DiscoverTargetPortalRequest) (*DiscoverTargetPortalResponse, error) { klog.V(4).Infof("calling DiscoverTargetPortal with portal %s:%d", request.TargetPortal.TargetAddress, request.TargetPortal.TargetPort) response := &DiscoverTargetPortalResponse{} iqns, err := ic.hostAPI.DiscoverTargetPortal(ic.requestTPtoAPITP(request.TargetPortal)) @@ -141,7 +141,7 @@ func (ic *IsCSI) DiscoverTargetPortal(context context.Context, request *Discover return response, nil } -func (ic *IsCSI) GetTargetDisks(context context.Context, request *GetTargetDisksRequest) (*GetTargetDisksResponse, error) { +func (ic *ISCSI) GetTargetDisks(context context.Context, request *GetTargetDisksRequest) (*GetTargetDisksResponse, error) { klog.V(4).Infof("calling GetTargetDisks with portal %s:%d and iqn %s", request.TargetPortal.TargetAddress, request.TargetPortal.TargetPort, request.Iqn) response := &GetTargetDisksResponse{} @@ -161,7 +161,7 @@ func (ic *IsCSI) GetTargetDisks(context context.Context, request *GetTargetDisks return response, nil } -func (ic *IsCSI) ListTargetPortals(context context.Context, request *ListTargetPortalsRequest) (*ListTargetPortalsResponse, error) { +func (ic *ISCSI) ListTargetPortals(context context.Context, request *ListTargetPortalsRequest) (*ListTargetPortalsResponse, error) { klog.V(4).Infof("calling ListTargetPortals") response := &ListTargetPortalsResponse{} portals, err := ic.hostAPI.ListTargetPortals() @@ -183,7 +183,7 @@ func (ic *IsCSI) ListTargetPortals(context context.Context, request *ListTargetP return response, nil } -func (ic *IsCSI) RemoveTargetPortal(context context.Context, request *RemoveTargetPortalRequest) (*RemoveTargetPortalResponse, error) { +func (ic *ISCSI) RemoveTargetPortal(context context.Context, request *RemoveTargetPortalRequest) (*RemoveTargetPortalResponse, error) { klog.V(4).Infof("calling RemoveTargetPortal with portal %s:%d", request.TargetPortal.TargetAddress, request.TargetPortal.TargetPort) response := &RemoveTargetPortalResponse{} err := ic.hostAPI.RemoveTargetPortal(ic.requestTPtoAPITP(request.TargetPortal)) @@ -195,7 +195,7 @@ func (ic *IsCSI) RemoveTargetPortal(context context.Context, request *RemoveTarg return response, nil } -func (ic *IsCSI) SetMutualChapSecret(context context.Context, request *SetMutualChapSecretRequest) (*SetMutualChapSecretResponse, error) { +func (ic *ISCSI) SetMutualChapSecret(context context.Context, request *SetMutualChapSecretRequest) (*SetMutualChapSecretResponse, error) { klog.V(4).Info("calling SetMutualChapSecret") response := &SetMutualChapSecretResponse{}