Get RunnerScaleSet based on both RunnerGroupId and Name. (#2413)
This commit is contained in:
parent
40811ebe0e
commit
08acb1b831
|
|
@ -144,7 +144,7 @@ func TestCustomerServerRootCA(t *testing.T) {
|
||||||
|
|
||||||
client, err := newActionsClientFromConfig(config, creds)
|
client, err := newActionsClientFromConfig(config, creds)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
_, err = client.GetRunnerScaleSet(ctx, "test")
|
_, err = client.GetRunnerScaleSet(ctx, 1, "test")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, serverCalledSuccessfully)
|
assert.True(t, serverCalledSuccessfully)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -316,14 +316,8 @@ func (r *AutoscalingRunnerSetReconciler) createRunnerScaleSet(ctx context.Contex
|
||||||
logger.Error(err, "Failed to initialize Actions service client for creating a new runner scale set")
|
logger.Error(err, "Failed to initialize Actions service client for creating a new runner scale set")
|
||||||
return ctrl.Result{}, err
|
return ctrl.Result{}, err
|
||||||
}
|
}
|
||||||
runnerScaleSet, err := actionsClient.GetRunnerScaleSet(ctx, autoscalingRunnerSet.Spec.RunnerScaleSetName)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error(err, "Failed to get runner scale set from Actions service")
|
|
||||||
return ctrl.Result{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
runnerGroupId := 1
|
runnerGroupId := 1
|
||||||
if runnerScaleSet == nil {
|
|
||||||
if len(autoscalingRunnerSet.Spec.RunnerGroup) > 0 {
|
if len(autoscalingRunnerSet.Spec.RunnerGroup) > 0 {
|
||||||
runnerGroup, err := actionsClient.GetRunnerGroupByName(ctx, autoscalingRunnerSet.Spec.RunnerGroup)
|
runnerGroup, err := actionsClient.GetRunnerGroupByName(ctx, autoscalingRunnerSet.Spec.RunnerGroup)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -334,6 +328,17 @@ func (r *AutoscalingRunnerSetReconciler) createRunnerScaleSet(ctx context.Contex
|
||||||
runnerGroupId = int(runnerGroup.ID)
|
runnerGroupId = int(runnerGroup.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
runnerScaleSet, err := actionsClient.GetRunnerScaleSet(ctx, runnerGroupId, autoscalingRunnerSet.Spec.RunnerScaleSetName)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error(err, "Failed to get runner scale set from Actions service",
|
||||||
|
"runnerGroupId",
|
||||||
|
strconv.Itoa(runnerGroupId),
|
||||||
|
"runnerScaleSetName",
|
||||||
|
autoscalingRunnerSet.Spec.RunnerScaleSetName)
|
||||||
|
return ctrl.Result{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if runnerScaleSet == nil {
|
||||||
runnerScaleSet, err = actionsClient.CreateRunnerScaleSet(
|
runnerScaleSet, err = actionsClient.CreateRunnerScaleSet(
|
||||||
ctx,
|
ctx,
|
||||||
&actions.RunnerScaleSet{
|
&actions.RunnerScaleSet{
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ const (
|
||||||
|
|
||||||
//go:generate mockery --inpackage --name=ActionsService
|
//go:generate mockery --inpackage --name=ActionsService
|
||||||
type ActionsService interface {
|
type ActionsService interface {
|
||||||
GetRunnerScaleSet(ctx context.Context, runnerScaleSetName string) (*RunnerScaleSet, error)
|
GetRunnerScaleSet(ctx context.Context, runnerGroupId int, runnerScaleSetName string) (*RunnerScaleSet, error)
|
||||||
GetRunnerScaleSetById(ctx context.Context, runnerScaleSetId int) (*RunnerScaleSet, error)
|
GetRunnerScaleSetById(ctx context.Context, runnerScaleSetId int) (*RunnerScaleSet, error)
|
||||||
GetRunnerGroupByName(ctx context.Context, runnerGroup string) (*RunnerGroup, error)
|
GetRunnerGroupByName(ctx context.Context, runnerGroup string) (*RunnerGroup, error)
|
||||||
CreateRunnerScaleSet(ctx context.Context, runnerScaleSet *RunnerScaleSet) (*RunnerScaleSet, error)
|
CreateRunnerScaleSet(ctx context.Context, runnerScaleSet *RunnerScaleSet) (*RunnerScaleSet, error)
|
||||||
|
|
@ -285,8 +285,8 @@ func (c *Client) NewActionsServiceRequest(ctx context.Context, method, path stri
|
||||||
return req, nil
|
return req, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) GetRunnerScaleSet(ctx context.Context, runnerScaleSetName string) (*RunnerScaleSet, error) {
|
func (c *Client) GetRunnerScaleSet(ctx context.Context, runnerGroupId int, runnerScaleSetName string) (*RunnerScaleSet, error) {
|
||||||
path := fmt.Sprintf("/%s?name=%s", scaleSetEndpoint, runnerScaleSetName)
|
path := fmt.Sprintf("/%s?runnerGroupId=%d&name=%s", scaleSetEndpoint, runnerGroupId, runnerScaleSetName)
|
||||||
req, err := c.NewActionsServiceRequest(ctx, http.MethodGet, path, nil)
|
req, err := c.NewActionsServiceRequest(ctx, http.MethodGet, path, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ func TestGetRunnerScaleSet(t *testing.T) {
|
||||||
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
got, err := client.GetRunnerScaleSet(ctx, scaleSetName)
|
got, err := client.GetRunnerScaleSet(ctx, 1, scaleSetName)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, want, got)
|
assert.Equal(t, want, got)
|
||||||
})
|
})
|
||||||
|
|
@ -50,7 +50,7 @@ func TestGetRunnerScaleSet(t *testing.T) {
|
||||||
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = client.GetRunnerScaleSet(ctx, scaleSetName)
|
_, err = client.GetRunnerScaleSet(ctx, 1, scaleSetName)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
expectedPath := "/tenant/123/_apis/runtime/runnerscalesets"
|
expectedPath := "/tenant/123/_apis/runtime/runnerscalesets"
|
||||||
|
|
@ -67,7 +67,7 @@ func TestGetRunnerScaleSet(t *testing.T) {
|
||||||
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = client.GetRunnerScaleSet(ctx, scaleSetName)
|
_, err = client.GetRunnerScaleSet(ctx, 1, scaleSetName)
|
||||||
assert.NotNil(t, err)
|
assert.NotNil(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ func TestGetRunnerScaleSet(t *testing.T) {
|
||||||
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = client.GetRunnerScaleSet(ctx, scaleSetName)
|
_, err = client.GetRunnerScaleSet(ctx, 1, scaleSetName)
|
||||||
assert.NotNil(t, err)
|
assert.NotNil(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -102,7 +102,7 @@ func TestGetRunnerScaleSet(t *testing.T) {
|
||||||
)
|
)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = client.GetRunnerScaleSet(ctx, scaleSetName)
|
_, err = client.GetRunnerScaleSet(ctx, 1, scaleSetName)
|
||||||
assert.NotNil(t, err)
|
assert.NotNil(t, err)
|
||||||
expectedRetry := retryMax + 1
|
expectedRetry := retryMax + 1
|
||||||
assert.Equalf(t, actualRetry, expectedRetry, "A retry was expected after the first request but got: %v", actualRetry)
|
assert.Equalf(t, actualRetry, expectedRetry, "A retry was expected after the first request but got: %v", actualRetry)
|
||||||
|
|
@ -118,7 +118,7 @@ func TestGetRunnerScaleSet(t *testing.T) {
|
||||||
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
got, err := client.GetRunnerScaleSet(ctx, scaleSetName)
|
got, err := client.GetRunnerScaleSet(ctx, 1, scaleSetName)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, want, got)
|
assert.Equal(t, want, got)
|
||||||
})
|
})
|
||||||
|
|
@ -133,7 +133,7 @@ func TestGetRunnerScaleSet(t *testing.T) {
|
||||||
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
client, err := actions.NewClient(server.configURLForOrg("my-org"), auth)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = client.GetRunnerScaleSet(ctx, scaleSetName)
|
_, err = client.GetRunnerScaleSet(ctx, 1, scaleSetName)
|
||||||
require.NotNil(t, err)
|
require.NotNil(t, err)
|
||||||
assert.Equal(t, wantErr.Error(), err.Error())
|
assert.Equal(t, wantErr.Error(), err.Error())
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ func (f *FakeClient) applyDefaults() {
|
||||||
f.getRunnerByNameResult.RunnerReference = defaultRunnerReference
|
f.getRunnerByNameResult.RunnerReference = defaultRunnerReference
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FakeClient) GetRunnerScaleSet(ctx context.Context, runnerScaleSetName string) (*actions.RunnerScaleSet, error) {
|
func (f *FakeClient) GetRunnerScaleSet(ctx context.Context, runnerGroupId int, runnerScaleSetName string) (*actions.RunnerScaleSet, error) {
|
||||||
return f.getRunnerScaleSetResult.RunnerScaleSet, f.getRunnerScaleSetResult.err
|
return f.getRunnerScaleSetResult.RunnerScaleSet, f.getRunnerScaleSetResult.err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -263,13 +263,13 @@ func (_m *MockActionsService) GetRunnerGroupByName(ctx context.Context, runnerGr
|
||||||
return r0, r1
|
return r0, r1
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetRunnerScaleSet provides a mock function with given fields: ctx, runnerScaleSetName
|
// GetRunnerScaleSet provides a mock function with given fields: ctx, runnerGroupId, runnerScaleSetName
|
||||||
func (_m *MockActionsService) GetRunnerScaleSet(ctx context.Context, runnerScaleSetName string) (*RunnerScaleSet, error) {
|
func (_m *MockActionsService) GetRunnerScaleSet(ctx context.Context, runnerGroupId int, runnerScaleSetName string) (*RunnerScaleSet, error) {
|
||||||
ret := _m.Called(ctx, runnerScaleSetName)
|
ret := _m.Called(ctx, runnerGroupId, runnerScaleSetName)
|
||||||
|
|
||||||
var r0 *RunnerScaleSet
|
var r0 *RunnerScaleSet
|
||||||
if rf, ok := ret.Get(0).(func(context.Context, string) *RunnerScaleSet); ok {
|
if rf, ok := ret.Get(0).(func(context.Context, int, string) *RunnerScaleSet); ok {
|
||||||
r0 = rf(ctx, runnerScaleSetName)
|
r0 = rf(ctx, runnerGroupId, runnerScaleSetName)
|
||||||
} else {
|
} else {
|
||||||
if ret.Get(0) != nil {
|
if ret.Get(0) != nil {
|
||||||
r0 = ret.Get(0).(*RunnerScaleSet)
|
r0 = ret.Get(0).(*RunnerScaleSet)
|
||||||
|
|
@ -277,8 +277,8 @@ func (_m *MockActionsService) GetRunnerScaleSet(ctx context.Context, runnerScale
|
||||||
}
|
}
|
||||||
|
|
||||||
var r1 error
|
var r1 error
|
||||||
if rf, ok := ret.Get(1).(func(context.Context, string) error); ok {
|
if rf, ok := ret.Get(1).(func(context.Context, int, string) error); ok {
|
||||||
r1 = rf(ctx, runnerScaleSetName)
|
r1 = rf(ctx, runnerGroupId, runnerScaleSetName)
|
||||||
} else {
|
} else {
|
||||||
r1 = ret.Error(1)
|
r1 = ret.Error(1)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue