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

Bug 1809195: Send CVO metrics over https #358

Merged
merged 3 commits into from
Jun 11, 2020

Conversation

jottofar
Copy link
Contributor

CVO metrics are currently being sent insecurely over http. Change
metrics yaml file to use https and TLS encryption.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 23, 2020
@openshift-ci-robot openshift-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. labels Apr 23, 2020
@openshift-ci-robot
Copy link
Contributor

@jottofar: This pull request references Bugzilla bug 1809195, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target release (4.5.0) matches configured target release for branch (4.5.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, ON_DEV, POST, POST)

In response to this:

WIP: Bug 1809195: Send CVO metrics over https

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@jottofar jottofar force-pushed the bug-1809195 branch 3 times, most recently from a1c1ff4 to 8eab894 Compare April 24, 2020 20:29
@jottofar
Copy link
Contributor Author

/retest

@jottofar
Copy link
Contributor Author

/test e2e-aws-upgrade

@jottofar
Copy link
Contributor Author

/test images

@jottofar jottofar force-pushed the bug-1809195 branch 4 times, most recently from f148673 to 24c6cfc Compare April 29, 2020 02:36
@wking
Copy link
Member

wking commented Apr 29, 2020

After some wandering in the wilderness above, I think I'm starting to wrap my head around this. Take a look at wking/cluster-version-operator@c8cb5cf, pick up whatever seems useful, and then move on to figure out the Go behind the new X.509 options.

@jottofar jottofar force-pushed the bug-1809195 branch 5 times, most recently from 78ea74f to 1adcf60 Compare May 4, 2020 13:41
@jottofar
Copy link
Contributor Author

jottofar commented Jun 8, 2020

/test e2e-aws

pkg/start/start.go Outdated Show resolved Hide resolved
pkg/start/start.go Outdated Show resolved Hide resolved
pkg/start/start.go Outdated Show resolved Hide resolved
pkg/start/start.go Outdated Show resolved Hide resolved
CVO metrics are currently being sent insecurely over http. Change
metrics configuration to use https and TLS encryption. CVO will
continue to use the same metrics port and will continue to support
http so a connection mux is setup on the existing port.
Using library-go@v0.0.0-20200303185131-81598fff9efa version to
minimize changes, e.g. client-go kubernetes rebase to v1.18.0-beta.2.
@jottofar
Copy link
Contributor Author

/retest

Copy link
Member

@wking wking left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Jun 10, 2020
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jottofar, wking

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

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@jottofar
Copy link
Contributor Author

/retest

1 similar comment
@jottofar
Copy link
Contributor Author

/retest

@jottofar
Copy link
Contributor Author

/test e2e-aws

@openshift-merge-robot openshift-merge-robot merged commit 68904d1 into openshift:master Jun 11, 2020
@openshift-ci-robot
Copy link
Contributor

@jottofar: All pull requests linked via external trackers have merged: openshift/cluster-version-operator#358. Bugzilla bug 1809195 has been moved to the MODIFIED state.

In response to this:

Bug 1809195: Send CVO metrics over https

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

jottofar added a commit to jottofar/cluster-version-operator that referenced this pull request Jun 16, 2020
During modifications for
openshift#358 a new first
line of spec was added and therefore next line should not contain '-'.
wking added a commit to wking/cluster-version-operator that referenced this pull request Nov 18, 2020
We began serving metrics over HTTPS with 6132bc3 (Bug 1809195: Send
CVO metrics over https, 2020-05-07, openshift#358), which also requested
monitoring to scrape us over HTTPS.  Now that that is all in place in
4.6, we no longer need to serve over HTTP in 4.7 and later.  This
commit pivots us to always serving over HTTPS.

Because we are no longer serving HTTP, move to requiring
--serving-cert-file and --serving-key-file when --listen is non-empty.
I'd like to drop the --listen default, to make it an explicit opt-in,
but I don't want to lose metrics when folks update from 4.6 -> 4.7.
With this commit we start setting --listen explicitly when we launch
child CVOs, and in 4.8 we can drop:

  ListenAddr: "0.0.0.0:9099",

from pkg/start.  It's possible that the manifest for the incoming CVO
is constructed from the incoming release image, in which case we may
be able to drop the --listen default now.

I'm not setting --listen in the bootstrap manifest, because we don't
need to serve metrics then (it's long before we have Prometheus around
to scrape us).
wking added a commit to wking/cluster-version-operator that referenced this pull request Apr 16, 2021
We began serving metrics over HTTPS with 6132bc3 (Bug 1809195: Send
CVO metrics over https, 2020-05-07, openshift#358), which also requested
monitoring to scrape us over HTTPS.  Now that that is all in place in
4.6, we no longer need to serve over HTTP in 4.7 and later.  This
commit pivots us to always serving over HTTPS.

Because we are no longer serving HTTP, move to requiring
--serving-cert-file and --serving-key-file when --listen is non-empty.
I'd like to drop the --listen default, to make it an explicit opt-in,
but I don't want to lose metrics when folks update from 4.6 -> 4.7.
With this commit we start setting --listen explicitly when we launch
child CVOs, and in 4.8 we can drop:

  ListenAddr: "0.0.0.0:9099",

from pkg/start.  It's possible that the manifest for the incoming CVO
is constructed from the incoming release image, in which case we may
be able to drop the --listen default now.

I'm not setting --listen in the bootstrap manifest, because we don't
need to serve metrics then (it's long before we have Prometheus around
to scrape us).
wking added a commit to wking/cluster-version-operator that referenced this pull request Apr 16, 2021
We began serving metrics over HTTPS with 6132bc3 (Bug 1809195: Send
CVO metrics over https, 2020-05-07, openshift#358), which also requested
monitoring to scrape us over HTTPS.  Now that that is all in place in
4.6, we no longer need to serve over HTTP in 4.7 and later.  This
commit pivots us to always serving over HTTPS.

Because we are no longer serving HTTP, move to requiring
--serving-cert-file and --serving-key-file when --listen is non-empty.
I'd like to drop the --listen default, to make it an explicit opt-in,
but I don't want to lose metrics when folks update from 4.6 -> 4.7.
With this commit we start setting --listen explicitly when we launch
child CVOs, and in 4.8 we can drop:

  ListenAddr: "0.0.0.0:9099",

from pkg/start.  It's possible that the manifest for the incoming CVO
is constructed from the incoming release image, in which case we may
be able to drop the --listen default now.

I'm not setting --listen in the bootstrap manifest, because we don't
need to serve metrics then (it's long before we have Prometheus around
to scrape us).
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. bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants