Skip to content

Commit

Permalink
Make timeout during waiting for uploadImage configurable
Browse files Browse the repository at this point in the history
Add the fields `UploadImageRetryCount` and `UploadImageRetryDelay` to `OpenstackSourceSpec`.

Related to: harvester/harvester#6675

Signed-off-by: Volker Theile <[email protected]>
  • Loading branch information
votdev committed Oct 2, 2024
1 parent 13bac98 commit 1992c42
Showing 1 changed file with 46 additions and 25 deletions.
71 changes: 46 additions & 25 deletions pkg/source/openstack/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,40 +128,61 @@ func Test_GenerateVirtualMachine(t *testing.T) {
assert.NotEmpty(newVM.Spec.Template.Spec.Domain.Devices.Interfaces, "expected to find atleast 1 interface for pod-network")
}

func Test_DefaultOptions(t *testing.T) {
func Test_ClientOptions(t *testing.T) {
assert := require.New(t)
assert.Equal(c.options.UploadImageRetryCount, migration.OpenStackDefaultRetryCount)
assert.Equal(c.options.UploadImageRetryDelay, migration.OpenStackDefaultRetryDelay)
}

func Test_CustomOptions(t *testing.T) {
func Test_SourceGetOptions(t *testing.T) {
assert := require.New(t)

s, err := SetupOpenstackSecretFromEnv("devstack")
if err != nil {
logrus.Fatal(err)
}

endpoint, region, err := SetupOpenstackSourceFromEnv()
if err != nil {
logrus.Fatal(err)
}

source := migration.OpenstackSource{
Spec: migration.OpenstackSourceSpec{
OpenstackSourceOptions: migration.OpenstackSourceOptions{
UploadImageRetryCount: 10,
UploadImageRetryDelay: 30,
testCases := []struct {
desc string
options migration.OpenstackSourceOptions
expected migration.OpenstackSourceOptions
}{
{
desc: "custom count and delay",
options: migration.OpenstackSourceOptions{
UploadImageRetryCount: 25,
UploadImageRetryDelay: 15,
},
expected: migration.OpenstackSourceOptions{
UploadImageRetryCount: 25,
UploadImageRetryDelay: 15,
},
},
{
desc: "custom count and default delay",
options: migration.OpenstackSourceOptions{
UploadImageRetryCount: 100,
},
expected: migration.OpenstackSourceOptions{
UploadImageRetryCount: 100,
UploadImageRetryDelay: migration.OpenStackDefaultRetryDelay,
},
},
{
desc: "default count and custom delay",
options: migration.OpenstackSourceOptions{
UploadImageRetryDelay: 50,
},
expected: migration.OpenstackSourceOptions{
UploadImageRetryCount: migration.OpenStackDefaultRetryCount,
UploadImageRetryDelay: 50,
},
},
}
options := source.GetOptions().(migration.OpenstackSourceOptions)

nc, err := NewClient(context.TODO(), endpoint, region, s, options)
if err != nil {
logrus.Fatal(err)
}
for _, tc := range testCases {
source := migration.OpenstackSource{
Spec: migration.OpenstackSourceSpec{
OpenstackSourceOptions: tc.options,
},
}
options := source.GetOptions().(migration.OpenstackSourceOptions)

assert.Equal(nc.options.UploadImageRetryCount, 10)
assert.Equal(nc.options.UploadImageRetryDelay, 30)
assert.Equal(options.UploadImageRetryCount, tc.expected.UploadImageRetryCount, tc.desc)
assert.Equal(options.UploadImageRetryDelay, tc.expected.UploadImageRetryDelay, tc.desc)
}
}

0 comments on commit 1992c42

Please sign in to comment.