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

Issue 354: Segment store pods are not coming up with external access #362

Merged
merged 2 commits into from
Apr 9, 2020

Conversation

anishakj
Copy link
Contributor

@anishakj anishakj commented Apr 8, 2020

Signed-off-by: anisha.kj [email protected]

Change log description

In pravega operator 0.5, we are creating STS with different name that in turn changes pod name. Due to that init script of pravega is failing as it assumes pod name is same service name. And segment containers are not coming up.POD_NAME is passed as env variable from operator to pravega init script

Purpose of the change

Fixes #354

What the code does

From 0.7 pravega onwards, pod name and external service names were different with 0.5 operator.
Changed external service name to pod name, so that external service name and pod name will have the same name in every pravega version. Also while doing upgrade from 0.6 to 0.7, delete the external services and create services with same name of pravega-0.7 segment store pods.

How to verify it

Tested the below scenarios with external connectivity

  1. Able to deploy pravega 0.7 with operator
  2. Tried upgarde from 0.6 to 0.7 while IO work load is running. IO has stalled for a minute, while it is upgrading but it is resuming fine
  3. Tried Rollback by making the upgrade from 0.6 to 0.7 fail

All the above scenarios have passed

@anishakj anishakj requested a review from pbelgundi April 8, 2020 11:20
pkg/controller/pravegacluster/upgrade.go Show resolved Hide resolved
pkg/controller/pravegacluster/upgrade.go Show resolved Hide resolved
@@ -116,6 +119,14 @@ func StatefulSetNameForSegmentstoreBelow07(name string) string {
return fmt.Sprintf("%s-pravega-segmentstore", name)
}

func ServiceNameForSegmentStoreBelow07(name string, index int32) string {
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need these 2 methods?
It would be better to have all the name generation logic in one place inside method "ServiceNameForSegmentStore" and always invoke this method by passing PravegaCluster object as parameter.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@anishakj anishakj requested a review from Prabhaker24 April 8, 2020 13:57
@Prabhaker24
Copy link
Contributor

LGTM

@pbelgundi pbelgundi merged commit af4581c into master Apr 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Segment store pods are not coming up with external access
3 participants