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

*: fix new install core #310

Merged
merged 13 commits into from
Sep 25, 2018
Merged

*: fix new install core #310

merged 13 commits into from
Sep 25, 2018

Conversation

crawford
Copy link
Contributor

@crawford crawford commented Sep 23, 2018

This now brings up a functioning OpenTonic cluster.

@openshift-ci-robot openshift-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Sep 23, 2018
@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 23, 2018
@crawford
Copy link
Contributor Author

crawford commented Sep 23, 2018

Supersedes #280, #289, #301, and #309.

/cc @yifan-gu @abhinavdahiya @wking

@wking
Copy link
Member

wking commented Sep 23, 2018

Supersedes #280, #289, #301, and #309.

Heh, this is pretty big ;). Would it be hard to land those and then rebase this on top? I don't know how intertwined these are, but I think #280 is ready for a lgtm now.

@crawford
Copy link
Contributor Author

@wking If people are around today to /lgtm multiple times, that works for me. I just want to make sure we get this in before everyone else begins integrating. Otherwise, we'll have to integrate everything twice.

@openshift-ci-robot openshift-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Sep 23, 2018
@crawford crawford changed the title *: integrate new installer core *: fix new install core Sep 23, 2018
func (c *InstallConfig) WorkerCount() int {
for _, m := range c.Machines {
if m.Name == "worker" && m.Replicas != nil {
return int(*m.Replicas)
Copy link
Member

@wking wking Sep 23, 2018

Choose a reason for hiding this comment

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

What if there are multiple worker pools? Shouldn't these be sums?

Also, thi nil-replicas case counts as 1.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We should probably ensure that you can't have multiple worker pools with the same name.

Copy link
Member

Choose a reason for hiding this comment

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

We should probably ensure that you can't have multiple worker pools with the same name.

How do you feel about the ideas in #264?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That makes sense. We could probably drop this method as well, since I only think we really need the master count. I'll go ahead and drop this method.

for i := 0; i < kco.installConfig.MasterCount(); i++ {
urls = append(urls, fmt.Sprintf("https://%s-etcd-%d.%s:2379", kco.installConfig.Name, i, kco.installConfig.BaseDomain))
}
return strings.Join(urls, ",")
Copy link
Member

Choose a reason for hiding this comment

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

I would much rather return []string here and only Join where that serialization is needed.

// EtcdCACertName is the filename of the EtcdCACert.
EtcdCACertName = "etcd-ca.crt"
EtcdCACertName = "etcd-client-ca.crt"
Copy link
Member

Choose a reason for hiding this comment

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

If this is just for clients, can we update the variable names to match? And possibly update the doc dependency graph and other places using the old naming?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe that CA is for everything etcd-related now. It's probably more appropriate to change the filenames, but I didn't want to change that yet, since the old codebase assumes the CA is just for clients.

Copy link
Member

Choose a reason for hiding this comment

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

It's probably more appropriate to change the filenames, but I didn't want to change that yet, since the old codebase assumes the CA is just for clients.

Is this the same situation as the kubeconfigs, with an external dependency relying on the specific path? Or are these internal references all we'd need to update?

$ git log -1 --oneline origin/master
c53ea04 Merge pull request #309 from crawford/tectonic
$ git grep 'etcd-client-ca\.' origin/master | cat
origin/master:installer/pkg/config-generator/tls.go:	if err := copy.Copy(filepath.Join(clusterDir, etcdCAKeyPath), filepath.Join(clusterDir, "generated/tls/etcd-client-ca.key")); err != nil {
origin/master:installer/pkg/config-generator/tls.go:	if err := copy.Copy(filepath.Join(clusterDir, etcdCACertPath), filepath.Join(clusterDir, "generated/tls/etcd-client-ca.crt")); err != nil {
origin/master:modules/bootkube/resources/bootkube.sh:			--etcd-ca=/assets/tls/etcd-client-ca.crt \
origin/master:modules/bootkube/resources/bootkube.sh:	--cacrt=/opt/tectonic/tls/etcd-client-ca.crt \
origin/master:modules/bootkube/resources/bootkube.sh:	--cakey=/opt/tectonic/tls/etcd-client-ca.key \
origin/master:modules/bootkube/resources/bootkube.sh:		--cacert=/opt/tectonic/tls/etcd-client-ca.crt \
origin/master:modules/bootkube/resources/manifests/kube-apiserver-secret.yaml:  etcd-client-ca.crt: ${etcd_ca_cert}
origin/master:modules/bootkube/resources/manifests/openshift-apiserver-secret.yaml:  etcd-client-ca.crt: ${etcd_ca_cert}
origin/master:pkg/asset/ignition/content/bootkube.go:			--etcd-ca=/assets/tls/etcd-client-ca.crt \
origin/master:pkg/asset/ignition/content/bootkube.go:	--cacrt=/opt/tectonic/tls/etcd-client-ca.crt \
origin/master:pkg/asset/ignition/content/bootkube.go:	--cakey=/opt/tectonic/tls/etcd-client-ca.key \
origin/master:pkg/asset/ignition/content/bootkube.go:		--cacert=/opt/tectonic/tls/etcd-client-ca.crt \
origin/master:pkg/asset/manifests/content/bootkube/kube-apiserver-secret.go:  etcd-client-ca.crt: {{.EtcdCaCert}}
origin/master:pkg/asset/manifests/content/bootkube/openshift-apiserver-secret.go:  etcd-client-ca.crt: {{.EtcdCaCert}}
origin/master:steps/assets/base/ignition-tls.tf:  path = "/opt/tectonic/tls/etcd-client-ca.key"
origin/master:steps/assets/base/ignition-tls.tf:  path = "/opt/tectonic/tls/etcd-client-ca.crt"
origin/master:steps/assets/base/inputs.tf:  etcd_ca_cert_pem                = "${file("${local.tls_path}/etcd-client-ca.crt")}"
origin/master:steps/assets/base/inputs.tf:  etcd_ca_key_pem                 = "${file("${local.tls_path}/etcd-client-ca.key")}"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As far as I know, these are all internal references, so we can change the filename as soon as we drop the old codebase (technically, we could do it now, but I'd rather not bother renaming if we are just going to delete it later).

Copy link
Contributor

Choose a reason for hiding this comment

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

Some external dependencies:
etcd-client-ca.crt,key is expected by the static pods that run bootstrap control plane, (kube-core-operator)

kubeconfig (kubeconfig-admin) bootube (binary) expects this file to exist at auth/kubeconfig that is used by bootstrap control plane.

@crawford
Copy link
Contributor Author

Looks like we ran out of EIPs.

* aws_eip.nat_eip.0: Error creating EIP: AddressLimitExceeded: The maximum number of addresses has been reached.

@wking
Copy link
Member

wking commented Sep 23, 2018

Looks like we ran out of EIPs.

I'll run my cleanup script now, but there's a resource depdendency that keeps it from removing stale VPCs, so I still have to delete those by hand. And I'm still working my way back out of the hole from before openshift/release#1542 landed ;).

@crawford
Copy link
Contributor Author

@wking This should be ready to go.

@crawford
Copy link
Contributor Author

/retest

@abhinavdahiya
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2018
@abhinavdahiya
Copy link
Contributor

Forgot, should have approved. :P

/hold
@wking had some comments. /hold cancel

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 24, 2018
if err != nil {
return err
}
ipnet.IP = ip
ipnet.Mask = net.Mask
ipnet.IPNet = *net
Copy link
Member

Choose a reason for hiding this comment

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

This is lossy, and doesn't allow for an IP within the subnet. I think we want to keep this package how it was.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think that's okay. IPNet is supposed to encode a network address, not a host address. Do we have any configuration options that allow a host address?

Copy link
Member

Choose a reason for hiding this comment

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

IPNet is supposed to encode a network address, not a host address. Do we have any configuration options that allow a host address?

Maybe not yet, but recovering the initial IP seems straightforward, so I don't think we need to make project-specific assumptions in this package.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We should change the name of the package then, since the IPNet from the standard library is designed for the same task (the only functionality we are adding is the ability to marshal and unmarshal). I think that's probably out of scope for this PR, but I can follow up after this merges.

Copy link
Member

@wking wking Sep 24, 2018

Choose a reason for hiding this comment

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

We should change the name of the package then, since the IPNet from the standard library is designed for the same task (the only functionality we are adding is the ability to marshal and unmarshal).

We just add the pretty CIDR serialization. The stdlib's IPNet round-trips non-root IPs fine.

Copy link
Contributor

Choose a reason for hiding this comment

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

@wking the round trip from pkg/ipnet
https://play.golang.org/p/4-DXPIkNHsi

2009/11/10 23:00:00 original: net.IPNet{IP:net.IP{0xc0, 0xa8, 0x0, 0xa}, Mask:net.IPMask{0xff, 0xff, 0xff, 0x0}}
2009/11/10 23:00:00 new: net.IPNet{IP:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xc0, 0xa8, 0x0, 0xa}, Mask:net.IPMask{0xff, 0xff, 0xff, 0x0}}

We moved from IPv4 to IPv6.

@@ -85,8 +84,7 @@ func (kco *kubeCoreOperator) coreConfig() (*kubecore.OperatorConfig, error) {
coreConfig.AuthConfig.OIDCGroupsClaim = authConfigOIDCGroupsClaim
coreConfig.AuthConfig.OIDCUsernameClaim = authConfigOIDCUsernameClaim

svcCidr := kco.installConfig.Networking.ServiceCIDR
ip, err := cidr.Host(&net.IPNet{IP: svcCidr.IP, Mask: svcCidr.Mask}, 10)
ip, err := cidr.Host(&kco.installConfig.Networking.ServiceCIDR.IPNet, 10)
Copy link
Member

Choose a reason for hiding this comment

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

I havent traced this back to see if ServiceCIDR is inotialed with an IP that doesn't start the subnet. But if that's the concern you can use IP.Mask to get the initial IP. Something like:

svcCIDR := kco.installConfig.Networking.ServiceCIDR
ip, err := cidr.Host(&net.IPNet{IP: svcCIDR.IP.Mask(svcCIDR), Mask: svcCIDR.Mask}, 10)

@crawford
Copy link
Contributor Author

/retest

@abhinavdahiya
Copy link
Contributor

From previous run

Error: Error applying plan:

6 error(s) occurred:

* module.iam.aws_iam_role.worker_role: 1 error(s) occurred:

* aws_iam_role.worker_role: Error creating IAM Role ci-op-s43yrcpx-f3aac-worker-role: EntityAlreadyExists: Role with name ci-op-s43yrcpx-f3aac-worker-role already exists.
	status code: 409, request id: 1b6ddbfd-bfaa-11e8-bebb-e1016bb3b541
* module.vpc.aws_elb.console: 1 error(s) occurred:

* aws_elb.console: DuplicateLoadBalancerName: Load Balancer named ci-op-s43yrcpx-f3aac-con already exists and it is configured with different parameters.
	status code: 400, request id: 88f0ad6c-bfaa-11e8-96b2-f3018199edb6
* module.vpc.aws_elb.api_external: 1 error(s) occurred:

* aws_elb.api_external: DuplicateLoadBalancerName: Load Balancer named ci-op-s43yrcpx-f3aac-ext already exists and it is configured with different parameters.
	status code: 400, request id: 895f4e6b-bfaa-11e8-8362-83410e28af9e
* module.masters.aws_iam_role.master_role: 1 error(s) occurred:

* aws_iam_role.master_role: Error creating IAM Role ci-op-s43yrcpx-f3aac-master-role: EntityAlreadyExists: Role with name ci-op-s43yrcpx-f3aac-master-role already exists.
	status code: 409, request id: 1b6e2a09-bfaa-11e8-8095-4f644b01fa4d
* module.bootstrap.aws_iam_role.bootstrap: 1 error(s) occurred:

* aws_iam_role.bootstrap: Error creating IAM Role ci-op-s43yrcpx-f3aac-bootstrap-role: EntityAlreadyExists: Role with name ci-op-s43yrcpx-f3aac-bootstrap-role already exists.
	status code: 409, request id: 1b6e2a0a-bfaa-11e8-8095-4f644b01fa4d
* module.vpc.aws_elb.api_internal: 1 error(s) occurred:

* aws_elb.api_internal: DuplicateLoadBalancerName: Load Balancer named ci-op-s43yrcpx-f3aac-int already exists and it is configured with different parameters.
	status code: 400, request id: 899fd9b6-bfaa-11e8-8feb-8926d9d5a30d

Terraform does not automatically rollback in the face of errors.
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure.

@crawford looks like leaked resources.. :(
if you force push it should give a new namespace and cluster name..
Or we need to clean up the existing resources.

@crawford
Copy link
Contributor Author

crawford commented Sep 24, 2018

@abhinavdahiya interesting. I'd like to understand what resources were leaked.

EDIT: Looks like load balancers and IAM roles.

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2018
The certificate also belongs in /etc/ssl/etcd.
This swaps out the URL of the OS image right before the cluster is
created so that the cached image is used instead of fetching it from the
network.
Instead of asking the user for an image URL, this just defaults to the
internal Red Hat CoreOS build server.
@openshift-ci-robot openshift-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Sep 24, 2018
@wking
Copy link
Member

wking commented Sep 24, 2018

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2018
@openshift-bot
Copy link
Contributor

/retest

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

@crawford
Copy link
Contributor Author

/retest

The issue was a result of IPNet's ParseCIDR() always returning a 16-byte
address, while some third-party libraries assume that the address length
corresponds to whether or not IPv6 is in use.
@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2018
@wking
Copy link
Member

wking commented Sep 25, 2018

EIP exhaustion.

/retest

@crawford
Copy link
Contributor Author

EIP Exhaustion again.

@wking
Copy link
Member

wking commented Sep 25, 2018

/retest

@wking
Copy link
Member

wking commented Sep 25, 2018

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 25, 2018
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhinavdahiya, crawford, 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:
  • OWNERS [abhinavdahiya,crawford,wking]

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

@wking
Copy link
Member

wking commented Sep 25, 2018

The smoke error was:

Invoking installer ...
time="2018-09-25T06:26:43Z" level=fatal msg="failed to get configuration from file \"inputs.yaml\": inputs.yaml is not a valid config file: failed to determine default AMI: RequestCanceled: request context canceled\ncaused by: context deadline exceeded" 
2018/09/25 06:26:44 Container setup in pod e2e-aws-smoke failed, exit code 1, reason Error

So we passed our 30-second limit on retrieving the AMI. Try again:

/retest

@wking
Copy link
Member

wking commented Sep 25, 2018

The merge smoke test hit:

6 error(s) occurred:

* module.iam.aws_iam_role.worker_role: 1 error(s) occurred:

* aws_iam_role.worker_role: Error creating IAM Role ci-op-2f32p7ib-f3aac-worker-role: EntityAlreadyExists: Role with name ci-op-2f32p7ib-f3aac-worker-role already exists.
	status code: 409, request id: 81f20c43-c08f-11e8-93f5-3953970cf1ea
* module.vpc.aws_elb.api_internal: 1 error(s) occurred:

* aws_elb.api_internal: DuplicateLoadBalancerName: Load Balancer named ci-op-2f32p7ib-f3aac-int already exists and it is configured with different parameters.
	status code: 400, request id: 8f6a3a67-c08f-11e8-9ab3-a14e83e1af4f
* module.bootstrap.aws_iam_role.bootstrap: 1 error(s) occurred:

* aws_iam_role.bootstrap: Error creating IAM Role ci-op-2f32p7ib-f3aac-bootstrap-role: EntityAlreadyExists: Role with name ci-op-2f32p7ib-f3aac-bootstrap-role already exists.
	status code: 409, request id: 81f1701d-c08f-11e8-ac05-a114d28a5a6e
* module.vpc.aws_elb.console: 1 error(s) occurred:

* aws_elb.console: DuplicateLoadBalancerName: Load Balancer named ci-op-2f32p7ib-f3aac-con already exists and it is configured with different parameters.
	status code: 400, request id: 8fe86b69-c08f-11e8-9ab3-a14e83e1af4f
* module.masters.aws_iam_role.master_role: 1 error(s) occurred:

* aws_iam_role.master_role: Error creating IAM Role ci-op-2f32p7ib-f3aac-master-role: EntityAlreadyExists: Role with name ci-op-2f32p7ib-f3aac-master-role already exists.
	status code: 409, request id: 81f20c45-c08f-11e8-93f5-3953970cf1ea
* module.vpc.aws_elb.api_external: 1 error(s) occurred:

* aws_elb.api_external: DuplicateLoadBalancerName: Load Balancer named ci-op-2f32p7ib-f3aac-ext already exists and it is configured with different parameters.
	status code: 400, request id: 8f4e9c39-c08f-11e8-9f0a-bf36972b5a0a

because our destroy code is broken (possibly because of this). I removed the resources by hand, so kicking it off again:

/retest

@wking
Copy link
Member

wking commented Sep 25, 2018

/retest

@openshift-merge-robot openshift-merge-robot merged commit dc56d78 into openshift:master Sep 25, 2018
@crawford crawford deleted the core branch September 25, 2018 16:04
wking added a commit to wking/openshift-installer that referenced this pull request Mar 6, 2019
…-release:4.0.0-0.6

Clayton pushed release:4.0.0-0.nightly-2019-03-04-234414 to
quay.io/openshift-release-dev/ocp-release:4.0.0-0.7.  Extracting the
associated RHCOS build:

  $ oc adm release info --pullspecs quay.io/openshift-release-dev/ocp-release:4.0.0-0.7 | grep machine-os-content
    machine-os-content                            quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:399582f711226ab1a0e76d8928ec55436dea9f8dc60976c10790d308b9d92181
  $ oc image info quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:399582f711226ab1a0e76d8928ec55436dea9f8dc60976c10790d308b9d92181 | grep version
              version=47.330

that's the same machine-os-content image referenced from 4.0.0-0.5,
which we used for installer v0.13.0, and 4.0.0-0.6, which we used for
installer v0.13.1.

Renaming OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE gets us CI testing
of the pinned release despite openshift/release@60007df2 (Use
RELEASE_IMAGE_LATEST for CVO payload, 2018-10-03,
openshift/release#1793).

Also comment out regions which this particular RHCOS build wasn't
pushed to, leaving only:

  $ curl -s https://releases-rhcos.svc.ci.openshift.org/storage/releases/maipo/47.330/meta.json | jq -r '.amis[] | .name'
  ap-northeast-1
  ap-northeast-2
  ap-south-1
  ap-southeast-1
  ap-southeast-2
  ca-central-1
  eu-central-1
  eu-west-1
  eu-west-2
  eu-west-3
  sa-east-1
  us-east-1
  us-east-2
  us-west-1
  us-west-2

I'd initially expected to export the pinning environment variables in
release.sh, but I've put them in build.sh here because our continuous
integration tests use build.sh directly and don't go through
release.sh.

Using the slick, new change-log generator from [1], here's everything
that changed in the update payload:

  $ oc adm release info --changelog ~/.local/lib/go/src --changes-from quay.io/openshift-release-dev/ocp-release:4.0.0-0.6 quay.io/openshift-release-dev/ocp-release:4.0.0-0.7
  # 4.0.0-0.7

  Created: 2019-03-05 18:33:12 +0000 UTC
  Image Digest: `sha256:641c0e4f550af59ec20349187a31751ae5108270f13332d1771935520ebf34c1`
  Promoted from registry.svc.ci.openshift.org/ocp/release:4.0.0-0.nightly-2019-03-04-234414

  ## Changes from 4.0.0-0.6

  ### Components

  * Kubernetes 1.12.4

  ### New images

  * [must-gather](https://github.com/openshift/must-gather) git [8286a5dc](https://github.com/openshift/must-gather/commit/8286a5dc432e339dc79c75044424cd9c89dc634b) `sha256:8faf4b3739c952de448c69325c8c101193c0665bb149d3d2830afd2aca973413`

  ### Rebuilt images without code change

  * [cluster-config-operator](https://github.com/openshift/cluster-config-operator) git [aa1805e7](https://github.com/openshift/cluster-config-operator/commit/aa1805e73138deabbfa57772170f310e2f3097cd) `sha256:86bb159de280a6d9f81a69081090148cfad233db1b6f596a996097b56c0d6940`
  * [cluster-openshift-apiserver-operator](https://github.com/openshift/cluster-openshift-apiserver-operator) git [0a65fe40](https://github.com/openshift/cluster-openshift-apiserver-operator/commit/0a65fe40a74cfc6114fdaa30e2b2c24924509cda) `sha256:71f521d9cb0b1f03fe78938f90df7a0a9bdf5a45a31c65b168533e507644da34`
  * [cluster-storage-operator](https://github.com/openshift/cluster-storage-operator) git [b8502422](https://github.com/openshift/cluster-storage-operator/commit/b850242280b7ef2cf7631952229c0a438ec39e64) `sha256:7b9990d7f21ddd4d981701d7f1e326e3ae2041d9aafad53115a828a9f0fa8d0e`
  * [cluster-svcat-apiserver-operator](https://github.com/openshift/cluster-svcat-apiserver-operator) git [547648cb](https://github.com/openshift/cluster-svcat-apiserver-operator/commit/547648cb7b3f2a0d8f049f680c18ac66cd339b3f) `sha256:6edd77ad4ef48f3b29045acc0c9a57b01dcfb2c42b497ab857fa4eb27d8a841c`
  * [cluster-svcat-controller-manager-operator](https://github.com/openshift/cluster-svcat-controller-manager-operator) git [9261f420](https://github.com/openshift/cluster-svcat-controller-manager-operator/commit/9261f420a3db9556606c8ee0980a5e02a8f28d89) `sha256:9af8c72361b3a8bad34c44be6903e02c0f8a56b6ef4d459fce9c75ee38251093`
  * [configmap-reloader](https://github.com/openshift/configmap-reload) git [3c2f8572](https://github.com/openshift/configmap-reload/commit/3c2f85724078cbf7ffab56886ff32d677c386afe) `sha256:fc79d84dee4f2a998a105e94a1457eb5aabf85b1b9d1a6468aca6f8835c04408`
  * [container-networking-plugins-supported](https://github.com/openshift/ose-containernetworking-plugins) git [f6a58dce](https://github.com/openshift/ose-containernetworking-plugins/commit/f6a58dcec62ca740305a58a0a6b008c5e57b8943) `sha256:4a561991866a16773e965586f40a5684174229430e56ad25f15b851fe8e725ed`
  * [container-networking-plugins-unsupported](https://github.com/openshift/ose-containernetworking-plugins) git [f6a58dce](https://github.com/openshift/ose-containernetworking-plugins/commit/f6a58dcec62ca740305a58a0a6b008c5e57b8943) `sha256:9f720109ad203a0a0e44e0da14e2e82aefaa40e6d41accdefdc5ec2b3aed9153`
  * [coredns](https://github.com/openshift/coredns) git [fbcb8252](https://github.com/openshift/coredns/commit/fbcb8252a1bab3d32ecf2dd3307f798aacd0280e) `sha256:3fe76f173faaf16af80d4f865c377a4dc4db24d32c1bba4c6d3115e66a788861`
  * [docker-builder](https://github.com/openshift/builder) git [1a77d837](https://github.com/openshift/builder/commit/1a77d837d8d74d5dcb6f8afcadb082629b04883e) `sha256:7bcb847c457cf8bf5813e10e46058f34426560d0798ca1d80f8ee34e5fa5727b`
  * [docker-registry](https://github.com/openshift/image-registry) git [afcc7daa](https://github.com/openshift/image-registry/commit/afcc7daa5eeeb6a77754ae86decefade83314189) `sha256:a457ab8bc3be66c97ce6babd77e6f1c1eaff91477bd5442460f927db06a15e55`
  * [etcd](https://github.com/openshift/etcd) git [a0e62b48](https://github.com/openshift/etcd/commit/a0e62b48f8db8572c129fa3d3507c7ce118ab650) `sha256:6b65c7ff285c611ae17a91deff91c0585773507e7fcffec7353ea849a66bd018`
  * [k8s-prometheus-adapter](https://github.com/openshift/k8s-prometheus-adapter) git [815fa76b](https://github.com/openshift/k8s-prometheus-adapter/commit/815fa76bdbccfd5ee6da8f9fa45d039c4342dcdb) `sha256:4274c276fec8729ad17ff77d74188ade01e3695b3b2afa3b995081394b107857`
  * [kube-rbac-proxy](https://github.com/openshift/kube-rbac-proxy) git [3f271e09](https://github.com/openshift/kube-rbac-proxy/commit/3f271e0951f18276ec54e8eac936725d6d68e073) `sha256:61180c69f1cba674625bd6c85995f524bdbdde27b2d08ea7efcecd7d3427409b`
  * [kube-state-metrics](https://github.com/openshift/kube-state-metrics) git [2ab51c9f](https://github.com/openshift/kube-state-metrics/commit/2ab51c9f341799107ffbf7f373ab55254dc044d0) `sha256:fc9fa4ce84819c084737115feef722f49d05d43ca6f438edfbc21535e2479b2d`
  * [multus-cni](https://github.com/openshift/ose-multus-cni) git [61f9e088](https://github.com/openshift/ose-multus-cni/commit/61f9e0886370ea5f6093ed61d4cfefc6dadef582) `sha256:077b65e55d01d3abd114933c4e132a642a0315f83b93b05b185fa338ce09595a`
  * [operator-registry](https://github.com/operator-framework/operator-registry) git [0531400c](https://github.com/operator-framework/operator-registry/commit/0531400c661ef7088d71b86ff5f52892f9407a1a) `sha256:035af1a1f35a1f0d8159576460437d9d3529b4f64e0b142a8da59a5e4e056a68`
  * [pod](https://github.com/openshift/images) git [2f60da39](https://github.com/openshift/images/commit/2f60da39a9d2e5cc00293b8ec7ad559fcd32446a) `sha256:810ded5c25b9ec252dba6a2497d1eff9ad13a19cc3ac290ef8943b7d658803f2`
  * [prom-label-proxy](https://github.com/openshift/prom-label-proxy) git [46423f9d](https://github.com/openshift/prom-label-proxy/commit/46423f9d573c7d53f5727de1e2db095ae039da06) `sha256:da1d1556af41b9d71e24cdc7406e0671f3eca877a16e465e6e5bdd5ecfad6bd1`
  * [prometheus](https://github.com/openshift/prometheus) git [6e5fb5dc](https://github.com/openshift/prometheus/commit/6e5fb5dcb6a709bd20ea68cddc1abfcceb8a487d) `sha256:5625206aa10f98cb2306bb37621cc3a6637ef69a43713fb4f9a34ebff1d4b3ff`
  * [prometheus-alertmanager](https://github.com/openshift/prometheus-alertmanager) git [4617d550](https://github.com/openshift/prometheus-alertmanager/commit/4617d5502332dc41c9c885cc12ecde5069191f73) `sha256:414275a7a91f92951cae01928234aed2e0d4670fb911f0d1f189a2ee0a821c9e`
  * [prometheus-config-reloader](https://github.com/openshift/prometheus-operator) git [f8a0aa17](https://github.com/openshift/prometheus-operator/commit/f8a0aa170bf81ef70e16875053573a037461042d) `sha256:26c197ba809ac3cd18a79c1dde21812e97e6957e0dfc93ac6f4c50947f3dfe99`
  * [prometheus-node-exporter](https://github.com/openshift/node_exporter) git [f248b582](https://github.com/openshift/node_exporter/commit/f248b582878226c8a8cd650223cf981cc556eb44) `sha256:8a107dd61b46e2fd0b71e1e6c291f97ccd634fd4c759f46d9f4403c3a6f4496a`
  * [prometheus-operator](https://github.com/openshift/prometheus-operator) git [f8a0aa17](https://github.com/openshift/prometheus-operator/commit/f8a0aa170bf81ef70e16875053573a037461042d) `sha256:1d0dd92b072c381c0471b1b8ed6f3bc5eded95d747c87b4bbe659c1396ad63ed`
  * [service-catalog](https://github.com/openshift/service-catalog) git [b24ffd6f](https://github.com/openshift/service-catalog/commit/b24ffd6f826fe094a49afc04a5d62ab65490bb37) `sha256:03b053176eacf0e847d75c5ce8137455faa4c7a52623381f723de1fa87a36761`
  * [service-serving-cert-signer](https://github.com/openshift/service-serving-cert-signer) git [30924216](https://github.com/openshift/service-serving-cert-signer/commit/309242162ed5bcf9398fca0ba9418244ec7c6808) `sha256:032cf8f0fd7ac91f58ee670244892812cd024d8d7eee923266b9acf97ee21ac4`

  ### [aws-machine-controllers](https://github.com/openshift/cluster-api-provider-aws)

  * deps: switch cluster-api dependency to use master branch [#169](https://github.com/openshift/cluster-api-provider-aws/pull/169)
  * E2e ginkgo [#170](https://github.com/openshift/cluster-api-provider-aws/pull/170)
  * Update list of owners [#171](https://github.com/openshift/cluster-api-provider-aws/pull/171)
  * [Full changelog](https://github.com/openshift/cluster-api-provider-aws/compare/c0c3b9e0e8e626d74360ecb806b06c3b09df27bb...17d5aacdeb2df8898b20286970ace7d42f0c376a)

  ### [cli, deployer, hyperkube, hypershift, node, tests](https://github.com/openshift/ose)

  * update external examples [#22029](https://github.com/openshift/ose/pull/22029)
  * UPSTREAM: <carry>: openapi: half encoding costs [#22056](https://github.com/openshift/ose/pull/22056)
  * UPSTREAM: 74416: apiserver: add --minimal-shutdown-duration to delay until endpoint convergence [#22151](https://github.com/openshift/ose/pull/22151)
  * UPSTREAM: 74617: make audit metadata work for custom resources [#22157](https://github.com/openshift/ose/pull/22157)
  * Poll in bootstrap user e2e test [#22070](https://github.com/openshift/ose/pull/22070)
  * If the git log is empty don't error out from `release info --changelog` [#22163](https://github.com/openshift/ose/pull/22163)
  * UPSTREAM: 0000: retry on discovery errors in crd-discovery-available post-start hook [#22168](https://github.com/openshift/ose/pull/22168)
  * UPSTREAM: 00000: wait for CRD discovery to be successful once before … [#22178](https://github.com/openshift/ose/pull/22178)
  * add some advice to 'oc debug' for debugging nodes [#22109](https://github.com/openshift/ose/pull/22109)
  * Fix deads2k typo in features OWNERS [#22128](https://github.com/openshift/ose/pull/22128)
  * Replace all kubectl in oc adm top pod/node examples [#22152](https://github.com/openshift/ose/pull/22152) [rhbz#1470006](https://bugzilla.redhat.com/show_bug.cgi?id=1470006)
  * [4.0] UPSTREAM: 74306: Fix scanning of failed targets [#22136](https://github.com/openshift/ose/pull/22136)
  * Add openshift-integrated-oauth-server command [#21987](https://github.com/openshift/ose/pull/21987)
  * UPSTREAM: 74668: kube-apiserver: don't create endpoints before being ready [#22181](https://github.com/openshift/ose/pull/22181)
  * apiextensions: openapi ObjectMeta/TypeMeta schema only if validation spec is given [#22193](https://github.com/openshift/ose/pull/22193)
  * [4.0] UPSTREAM: 74524: Don't fail if iface is being used by iSCSI session [#22176](https://github.com/openshift/ose/pull/22176)
  * UPSTREAM: 74636: Remove reflector metrics as they currently cause a memory leak [#22180](https://github.com/openshift/ose/pull/22180)
  * apiextensions-apiserver: fix empty APIResource group+version handling in wait logic [#22188](https://github.com/openshift/ose/pull/22188)
  * Ensure clone works without `-C` for release extraction [#22184](https://github.com/openshift/ose/pull/22184)
  * Test conformance from 1.12 for Kube [#21995](https://github.com/openshift/ose/pull/21995)
  * [d42ad916](https://github.com/openshift/ose/commit/d42ad916)
  * [Full changelog](https://github.com/openshift/ose/compare/0cbcfc5afeab12a1b5b3f801eb247ff023e42b67...e268aada53a27b7cba51e4267d035dad207a1d8a)

  ### [cloud-credential-operator](https://github.com/openshift/cloud-credential-operator)

  * pkg/controller/utils: Fix "reutrn" -> "return" comment typo [#36](https://github.com/openshift/cloud-credential-operator/pull/36)
  * aws: include operator version in UserAgent for AWS API calls [#34](https://github.com/openshift/cloud-credential-operator/pull/34)
  * [Full changelog](https://github.com/openshift/cloud-credential-operator/compare/01bbf372a2c83bd4b1c9a433cba15808ba1e5e92...97e00568622e2a82cde1e964be7ea7c37fe85b4f)

  ### [cluster-authentication-operator](https://github.com/openshift/cluster-authentication-operator)

  * fix template synced secret names [#85](https://github.com/openshift/cluster-authentication-operator/pull/85)
  * Move to OsinServerConfig [#79](https://github.com/openshift/cluster-authentication-operator/pull/79)
  * Move to a passthrough route to support mTLS [#83](https://github.com/openshift/cluster-authentication-operator/pull/83)
  * [Full changelog](https://github.com/openshift/cluster-authentication-operator/compare/35879ec061749de8926fa9a14dbd687e4e052048...88650bd64069ed79a411098b481ac2416526ce0e)

  ### [cluster-autoscaler](https://github.com/openshift/kubernetes-autoscaler)

  * E2e ginkgo [#43](https://github.com/openshift/kubernetes-autoscaler/pull/43)
  * UPSTREAM: <carry>: openshiftmachineapi: remove unused fields [#44](https://github.com/openshift/kubernetes-autoscaler/pull/44)
  * [Full changelog](https://github.com/openshift/kubernetes-autoscaler/compare/d8a4a30478e04c8e97a693f99fb3ad802115171c...e1a6a0960a100132abc5f8398ff73dbb0f45ae28)

  ### [cluster-autoscaler-operator](https://github.com/openshift/cluster-autoscaler-operator)

  * Remove resource limits in operator deployment [#58](https://github.com/openshift/cluster-autoscaler-operator/pull/58)
  * Override default CAO image [#59](https://github.com/openshift/cluster-autoscaler-operator/pull/59)
  * Add tests and change StatusReporter.client to osconfig.Interface [#56](https://github.com/openshift/cluster-autoscaler-operator/pull/56)
  * Add cluster-critical priority to autoscaler-operator [#57](https://github.com/openshift/cluster-autoscaler-operator/pull/57)
  * Vendor ginkgo tests [#60](https://github.com/openshift/cluster-autoscaler-operator/pull/60)
  * Update list of owners [#64](https://github.com/openshift/cluster-autoscaler-operator/pull/64)
  * Add unit tests for Apply [#63](https://github.com/openshift/cluster-autoscaler-operator/pull/63)
  * [Full changelog](https://github.com/openshift/cluster-autoscaler-operator/compare/73c46659d0e2c0ac03e6e207d52ff0c025b04786...0c2284a7a7cff0e123ace8d5e43337e4cc9739e9)

  ### [cluster-bootstrap](https://github.com/openshift/cluster-bootstrap)

  * Add --tear-down-early, defaulting to true [#19](https://github.com/openshift/cluster-bootstrap/pull/19)
  * [Full changelog](https://github.com/openshift/cluster-bootstrap/compare/05a5c8e68f409baccdb421b9f80ce0e8841172bd...90a38fd8d9dc0b0a61214f079fd4734b034bae0c)

  ### [cluster-dns-operator](https://github.com/openshift/cluster-dns-operator)

  * status: report cluster operator version from payload [#78](https://github.com/openshift/cluster-dns-operator/pull/78)
  * [Full changelog](https://github.com/openshift/cluster-dns-operator/compare/ffb04ae9e56023812e55e35ac6713568ece0fbac...e4aa0a50f865e8399aeeccaf8c24f8d891cd67c2)

  ### [cluster-image-registry-operator](https://github.com/openshift/cluster-image-registry-operator)

  * disable kube/openshift api server operators before running tests [#222](https://github.com/openshift/cluster-image-registry-operator/pull/222)
  * Return error that happened [#224](https://github.com/openshift/cluster-image-registry-operator/pull/224)
  * test/e2e: Do not wait for PVC to change its status from "Pending" to something else [#226](https://github.com/openshift/cluster-image-registry-operator/pull/226)
  * [Full changelog](https://github.com/openshift/cluster-image-registry-operator/compare/80600487ebb150b67f6356c7e521953dbe94abbf...689aa65b90644aead5b579acce2725a08bd70f93)

  ### [cluster-ingress-operator](https://github.com/openshift/cluster-ingress-operator)

  * controller/certificate: move cert generation to cert controller [#141](https://github.com/openshift/cluster-ingress-operator/pull/141)
  * controller/certificate: relocate CA publishing [#142](https://github.com/openshift/cluster-ingress-operator/pull/142)
  * Publish global secret with default certificates and keys [#139](https://github.com/openshift/cluster-ingress-operator/pull/139)
  * Simplify ClusterOperatorStatus comparison [#148](https://github.com/openshift/cluster-ingress-operator/pull/148)
  * Add function for name of in-use default certificate [#149](https://github.com/openshift/cluster-ingress-operator/pull/149)
  * [Full changelog](https://github.com/openshift/cluster-ingress-operator/compare/09d14db8edbc265299bd70095136359a45dc8b55...e53dfea77b35656f105c41d5c1a3bcb2bc6fbcba)

  ### [cluster-kube-apiserver-operator](https://github.com/openshift/cluster-kube-apiserver-operator)

  * do not default the internal registry hostname to anything [#311](https://github.com/openshift/cluster-kube-apiserver-operator/pull/311)
  * switch to pull if not present [#313](https://github.com/openshift/cluster-kube-apiserver-operator/pull/313)
  * library-go: fix retry logic when getting installer pod self-reference [#310](https://github.com/openshift/cluster-kube-apiserver-operator/pull/310)
  * bump(library-go): improve logging of what causes a static pod rollout [#315](https://github.com/openshift/cluster-kube-apiserver-operator/pull/315)
  * [Full changelog](https://github.com/openshift/cluster-kube-apiserver-operator/compare/fa75c058db5e9c9de6b0a4674029f869a6062555...4c34fbfd2b4382e366d45f5e9acd07fb8da1ee9d)

  ### [cluster-kube-controller-manager-operator](https://github.com/openshift/cluster-kube-controller-manager-operator)

  * library-go: fix retry logic when getting installer pod self-reference [#185](https://github.com/openshift/cluster-kube-controller-manager-operator/pull/185)
  * bump(library-go): improve logging of what causes a static pod rollout [#187](https://github.com/openshift/cluster-kube-controller-manager-operator/pull/187)
  * [Full changelog](https://github.com/openshift/cluster-kube-controller-manager-operator/compare/53ff6d862bbd258b8e6ee1bc7016ec36a333ef1a...52a2f710ae90f0624c47040bf6d9b0ad55538de0)

  ### [cluster-kube-scheduler-operator](https://github.com/openshift/cluster-kube-scheduler-operator)

  * bump to get versions, status, upgradeable, servicemonitors, installer pod fixes [#66](https://github.com/openshift/cluster-kube-scheduler-operator/pull/66)
  * Change kubescheduler type name from instance to cluster [#68](https://github.com/openshift/cluster-kube-scheduler-operator/pull/68)
  * switch to pull if not present from always [#69](https://github.com/openshift/cluster-kube-scheduler-operator/pull/69)
  * [Full changelog](https://github.com/openshift/cluster-kube-scheduler-operator/compare/7066c963cb2b35227767f19f565f0a3816a54a01...c68e8b1af27033dec9ca9cd36c831b0796cef798)

  ### [cluster-machine-approver](https://github.com/openshift/cluster-machine-approver)

  * Approve CSRs based on machine status [#10](https://github.com/openshift/cluster-machine-approver/pull/10)
  * [Full changelog](https://github.com/openshift/cluster-machine-approver/compare/2fbc6a6b2b4dd37e953aeb8331dc4edc17ead993...c4ba3024437a348a03ee1459cdf9823d7c6de4a8)

  ### [cluster-monitoring-operator](https://github.com/openshift/cluster-monitoring-operator)

  * jsonnet: programmatically remove limits [#273](https://github.com/openshift/cluster-monitoring-operator/pull/273)
  * pkg/tasks/prometheus: update kubelet serving CA if it changed [#271](https://github.com/openshift/cluster-monitoring-operator/pull/271)
  * jsonnet: No shared tooltip and use node-exporter metrics in adapter [#272](https://github.com/openshift/cluster-monitoring-operator/pull/272)
  * *: Enable etcd monitoring by default [#239](https://github.com/openshift/cluster-monitoring-operator/pull/239)
  * pkg/tasks: create service monitor at the end of each tasks. [#274](https://github.com/openshift/cluster-monitoring-operator/pull/274)
  * assets: Drop accidental and high cardinality metrics [#276](https://github.com/openshift/cluster-monitoring-operator/pull/276)
  * hack: Adapt generate etcd secret script to 4.0 [#277](https://github.com/openshift/cluster-monitoring-operator/pull/277)
  * clusteroperator: Report the appropriate injected status version [#278](https://github.com/openshift/cluster-monitoring-operator/pull/278)
  * [Full changelog](https://github.com/openshift/cluster-monitoring-operator/compare/3609aea4fc2defca4cfef8f2e46677d9f45946ad...25fd008f1fb34cc27332fcc59f6821ef01c306a6)

  ### [cluster-network-operator](https://github.com/openshift/cluster-network-operator)

  * HACKING: add steps for how to build the node image. [#107](https://github.com/openshift/cluster-network-operator/pull/107)
  * [Full changelog](https://github.com/openshift/cluster-network-operator/compare/15204e63ace4000afa531193af95894371d4cfe0...b13c79c1ae6290bbc472c0ac260855e26d71dfd3)

  ### [cluster-node-tuned](https://github.com/openshift/openshift-tuned)

  * Lower the number of times tuned needs to be reloaded. [#15](https://github.com/openshift/openshift-tuned/pull/15)
  * [Full changelog](https://github.com/openshift/openshift-tuned/compare/278ee72d9c6d5302c00ee83356d0574c63c26e3d...b580cb6f52a0e352aebbe0e368d5ec020230c532)

  ### [cluster-node-tuning-operator](https://github.com/openshift/cluster-node-tuning-operator)

  * Retry loop for creating Tuned CR. [#42](https://github.com/openshift/cluster-node-tuning-operator/pull/42)
  * status: report cluster operator version from payload [#43](https://github.com/openshift/cluster-node-tuning-operator/pull/43)
  * [Full changelog](https://github.com/openshift/cluster-node-tuning-operator/compare/b5c14debb9963f2239270d61f4b05719ca7d2df0...900d59d3aa7a59aa31318bc25efc5df1e994e4b9)

  ### [cluster-openshift-controller-manager-operator](https://github.com/openshift/cluster-openshift-controller-manager-operator)

  * bump(*): pick up https://github.com/openshift/library-go/pull/284 [#78](https://github.com/openshift/cluster-openshift-controller-manager-operator/pull/78)
  * Drop etcd metrics [#80](https://github.com/openshift/cluster-openshift-controller-manager-operator/pull/80)
  * [Full changelog](https://github.com/openshift/cluster-openshift-controller-manager-operator/compare/3f79b51b7a524109e6803dd0f772d4dbf3b62c61...6656fd894295a9924c6bf5de244586705508e595)

  ### [cluster-samples-operator](https://github.com/openshift/cluster-samples-operator)

  * Goto tbr [#111](https://github.com/openshift/cluster-samples-operator/pull/111)
  * Cvo tweaks [#115](https://github.com/openshift/cluster-samples-operator/pull/115)
  * Add must-gather image reference and ImageStream [#116](https://github.com/openshift/cluster-samples-operator/pull/116)
  * [Full changelog](https://github.com/openshift/cluster-samples-operator/compare/f00132453a0b88b8393a27b16debc8eb89f80c38...204cf2ba6a3a12d2344f69d19f539ebc31f39683)

  ### [cluster-version-operator](https://github.com/openshift/cluster-version-operator)

  * pkg/cvo: report actual metrics on Complete() [#124](https://github.com/openshift/cluster-version-operator/pull/124)
  * [Full changelog](https://github.com/openshift/cluster-version-operator/compare/70c0232ed95e4b0e0cd78efdcdec6f2410f592bb...bcf8bf290bc7d0090769b4722831dbb157b75d01)

  ### [console](https://github.com/openshift/console)

  * Only store swagger.json definitions [#1226](https://github.com/openshift/console/pull/1226)
  * Improve console-e2e test reliability in CI [#1236](https://github.com/openshift/console/pull/1236)
  * Edit secret page returns to previous page when cancelling [#1196](https://github.com/openshift/console/pull/1196)
  * Adjust modal height at landscape orientation so that buttons aren't beneath viewport on ios. [#1229](https://github.com/openshift/console/pull/1229)
  * Update default operator image [#1198](https://github.com/openshift/console/pull/1198)
  * Updated Resource Quota dashboard layout [#1222](https://github.com/openshift/console/pull/1222)
  * Add missing OpenShift Dedicated option to getProductName [#1232](https://github.com/openshift/console/pull/1232)
  * Fix bug where cluster name is incorrect in kubeconfig created from se… [#1195](https://github.com/openshift/console/pull/1195)
  * Align line-height for copy-to-clipboard to match height of copy button [#1234](https://github.com/openshift/console/pull/1234)
  * Apply table--layout-fixed to images table... [#1212](https://github.com/openshift/console/pull/1212)
  * Fix runtime error on machine set and machine deployment details pages [#1187](https://github.com/openshift/console/pull/1187) [rhbz#1684217](https://bugzilla.redhat.com/show_bug.cgi?id=1684217)
  * Update README for OpenShift 4.0 and CI changes [#1219](https://github.com/openshift/console/pull/1219)
  * Change dropdown units for consistency on PVC form [#1228](https://github.com/openshift/console/pull/1228)
  * Show community operators, warn on details [#1178](https://github.com/openshift/console/pull/1178)
  * [Full changelog](https://github.com/openshift/console/compare/d10fb8b637562015a0c704e72855e2d0c318783c...24942e86dd5bef0b17c1e33bfcd386b450c49b19)

  ### [console-operator](https://github.com/openshift/console-operator)

  * Restrict console OAuthClient redirect to `/auth/callback` path [#161](https://github.com/openshift/console-operator/pull/161)
  * bump deps [#163](https://github.com/openshift/console-operator/pull/163)
  * Validate URLs from the CR file and additional unit tests for ocp tag [#152](https://github.com/openshift/console-operator/pull/152)
  * Validate properties in CRD [#165](https://github.com/openshift/console-operator/pull/165)
  * Change unit test to use cleaner error output [#160](https://github.com/openshift/console-operator/pull/160)
  * [Full changelog](https://github.com/openshift/console-operator/compare/32ed7c037c4037d4cb34c6abeeebaaa121748a2e...8665600274308fbda0f66e7ed8a0e5cc5c0bb7d9)

  ### [grafana](https://github.com/openshift/grafana)

  * bus: support multiple dispatch in one transaction [#12203](https://github.com/openshift/grafana/pull/12203)
  * Set current org when adding/removing user to org [#12263](https://github.com/openshift/grafana/pull/12263)
  * Copy correct annotation props when creating a snapshot [#12317](https://github.com/openshift/grafana/pull/12317)
  * #11607 Cleanup time of temporary files is now configurable [#12274](https://github.com/openshift/grafana/pull/12274)
  * ldap: allow use of DN in group_search_filter_user_attribute and member_of [#10970](https://github.com/openshift/grafana/pull/10970)
  * expose session and transaction helpers to other services [#12322](https://github.com/openshift/grafana/pull/12322)
  * Fix regressions after save modal changes [#12350](https://github.com/openshift/grafana/pull/12350)
  * Fix dashboard drop down links [#12345](https://github.com/openshift/grafana/pull/12345)
  * graph: fix legend decimals precision calculation [#12123](https://github.com/openshift/grafana/pull/12123)
  * Make sure to process panels in collapsed rows when exporting dashboard [#12346](https://github.com/openshift/grafana/pull/12346)
  * build: fix signing of multiple rpm packages [#12363](https://github.com/openshift/grafana/pull/12363)
  * Fix error in InfluxDB query [#12325](https://github.com/openshift/grafana/pull/12325)
  * Conditionally select a field to return in ResponseParser for InfluxDB [#12018](https://github.com/openshift/grafana/pull/12018)
  * Pass configured/auth headers to a Datasource. [#11643](https://github.com/openshift/grafana/pull/11643)
  * Karma to Jest: history_ctrl [#12367](https://github.com/openshift/grafana/pull/12367)
  * fix "Cloudwatch panel does not allow arbitrary variable values in query" [#11990](https://github.com/openshift/grafana/pull/11990)
  * Return a 404 when deleting a datasource through the API if it doesn't… [#12387](https://github.com/openshift/grafana/pull/12387)
  * Set $rootScope in DatasourceSrv [#12383](https://github.com/openshift/grafana/pull/12383)
  * Fix selecting current dashboard from search does not reload dashboard [#12392](https://github.com/openshift/grafana/pull/12392)
  * enhance error message if phantomjs executable is not found [#12198](https://github.com/openshift/grafana/pull/12198)
  * routing: allows routes to be added to existing groups [#12396](https://github.com/openshift/grafana/pull/12396)
  * Fix typo [#12407](https://github.com/openshift/grafana/pull/12407)
  * Set correct text in drop down when variable is present in url [#12395](https://github.com/openshift/grafana/pull/12395)
  * docs: update installation instructions [#12399](https://github.com/openshift/grafana/pull/12399)
  * login: fix layout issues [#12412](https://github.com/openshift/grafana/pull/12412)
  * Fix footer CSS issue [#12441](https://github.com/openshift/grafana/pull/12441)
  * Make colorization of prefix and postfix optional in singlestat [#11892](https://github.com/openshift/grafana/pull/11892)
  * Revert "auth proxy: use real ip when validating white listed ip's" [#12444](https://github.com/openshift/grafana/pull/12444)
  * Fix: Log close (ie flush) was done too early, before final shutdown log [#12439](https://github.com/openshift/grafana/pull/12439)
  * Fix HTTP-API admin doc [#12502](https://github.com/openshift/grafana/pull/12502)
  * Karma to Jest: elasticsearch datasource [#12493](https://github.com/openshift/grafana/pull/12493)
  * [c35c1d72](https://github.com/openshift/grafana/commit/c35c1d72)
  * [52b475f9](https://github.com/openshift/grafana/commit/52b475f9)
  * [7f166668](https://github.com/openshift/grafana/commit/7f166668)
  * [d6631222](https://github.com/openshift/grafana/commit/d6631222)
  * [84af0332](https://github.com/openshift/grafana/commit/84af0332)
  * [afee29be](https://github.com/openshift/grafana/commit/afee29be)
  * mysql,mssql: improve $__timeFilter, $__timeFrom, $__timeTo macros
 [#12402](https://github.com/openshift/grafana/pull/12402)
  * Fix links not updating after changing variables [#12518](https://github.com/openshift/grafana/pull/12518)
  * Prometheus heatmap: fix unhandled error when some points are missing [#12511](https://github.com/openshift/grafana/pull/12511)
  * Fix datasource sorting with template variables [#12521](https://github.com/openshift/grafana/pull/12521)
  * Query field refactorings to support external plugins [#12284](https://github.com/openshift/grafana/pull/12284)
  * Karma to Jest: 3 data sources [#12496](https://github.com/openshift/grafana/pull/12496)
  * Fix freezing browser when loading plugin [#12585](https://github.com/openshift/grafana/pull/12585)
  * Prevent scroll on focus for iframe [#12586](https://github.com/openshift/grafana/pull/12586)
  * Explore Datasource selector [#12596](https://github.com/openshift/grafana/pull/12596)
  * [f0508aa5](https://github.com/openshift/grafana/commit/f0508aa5)
  * Adding eval_data to alerts query results [#12624](https://github.com/openshift/grafana/pull/12624)
  * Explore: calculate query interval based on available width [#12634](https://github.com/openshift/grafana/pull/12634)
  * Dont parse empty explore state from url [#12630](https://github.com/openshift/grafana/pull/12630)
  * Use url params for explore state [#12631](https://github.com/openshift/grafana/pull/12631)
  * [660dc09f](https://github.com/openshift/grafana/commit/660dc09f)
  * [c63f1425](https://github.com/openshift/grafana/commit/c63f1425)
  * [3fa2ec07](https://github.com/openshift/grafana/commit/3fa2ec07)
  * [29291f88](https://github.com/openshift/grafana/commit/29291f88)
  * Make prometheus value formatting more robust [#12617](https://github.com/openshift/grafana/pull/12617)
  * CloudWatch GetMetricData support [#11624](https://github.com/openshift/grafana/pull/11624)
  * [608303f4](https://github.com/openshift/grafana/commit/608303f4)
  * migrated jquery.flot.events to ts [#11469](https://github.com/openshift/grafana/pull/11469)
  * Id validation of CloudWatch GetMetricData [#12690](https://github.com/openshift/grafana/pull/12690)
  * Add Polish złoty to currency formatters [#12691](https://github.com/openshift/grafana/pull/12691)
  * Interval and range in query template variable [#12597](https://github.com/openshift/grafana/pull/12597)
  * Karma to Jest: graph_ctrl [#12692](https://github.com/openshift/grafana/pull/12692)
  * Datasource for Grafana logging platform [#12675](https://github.com/openshift/grafana/pull/12675)
  * postgres; escape ssl mode parameter [#12678](https://github.com/openshift/grafana/pull/12678)
  * CloudWatch backend return 400 if user input error [#12698](https://github.com/openshift/grafana/pull/12698)
  * docs: mentation that config changes requires restart. [#12699](https://github.com/openshift/grafana/pull/12699)
  * Karma to Jest: influx query_ctrl [#12702](https://github.com/openshift/grafana/pull/12702)
  * Karma to Jest: completer [#12704](https://github.com/openshift/grafana/pull/12704)
  * Karma to Jest: graphite query_ctrl [#12706](https://github.com/openshift/grafana/pull/12706)
  * fix failing test due to time diff issues [#12707](https://github.com/openshift/grafana/pull/12707)
  * fix invalid reference [#12709](https://github.com/openshift/grafana/pull/12709)
  * adjust table header contrast for the light theme [#12672](https://github.com/openshift/grafana/pull/12672)
  * Docs: Prometheus template query variables [#12693](https://github.com/openshift/grafana/pull/12693)
  * Karma to Jest: variable_srv_init [#12723](https://github.com/openshift/grafana/pull/12723)
  * Add tslib to TS compiler [#12718](https://github.com/openshift/grafana/pull/12718)
  * elasticsearch: fix index patterns [#12734](https://github.com/openshift/grafana/pull/12734)
  * built a component for delete button in tables [#12665](https://github.com/openshift/grafana/pull/12665)
  * SQL datasources - backend refactor [#12730](https://github.com/openshift/grafana/pull/12730)
  * removed unused class from the deletebutton pr [#12740](https://github.com/openshift/grafana/pull/12740)
  * Karma to Jest: singlestat [#12737](https://github.com/openshift/grafana/pull/12737)
  * Karma to Jest: backend_srv [#12742](https://github.com/openshift/grafana/pull/12742)
  * Karma to Jest: heatmap_ctrl [#12745](https://github.com/openshift/grafana/pull/12745)
  * Use metric column as prefix when returning multiple value columns [#12679](https://github.com/openshift/grafana/pull/12679)
  * change units to include characters for power of 2 and 3 [#12744](https://github.com/openshift/grafana/pull/12744)
  * Adding Cloudwatch AWS/AppSync metrics and dimensions [#12301](https://github.com/openshift/grafana/pull/12301)
  * add AWS/DX metrics and dimension to cloudwatch [#12762](https://github.com/openshift/grafana/pull/12762)
  * Added BurstBalance metric to list of AWS RDS metrics. [#12561](https://github.com/openshift/grafana/pull/12561)
  * Karma to Jest: prometheus datasource [#12771](https://github.com/openshift/grafana/pull/12771)
  * fix custom variable quoting in sql* query interpolations [#12791](https://github.com/openshift/grafana/pull/12791)
  * Add new Redshift metrics and dimensions for Cloudwatch datasource [#12063](https://github.com/openshift/grafana/pull/12063)
  * table link color fix [#12774](https://github.com/openshift/grafana/pull/12774)
  * remove alias from postgres $__timeGroup macro
 [#12760](https://github.com/openshift/grafana/pull/12760)
  * Add auto_assign_org_id to defaults.ini [#12802](https://github.com/openshift/grafana/pull/12802)
  * Karma to Jest: remove tests [#12808](https://github.com/openshift/grafana/pull/12808)
  * Karma to Jest: OpenTSDB datasource [#12819](https://github.com/openshift/grafana/pull/12819)
  * Karma to Jest: variable_srv [#12787](https://github.com/openshift/grafana/pull/12787)
  * Merges the Grafana docker build into the main repository. [#12798](https://github.com/openshift/grafana/pull/12798)
  * unix socket docs [#12823](https://github.com/openshift/grafana/pull/12823)
  * Mssql: add logo [#12746](https://github.com/openshift/grafana/pull/12746)
  * Explore: Add history to query fields [#12799](https://github.com/openshift/grafana/pull/12799)
  * Explore: show message if queries did not return data [#12813](https://github.com/openshift/grafana/pull/12813)
  * WIP: Fit panels to screen height [#12796](https://github.com/openshift/grafana/pull/12796)
  * Explore: prometheus query helpers [#12821](https://github.com/openshift/grafana/pull/12821)
  * fix missing * [#12835](https://github.com/openshift/grafana/pull/12835)
  * Fix issue with secret fields after updating datasource [#12834](https://github.com/openshift/grafana/pull/12834)
  * Fixing bug in url query reader and added test cases [#12815](https://github.com/openshift/grafana/pull/12815)
  * Add fill mode to fill in previously seen value when point is missing to SQL datasources [#12753](https://github.com/openshift/grafana/pull/12753)
  * Explore: expand recording rules for queries [#12846](https://github.com/openshift/grafana/pull/12846)
  * Delete button for team members page [#12856](https://github.com/openshift/grafana/pull/12856)
  * Add example OR search_filter to docs [#12848](https://github.com/openshift/grafana/pull/12848)
  * Convert URL-like text to links in plugins readme [#12843](https://github.com/openshift/grafana/pull/12843)
  * Refactor setting fillmode [#12880](https://github.com/openshift/grafana/pull/12880)
  * show teams on profile [#12838](https://github.com/openshift/grafana/pull/12838)
  * Support client certificates for LDAP servers [#12807](https://github.com/openshift/grafana/pull/12807)
  * Use uid when linking to dashboards internally in a dashboard [#12844](https://github.com/openshift/grafana/pull/12844)
  * Support timeFilter in query templating for InfluxDB [#12598](https://github.com/openshift/grafana/pull/12598)
  * Karma to Jest: share_modal_ctrl [#12809](https://github.com/openshift/grafana/pull/12809)
  * WIP Karma to Jest: heatmap renderer (refactor) [#12897](https://github.com/openshift/grafana/pull/12897)
  * [postgres] add timescaledb option to postgres datasource [#12680](https://github.com/openshift/grafana/pull/12680)
  * Karma to Jest: rename and cleanup [#12914](https://github.com/openshift/grafana/pull/12914)
  * GitLab authentication backend [#11314](https://github.com/openshift/grafana/pull/11314)
  * Fix typo [#12879](https://github.com/openshift/grafana/pull/12879)
  * Set User-Agent header in datasource proxied requests [#12909](https://github.com/openshift/grafana/pull/12909)
  * Doc - fix broken link [#12947](https://github.com/openshift/grafana/pull/12947)
  * add $__unixEpochGroup and $__unixEpochGroupAlias to sql datasources [#12891](https://github.com/openshift/grafana/pull/12891)
  * Login button issue in light theme [#12955](https://github.com/openshift/grafana/pull/12955)
  * Provisioning: Should allow one default datasource per organisation [#12921](https://github.com/openshift/grafana/pull/12921)
  * dsproxy: interpolate route url [#12974](https://github.com/openshift/grafana/pull/12974)
  * Explore: Fix initial state in split view [#12873](https://github.com/openshift/grafana/pull/12873)
  * [8f875951](https://github.com/openshift/grafana/commit/8f875951)
  * Explore: Filter out existing labels in label suggestions [#12874](https://github.com/openshift/grafana/pull/12874)
  * [75db4d8e](https://github.com/openshift/grafana/commit/75db4d8e)
  * Explore: still show rate hint if query is complex [#12876](https://github.com/openshift/grafana/pull/12876)
  * [dd796bfb](https://github.com/openshift/grafana/commit/dd796bfb)
  * Explore: Fix label filtering for rate queries [#12893](https://github.com/openshift/grafana/pull/12893)
  * Fix: Template variables are executing excessive queries [#12959](https://github.com/openshift/grafana/pull/12959)
  * [5f81c879](https://github.com/openshift/grafana/commit/5f81c879)
  * Update notifications.md [#12994](https://github.com/openshift/grafana/pull/12994)
  * tests: fix missing tests (with .jest suffix) [#13012](https://github.com/openshift/grafana/pull/13012)
  * Heatmap: fix tooltip and crosshair in firefox [#12999](https://github.com/openshift/grafana/pull/12999)
  * Replacing variable interpolation in "All value" value [#12967](https://github.com/openshift/grafana/pull/12967)
  * [ad9f38ae](https://github.com/openshift/grafana/commit/ad9f38ae)
  * animation during slow login [#12939](https://github.com/openshift/grafana/pull/12939)
  * docs: How to get started with Grafana for the first time [#12919](https://github.com/openshift/grafana/pull/12919)
  * Update provisioning.md [#13056](https://github.com/openshift/grafana/pull/13056)
  * [9423e3e1](https://github.com/openshift/grafana/commit/9423e3e1)
  * [36bc8b77](https://github.com/openshift/grafana/commit/36bc8b77)
  * [eef41cbc](https://github.com/openshift/grafana/commit/eef41cbc)
  * * master: (30 commits) [0e647db4](https://github.com/openshift/grafana/commit/0e647db4)
  * alerting: invert sendOnce to sendReminder [#12161](https://github.com/openshift/grafana/pull/12161)
  * * master: (84 commits) [6cd83e18](https://github.com/openshift/grafana/commit/6cd83e18)
  * * fork/bus_multi_dispatch: [0cfdebf0](https://github.com/openshift/grafana/commit/0cfdebf0)
  * * master: [ffda5efc](https://github.com/openshift/grafana/commit/ffda5efc)
  * * master: (95 commits) [d31c7bc6](https://github.com/openshift/grafana/commit/d31c7bc6)
  * [6d2136b8](https://github.com/openshift/grafana/commit/6d2136b8)
  * [34e448c6](https://github.com/openshift/grafana/commit/34e448c6)
  * Alerting notification reminder [#12145](https://github.com/openshift/grafana/pull/12145)
  * added Bitcoin as a currency option [#13125](https://github.com/openshift/grafana/pull/13125)
  * [wip]added empty list cta to team list [#12854](https://github.com/openshift/grafana/pull/12854)
  * [01a1737d](https://github.com/openshift/grafana/commit/01a1737d)
  * [09efcbc2](https://github.com/openshift/grafana/commit/09efcbc2)
  * [bb68cb6e](https://github.com/openshift/grafana/commit/bb68cb6e)
  * [dd2b6c70](https://github.com/openshift/grafana/commit/dd2b6c70)
  * [c5de5ed5](https://github.com/openshift/grafana/commit/c5de5ed5)
  * [6c6be9cf](https://github.com/openshift/grafana/commit/6c6be9cf)
  * [1a051ce3](https://github.com/openshift/grafana/commit/1a051ce3)
  * [6766028d](https://github.com/openshift/grafana/commit/6766028d)
  * [6b656094](https://github.com/openshift/grafana/commit/6b656094)
  * [e5900680](https://github.com/openshift/grafana/commit/e5900680)
  * [1849e938](https://github.com/openshift/grafana/commit/1849e938)
  * [046ee8ef](https://github.com/openshift/grafana/commit/046ee8ef)
  * [f4006911](https://github.com/openshift/grafana/commit/f4006911)
  * [8392fe5c](https://github.com/openshift/grafana/commit/8392fe5c)
  * [95a5a613](https://github.com/openshift/grafana/commit/95a5a613)
  * [fa170b3c](https://github.com/openshift/grafana/commit/fa170b3c)
  * [107c0d81](https://github.com/openshift/grafana/commit/107c0d81)
  * [24eafa45](https://github.com/openshift/grafana/commit/24eafa45)
  * [1c0a1882](https://github.com/openshift/grafana/commit/1c0a1882)
  * [1dd2bce0](https://github.com/openshift/grafana/commit/1dd2bce0)
  * [9e054775](https://github.com/openshift/grafana/commit/9e054775)
  * [cd49f2d4](https://github.com/openshift/grafana/commit/cd49f2d4)
  * [928353c6](https://github.com/openshift/grafana/commit/928353c6)
  * [6220dec0](https://github.com/openshift/grafana/commit/6220dec0)
  * [a05d694d](https://github.com/openshift/grafana/commit/a05d694d)
  * [6c7984a8](https://github.com/openshift/grafana/commit/6c7984a8)
  * [682c684d](https://github.com/openshift/grafana/commit/682c684d)
  * [d26caccc](https://github.com/openshift/grafana/commit/d26caccc)
  * [19dcc1f4](https://github.com/openshift/grafana/commit/19dcc1f4)
  * [aacf5559](https://github.com/openshift/grafana/commit/aacf5559)
  * [3f4c808c](https://github.com/openshift/grafana/commit/3f4c808c)
  * [1d711924](https://github.com/openshift/grafana/commit/1d711924)
  * [734118de](https://github.com/openshift/grafana/commit/734118de)
  * [d7ddab95](https://github.com/openshift/grafana/commit/d7ddab95)
  * [6613f114](https://github.com/openshift/grafana/commit/6613f114)
  * [b8af68e0](https://github.com/openshift/grafana/commit/b8af68e0)
  * [5c3b80b4](https://github.com/openshift/grafana/commit/5c3b80b4)
  * [67edb9e9](https://github.com/openshift/grafana/commit/67edb9e9)
  * [5c25844c](https://github.com/openshift/grafana/commit/5c25844c)
  * [3b6454ab](https://github.com/openshift/grafana/commit/3b6454ab)
  * [d8606ddf](https://github.com/openshift/grafana/commit/d8606ddf)
  * [3f5d325e](https://github.com/openshift/grafana/commit/3f5d325e)
  * [15c8ef6c](https://github.com/openshift/grafana/commit/15c8ef6c)
  * [5b3b0295](https://github.com/openshift/grafana/commit/5b3b0295)
  * [4acf4f9d](https://github.com/openshift/grafana/commit/4acf4f9d)
  * [998bb6eb](https://github.com/openshift/grafana/commit/998bb6eb)
  * [1b5486ae](https://github.com/openshift/grafana/commit/1b5486ae)
  * [ea110b59](https://github.com/openshift/grafana/commit/ea110b59)
  * [7177f194](https://github.com/openshift/grafana/commit/7177f194)
  * [70daa56a](https://github.com/openshift/grafana/commit/70daa56a)
  * [650e2faf](https://github.com/openshift/grafana/commit/650e2faf)
  * [265d5daf](https://github.com/openshift/grafana/commit/265d5daf)
  * [de917dfc](https://github.com/openshift/grafana/commit/de917dfc)
  * [82e60125](https://github.com/openshift/grafana/commit/82e60125)
  * postgres: graphical query builder [#11081](https://github.com/openshift/grafana/pull/11081)
  * Fix error when new variables created but not yet added/saved [#13133](https://github.com/openshift/grafana/pull/13133)
  * [432e203d](https://github.com/openshift/grafana/commit/432e203d)
  * [151e950e](https://github.com/openshift/grafana/commit/151e950e)
  * [99133c4f](https://github.com/openshift/grafana/commit/99133c4f)
  * [00c0b71f](https://github.com/openshift/grafana/commit/00c0b71f)
  * [c9ae585d](https://github.com/openshift/grafana/commit/c9ae585d)
  * [0aea60bf](https://github.com/openshift/grafana/commit/0aea60bf)
  * upgrade to golang 1.11 [#13031](https://github.com/openshift/grafana/pull/13031)
  * docs: default paths in the docker container. [#13165](https://github.com/openshift/grafana/pull/13165)
  * [32094735](https://github.com/openshift/grafana/commit/32094735)
  * make default values for alerting configurable [#13170](https://github.com/openshift/grafana/pull/13170)
  * Add min time interval support for SQL datasources [#13148](https://github.com/openshift/grafana/pull/13148)
  * Alert Teams - Adding Action to view the graph by its public URL. [#13167](https://github.com/openshift/grafana/pull/13167)
  * [1415bed0](https://github.com/openshift/grafana/commit/1415bed0)
  * [4391209f](https://github.com/openshift/grafana/commit/4391209f)
  * [035b0ab0](https://github.com/openshift/grafana/commit/035b0ab0)
  * [298c088d](https://github.com/openshift/grafana/commit/298c088d)
  * [267b96cb](https://github.com/openshift/grafana/commit/267b96cb)
  * Add jsonnet with grafonnet-lib to provisioning docs [#13209](https://github.com/openshift/grafana/pull/13209)
  * Fix postgres quoting to handle non-string values [#13184](https://github.com/openshift/grafana/pull/13184)
  * Fix query builder queries for interval start [#13200](https://github.com/openshift/grafana/pull/13200)
  * added id tag to Panels for html bookmarking on longer Dashboards [#12260](https://github.com/openshift/grafana/pull/12260)
  * [17e99bb3](https://github.com/openshift/grafana/commit/17e99bb3)
  * fix: Dashboard permissions now shows correctly [#13208](https://github.com/openshift/grafana/pull/13208)
  * Sort results from GetDashboardTags [#11681](https://github.com/openshift/grafana/pull/11681)
  * Adding Centrify configuration for Oauth [#1](https://github.com/openshift/grafana/pull/1)
  * Add Centrify documentation for generic_oauth [#13217](https://github.com/openshift/grafana/pull/13217)
  * (prometheus) get label name/value from series API [#12251](https://github.com/openshift/grafana/pull/12251)
  * (prometheus) add annotation option to treat series value as timestamp [#11789](https://github.com/openshift/grafana/pull/11789)
  * [metrics]enabled = false should disable the /metrics endpoint. [#13259](https://github.com/openshift/grafana/pull/13259)
  * Fix anonymous usage stats for authentication types [#13253](https://github.com/openshift/grafana/pull/13253)
  * use pluginName consistently when upgrading plugins [#13269](https://github.com/openshift/grafana/pull/13269)
  * Added underline to links in table [#13274](https://github.com/openshift/grafana/pull/13274)
  * Fix gauge display accuracy for "percent (0.0-1.0)" [#13270](https://github.com/openshift/grafana/pull/13270)
  * docs: include active directory ldap example and restructure [#13252](https://github.com/openshift/grafana/pull/13252)
  * [6cdfff52](https://github.com/openshift/grafana/commit/6cdfff52)
  * fix hipchat color code used for "no data" notifications [#13284](https://github.com/openshift/grafana/pull/13284)
  * [108a2019](https://github.com/openshift/grafana/commit/108a2019)
  * [9caa0301](https://github.com/openshift/grafana/commit/9caa0301)
  * [89ea47e7](https://github.com/openshift/grafana/commit/89ea47e7)
  * [7c27a87d](https://github.com/openshift/grafana/commit/7c27a87d)
  * [d173ebe7](https://github.com/openshift/grafana/commit/d173ebe7)
  * Permissions to redux [#13273](https://github.com/openshift/grafana/pull/13273)
  * [dd0b1d84](https://github.com/openshift/grafana/commit/dd0b1d84)
  * Team member labels [#13285](https://github.com/openshift/grafana/pull/13285)
  * Fix some megacheck issues [#13295](https://github.com/openshift/grafana/pull/13295)
  * Add documentation for postgres query builder [#13293](https://github.com/openshift/grafana/pull/13293)
  * * master: (3328 commits) [abd5a74e](https://github.com/openshift/grafana/commit/abd5a74e)
  * * master: [835a7533](https://github.com/openshift/grafana/commit/835a7533)
  * annotations: allows template variables to be used in tag filter [#10163](https://github.com/openshift/grafana/pull/10163)
  * Internal metrics: starts counters at zero [#13279](https://github.com/openshift/grafana/pull/13279)
  * * brian2222-patch-1: [6938fd5f](https://github.com/openshift/grafana/commit/6938fd5f)
  * Explore: Add multiline syntax highlighting to query field [#13282](https://github.com/openshift/grafana/pull/13282)
  * Moves docker/ to devenv/docker [#13300](https://github.com/openshift/grafana/pull/13300)
  * moves files from /tests to more appropriate folders [#13301](https://github.com/openshift/grafana/pull/13301)
  * Fix setting test [#13307](https://github.com/openshift/grafana/pull/13307)
  * removes unused files [#13305](https://github.com/openshift/grafana/pull/13305)
  * disable codecov [#13317](https://github.com/openshift/grafana/pull/13317)
  * Fix megacheck issues [#13330](https://github.com/openshift/grafana/pull/13330)
  * Explore: Fix click to filter for recording rule expressions [#13339](https://github.com/openshift/grafana/pull/13339)
  * Don't use unnest in queries for redshift compatibility [#13342](https://github.com/openshift/grafana/pull/13342)
  * Fix misspelled authentication in Auth overview doc [#13363](https://github.com/openshift/grafana/pull/13363)
  * Explore: Query field fixes [#13367](https://github.com/openshift/grafana/pull/13367)
  * Fix megacheck issues [#13374](https://github.com/openshift/grafana/pull/13374)
  * Explore: Fix label suggestions for recording rules [#13341](https://github.com/openshift/grafana/pull/13341)
  * Fix misspell issues [#13383](https://github.com/openshift/grafana/pull/13383)
  * [1599806b](https://github.com/openshift/grafana/commit/1599806b)
  * added span with folder title that is shown for recently and starred [#12128](https://github.com/openshift/grafana/pull/12128)
  * [87bee3d9](https://github.com/openshift/grafana/commit/87bee3d9)
  * Update Configuration.md [#12716](https://github.com/openshift/grafana/pull/12716)
  * Fix metric-segment options displaying after blur [#13388](https://github.com/openshift/grafana/pull/13388)
  * Fix #13356, where tooltips do not display individual values on stacked graphs [#13394](https://github.com/openshift/grafana/pull/13394)
  * Explore: label selector for logging [#12877](https://github.com/openshift/grafana/pull/12877)
  * devenv: adds script for creating many dashboards with alerts [#13398](https://github.com/openshift/grafana/pull/13398)
  * Fix spelling of your and you're [#13410](https://github.com/openshift/grafana/pull/13410)
  * 13312 legend table width [#13407](https://github.com/openshift/grafana/pull/13407)
  * Remove option r from ln command since its not working everywhere [#13413](https://github.com/openshift/grafana/pull/13413)
  * Concurrent render limits [#13401](https://github.com/openshift/grafana/pull/13401)
  * provisioning: changed update interval default 3 to 10 seconds [#13391](https://github.com/openshift/grafana/pull/13391)
  * Remove .dropdown-menu-open on body click fixes #13409 [#13417](https://github.com/openshift/grafana/pull/13417)
  * alerting: move all notification conditions to defaultShouldNotify [#13402](https://github.com/openshift/grafana/pull/13402)
  * filter NULL values in column value suggestion query [#13427](https://github.com/openshift/grafana/pull/13427)
  * imguploader: Add support for ECS credential provider for S3 [#13424](https://github.com/openshift/grafana/pull/13424)
  * Fix goconst issues [#13392](https://github.com/openshift/grafana/pull/13392)
  * Add goconst to CircleCI [#13432](https://github.com/openshift/grafana/pull/13432)
  * Prevent refresh on fixed time window [#12219](https://github.com/openshift/grafana/pull/12219)
  * resolve symlink on each run [#13360](https://github.com/openshift/grafana/pull/13360)
  * switch button for org users [#13380](https://github.com/openshift/grafana/pull/13380)
  * fixes to dark theme for Explore mode [#13445](https://github.com/openshift/grafana/pull/13445)
  * [f2307f92](https://github.com/openshift/grafana/commit/f2307f92)
  * Compile TS on precommit hook [#13448](https://github.com/openshift/grafana/pull/13448)
  * Plugin list to react [#13438](https://github.com/openshift/grafana/pull/13438)
  * Adding AWS Isolated Regions [#13458](https://github.com/openshift/grafana/pull/13458)
  * Grafana high availability (ha) test setup [#13439](https://github.com/openshift/grafana/pull/13439)
  * Limit number of time series in explore [#13408](https://github.com/openshift/grafana/pull/13408)
  * [3ba01953](https://github.com/openshift/grafana/commit/3ba01953)
  * [c2686781](https://github.com/openshift/grafana/commit/c2686781)
  * [dc1535cf](https://github.com/openshift/grafana/commit/dc1535cf)
  * [c67327d7](https://github.com/openshift/grafana/commit/c67327d7)
  * [785f35b1](https://github.com/openshift/grafana/commit/785f35b1)
  * [c282f391](https://github.com/openshift/grafana/commit/c282f391)
  * [b6a918ba](https://github.com/openshift/grafana/commit/b6a918ba)
  * [186dcc00](https://github.com/openshift/grafana/commit/186dcc00)
  * [2628ef7e](https://github.com/openshift/grafana/commit/2628ef7e)
  * [66c95991](https://github.com/openshift/grafana/commit/66c95991)
  * [284d0b7e](https://github.com/openshift/grafana/commit/284d0b7e)
  * [0507ff69](https://github.com/openshift/grafana/commit/0507ff69)
  * [26d9e924](https://github.com/openshift/grafana/commit/26d9e924)
  * [9748a948](https://github.com/openshift/grafana/commit/9748a948)
  * [9b90b835](https://github.com/openshift/grafana/commit/9b90b835)
  * [aedd5181](https://github.com/openshift/grafana/commit/aedd5181)
  * [cdcb14f3](https://github.com/openshift/grafana/commit/cdcb14f3)
  * Stackdriver Datasource - Fixes #6733 [#13289](https://github.com/openshift/grafana/pull/13289)
  * [3081e0f8](https://github.com/openshift/grafana/commit/3081e0f8)
  * 13411 react api key [#13444](https://github.com/openshift/grafana/pull/13444)
  * Explore: Store UI state in URL [#13463](https://github.com/openshift/grafana/pull/13463)
  * cli: fix reset-admin-password [#13422](https://github.com/openshift/grafana/pull/13422)
  * Update to ldap.md [#13480](https://github.com/openshift/grafana/pull/13480)
  * typo in sample.ini [#13481](https://github.com/openshift/grafana/pull/13481)
  * Fix megacheck issues [#13470](https://github.com/openshift/grafana/pull/13470)
  * [f37a60dc](https://github.com/openshift/grafana/commit/f37a60dc)
  * Explore: jump to explore from panels with mixed datasources [#13416](https://github.com/openshift/grafana/pull/13416)
  * [a0e1a1a1](https://github.com/openshift/grafana/commit/a0e1a1a1)
  * use alert state changes counter for alert notification dedupping. [#13477](https://github.com/openshift/grafana/pull/13477)
  * Transaction issues for alert reminder [#13440](https://github.com/openshift/grafana/pull/13440)
  * Update configuration doc to include socket at [server] [#13499](https://github.com/openshift/grafana/pull/13499)
  * Testdata tables [#13500](https://github.com/openshift/grafana/pull/13500)
  * [09b68132](https://github.com/openshift/grafana/commit/09b68132)
  * Org users to react [#13488](https://github.com/openshift/grafana/pull/13488)
  * Revert "Org users to react" [#13502](https://github.com/openshift/grafana/pull/13502)
  * build: automatically publish releases to grafana.com. [#13508](https://github.com/openshift/grafana/pull/13508)
  * Fix issue with updating role permissions #13507 [#13509](https://github.com/openshift/grafana/pull/13509)
  * [81c44eb3](https://github.com/openshift/grafana/commit/81c44eb3)
  * stackdriver: adds missing nginject attribute [#13511](https://github.com/openshift/grafana/pull/13511)
  * centered dashboard icon in search with flexbox [#13514](https://github.com/openshift/grafana/pull/13514)
  * Fix megacheck issues [#13506](https://github.com/openshift/grafana/pull/13506)
  * * grafana/master: [5425b76e](https://github.com/openshift/grafana/commit/5425b76e)
  * * grafana/master: (29 commits) [14d816af](https://github.com/openshift/grafana/commit/14d816af)
  * * grafana/master: (51 commits) [56927e55](https://github.com/openshift/grafana/commit/56927e55)
  * * grafana/master: (104 commits) [27e96179](https://github.com/openshift/grafana/commit/27e96179)
  * * grafana/master: (187 commits) [8c86a1c4](https://github.com/openshift/grafana/commit/8c86a1c4)
  * * grafana/master: (52 commits) [8cfad74a](https://github.com/openshift/grafana/commit/8cfad74a)
  * * grafana/master: [048fd87a](https://github.com/openshift/grafana/commit/048fd87a)
  * * grafana/master: (368 commits) [9f4d4a93](https://github.com/openshift/grafana/commit/9f4d4a93)
  * * grafana/master: (127 commits) [b4fad40c](https://github.com/openshift/grafana/commit/b4fad40c)
  * Keep trailing slash for datasource proxy requests [#13326](https://github.com/openshift/grafana/pull/13326)
  * move timeFrom, timeTo, unixEpochFrom and unixEpochTo macros to sql_engine [#13498](https://github.com/openshift/grafana/pull/13498)
  * Explore: typeahead and render performance improvements [#13491](https://github.com/openshift/grafana/pull/13491)
  * Moving contributing.md to top level [#13525](https://github.com/openshift/grafana/pull/13525)
  * Explore: fix rate hint for series with null values [#13528](https://github.com/openshift/grafana/pull/13528)
  * Explore: reset typeahead on cursor move [#13530](https://github.com/openshift/grafana/pull/13530)
  * ux: misc react migration fixes and info box style improvement [#13534](https://github.com/openshift/grafana/pull/13534)
  * Explore: resize graph on window resize [#13529](https://github.com/openshift/grafana/pull/13529)
  * Fixed typo in query editor placeholder text. [#13543](https://github.com/openshift/grafana/pull/13543)
  * fix gofmt tests output [#13538](https://github.com/openshift/grafana/pull/13538)
  * Fix text overflow on playlist search  #13464 [#13548](https://github.com/openshift/grafana/pull/13548)
  * docs: fix minor typos [#13547](https://github.com/openshift/grafana/pull/13547)
  * [e1c77f63](https://github.com/openshift/grafana/commit/e1c77f63)
  * New data source as separate page [#13537](https://github.com/openshift/grafana/pull/13537)
  * fix for influxdb annotation issue that caused text to be shown twice [#13556](https://github.com/openshift/grafana/pull/13556)
  * stackdriver metric name fix. Fixes #13562 [#13564](https://github.com/openshift/grafana/pull/13564)
  * Stackdriver filter wildcards [#13496](https://github.com/openshift/grafana/pull/13496)
  * Explore: do not show default suggestions after expressions [#13542](https://github.com/openshift/grafana/pull/13542)
  * Explore: trigger a query field render to fix highlighting [#13541](https://github.com/openshift/grafana/pull/13541)
  * Explore: compact state URLs [#13540](https://github.com/openshift/grafana/pull/13540)
  * ux: minor update to look of stackdriver query help [#13550](https://github.com/openshift/grafana/pull/13550)
  * Remove duplicate labels in the datasource query [#13570](https://github.com/openshift/grafana/pull/13570)
  * Improve Stackdriver provisioning docs [#13574](https://github.com/openshift/grafana/pull/13574)
  * Stackdriver heatmap support. Fixes #13559 [#13490](https://github.com/openshift/grafana/pull/13490)
  * Update debian.md [#13584](https://github.com/openshift/grafana/pull/13584)
  * fix CloudWatch id validation [#13583](https://github.com/openshift/grafana/pull/13583)
  * Render Dashboard Row drag handle only in edit mode [#13568](https://github.com/openshift/grafana/pull/13568)
  * cloudwatch: automatically set graph yaxis unit
 [#13571](https://github.com/openshift/grafana/pull/13571)
  * Update rpm.md [#13585](https://github.com/openshift/grafana/pull/13585)
  * Update windows.md [#13586](https://github.com/openshift/grafana/pull/13586)
  * Update mac.md [#13587](https://github.com/openshift/grafana/pull/13587)
  * [30fca2b1](https://github.com/openshift/grafana/commit/30fca2b1)
  * wip: whats new for 5.3 [#13403](https://github.com/openshift/grafana/pull/13403)
  * Explore: highlight typed text in suggestions [#13536](https://github.com/openshift/grafana/pull/13536)
  * [3932e4db](https://github.com/openshift/grafana/commit/3932e4db)
  * Run queries for sql data sources for panels with multiple queries concurrently
 [#13400](https://github.com/openshift/grafana/pull/13400)
  * elasticsearch: fix no limit size in terms aggregation for alerting queries [#13609](https://github.com/openshift/grafana/pull/13609)
  * Adding loading spinner to org pages [#13619](https://github.com/openshift/grafana/pull/13619)
  * fix phantomjs render of graph panel when legend displayed as table to the right [#13617](https://github.com/openshift/grafana/pull/13617)
  * [5b46c088](https://github.com/openshift/grafana/commit/5b46c088)
  * Frontend extensions [#13620](https://github.com/openshift/grafana/pull/13620)
  * stackdriver docs: metric query editor and annotations [#13618](https://github.com/openshift/grafana/pull/13618)
  * 13340 complete oauth doc [#13632](https://github.com/openshift/grafana/pull/13632)
  * [127b7d92](https://github.com/openshift/grafana/commit/127b7d92)
  * [69e0311c](https://github.com/openshift/grafana/commit/69e0311c)
  * Remove user form org in single org setup improvement [#13611](https://github.com/openshift/grafana/pull/13611)
  * [caf995bb](https://github.com/openshift/grafana/commit/caf995bb)
  * minor setting refactorings [#13638](https://github.com/openshift/grafana/pull/13638)
  * Stackdriver: Prevent filter from crashing [#13624](https://github.com/openshift/grafana/pull/13624)
  * Adds backend hooks service so extensions can modify index data [#13644](https://github.com/openshift/grafana/pull/13644)
  * updated jest to 23.10 [#13649](https://github.com/openshift/grafana/pull/13649)
  * Typos in plugin development documentation [#13657](https://github.com/openshift/grafana/pull/13657)
  * fix: label values regex for single letter labels [#13656](https://github.com/openshift/grafana/pull/1365…
wking added a commit to wking/openshift-installer that referenced this pull request Mar 6, 2019
…-release:4.0.0-0.7

Clayton pushed release:4.0.0-0.nightly-2019-03-04-234414 to
quay.io/openshift-release-dev/ocp-release:4.0.0-0.7.  Extracting the
associated RHCOS build:

  $ oc adm release info --pullspecs quay.io/openshift-release-dev/ocp-release:4.0.0-0.7 | grep machine-os-content
    machine-os-content                            quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:399582f711226ab1a0e76d8928ec55436dea9f8dc60976c10790d308b9d92181
  $ oc image info quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:399582f711226ab1a0e76d8928ec55436dea9f8dc60976c10790d308b9d92181 | grep version
              version=47.330

that's the same machine-os-content image referenced from 4.0.0-0.5,
which we used for installer v0.13.0, and 4.0.0-0.6, which we used for
installer v0.13.1.

Renaming OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE gets us CI testing
of the pinned release despite openshift/release@60007df2 (Use
RELEASE_IMAGE_LATEST for CVO payload, 2018-10-03,
openshift/release#1793).

Also comment out regions which this particular RHCOS build wasn't
pushed to, leaving only:

  $ curl -s https://releases-rhcos.svc.ci.openshift.org/storage/releases/maipo/47.330/meta.json | jq -r '.amis[] | .name'
  ap-northeast-1
  ap-northeast-2
  ap-south-1
  ap-southeast-1
  ap-southeast-2
  ca-central-1
  eu-central-1
  eu-west-1
  eu-west-2
  eu-west-3
  sa-east-1
  us-east-1
  us-east-2
  us-west-1
  us-west-2

I'd initially expected to export the pinning environment variables in
release.sh, but I've put them in build.sh here because our continuous
integration tests use build.sh directly and don't go through
release.sh.

Using the slick, new change-log generator from [1], here's everything
that changed in the update payload:

  $ oc adm release info --changelog ~/.local/lib/go/src --changes-from quay.io/openshift-release-dev/ocp-release:4.0.0-0.6 quay.io/openshift-release-dev/ocp-release:4.0.0-0.7
  # 4.0.0-0.7

  Created: 2019-03-05 18:33:12 +0000 UTC
  Image Digest: `sha256:641c0e4f550af59ec20349187a31751ae5108270f13332d1771935520ebf34c1`
  Promoted from registry.svc.ci.openshift.org/ocp/release:4.0.0-0.nightly-2019-03-04-234414

  ## Changes from 4.0.0-0.6

  ### Components

  * Kubernetes 1.12.4

  ### New images

  * [must-gather](https://github.com/openshift/must-gather) git [8286a5dc](https://github.com/openshift/must-gather/commit/8286a5dc432e339dc79c75044424cd9c89dc634b) `sha256:8faf4b3739c952de448c69325c8c101193c0665bb149d3d2830afd2aca973413`

  ### Rebuilt images without code change

  * [cluster-config-operator](https://github.com/openshift/cluster-config-operator) git [aa1805e7](https://github.com/openshift/cluster-config-operator/commit/aa1805e73138deabbfa57772170f310e2f3097cd) `sha256:86bb159de280a6d9f81a69081090148cfad233db1b6f596a996097b56c0d6940`
  * [cluster-openshift-apiserver-operator](https://github.com/openshift/cluster-openshift-apiserver-operator) git [0a65fe40](https://github.com/openshift/cluster-openshift-apiserver-operator/commit/0a65fe40a74cfc6114fdaa30e2b2c24924509cda) `sha256:71f521d9cb0b1f03fe78938f90df7a0a9bdf5a45a31c65b168533e507644da34`
  * [cluster-storage-operator](https://github.com/openshift/cluster-storage-operator) git [b8502422](https://github.com/openshift/cluster-storage-operator/commit/b850242280b7ef2cf7631952229c0a438ec39e64) `sha256:7b9990d7f21ddd4d981701d7f1e326e3ae2041d9aafad53115a828a9f0fa8d0e`
  * [cluster-svcat-apiserver-operator](https://github.com/openshift/cluster-svcat-apiserver-operator) git [547648cb](https://github.com/openshift/cluster-svcat-apiserver-operator/commit/547648cb7b3f2a0d8f049f680c18ac66cd339b3f) `sha256:6edd77ad4ef48f3b29045acc0c9a57b01dcfb2c42b497ab857fa4eb27d8a841c`
  * [cluster-svcat-controller-manager-operator](https://github.com/openshift/cluster-svcat-controller-manager-operator) git [9261f420](https://github.com/openshift/cluster-svcat-controller-manager-operator/commit/9261f420a3db9556606c8ee0980a5e02a8f28d89) `sha256:9af8c72361b3a8bad34c44be6903e02c0f8a56b6ef4d459fce9c75ee38251093`
  * [configmap-reloader](https://github.com/openshift/configmap-reload) git [3c2f8572](https://github.com/openshift/configmap-reload/commit/3c2f85724078cbf7ffab56886ff32d677c386afe) `sha256:fc79d84dee4f2a998a105e94a1457eb5aabf85b1b9d1a6468aca6f8835c04408`
  * [container-networking-plugins-supported](https://github.com/openshift/ose-containernetworking-plugins) git [f6a58dce](https://github.com/openshift/ose-containernetworking-plugins/commit/f6a58dcec62ca740305a58a0a6b008c5e57b8943) `sha256:4a561991866a16773e965586f40a5684174229430e56ad25f15b851fe8e725ed`
  * [container-networking-plugins-unsupported](https://github.com/openshift/ose-containernetworking-plugins) git [f6a58dce](https://github.com/openshift/ose-containernetworking-plugins/commit/f6a58dcec62ca740305a58a0a6b008c5e57b8943) `sha256:9f720109ad203a0a0e44e0da14e2e82aefaa40e6d41accdefdc5ec2b3aed9153`
  * [coredns](https://github.com/openshift/coredns) git [fbcb8252](https://github.com/openshift/coredns/commit/fbcb8252a1bab3d32ecf2dd3307f798aacd0280e) `sha256:3fe76f173faaf16af80d4f865c377a4dc4db24d32c1bba4c6d3115e66a788861`
  * [docker-builder](https://github.com/openshift/builder) git [1a77d837](https://github.com/openshift/builder/commit/1a77d837d8d74d5dcb6f8afcadb082629b04883e) `sha256:7bcb847c457cf8bf5813e10e46058f34426560d0798ca1d80f8ee34e5fa5727b`
  * [docker-registry](https://github.com/openshift/image-registry) git [afcc7daa](https://github.com/openshift/image-registry/commit/afcc7daa5eeeb6a77754ae86decefade83314189) `sha256:a457ab8bc3be66c97ce6babd77e6f1c1eaff91477bd5442460f927db06a15e55`
  * [etcd](https://github.com/openshift/etcd) git [a0e62b48](https://github.com/openshift/etcd/commit/a0e62b48f8db8572c129fa3d3507c7ce118ab650) `sha256:6b65c7ff285c611ae17a91deff91c0585773507e7fcffec7353ea849a66bd018`
  * [k8s-prometheus-adapter](https://github.com/openshift/k8s-prometheus-adapter) git [815fa76b](https://github.com/openshift/k8s-prometheus-adapter/commit/815fa76bdbccfd5ee6da8f9fa45d039c4342dcdb) `sha256:4274c276fec8729ad17ff77d74188ade01e3695b3b2afa3b995081394b107857`
  * [kube-rbac-proxy](https://github.com/openshift/kube-rbac-proxy) git [3f271e09](https://github.com/openshift/kube-rbac-proxy/commit/3f271e0951f18276ec54e8eac936725d6d68e073) `sha256:61180c69f1cba674625bd6c85995f524bdbdde27b2d08ea7efcecd7d3427409b`
  * [kube-state-metrics](https://github.com/openshift/kube-state-metrics) git [2ab51c9f](https://github.com/openshift/kube-state-metrics/commit/2ab51c9f341799107ffbf7f373ab55254dc044d0) `sha256:fc9fa4ce84819c084737115feef722f49d05d43ca6f438edfbc21535e2479b2d`
  * [multus-cni](https://github.com/openshift/ose-multus-cni) git [61f9e088](https://github.com/openshift/ose-multus-cni/commit/61f9e0886370ea5f6093ed61d4cfefc6dadef582) `sha256:077b65e55d01d3abd114933c4e132a642a0315f83b93b05b185fa338ce09595a`
  * [operator-registry](https://github.com/operator-framework/operator-registry) git [0531400c](https://github.com/operator-framework/operator-registry/commit/0531400c661ef7088d71b86ff5f52892f9407a1a) `sha256:035af1a1f35a1f0d8159576460437d9d3529b4f64e0b142a8da59a5e4e056a68`
  * [pod](https://github.com/openshift/images) git [2f60da39](https://github.com/openshift/images/commit/2f60da39a9d2e5cc00293b8ec7ad559fcd32446a) `sha256:810ded5c25b9ec252dba6a2497d1eff9ad13a19cc3ac290ef8943b7d658803f2`
  * [prom-label-proxy](https://github.com/openshift/prom-label-proxy) git [46423f9d](https://github.com/openshift/prom-label-proxy/commit/46423f9d573c7d53f5727de1e2db095ae039da06) `sha256:da1d1556af41b9d71e24cdc7406e0671f3eca877a16e465e6e5bdd5ecfad6bd1`
  * [prometheus](https://github.com/openshift/prometheus) git [6e5fb5dc](https://github.com/openshift/prometheus/commit/6e5fb5dcb6a709bd20ea68cddc1abfcceb8a487d) `sha256:5625206aa10f98cb2306bb37621cc3a6637ef69a43713fb4f9a34ebff1d4b3ff`
  * [prometheus-alertmanager](https://github.com/openshift/prometheus-alertmanager) git [4617d550](https://github.com/openshift/prometheus-alertmanager/commit/4617d5502332dc41c9c885cc12ecde5069191f73) `sha256:414275a7a91f92951cae01928234aed2e0d4670fb911f0d1f189a2ee0a821c9e`
  * [prometheus-config-reloader](https://github.com/openshift/prometheus-operator) git [f8a0aa17](https://github.com/openshift/prometheus-operator/commit/f8a0aa170bf81ef70e16875053573a037461042d) `sha256:26c197ba809ac3cd18a79c1dde21812e97e6957e0dfc93ac6f4c50947f3dfe99`
  * [prometheus-node-exporter](https://github.com/openshift/node_exporter) git [f248b582](https://github.com/openshift/node_exporter/commit/f248b582878226c8a8cd650223cf981cc556eb44) `sha256:8a107dd61b46e2fd0b71e1e6c291f97ccd634fd4c759f46d9f4403c3a6f4496a`
  * [prometheus-operator](https://github.com/openshift/prometheus-operator) git [f8a0aa17](https://github.com/openshift/prometheus-operator/commit/f8a0aa170bf81ef70e16875053573a037461042d) `sha256:1d0dd92b072c381c0471b1b8ed6f3bc5eded95d747c87b4bbe659c1396ad63ed`
  * [service-catalog](https://github.com/openshift/service-catalog) git [b24ffd6f](https://github.com/openshift/service-catalog/commit/b24ffd6f826fe094a49afc04a5d62ab65490bb37) `sha256:03b053176eacf0e847d75c5ce8137455faa4c7a52623381f723de1fa87a36761`
  * [service-serving-cert-signer](https://github.com/openshift/service-serving-cert-signer) git [30924216](https://github.com/openshift/service-serving-cert-signer/commit/309242162ed5bcf9398fca0ba9418244ec7c6808) `sha256:032cf8f0fd7ac91f58ee670244892812cd024d8d7eee923266b9acf97ee21ac4`

  ### [aws-machine-controllers](https://github.com/openshift/cluster-api-provider-aws)

  * deps: switch cluster-api dependency to use master branch [#169](https://github.com/openshift/cluster-api-provider-aws/pull/169)
  * E2e ginkgo [#170](https://github.com/openshift/cluster-api-provider-aws/pull/170)
  * Update list of owners [#171](https://github.com/openshift/cluster-api-provider-aws/pull/171)
  * [Full changelog](https://github.com/openshift/cluster-api-provider-aws/compare/c0c3b9e0e8e626d74360ecb806b06c3b09df27bb...17d5aacdeb2df8898b20286970ace7d42f0c376a)

  ### [cli, deployer, hyperkube, hypershift, node, tests](https://github.com/openshift/ose)

  * update external examples [#22029](https://github.com/openshift/ose/pull/22029)
  * UPSTREAM: <carry>: openapi: half encoding costs [#22056](https://github.com/openshift/ose/pull/22056)
  * UPSTREAM: 74416: apiserver: add --minimal-shutdown-duration to delay until endpoint convergence [#22151](https://github.com/openshift/ose/pull/22151)
  * UPSTREAM: 74617: make audit metadata work for custom resources [#22157](https://github.com/openshift/ose/pull/22157)
  * Poll in bootstrap user e2e test [#22070](https://github.com/openshift/ose/pull/22070)
  * If the git log is empty don't error out from `release info --changelog` [#22163](https://github.com/openshift/ose/pull/22163)
  * UPSTREAM: 0000: retry on discovery errors in crd-discovery-available post-start hook [#22168](https://github.com/openshift/ose/pull/22168)
  * UPSTREAM: 00000: wait for CRD discovery to be successful once before … [#22178](https://github.com/openshift/ose/pull/22178)
  * add some advice to 'oc debug' for debugging nodes [#22109](https://github.com/openshift/ose/pull/22109)
  * Fix deads2k typo in features OWNERS [#22128](https://github.com/openshift/ose/pull/22128)
  * Replace all kubectl in oc adm top pod/node examples [#22152](https://github.com/openshift/ose/pull/22152) [rhbz#1470006](https://bugzilla.redhat.com/show_bug.cgi?id=1470006)
  * [4.0] UPSTREAM: 74306: Fix scanning of failed targets [#22136](https://github.com/openshift/ose/pull/22136)
  * Add openshift-integrated-oauth-server command [#21987](https://github.com/openshift/ose/pull/21987)
  * UPSTREAM: 74668: kube-apiserver: don't create endpoints before being ready [#22181](https://github.com/openshift/ose/pull/22181)
  * apiextensions: openapi ObjectMeta/TypeMeta schema only if validation spec is given [#22193](https://github.com/openshift/ose/pull/22193)
  * [4.0] UPSTREAM: 74524: Don't fail if iface is being used by iSCSI session [#22176](https://github.com/openshift/ose/pull/22176)
  * UPSTREAM: 74636: Remove reflector metrics as they currently cause a memory leak [#22180](https://github.com/openshift/ose/pull/22180)
  * apiextensions-apiserver: fix empty APIResource group+version handling in wait logic [#22188](https://github.com/openshift/ose/pull/22188)
  * Ensure clone works without `-C` for release extraction [#22184](https://github.com/openshift/ose/pull/22184)
  * Test conformance from 1.12 for Kube [#21995](https://github.com/openshift/ose/pull/21995)
  * [d42ad916](https://github.com/openshift/ose/commit/d42ad916)
  * [Full changelog](https://github.com/openshift/ose/compare/0cbcfc5afeab12a1b5b3f801eb247ff023e42b67...e268aada53a27b7cba51e4267d035dad207a1d8a)

  ### [cloud-credential-operator](https://github.com/openshift/cloud-credential-operator)

  * pkg/controller/utils: Fix "reutrn" -> "return" comment typo [#36](https://github.com/openshift/cloud-credential-operator/pull/36)
  * aws: include operator version in UserAgent for AWS API calls [#34](https://github.com/openshift/cloud-credential-operator/pull/34)
  * [Full changelog](https://github.com/openshift/cloud-credential-operator/compare/01bbf372a2c83bd4b1c9a433cba15808ba1e5e92...97e00568622e2a82cde1e964be7ea7c37fe85b4f)

  ### [cluster-authentication-operator](https://github.com/openshift/cluster-authentication-operator)

  * fix template synced secret names [#85](https://github.com/openshift/cluster-authentication-operator/pull/85)
  * Move to OsinServerConfig [#79](https://github.com/openshift/cluster-authentication-operator/pull/79)
  * Move to a passthrough route to support mTLS [#83](https://github.com/openshift/cluster-authentication-operator/pull/83)
  * [Full changelog](https://github.com/openshift/cluster-authentication-operator/compare/35879ec061749de8926fa9a14dbd687e4e052048...88650bd64069ed79a411098b481ac2416526ce0e)

  ### [cluster-autoscaler](https://github.com/openshift/kubernetes-autoscaler)

  * E2e ginkgo [#43](https://github.com/openshift/kubernetes-autoscaler/pull/43)
  * UPSTREAM: <carry>: openshiftmachineapi: remove unused fields [#44](https://github.com/openshift/kubernetes-autoscaler/pull/44)
  * [Full changelog](https://github.com/openshift/kubernetes-autoscaler/compare/d8a4a30478e04c8e97a693f99fb3ad802115171c...e1a6a0960a100132abc5f8398ff73dbb0f45ae28)

  ### [cluster-autoscaler-operator](https://github.com/openshift/cluster-autoscaler-operator)

  * Remove resource limits in operator deployment [#58](https://github.com/openshift/cluster-autoscaler-operator/pull/58)
  * Override default CAO image [#59](https://github.com/openshift/cluster-autoscaler-operator/pull/59)
  * Add tests and change StatusReporter.client to osconfig.Interface [#56](https://github.com/openshift/cluster-autoscaler-operator/pull/56)
  * Add cluster-critical priority to autoscaler-operator [#57](https://github.com/openshift/cluster-autoscaler-operator/pull/57)
  * Vendor ginkgo tests [#60](https://github.com/openshift/cluster-autoscaler-operator/pull/60)
  * Update list of owners [#64](https://github.com/openshift/cluster-autoscaler-operator/pull/64)
  * Add unit tests for Apply [#63](https://github.com/openshift/cluster-autoscaler-operator/pull/63)
  * [Full changelog](https://github.com/openshift/cluster-autoscaler-operator/compare/73c46659d0e2c0ac03e6e207d52ff0c025b04786...0c2284a7a7cff0e123ace8d5e43337e4cc9739e9)

  ### [cluster-bootstrap](https://github.com/openshift/cluster-bootstrap)

  * Add --tear-down-early, defaulting to true [#19](https://github.com/openshift/cluster-bootstrap/pull/19)
  * [Full changelog](https://github.com/openshift/cluster-bootstrap/compare/05a5c8e68f409baccdb421b9f80ce0e8841172bd...90a38fd8d9dc0b0a61214f079fd4734b034bae0c)

  ### [cluster-dns-operator](https://github.com/openshift/cluster-dns-operator)

  * status: report cluster operator version from payload [#78](https://github.com/openshift/cluster-dns-operator/pull/78)
  * [Full changelog](https://github.com/openshift/cluster-dns-operator/compare/ffb04ae9e56023812e55e35ac6713568ece0fbac...e4aa0a50f865e8399aeeccaf8c24f8d891cd67c2)

  ### [cluster-image-registry-operator](https://github.com/openshift/cluster-image-registry-operator)

  * disable kube/openshift api server operators before running tests [#222](https://github.com/openshift/cluster-image-registry-operator/pull/222)
  * Return error that happened [#224](https://github.com/openshift/cluster-image-registry-operator/pull/224)
  * test/e2e: Do not wait for PVC to change its status from "Pending" to something else [#226](https://github.com/openshift/cluster-image-registry-operator/pull/226)
  * [Full changelog](https://github.com/openshift/cluster-image-registry-operator/compare/80600487ebb150b67f6356c7e521953dbe94abbf...689aa65b90644aead5b579acce2725a08bd70f93)

  ### [cluster-ingress-operator](https://github.com/openshift/cluster-ingress-operator)

  * controller/certificate: move cert generation to cert controller [#141](https://github.com/openshift/cluster-ingress-operator/pull/141)
  * controller/certificate: relocate CA publishing [#142](https://github.com/openshift/cluster-ingress-operator/pull/142)
  * Publish global secret with default certificates and keys [#139](https://github.com/openshift/cluster-ingress-operator/pull/139)
  * Simplify ClusterOperatorStatus comparison [#148](https://github.com/openshift/cluster-ingress-operator/pull/148)
  * Add function for name of in-use default certificate [#149](https://github.com/openshift/cluster-ingress-operator/pull/149)
  * [Full changelog](https://github.com/openshift/cluster-ingress-operator/compare/09d14db8edbc265299bd70095136359a45dc8b55...e53dfea77b35656f105c41d5c1a3bcb2bc6fbcba)

  ### [cluster-kube-apiserver-operator](https://github.com/openshift/cluster-kube-apiserver-operator)

  * do not default the internal registry hostname to anything [#311](https://github.com/openshift/cluster-kube-apiserver-operator/pull/311)
  * switch to pull if not present [#313](https://github.com/openshift/cluster-kube-apiserver-operator/pull/313)
  * library-go: fix retry logic when getting installer pod self-reference [#310](https://github.com/openshift/cluster-kube-apiserver-operator/pull/310)
  * bump(library-go): improve logging of what causes a static pod rollout [#315](https://github.com/openshift/cluster-kube-apiserver-operator/pull/315)
  * [Full changelog](https://github.com/openshift/cluster-kube-apiserver-operator/compare/fa75c058db5e9c9de6b0a4674029f869a6062555...4c34fbfd2b4382e366d45f5e9acd07fb8da1ee9d)

  ### [cluster-kube-controller-manager-operator](https://github.com/openshift/cluster-kube-controller-manager-operator)

  * library-go: fix retry logic when getting installer pod self-reference [#185](https://github.com/openshift/cluster-kube-controller-manager-operator/pull/185)
  * bump(library-go): improve logging of what causes a static pod rollout [#187](https://github.com/openshift/cluster-kube-controller-manager-operator/pull/187)
  * [Full changelog](https://github.com/openshift/cluster-kube-controller-manager-operator/compare/53ff6d862bbd258b8e6ee1bc7016ec36a333ef1a...52a2f710ae90f0624c47040bf6d9b0ad55538de0)

  ### [cluster-kube-scheduler-operator](https://github.com/openshift/cluster-kube-scheduler-operator)

  * bump to get versions, status, upgradeable, servicemonitors, installer pod fixes [#66](https://github.com/openshift/cluster-kube-scheduler-operator/pull/66)
  * Change kubescheduler type name from instance to cluster [#68](https://github.com/openshift/cluster-kube-scheduler-operator/pull/68)
  * switch to pull if not present from always [#69](https://github.com/openshift/cluster-kube-scheduler-operator/pull/69)
  * [Full changelog](https://github.com/openshift/cluster-kube-scheduler-operator/compare/7066c963cb2b35227767f19f565f0a3816a54a01...c68e8b1af27033dec9ca9cd36c831b0796cef798)

  ### [cluster-machine-approver](https://github.com/openshift/cluster-machine-approver)

  * Approve CSRs based on machine status [#10](https://github.com/openshift/cluster-machine-approver/pull/10)
  * [Full changelog](https://github.com/openshift/cluster-machine-approver/compare/2fbc6a6b2b4dd37e953aeb8331dc4edc17ead993...c4ba3024437a348a03ee1459cdf9823d7c6de4a8)

  ### [cluster-monitoring-operator](https://github.com/openshift/cluster-monitoring-operator)

  * jsonnet: programmatically remove limits [#273](https://github.com/openshift/cluster-monitoring-operator/pull/273)
  * pkg/tasks/prometheus: update kubelet serving CA if it changed [#271](https://github.com/openshift/cluster-monitoring-operator/pull/271)
  * jsonnet: No shared tooltip and use node-exporter metrics in adapter [#272](https://github.com/openshift/cluster-monitoring-operator/pull/272)
  * *: Enable etcd monitoring by default [#239](https://github.com/openshift/cluster-monitoring-operator/pull/239)
  * pkg/tasks: create service monitor at the end of each tasks. [#274](https://github.com/openshift/cluster-monitoring-operator/pull/274)
  * assets: Drop accidental and high cardinality metrics [#276](https://github.com/openshift/cluster-monitoring-operator/pull/276)
  * hack: Adapt generate etcd secret script to 4.0 [#277](https://github.com/openshift/cluster-monitoring-operator/pull/277)
  * clusteroperator: Report the appropriate injected status version [#278](https://github.com/openshift/cluster-monitoring-operator/pull/278)
  * [Full changelog](https://github.com/openshift/cluster-monitoring-operator/compare/3609aea4fc2defca4cfef8f2e46677d9f45946ad...25fd008f1fb34cc27332fcc59f6821ef01c306a6)

  ### [cluster-network-operator](https://github.com/openshift/cluster-network-operator)

  * HACKING: add steps for how to build the node image. [#107](https://github.com/openshift/cluster-network-operator/pull/107)
  * [Full changelog](https://github.com/openshift/cluster-network-operator/compare/15204e63ace4000afa531193af95894371d4cfe0...b13c79c1ae6290bbc472c0ac260855e26d71dfd3)

  ### [cluster-node-tuned](https://github.com/openshift/openshift-tuned)

  * Lower the number of times tuned needs to be reloaded. [#15](https://github.com/openshift/openshift-tuned/pull/15)
  * [Full changelog](https://github.com/openshift/openshift-tuned/compare/278ee72d9c6d5302c00ee83356d0574c63c26e3d...b580cb6f52a0e352aebbe0e368d5ec020230c532)

  ### [cluster-node-tuning-operator](https://github.com/openshift/cluster-node-tuning-operator)

  * Retry loop for creating Tuned CR. [#42](https://github.com/openshift/cluster-node-tuning-operator/pull/42)
  * status: report cluster operator version from payload [#43](https://github.com/openshift/cluster-node-tuning-operator/pull/43)
  * [Full changelog](https://github.com/openshift/cluster-node-tuning-operator/compare/b5c14debb9963f2239270d61f4b05719ca7d2df0...900d59d3aa7a59aa31318bc25efc5df1e994e4b9)

  ### [cluster-openshift-controller-manager-operator](https://github.com/openshift/cluster-openshift-controller-manager-operator)

  * bump(*): pick up https://github.com/openshift/library-go/pull/284 [#78](https://github.com/openshift/cluster-openshift-controller-manager-operator/pull/78)
  * Drop etcd metrics [#80](https://github.com/openshift/cluster-openshift-controller-manager-operator/pull/80)
  * [Full changelog](https://github.com/openshift/cluster-openshift-controller-manager-operator/compare/3f79b51b7a524109e6803dd0f772d4dbf3b62c61...6656fd894295a9924c6bf5de244586705508e595)

  ### [cluster-samples-operator](https://github.com/openshift/cluster-samples-operator)

  * Goto tbr [#111](https://github.com/openshift/cluster-samples-operator/pull/111)
  * Cvo tweaks [#115](https://github.com/openshift/cluster-samples-operator/pull/115)
  * Add must-gather image reference and ImageStream [#116](https://github.com/openshift/cluster-samples-operator/pull/116)
  * [Full changelog](https://github.com/openshift/cluster-samples-operator/compare/f00132453a0b88b8393a27b16debc8eb89f80c38...204cf2ba6a3a12d2344f69d19f539ebc31f39683)

  ### [cluster-version-operator](https://github.com/openshift/cluster-version-operator)

  * pkg/cvo: report actual metrics on Complete() [#124](https://github.com/openshift/cluster-version-operator/pull/124)
  * [Full changelog](https://github.com/openshift/cluster-version-operator/compare/70c0232ed95e4b0e0cd78efdcdec6f2410f592bb...bcf8bf290bc7d0090769b4722831dbb157b75d01)

  ### [console](https://github.com/openshift/console)

  * Only store swagger.json definitions [#1226](https://github.com/openshift/console/pull/1226)
  * Improve console-e2e test reliability in CI [#1236](https://github.com/openshift/console/pull/1236)
  * Edit secret page returns to previous page when cancelling [#1196](https://github.com/openshift/console/pull/1196)
  * Adjust modal height at landscape orientation so that buttons aren't beneath viewport on ios. [#1229](https://github.com/openshift/console/pull/1229)
  * Update default operator image [#1198](https://github.com/openshift/console/pull/1198)
  * Updated Resource Quota dashboard layout [#1222](https://github.com/openshift/console/pull/1222)
  * Add missing OpenShift Dedicated option to getProductName [#1232](https://github.com/openshift/console/pull/1232)
  * Fix bug where cluster name is incorrect in kubeconfig created from se… [#1195](https://github.com/openshift/console/pull/1195)
  * Align line-height for copy-to-clipboard to match height of copy button [#1234](https://github.com/openshift/console/pull/1234)
  * Apply table--layout-fixed to images table... [#1212](https://github.com/openshift/console/pull/1212)
  * Fix runtime error on machine set and machine deployment details pages [#1187](https://github.com/openshift/console/pull/1187) [rhbz#1684217](https://bugzilla.redhat.com/show_bug.cgi?id=1684217)
  * Update README for OpenShift 4.0 and CI changes [#1219](https://github.com/openshift/console/pull/1219)
  * Change dropdown units for consistency on PVC form [#1228](https://github.com/openshift/console/pull/1228)
  * Show community operators, warn on details [#1178](https://github.com/openshift/console/pull/1178)
  * [Full changelog](https://github.com/openshift/console/compare/d10fb8b637562015a0c704e72855e2d0c318783c...24942e86dd5bef0b17c1e33bfcd386b450c49b19)

  ### [console-operator](https://github.com/openshift/console-operator)

  * Restrict console OAuthClient redirect to `/auth/callback` path [#161](https://github.com/openshift/console-operator/pull/161)
  * bump deps [#163](https://github.com/openshift/console-operator/pull/163)
  * Validate URLs from the CR file and additional unit tests for ocp tag [#152](https://github.com/openshift/console-operator/pull/152)
  * Validate properties in CRD [#165](https://github.com/openshift/console-operator/pull/165)
  * Change unit test to use cleaner error output [#160](https://github.com/openshift/console-operator/pull/160)
  * [Full changelog](https://github.com/openshift/console-operator/compare/32ed7c037c4037d4cb34c6abeeebaaa121748a2e...8665600274308fbda0f66e7ed8a0e5cc5c0bb7d9)

  ### [grafana](https://github.com/openshift/grafana)

  * bus: support multiple dispatch in one transaction [#12203](https://github.com/openshift/grafana/pull/12203)
  * Set current org when adding/removing user to org [#12263](https://github.com/openshift/grafana/pull/12263)
  * Copy correct annotation props when creating a snapshot [#12317](https://github.com/openshift/grafana/pull/12317)
  * #11607 Cleanup time of temporary files is now configurable [#12274](https://github.com/openshift/grafana/pull/12274)
  * ldap: allow use of DN in group_search_filter_user_attribute and member_of [#10970](https://github.com/openshift/grafana/pull/10970)
  * expose session and transaction helpers to other services [#12322](https://github.com/openshift/grafana/pull/12322)
  * Fix regressions after save modal changes [#12350](https://github.com/openshift/grafana/pull/12350)
  * Fix dashboard drop down links [#12345](https://github.com/openshift/grafana/pull/12345)
  * graph: fix legend decimals precision calculation [#12123](https://github.com/openshift/grafana/pull/12123)
  * Make sure to process panels in collapsed rows when exporting dashboard [#12346](https://github.com/openshift/grafana/pull/12346)
  * build: fix signing of multiple rpm packages [#12363](https://github.com/openshift/grafana/pull/12363)
  * Fix error in InfluxDB query [#12325](https://github.com/openshift/grafana/pull/12325)
  * Conditionally select a field to return in ResponseParser for InfluxDB [#12018](https://github.com/openshift/grafana/pull/12018)
  * Pass configured/auth headers to a Datasource. [#11643](https://github.com/openshift/grafana/pull/11643)
  * Karma to Jest: history_ctrl [#12367](https://github.com/openshift/grafana/pull/12367)
  * fix "Cloudwatch panel does not allow arbitrary variable values in query" [#11990](https://github.com/openshift/grafana/pull/11990)
  * Return a 404 when deleting a datasource through the API if it doesn't… [#12387](https://github.com/openshift/grafana/pull/12387)
  * Set $rootScope in DatasourceSrv [#12383](https://github.com/openshift/grafana/pull/12383)
  * Fix selecting current dashboard from search does not reload dashboard [#12392](https://github.com/openshift/grafana/pull/12392)
  * enhance error message if phantomjs executable is not found [#12198](https://github.com/openshift/grafana/pull/12198)
  * routing: allows routes to be added to existing groups [#12396](https://github.com/openshift/grafana/pull/12396)
  * Fix typo [#12407](https://github.com/openshift/grafana/pull/12407)
  * Set correct text in drop down when variable is present in url [#12395](https://github.com/openshift/grafana/pull/12395)
  * docs: update installation instructions [#12399](https://github.com/openshift/grafana/pull/12399)
  * login: fix layout issues [#12412](https://github.com/openshift/grafana/pull/12412)
  * Fix footer CSS issue [#12441](https://github.com/openshift/grafana/pull/12441)
  * Make colorization of prefix and postfix optional in singlestat [#11892](https://github.com/openshift/grafana/pull/11892)
  * Revert "auth proxy: use real ip when validating white listed ip's" [#12444](https://github.com/openshift/grafana/pull/12444)
  * Fix: Log close (ie flush) was done too early, before final shutdown log [#12439](https://github.com/openshift/grafana/pull/12439)
  * Fix HTTP-API admin doc [#12502](https://github.com/openshift/grafana/pull/12502)
  * Karma to Jest: elasticsearch datasource [#12493](https://github.com/openshift/grafana/pull/12493)
  * [c35c1d72](https://github.com/openshift/grafana/commit/c35c1d72)
  * [52b475f9](https://github.com/openshift/grafana/commit/52b475f9)
  * [7f166668](https://github.com/openshift/grafana/commit/7f166668)
  * [d6631222](https://github.com/openshift/grafana/commit/d6631222)
  * [84af0332](https://github.com/openshift/grafana/commit/84af0332)
  * [afee29be](https://github.com/openshift/grafana/commit/afee29be)
  * mysql,mssql: improve $__timeFilter, $__timeFrom, $__timeTo macros
 [#12402](https://github.com/openshift/grafana/pull/12402)
  * Fix links not updating after changing variables [#12518](https://github.com/openshift/grafana/pull/12518)
  * Prometheus heatmap: fix unhandled error when some points are missing [#12511](https://github.com/openshift/grafana/pull/12511)
  * Fix datasource sorting with template variables [#12521](https://github.com/openshift/grafana/pull/12521)
  * Query field refactorings to support external plugins [#12284](https://github.com/openshift/grafana/pull/12284)
  * Karma to Jest: 3 data sources [#12496](https://github.com/openshift/grafana/pull/12496)
  * Fix freezing browser when loading plugin [#12585](https://github.com/openshift/grafana/pull/12585)
  * Prevent scroll on focus for iframe [#12586](https://github.com/openshift/grafana/pull/12586)
  * Explore Datasource selector [#12596](https://github.com/openshift/grafana/pull/12596)
  * [f0508aa5](https://github.com/openshift/grafana/commit/f0508aa5)
  * Adding eval_data to alerts query results [#12624](https://github.com/openshift/grafana/pull/12624)
  * Explore: calculate query interval based on available width [#12634](https://github.com/openshift/grafana/pull/12634)
  * Dont parse empty explore state from url [#12630](https://github.com/openshift/grafana/pull/12630)
  * Use url params for explore state [#12631](https://github.com/openshift/grafana/pull/12631)
  * [660dc09f](https://github.com/openshift/grafana/commit/660dc09f)
  * [c63f1425](https://github.com/openshift/grafana/commit/c63f1425)
  * [3fa2ec07](https://github.com/openshift/grafana/commit/3fa2ec07)
  * [29291f88](https://github.com/openshift/grafana/commit/29291f88)
  * Make prometheus value formatting more robust [#12617](https://github.com/openshift/grafana/pull/12617)
  * CloudWatch GetMetricData support [#11624](https://github.com/openshift/grafana/pull/11624)
  * [608303f4](https://github.com/openshift/grafana/commit/608303f4)
  * migrated jquery.flot.events to ts [#11469](https://github.com/openshift/grafana/pull/11469)
  * Id validation of CloudWatch GetMetricData [#12690](https://github.com/openshift/grafana/pull/12690)
  * Add Polish złoty to currency formatters [#12691](https://github.com/openshift/grafana/pull/12691)
  * Interval and range in query template variable [#12597](https://github.com/openshift/grafana/pull/12597)
  * Karma to Jest: graph_ctrl [#12692](https://github.com/openshift/grafana/pull/12692)
  * Datasource for Grafana logging platform [#12675](https://github.com/openshift/grafana/pull/12675)
  * postgres; escape ssl mode parameter [#12678](https://github.com/openshift/grafana/pull/12678)
  * CloudWatch backend return 400 if user input error [#12698](https://github.com/openshift/grafana/pull/12698)
  * docs: mentation that config changes requires restart. [#12699](https://github.com/openshift/grafana/pull/12699)
  * Karma to Jest: influx query_ctrl [#12702](https://github.com/openshift/grafana/pull/12702)
  * Karma to Jest: completer [#12704](https://github.com/openshift/grafana/pull/12704)
  * Karma to Jest: graphite query_ctrl [#12706](https://github.com/openshift/grafana/pull/12706)
  * fix failing test due to time diff issues [#12707](https://github.com/openshift/grafana/pull/12707)
  * fix invalid reference [#12709](https://github.com/openshift/grafana/pull/12709)
  * adjust table header contrast for the light theme [#12672](https://github.com/openshift/grafana/pull/12672)
  * Docs: Prometheus template query variables [#12693](https://github.com/openshift/grafana/pull/12693)
  * Karma to Jest: variable_srv_init [#12723](https://github.com/openshift/grafana/pull/12723)
  * Add tslib to TS compiler [#12718](https://github.com/openshift/grafana/pull/12718)
  * elasticsearch: fix index patterns [#12734](https://github.com/openshift/grafana/pull/12734)
  * built a component for delete button in tables [#12665](https://github.com/openshift/grafana/pull/12665)
  * SQL datasources - backend refactor [#12730](https://github.com/openshift/grafana/pull/12730)
  * removed unused class from the deletebutton pr [#12740](https://github.com/openshift/grafana/pull/12740)
  * Karma to Jest: singlestat [#12737](https://github.com/openshift/grafana/pull/12737)
  * Karma to Jest: backend_srv [#12742](https://github.com/openshift/grafana/pull/12742)
  * Karma to Jest: heatmap_ctrl [#12745](https://github.com/openshift/grafana/pull/12745)
  * Use metric column as prefix when returning multiple value columns [#12679](https://github.com/openshift/grafana/pull/12679)
  * change units to include characters for power of 2 and 3 [#12744](https://github.com/openshift/grafana/pull/12744)
  * Adding Cloudwatch AWS/AppSync metrics and dimensions [#12301](https://github.com/openshift/grafana/pull/12301)
  * add AWS/DX metrics and dimension to cloudwatch [#12762](https://github.com/openshift/grafana/pull/12762)
  * Added BurstBalance metric to list of AWS RDS metrics. [#12561](https://github.com/openshift/grafana/pull/12561)
  * Karma to Jest: prometheus datasource [#12771](https://github.com/openshift/grafana/pull/12771)
  * fix custom variable quoting in sql* query interpolations [#12791](https://github.com/openshift/grafana/pull/12791)
  * Add new Redshift metrics and dimensions for Cloudwatch datasource [#12063](https://github.com/openshift/grafana/pull/12063)
  * table link color fix [#12774](https://github.com/openshift/grafana/pull/12774)
  * remove alias from postgres $__timeGroup macro
 [#12760](https://github.com/openshift/grafana/pull/12760)
  * Add auto_assign_org_id to defaults.ini [#12802](https://github.com/openshift/grafana/pull/12802)
  * Karma to Jest: remove tests [#12808](https://github.com/openshift/grafana/pull/12808)
  * Karma to Jest: OpenTSDB datasource [#12819](https://github.com/openshift/grafana/pull/12819)
  * Karma to Jest: variable_srv [#12787](https://github.com/openshift/grafana/pull/12787)
  * Merges the Grafana docker build into the main repository. [#12798](https://github.com/openshift/grafana/pull/12798)
  * unix socket docs [#12823](https://github.com/openshift/grafana/pull/12823)
  * Mssql: add logo [#12746](https://github.com/openshift/grafana/pull/12746)
  * Explore: Add history to query fields [#12799](https://github.com/openshift/grafana/pull/12799)
  * Explore: show message if queries did not return data [#12813](https://github.com/openshift/grafana/pull/12813)
  * WIP: Fit panels to screen height [#12796](https://github.com/openshift/grafana/pull/12796)
  * Explore: prometheus query helpers [#12821](https://github.com/openshift/grafana/pull/12821)
  * fix missing * [#12835](https://github.com/openshift/grafana/pull/12835)
  * Fix issue with secret fields after updating datasource [#12834](https://github.com/openshift/grafana/pull/12834)
  * Fixing bug in url query reader and added test cases [#12815](https://github.com/openshift/grafana/pull/12815)
  * Add fill mode to fill in previously seen value when point is missing to SQL datasources [#12753](https://github.com/openshift/grafana/pull/12753)
  * Explore: expand recording rules for queries [#12846](https://github.com/openshift/grafana/pull/12846)
  * Delete button for team members page [#12856](https://github.com/openshift/grafana/pull/12856)
  * Add example OR search_filter to docs [#12848](https://github.com/openshift/grafana/pull/12848)
  * Convert URL-like text to links in plugins readme [#12843](https://github.com/openshift/grafana/pull/12843)
  * Refactor setting fillmode [#12880](https://github.com/openshift/grafana/pull/12880)
  * show teams on profile [#12838](https://github.com/openshift/grafana/pull/12838)
  * Support client certificates for LDAP servers [#12807](https://github.com/openshift/grafana/pull/12807)
  * Use uid when linking to dashboards internally in a dashboard [#12844](https://github.com/openshift/grafana/pull/12844)
  * Support timeFilter in query templating for InfluxDB [#12598](https://github.com/openshift/grafana/pull/12598)
  * Karma to Jest: share_modal_ctrl [#12809](https://github.com/openshift/grafana/pull/12809)
  * WIP Karma to Jest: heatmap renderer (refactor) [#12897](https://github.com/openshift/grafana/pull/12897)
  * [postgres] add timescaledb option to postgres datasource [#12680](https://github.com/openshift/grafana/pull/12680)
  * Karma to Jest: rename and cleanup [#12914](https://github.com/openshift/grafana/pull/12914)
  * GitLab authentication backend [#11314](https://github.com/openshift/grafana/pull/11314)
  * Fix typo [#12879](https://github.com/openshift/grafana/pull/12879)
  * Set User-Agent header in datasource proxied requests [#12909](https://github.com/openshift/grafana/pull/12909)
  * Doc - fix broken link [#12947](https://github.com/openshift/grafana/pull/12947)
  * add $__unixEpochGroup and $__unixEpochGroupAlias to sql datasources [#12891](https://github.com/openshift/grafana/pull/12891)
  * Login button issue in light theme [#12955](https://github.com/openshift/grafana/pull/12955)
  * Provisioning: Should allow one default datasource per organisation [#12921](https://github.com/openshift/grafana/pull/12921)
  * dsproxy: interpolate route url [#12974](https://github.com/openshift/grafana/pull/12974)
  * Explore: Fix initial state in split view [#12873](https://github.com/openshift/grafana/pull/12873)
  * [8f875951](https://github.com/openshift/grafana/commit/8f875951)
  * Explore: Filter out existing labels in label suggestions [#12874](https://github.com/openshift/grafana/pull/12874)
  * [75db4d8e](https://github.com/openshift/grafana/commit/75db4d8e)
  * Explore: still show rate hint if query is complex [#12876](https://github.com/openshift/grafana/pull/12876)
  * [dd796bfb](https://github.com/openshift/grafana/commit/dd796bfb)
  * Explore: Fix label filtering for rate queries [#12893](https://github.com/openshift/grafana/pull/12893)
  * Fix: Template variables are executing excessive queries [#12959](https://github.com/openshift/grafana/pull/12959)
  * [5f81c879](https://github.com/openshift/grafana/commit/5f81c879)
  * Update notifications.md [#12994](https://github.com/openshift/grafana/pull/12994)
  * tests: fix missing tests (with .jest suffix) [#13012](https://github.com/openshift/grafana/pull/13012)
  * Heatmap: fix tooltip and crosshair in firefox [#12999](https://github.com/openshift/grafana/pull/12999)
  * Replacing variable interpolation in "All value" value [#12967](https://github.com/openshift/grafana/pull/12967)
  * [ad9f38ae](https://github.com/openshift/grafana/commit/ad9f38ae)
  * animation during slow login [#12939](https://github.com/openshift/grafana/pull/12939)
  * docs: How to get started with Grafana for the first time [#12919](https://github.com/openshift/grafana/pull/12919)
  * Update provisioning.md [#13056](https://github.com/openshift/grafana/pull/13056)
  * [9423e3e1](https://github.com/openshift/grafana/commit/9423e3e1)
  * [36bc8b77](https://github.com/openshift/grafana/commit/36bc8b77)
  * [eef41cbc](https://github.com/openshift/grafana/commit/eef41cbc)
  * * master: (30 commits) [0e647db4](https://github.com/openshift/grafana/commit/0e647db4)
  * alerting: invert sendOnce to sendReminder [#12161](https://github.com/openshift/grafana/pull/12161)
  * * master: (84 commits) [6cd83e18](https://github.com/openshift/grafana/commit/6cd83e18)
  * * fork/bus_multi_dispatch: [0cfdebf0](https://github.com/openshift/grafana/commit/0cfdebf0)
  * * master: [ffda5efc](https://github.com/openshift/grafana/commit/ffda5efc)
  * * master: (95 commits) [d31c7bc6](https://github.com/openshift/grafana/commit/d31c7bc6)
  * [6d2136b8](https://github.com/openshift/grafana/commit/6d2136b8)
  * [34e448c6](https://github.com/openshift/grafana/commit/34e448c6)
  * Alerting notification reminder [#12145](https://github.com/openshift/grafana/pull/12145)
  * added Bitcoin as a currency option [#13125](https://github.com/openshift/grafana/pull/13125)
  * [wip]added empty list cta to team list [#12854](https://github.com/openshift/grafana/pull/12854)
  * [01a1737d](https://github.com/openshift/grafana/commit/01a1737d)
  * [09efcbc2](https://github.com/openshift/grafana/commit/09efcbc2)
  * [bb68cb6e](https://github.com/openshift/grafana/commit/bb68cb6e)
  * [dd2b6c70](https://github.com/openshift/grafana/commit/dd2b6c70)
  * [c5de5ed5](https://github.com/openshift/grafana/commit/c5de5ed5)
  * [6c6be9cf](https://github.com/openshift/grafana/commit/6c6be9cf)
  * [1a051ce3](https://github.com/openshift/grafana/commit/1a051ce3)
  * [6766028d](https://github.com/openshift/grafana/commit/6766028d)
  * [6b656094](https://github.com/openshift/grafana/commit/6b656094)
  * [e5900680](https://github.com/openshift/grafana/commit/e5900680)
  * [1849e938](https://github.com/openshift/grafana/commit/1849e938)
  * [046ee8ef](https://github.com/openshift/grafana/commit/046ee8ef)
  * [f4006911](https://github.com/openshift/grafana/commit/f4006911)
  * [8392fe5c](https://github.com/openshift/grafana/commit/8392fe5c)
  * [95a5a613](https://github.com/openshift/grafana/commit/95a5a613)
  * [fa170b3c](https://github.com/openshift/grafana/commit/fa170b3c)
  * [107c0d81](https://github.com/openshift/grafana/commit/107c0d81)
  * [24eafa45](https://github.com/openshift/grafana/commit/24eafa45)
  * [1c0a1882](https://github.com/openshift/grafana/commit/1c0a1882)
  * [1dd2bce0](https://github.com/openshift/grafana/commit/1dd2bce0)
  * [9e054775](https://github.com/openshift/grafana/commit/9e054775)
  * [cd49f2d4](https://github.com/openshift/grafana/commit/cd49f2d4)
  * [928353c6](https://github.com/openshift/grafana/commit/928353c6)
  * [6220dec0](https://github.com/openshift/grafana/commit/6220dec0)
  * [a05d694d](https://github.com/openshift/grafana/commit/a05d694d)
  * [6c7984a8](https://github.com/openshift/grafana/commit/6c7984a8)
  * [682c684d](https://github.com/openshift/grafana/commit/682c684d)
  * [d26caccc](https://github.com/openshift/grafana/commit/d26caccc)
  * [19dcc1f4](https://github.com/openshift/grafana/commit/19dcc1f4)
  * [aacf5559](https://github.com/openshift/grafana/commit/aacf5559)
  * [3f4c808c](https://github.com/openshift/grafana/commit/3f4c808c)
  * [1d711924](https://github.com/openshift/grafana/commit/1d711924)
  * [734118de](https://github.com/openshift/grafana/commit/734118de)
  * [d7ddab95](https://github.com/openshift/grafana/commit/d7ddab95)
  * [6613f114](https://github.com/openshift/grafana/commit/6613f114)
  * [b8af68e0](https://github.com/openshift/grafana/commit/b8af68e0)
  * [5c3b80b4](https://github.com/openshift/grafana/commit/5c3b80b4)
  * [67edb9e9](https://github.com/openshift/grafana/commit/67edb9e9)
  * [5c25844c](https://github.com/openshift/grafana/commit/5c25844c)
  * [3b6454ab](https://github.com/openshift/grafana/commit/3b6454ab)
  * [d8606ddf](https://github.com/openshift/grafana/commit/d8606ddf)
  * [3f5d325e](https://github.com/openshift/grafana/commit/3f5d325e)
  * [15c8ef6c](https://github.com/openshift/grafana/commit/15c8ef6c)
  * [5b3b0295](https://github.com/openshift/grafana/commit/5b3b0295)
  * [4acf4f9d](https://github.com/openshift/grafana/commit/4acf4f9d)
  * [998bb6eb](https://github.com/openshift/grafana/commit/998bb6eb)
  * [1b5486ae](https://github.com/openshift/grafana/commit/1b5486ae)
  * [ea110b59](https://github.com/openshift/grafana/commit/ea110b59)
  * [7177f194](https://github.com/openshift/grafana/commit/7177f194)
  * [70daa56a](https://github.com/openshift/grafana/commit/70daa56a)
  * [650e2faf](https://github.com/openshift/grafana/commit/650e2faf)
  * [265d5daf](https://github.com/openshift/grafana/commit/265d5daf)
  * [de917dfc](https://github.com/openshift/grafana/commit/de917dfc)
  * [82e60125](https://github.com/openshift/grafana/commit/82e60125)
  * postgres: graphical query builder [#11081](https://github.com/openshift/grafana/pull/11081)
  * Fix error when new variables created but not yet added/saved [#13133](https://github.com/openshift/grafana/pull/13133)
  * [432e203d](https://github.com/openshift/grafana/commit/432e203d)
  * [151e950e](https://github.com/openshift/grafana/commit/151e950e)
  * [99133c4f](https://github.com/openshift/grafana/commit/99133c4f)
  * [00c0b71f](https://github.com/openshift/grafana/commit/00c0b71f)
  * [c9ae585d](https://github.com/openshift/grafana/commit/c9ae585d)
  * [0aea60bf](https://github.com/openshift/grafana/commit/0aea60bf)
  * upgrade to golang 1.11 [#13031](https://github.com/openshift/grafana/pull/13031)
  * docs: default paths in the docker container. [#13165](https://github.com/openshift/grafana/pull/13165)
  * [32094735](https://github.com/openshift/grafana/commit/32094735)
  * make default values for alerting configurable [#13170](https://github.com/openshift/grafana/pull/13170)
  * Add min time interval support for SQL datasources [#13148](https://github.com/openshift/grafana/pull/13148)
  * Alert Teams - Adding Action to view the graph by its public URL. [#13167](https://github.com/openshift/grafana/pull/13167)
  * [1415bed0](https://github.com/openshift/grafana/commit/1415bed0)
  * [4391209f](https://github.com/openshift/grafana/commit/4391209f)
  * [035b0ab0](https://github.com/openshift/grafana/commit/035b0ab0)
  * [298c088d](https://github.com/openshift/grafana/commit/298c088d)
  * [267b96cb](https://github.com/openshift/grafana/commit/267b96cb)
  * Add jsonnet with grafonnet-lib to provisioning docs [#13209](https://github.com/openshift/grafana/pull/13209)
  * Fix postgres quoting to handle non-string values [#13184](https://github.com/openshift/grafana/pull/13184)
  * Fix query builder queries for interval start [#13200](https://github.com/openshift/grafana/pull/13200)
  * added id tag to Panels for html bookmarking on longer Dashboards [#12260](https://github.com/openshift/grafana/pull/12260)
  * [17e99bb3](https://github.com/openshift/grafana/commit/17e99bb3)
  * fix: Dashboard permissions now shows correctly [#13208](https://github.com/openshift/grafana/pull/13208)
  * Sort results from GetDashboardTags [#11681](https://github.com/openshift/grafana/pull/11681)
  * Adding Centrify configuration for Oauth [#1](https://github.com/openshift/grafana/pull/1)
  * Add Centrify documentation for generic_oauth [#13217](https://github.com/openshift/grafana/pull/13217)
  * (prometheus) get label name/value from series API [#12251](https://github.com/openshift/grafana/pull/12251)
  * (prometheus) add annotation option to treat series value as timestamp [#11789](https://github.com/openshift/grafana/pull/11789)
  * [metrics]enabled = false should disable the /metrics endpoint. [#13259](https://github.com/openshift/grafana/pull/13259)
  * Fix anonymous usage stats for authentication types [#13253](https://github.com/openshift/grafana/pull/13253)
  * use pluginName consistently when upgrading plugins [#13269](https://github.com/openshift/grafana/pull/13269)
  * Added underline to links in table [#13274](https://github.com/openshift/grafana/pull/13274)
  * Fix gauge display accuracy for "percent (0.0-1.0)" [#13270](https://github.com/openshift/grafana/pull/13270)
  * docs: include active directory ldap example and restructure [#13252](https://github.com/openshift/grafana/pull/13252)
  * [6cdfff52](https://github.com/openshift/grafana/commit/6cdfff52)
  * fix hipchat color code used for "no data" notifications [#13284](https://github.com/openshift/grafana/pull/13284)
  * [108a2019](https://github.com/openshift/grafana/commit/108a2019)
  * [9caa0301](https://github.com/openshift/grafana/commit/9caa0301)
  * [89ea47e7](https://github.com/openshift/grafana/commit/89ea47e7)
  * [7c27a87d](https://github.com/openshift/grafana/commit/7c27a87d)
  * [d173ebe7](https://github.com/openshift/grafana/commit/d173ebe7)
  * Permissions to redux [#13273](https://github.com/openshift/grafana/pull/13273)
  * [dd0b1d84](https://github.com/openshift/grafana/commit/dd0b1d84)
  * Team member labels [#13285](https://github.com/openshift/grafana/pull/13285)
  * Fix some megacheck issues [#13295](https://github.com/openshift/grafana/pull/13295)
  * Add documentation for postgres query builder [#13293](https://github.com/openshift/grafana/pull/13293)
  * * master: (3328 commits) [abd5a74e](https://github.com/openshift/grafana/commit/abd5a74e)
  * * master: [835a7533](https://github.com/openshift/grafana/commit/835a7533)
  * annotations: allows template variables to be used in tag filter [#10163](https://github.com/openshift/grafana/pull/10163)
  * Internal metrics: starts counters at zero [#13279](https://github.com/openshift/grafana/pull/13279)
  * * brian2222-patch-1: [6938fd5f](https://github.com/openshift/grafana/commit/6938fd5f)
  * Explore: Add multiline syntax highlighting to query field [#13282](https://github.com/openshift/grafana/pull/13282)
  * Moves docker/ to devenv/docker [#13300](https://github.com/openshift/grafana/pull/13300)
  * moves files from /tests to more appropriate folders [#13301](https://github.com/openshift/grafana/pull/13301)
  * Fix setting test [#13307](https://github.com/openshift/grafana/pull/13307)
  * removes unused files [#13305](https://github.com/openshift/grafana/pull/13305)
  * disable codecov [#13317](https://github.com/openshift/grafana/pull/13317)
  * Fix megacheck issues [#13330](https://github.com/openshift/grafana/pull/13330)
  * Explore: Fix click to filter for recording rule expressions [#13339](https://github.com/openshift/grafana/pull/13339)
  * Don't use unnest in queries for redshift compatibility [#13342](https://github.com/openshift/grafana/pull/13342)
  * Fix misspelled authentication in Auth overview doc [#13363](https://github.com/openshift/grafana/pull/13363)
  * Explore: Query field fixes [#13367](https://github.com/openshift/grafana/pull/13367)
  * Fix megacheck issues [#13374](https://github.com/openshift/grafana/pull/13374)
  * Explore: Fix label suggestions for recording rules [#13341](https://github.com/openshift/grafana/pull/13341)
  * Fix misspell issues [#13383](https://github.com/openshift/grafana/pull/13383)
  * [1599806b](https://github.com/openshift/grafana/commit/1599806b)
  * added span with folder title that is shown for recently and starred [#12128](https://github.com/openshift/grafana/pull/12128)
  * [87bee3d9](https://github.com/openshift/grafana/commit/87bee3d9)
  * Update Configuration.md [#12716](https://github.com/openshift/grafana/pull/12716)
  * Fix metric-segment options displaying after blur [#13388](https://github.com/openshift/grafana/pull/13388)
  * Fix #13356, where tooltips do not display individual values on stacked graphs [#13394](https://github.com/openshift/grafana/pull/13394)
  * Explore: label selector for logging [#12877](https://github.com/openshift/grafana/pull/12877)
  * devenv: adds script for creating many dashboards with alerts [#13398](https://github.com/openshift/grafana/pull/13398)
  * Fix spelling of your and you're [#13410](https://github.com/openshift/grafana/pull/13410)
  * 13312 legend table width [#13407](https://github.com/openshift/grafana/pull/13407)
  * Remove option r from ln command since its not working everywhere [#13413](https://github.com/openshift/grafana/pull/13413)
  * Concurrent render limits [#13401](https://github.com/openshift/grafana/pull/13401)
  * provisioning: changed update interval default 3 to 10 seconds [#13391](https://github.com/openshift/grafana/pull/13391)
  * Remove .dropdown-menu-open on body click fixes #13409 [#13417](https://github.com/openshift/grafana/pull/13417)
  * alerting: move all notification conditions to defaultShouldNotify [#13402](https://github.com/openshift/grafana/pull/13402)
  * filter NULL values in column value suggestion query [#13427](https://github.com/openshift/grafana/pull/13427)
  * imguploader: Add support for ECS credential provider for S3 [#13424](https://github.com/openshift/grafana/pull/13424)
  * Fix goconst issues [#13392](https://github.com/openshift/grafana/pull/13392)
  * Add goconst to CircleCI [#13432](https://github.com/openshift/grafana/pull/13432)
  * Prevent refresh on fixed time window [#12219](https://github.com/openshift/grafana/pull/12219)
  * resolve symlink on each run [#13360](https://github.com/openshift/grafana/pull/13360)
  * switch button for org users [#13380](https://github.com/openshift/grafana/pull/13380)
  * fixes to dark theme for Explore mode [#13445](https://github.com/openshift/grafana/pull/13445)
  * [f2307f92](https://github.com/openshift/grafana/commit/f2307f92)
  * Compile TS on precommit hook [#13448](https://github.com/openshift/grafana/pull/13448)
  * Plugin list to react [#13438](https://github.com/openshift/grafana/pull/13438)
  * Adding AWS Isolated Regions [#13458](https://github.com/openshift/grafana/pull/13458)
  * Grafana high availability (ha) test setup [#13439](https://github.com/openshift/grafana/pull/13439)
  * Limit number of time series in explore [#13408](https://github.com/openshift/grafana/pull/13408)
  * [3ba01953](https://github.com/openshift/grafana/commit/3ba01953)
  * [c2686781](https://github.com/openshift/grafana/commit/c2686781)
  * [dc1535cf](https://github.com/openshift/grafana/commit/dc1535cf)
  * [c67327d7](https://github.com/openshift/grafana/commit/c67327d7)
  * [785f35b1](https://github.com/openshift/grafana/commit/785f35b1)
  * [c282f391](https://github.com/openshift/grafana/commit/c282f391)
  * [b6a918ba](https://github.com/openshift/grafana/commit/b6a918ba)
  * [186dcc00](https://github.com/openshift/grafana/commit/186dcc00)
  * [2628ef7e](https://github.com/openshift/grafana/commit/2628ef7e)
  * [66c95991](https://github.com/openshift/grafana/commit/66c95991)
  * [284d0b7e](https://github.com/openshift/grafana/commit/284d0b7e)
  * [0507ff69](https://github.com/openshift/grafana/commit/0507ff69)
  * [26d9e924](https://github.com/openshift/grafana/commit/26d9e924)
  * [9748a948](https://github.com/openshift/grafana/commit/9748a948)
  * [9b90b835](https://github.com/openshift/grafana/commit/9b90b835)
  * [aedd5181](https://github.com/openshift/grafana/commit/aedd5181)
  * [cdcb14f3](https://github.com/openshift/grafana/commit/cdcb14f3)
  * Stackdriver Datasource - Fixes #6733 [#13289](https://github.com/openshift/grafana/pull/13289)
  * [3081e0f8](https://github.com/openshift/grafana/commit/3081e0f8)
  * 13411 react api key [#13444](https://github.com/openshift/grafana/pull/13444)
  * Explore: Store UI state in URL [#13463](https://github.com/openshift/grafana/pull/13463)
  * cli: fix reset-admin-password [#13422](https://github.com/openshift/grafana/pull/13422)
  * Update to ldap.md [#13480](https://github.com/openshift/grafana/pull/13480)
  * typo in sample.ini [#13481](https://github.com/openshift/grafana/pull/13481)
  * Fix megacheck issues [#13470](https://github.com/openshift/grafana/pull/13470)
  * [f37a60dc](https://github.com/openshift/grafana/commit/f37a60dc)
  * Explore: jump to explore from panels with mixed datasources [#13416](https://github.com/openshift/grafana/pull/13416)
  * [a0e1a1a1](https://github.com/openshift/grafana/commit/a0e1a1a1)
  * use alert state changes counter for alert notification dedupping. [#13477](https://github.com/openshift/grafana/pull/13477)
  * Transaction issues for alert reminder [#13440](https://github.com/openshift/grafana/pull/13440)
  * Update configuration doc to include socket at [server] [#13499](https://github.com/openshift/grafana/pull/13499)
  * Testdata tables [#13500](https://github.com/openshift/grafana/pull/13500)
  * [09b68132](https://github.com/openshift/grafana/commit/09b68132)
  * Org users to react [#13488](https://github.com/openshift/grafana/pull/13488)
  * Revert "Org users to react" [#13502](https://github.com/openshift/grafana/pull/13502)
  * build: automatically publish releases to grafana.com. [#13508](https://github.com/openshift/grafana/pull/13508)
  * Fix issue with updating role permissions #13507 [#13509](https://github.com/openshift/grafana/pull/13509)
  * [81c44eb3](https://github.com/openshift/grafana/commit/81c44eb3)
  * stackdriver: adds missing nginject attribute [#13511](https://github.com/openshift/grafana/pull/13511)
  * centered dashboard icon in search with flexbox [#13514](https://github.com/openshift/grafana/pull/13514)
  * Fix megacheck issues [#13506](https://github.com/openshift/grafana/pull/13506)
  * * grafana/master: [5425b76e](https://github.com/openshift/grafana/commit/5425b76e)
  * * grafana/master: (29 commits) [14d816af](https://github.com/openshift/grafana/commit/14d816af)
  * * grafana/master: (51 commits) [56927e55](https://github.com/openshift/grafana/commit/56927e55)
  * * grafana/master: (104 commits) [27e96179](https://github.com/openshift/grafana/commit/27e96179)
  * * grafana/master: (187 commits) [8c86a1c4](https://github.com/openshift/grafana/commit/8c86a1c4)
  * * grafana/master: (52 commits) [8cfad74a](https://github.com/openshift/grafana/commit/8cfad74a)
  * * grafana/master: [048fd87a](https://github.com/openshift/grafana/commit/048fd87a)
  * * grafana/master: (368 commits) [9f4d4a93](https://github.com/openshift/grafana/commit/9f4d4a93)
  * * grafana/master: (127 commits) [b4fad40c](https://github.com/openshift/grafana/commit/b4fad40c)
  * Keep trailing slash for datasource proxy requests [#13326](https://github.com/openshift/grafana/pull/13326)
  * move timeFrom, timeTo, unixEpochFrom and unixEpochTo macros to sql_engine [#13498](https://github.com/openshift/grafana/pull/13498)
  * Explore: typeahead and render performance improvements [#13491](https://github.com/openshift/grafana/pull/13491)
  * Moving contributing.md to top level [#13525](https://github.com/openshift/grafana/pull/13525)
  * Explore: fix rate hint for series with null values [#13528](https://github.com/openshift/grafana/pull/13528)
  * Explore: reset typeahead on cursor move [#13530](https://github.com/openshift/grafana/pull/13530)
  * ux: misc react migration fixes and info box style improvement [#13534](https://github.com/openshift/grafana/pull/13534)
  * Explore: resize graph on window resize [#13529](https://github.com/openshift/grafana/pull/13529)
  * Fixed typo in query editor placeholder text. [#13543](https://github.com/openshift/grafana/pull/13543)
  * fix gofmt tests output [#13538](https://github.com/openshift/grafana/pull/13538)
  * Fix text overflow on playlist search  #13464 [#13548](https://github.com/openshift/grafana/pull/13548)
  * docs: fix minor typos [#13547](https://github.com/openshift/grafana/pull/13547)
  * [e1c77f63](https://github.com/openshift/grafana/commit/e1c77f63)
  * New data source as separate page [#13537](https://github.com/openshift/grafana/pull/13537)
  * fix for influxdb annotation issue that caused text to be shown twice [#13556](https://github.com/openshift/grafana/pull/13556)
  * stackdriver metric name fix. Fixes #13562 [#13564](https://github.com/openshift/grafana/pull/13564)
  * Stackdriver filter wildcards [#13496](https://github.com/openshift/grafana/pull/13496)
  * Explore: do not show default suggestions after expressions [#13542](https://github.com/openshift/grafana/pull/13542)
  * Explore: trigger a query field render to fix highlighting [#13541](https://github.com/openshift/grafana/pull/13541)
  * Explore: compact state URLs [#13540](https://github.com/openshift/grafana/pull/13540)
  * ux: minor update to look of stackdriver query help [#13550](https://github.com/openshift/grafana/pull/13550)
  * Remove duplicate labels in the datasource query [#13570](https://github.com/openshift/grafana/pull/13570)
  * Improve Stackdriver provisioning docs [#13574](https://github.com/openshift/grafana/pull/13574)
  * Stackdriver heatmap support. Fixes #13559 [#13490](https://github.com/openshift/grafana/pull/13490)
  * Update debian.md [#13584](https://github.com/openshift/grafana/pull/13584)
  * fix CloudWatch id validation [#13583](https://github.com/openshift/grafana/pull/13583)
  * Render Dashboard Row drag handle only in edit mode [#13568](https://github.com/openshift/grafana/pull/13568)
  * cloudwatch: automatically set graph yaxis unit
 [#13571](https://github.com/openshift/grafana/pull/13571)
  * Update rpm.md [#13585](https://github.com/openshift/grafana/pull/13585)
  * Update windows.md [#13586](https://github.com/openshift/grafana/pull/13586)
  * Update mac.md [#13587](https://github.com/openshift/grafana/pull/13587)
  * [30fca2b1](https://github.com/openshift/grafana/commit/30fca2b1)
  * wip: whats new for 5.3 [#13403](https://github.com/openshift/grafana/pull/13403)
  * Explore: highlight typed text in suggestions [#13536](https://github.com/openshift/grafana/pull/13536)
  * [3932e4db](https://github.com/openshift/grafana/commit/3932e4db)
  * Run queries for sql data sources for panels with multiple queries concurrently
 [#13400](https://github.com/openshift/grafana/pull/13400)
  * elasticsearch: fix no limit size in terms aggregation for alerting queries [#13609](https://github.com/openshift/grafana/pull/13609)
  * Adding loading spinner to org pages [#13619](https://github.com/openshift/grafana/pull/13619)
  * fix phantomjs render of graph panel when legend displayed as table to the right [#13617](https://github.com/openshift/grafana/pull/13617)
  * [5b46c088](https://github.com/openshift/grafana/commit/5b46c088)
  * Frontend extensions [#13620](https://github.com/openshift/grafana/pull/13620)
  * stackdriver docs: metric query editor and annotations [#13618](https://github.com/openshift/grafana/pull/13618)
  * 13340 complete oauth doc [#13632](https://github.com/openshift/grafana/pull/13632)
  * [127b7d92](https://github.com/openshift/grafana/commit/127b7d92)
  * [69e0311c](https://github.com/openshift/grafana/commit/69e0311c)
  * Remove user form org in single org setup improvement [#13611](https://github.com/openshift/grafana/pull/13611)
  * [caf995bb](https://github.com/openshift/grafana/commit/caf995bb)
  * minor setting refactorings [#13638](https://github.com/openshift/grafana/pull/13638)
  * Stackdriver: Prevent filter from crashing [#13624](https://github.com/openshift/grafana/pull/13624)
  * Adds backend hooks service so extensions can modify index data [#13644](https://github.com/openshift/grafana/pull/13644)
  * updated jest to 23.10 [#13649](https://github.com/openshift/grafana/pull/13649)
  * Typos in plugin development documentation [#13657](https://github.com/openshift/grafana/pull/13657)
  * fix: label values regex for single letter labels [#13656](https://github.com/openshift/grafana/pull/1365…
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/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants