Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moving to use operator v1 api #125

Merged
merged 1 commit into from
Feb 7, 2019
Merged

Conversation

jhadvig
Copy link
Member

@jhadvig jhadvig commented Feb 5, 2019

Migrating from v1alpha1 towards v1 for console-operator

Wasn't really sure what to do with v1alpha1 fields that we have been using in the codebase. Adding comments to each occurrence, to discuss if that particular part is necessary.

@benjaminapetersen PTAL

@enj fyi

func (c *consoleOperator) Sync(obj metav1.Object) error {
startTime := time.Now()
logrus.Infof("started syncing operator %q (%v)", obj.GetName(), startTime)
defer logrus.Infof("finished syncing operator %q (%v) \n\n", obj.GetName(), time.Since(startTime))

operatorConfig := obj.(*consolev1alpha1.Console)
operatorConfig := obj.(*consolev1.Console)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty sure if you swap Sync() func here for:

func (c *consoleOperator) Sync(obj metav1.Object) error {
	startTime := time.Now()
	logrus.Infof("started syncing operator %q (%v)", obj.GetName(), startTime)
	defer logrus.Infof("finished syncing operator %q (%v) \n\n", obj.GetName(), time.Since(startTime))

	operatorConfig := obj.(*consolev1.Console)

	if err := c.handleSync(operatorConfig); err != nil {
		return err
	}
	return nil
}

func (c *consoleOperator) handleSync(config *consolev1.Console) error {

	switch config.Spec.ManagementState {
	case operatorv1.Managed:
		logrus.Println("console is in a managed state.")
		// handled below
	case operatorv1.Unmanaged:
		logrus.Println("console is in an unmanaged state.")
		return nil
		// take a look @ https://github.com/openshift/service-serving-cert-signer/blob/master/pkg/operator/operator.go#L86
	case operatorv1.Removed:
		logrus.Println("console has been removed.")
		return c.deleteAllResources(config)
	default:
		// TODO should update status
		return fmt.Errorf("unknown state: %v", config.Spec.ManagementState)
	}

	// do we need the if(configChanged) update bits?
	outConfig, configChanged, err := sync_v400(c, config)
	if err != nil {
		return err
	}
	if configChanged {
		// TODO: this should do better apply logic or similar, maybe use SetStatusFromAvailability
		_, err = c.operatorClient.Update(outConfig)
		if err != nil {
			return err
		}
	}

	return nil
}

It will eliminate the fields that we no longer care about.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See here, a previous pass at moving to the v1, before things changed: https://github.com/openshift/console-operator/pull/103/files#diff-69ecbb024dab972c8729678abdf9c0faR132

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It drops the second switch statement entirely. We dont need it yet.

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/test all

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/test e2e-aws-operator

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/retest

1 similar comment
@benjaminapetersen
Copy link
Contributor

/retest

logrus.Println("console is in an unmanaged state.")
return nil
// take a look @ https://github.com/openshift/service-serving-cert-signer/blob/master/pkg/operator/operator.go#L86
case operatorsv1alpha1.Removed:
// take a look @ https://github.com/openshift/service-serving-cert-signer/blob/master/pkg/operator/operator.go#L86
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably cut some of these old comments.

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/test all

1 similar comment
@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/test all

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/retest

2 similar comments
@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/retest

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/retest

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/test all

1 similar comment
@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/test all

@benjaminapetersen
Copy link
Contributor

Fun fun...

@jhadvig
Copy link
Member Author

jhadvig commented Feb 5, 2019

/test all

@benjaminapetersen
Copy link
Contributor

/retest?

@openshift-ci-robot openshift-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Feb 6, 2019
@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

/retest

2 similar comments
@openshift-bot
Copy link
Contributor

/retest

@benjaminapetersen
Copy link
Contributor

/retest

@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

/test e2e-aws-operator

@benjaminapetersen
Copy link
Contributor

/retest

@benjaminapetersen
Copy link
Contributor

500 errors

@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

/test e2e-aws-operator

@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

/test e2e-aws-operator

@benjaminapetersen
Copy link
Contributor

/retest

@benjaminapetersen
Copy link
Contributor

I was hopeful we could sneak one by CI 😅

@benjaminapetersen
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Feb 6, 2019
@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

/test e2e-aws-operator

@benjaminapetersen
Copy link
Contributor

/retest

@spadgett
Copy link
Member

spadgett commented Feb 6, 2019

looks like this needs to be rebased :/

@benjaminapetersen
Copy link
Contributor

boo.

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Feb 6, 2019
@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

@spadgett rebased and pushed 👍

@@ -63,12 +64,20 @@ func TestStub(t *testing.T) {
{
name: "Test stubbing secret",
want: &corev1.Secret{
<<<<<<< HEAD
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wups. Rebase stuff.....

@benjaminapetersen
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Feb 6, 2019
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: benjaminapetersen, jhadvig

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

/retest

@jhadvig
Copy link
Member Author

jhadvig commented Feb 6, 2019

/test e2e-aws-operator

1 similar comment
@jhadvig
Copy link
Member Author

jhadvig commented Feb 7, 2019

/test e2e-aws-operator

@openshift-merge-robot openshift-merge-robot merged commit 8eb1032 into openshift:master Feb 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants