Skip to content

Commit 9146313

Browse files
authored
CLOUDP-303581: Fix update passing the desired config (#2166)
Signed-off-by: jose.vazquez <[email protected]>
1 parent 067abd8 commit 9146313

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

internal/controller/atlasnetworkcontainer/state_test.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,13 @@ func TestHandle(t *testing.T) {
548548
Provisioned: true,
549549
}, nil,
550550
)
551-
ncs.EXPECT().Update(mock.Anything, testProjectID, testContainerID, mock.Anything).Return(
551+
ncs.EXPECT().Update(mock.Anything, testProjectID, testContainerID, &networkcontainer.NetworkContainerConfig{
552+
Provider: "AWS",
553+
AtlasNetworkContainerConfig: akov2.AtlasNetworkContainerConfig{
554+
Region: "US_EAST_1",
555+
CIDRBlock: "10.12.0.0/21",
556+
},
557+
}).Return(
552558
&networkcontainer.NetworkContainer{
553559
NetworkContainerConfig: networkcontainer.NetworkContainerConfig{
554560
Provider: "AWS",

internal/controller/atlasnetworkcontainer/transitions.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ func (r *AtlasNetworkContainerReconciler) create(workflowCtx *workflow.Context,
2828
return r.ready(workflowCtx, req.networkContainer, createdContainer)
2929
}
3030

31-
func (r *AtlasNetworkContainerReconciler) sync(workflowCtx *workflow.Context, req *reconcileRequest, container *networkcontainer.NetworkContainer) (ctrl.Result, error) {
32-
cfg := networkcontainer.NewNetworkContainerConfig(
31+
func (r *AtlasNetworkContainerReconciler) sync(workflowCtx *workflow.Context, req *reconcileRequest, atlasContainer *networkcontainer.NetworkContainer) (ctrl.Result, error) {
32+
desiredConfig := networkcontainer.NewNetworkContainerConfig(
3333
req.networkContainer.Spec.Provider, &req.networkContainer.Spec.AtlasNetworkContainerConfig)
3434
// only the CIDR block can be updated in a container
35-
if cfg.CIDRBlock != container.NetworkContainerConfig.CIDRBlock {
36-
return r.update(workflowCtx, req, container)
35+
if desiredConfig.CIDRBlock != atlasContainer.NetworkContainerConfig.CIDRBlock {
36+
return r.update(workflowCtx, req, atlasContainer.ID, desiredConfig)
3737
}
38-
return r.ready(workflowCtx, req.networkContainer, container)
38+
return r.ready(workflowCtx, req.networkContainer, atlasContainer)
3939
}
4040

41-
func (r *AtlasNetworkContainerReconciler) update(workflowCtx *workflow.Context, req *reconcileRequest, container *networkcontainer.NetworkContainer) (ctrl.Result, error) {
42-
updatedContainer, err := req.service.Update(workflowCtx.Context, req.projectID, container.ID, &container.NetworkContainerConfig)
41+
func (r *AtlasNetworkContainerReconciler) update(workflowCtx *workflow.Context, req *reconcileRequest, id string, config *networkcontainer.NetworkContainerConfig) (ctrl.Result, error) {
42+
updatedContainer, err := req.service.Update(workflowCtx.Context, req.projectID, id, config)
4343
if err != nil {
4444
wrappedErr := fmt.Errorf("failed to update container: %w", err)
4545
return r.terminate(workflowCtx, req.networkContainer, workflow.NetworkContainerNotConfigured, wrappedErr), nil

0 commit comments

Comments
 (0)