provider-aws icon indicating copy to clipboard operation
provider-aws copied to clipboard

listener will never get reconcile with changed spec in forward config section

Open BellonXiao opened this issue 1 year ago • 0 comments

What happened?

In Listener spec, if we change the forward config target group arn to another one, the external resource will never get reconciled and changed accordingly. This makes traffic switching never happen.

From the source code we found that Listener object will never check if external resource is up to date or not:

func newExternal(kube client.Client, client svcsdkapi.ELBV2API, opts []option) *external {
	e := &external{
		kube:           kube,
		client:         client,
		preObserve:     nopPreObserve,
		postObserve:    nopPostObserve,
		lateInitialize: nopLateInitialize,
		isUpToDate:     alwaysUpToDate,
		filterList:     nopFilterList,
		preCreate:      nopPreCreate,
		postCreate:     nopPostCreate,
		preDelete:      nopPreDelete,
		postDelete:     nopPostDelete,
		preUpdate:      nopPreUpdate,
		postUpdate:     nopPostUpdate,
	}
	for _, f := range opts {
		f(e)
	}
	return e
}

func alwaysUpToDate(*svcapitypes.Listener, *svcsdk.DescribeListenersOutput) (bool, error) {
	return true, nil
}

How can we reproduce it?

What environment did it happen in?

Crossplane version: v1.10.1 AWS-provider version: 0.33.0

BellonXiao avatar Nov 14 '22 08:11 BellonXiao