Skip to content

Vendor update #1510

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

Merged
merged 11 commits into from
Aug 7, 2019
Merged

Vendor update #1510

merged 11 commits into from
Aug 7, 2019

Conversation

codesome
Copy link
Contributor

It includes this query optimization.

@codesome
Copy link
Contributor Author

I have opened weaveworks/common#161 for some conflicts.

codesome added 2 commits July 12, 2019 17:23
Signed-off-by: Ganesh Vernekar <[email protected]>
Signed-off-by: Ganesh Vernekar <[email protected]>
codesome added 2 commits July 15, 2019 19:30
Signed-off-by: Ganesh Vernekar <[email protected]>
Signed-off-by: Ganesh Vernekar <[email protected]>
Signed-off-by: Ganesh Vernekar <[email protected]>
Signed-off-by: Ganesh Vernekar <[email protected]>
@codesome
Copy link
Contributor Author

The TestChunkStoreRandom which failed in the test seems to be flaky. I ran it on my machine and it failed for the first time and then it did not fail later.

@gouthamve
Copy link
Contributor

Do you think the flakyness is caused by the vendor update?

@codesome
Copy link
Contributor Author

codesome commented Jul 17, 2019

I plan to investigate that sometime soon. If it was flaky before we would have seen it in other places too, so it might be the vendor update.

Copy link
Contributor

@csmarchbanks csmarchbanks left a comment

Choose a reason for hiding this comment

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

I need convincing that alertmanager will still work after this, and instructions on how to upgrade.

go.mod Outdated
github.com/prometheus/common v0.3.0
github.com/prometheus/prometheus v0.0.0-20190417125241-3cc5f9d88062
github.com/prometheus/tsdb v0.7.2-0.20190506134726-2ae028114c89
github.com/prometheus/alertmanager v0.17.0
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a breaking change. All of the gossip/mesh protocols have changed in this upgrade. At a minimum I would want to see what is necessary to upgrade the alertmanager after this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Prometheus uses v0.17.0 of alertmanager, hence this gets updated automatically if we want to update prometheus. Also the changes that I did to pkg/alertmanager was not final (was randomly making changes to fit the new API). It still needs testing and verifying.

@codesome
Copy link
Contributor Author

[This PR is still in a Draft stage as I have to verify the changes to alertmanager package and see that it works fine]

@codesome
Copy link
Contributor Author

Plugging this here prometheus/prometheus#5813.

I am going to decouple alertmanager from prometheus and vendor it here instead of bumping the alertmanager version.

@codesome
Copy link
Contributor Author

Now I have vendored against remove-alertmanager branch of Prometheus. It only contains this commit on top of Prometheus v2.11.1 which removes the hard dependency on alertmanager by copying only the required models.

This keeps the alertmanager version of cortex unchanged.

codesome added 2 commits July 31, 2019 21:06
Signed-off-by: Ganesh Vernekar <[email protected]>
Signed-off-by: Ganesh Vernekar <[email protected]>
@codesome
Copy link
Contributor Author

codesome commented Jul 31, 2019

In the same way, alertmanager 0.13.0 was not totally compatible with client_golang 1.0.0. And the latest Prometheus would pull it in.

I created another branch of alertmanager called ganesh-0.13 based on alertmanager 0.13.0, and added this commit on top of it for missing parts (Very hacky. The vendoring in that commit is client_golang 1.0.0 which can be ignored, main change is in api/api.go and ui/web.go where I copy those missing functions (duplicated in both the files)).

Copy link
Contributor

@csmarchbanks csmarchbanks left a comment

Choose a reason for hiding this comment

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

This looks sane to me. We talked at the community meeting and decided that using the branches was ok for now to not block Prometheus upgrades.

@@ -117,6 +117,7 @@ func buildNotifierConfig(rulerConfig *Config) (*config.Config, error) {
}
}
amConfig := &config.AlertmanagerConfig{
APIVersion: config.AlertmanagerAPIVersionV2,
Copy link
Contributor

@bboreham bboreham Aug 22, 2019

Choose a reason for hiding this comment

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

this appears to break alerts completely, since the v2 endpoint is not wired up - #1604

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.

5 participants