Skip to content

Support Multi-stage install with Add-On's#4271

Merged
alpeb merged 7 commits intolinkerd:masterfrom
Pothulapati:multi-stage
Apr 23, 2020
Merged

Support Multi-stage install with Add-On's#4271
alpeb merged 7 commits intolinkerd:masterfrom
Pothulapati:multi-stage

Conversation

@Pothulapati
Copy link
Contributor

@Pothulapati Pothulapati commented Apr 17, 2020

This PR add's support for multi stage install with add-ons. When we did the initial add-on model, Multi-stage wasn't supported as we had only one add-on and it was optional. This meant that users couldn't use multi-stage with add-ons i.e the full add-on manifests would be part of the ControlPlaneStage. (no ConfigStage for addons)

But now that we are adding grafana and prometheus as add-on's, It's important that all the things that are part of the install path are supported in the add-on model. This PR does this by separating the add-on template files into ConfigStageTemplates() and ControlPlaneStageTemplates which will be called based on the stage.

Once this is merged, Users should be able to perform multi-stage normally along with --addon-config flag to pass add-on configuration.

Linkerd with Tracing add-on can be installed in multiple stages as follows:

Let addons.yaml be

tracing:
  enabled: true

Config Stage:

linkerd install config --addon-config addons.yaml

Control-Plane Stage:

linkerd install control-plane --addon-config addons.yaml

This follows the usual requirement that, users must pass the same flags on both these stages.

Changes include:

  • Replacing Templates() with ConfigStageTemplates(), ControlPlaneStageTemplates() func's in the addOn interface, to separate out add-on template files.
  • Add Install and Upgrade Unit tests for Multi-stage with add-ons.

Signed-off-by: Tarun Pothulapati [email protected]

Signed-off-by: Tarun Pothulapati <[email protected]>
@Pothulapati Pothulapati force-pushed the multi-stage branch 4 times, most recently from 6054c8d to 0aaf6e9 Compare April 17, 2020 15:22
Signed-off-by: Tarun Pothulapati <[email protected]>
Signed-off-by: Tarun Pothulapati <[email protected]>
Copy link
Member

@alpeb alpeb left a comment

Choose a reason for hiding this comment

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

Great work @Pothulapati 👏
Awesome comprehensive tests 👍
I just have one comment.

Signed-off-by: Tarun Pothulapati <[email protected]>
Copy link
Member

@alpeb alpeb left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@adleong
Copy link
Member

adleong commented Apr 22, 2020

Thanks, @Pothulapati! Before I really dig into reviewing this, can you give me a bit more context on what it means? What about multi-stage install with add-on doesn't work today and how will it work once this is merged?

@Pothulapati
Copy link
Contributor Author

@adleong Updated the PR description with that info. Feel free to comment, if I missed anything :)

Copy link
Member

@adleong adleong left a comment

Choose a reason for hiding this comment

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

Thank you for the excellent PR description! LGTM!

@alpeb alpeb merged commit 60ffd1c into linkerd:master Apr 23, 2020
alpeb added a commit that referenced this pull request Apr 23, 2020
Followup to #4271

Add missing annotation `linkerd.io/workload-ns: linkerd` in in the
addons test fixtures, introduced the downward work from #4199
alpeb added a commit that referenced this pull request Apr 23, 2020
Followup to #4271

Add missing annotation `linkerd.io/workload-ns: linkerd` in in the
addons test fixtures, introduced the downward work from #4199
alpeb added a commit that referenced this pull request Apr 23, 2020
Followup to #4271

Add missing annotation `linkerd.io/workload-ns: linkerd` in in the
addons test fixtures, introduced by the downward work from #4199
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.

3 participants