Skip to content

Conversation

@yifan-gu
Copy link
Contributor

@yifan-gu yifan-gu commented Aug 22, 2018

Generate kubeconfig and kubeconfig-kubelet based on tls assets and install config.

@openshift-ci-robot openshift-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 22, 2018
@smarterclayton
Copy link
Contributor

/test e2e-aws

using that debug the problem

Copy link
Contributor

Choose a reason for hiding this comment

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

any reason why not use https://godoc.org/k8s.io/client-go/tools/clientcmd/api/v1#Config directly? Why does it have to be a template.

Copy link
Contributor

Choose a reason for hiding this comment

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

@yifan-gu yifan-gu force-pushed the generate_kubeconfig branch 4 times, most recently from 8ccea9e to 5146491 Compare August 24, 2018 01:05
@yifan-gu yifan-gu changed the title WIP asset: Add asset generation for kubeconfigs asset: Add asset generation for kubeconfigs Aug 24, 2018
@openshift-ci-robot openshift-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 24, 2018
@yifan-gu yifan-gu force-pushed the generate_kubeconfig branch from 07a3551 to 039ccae Compare August 24, 2018 20:12
@openshift-bot openshift-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 26, 2018
@yifan-gu yifan-gu force-pushed the generate_kubeconfig branch 2 times, most recently from 12cdffb to 362d21b Compare August 29, 2018 21:06
@openshift-bot openshift-bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 29, 2018
@yifan-gu yifan-gu force-pushed the generate_kubeconfig branch 2 times, most recently from 8be9aa7 to d0d70ae Compare August 29, 2018 21:18
@yifan-gu yifan-gu closed this Aug 29, 2018
@yifan-gu yifan-gu deleted the generate_kubeconfig branch August 29, 2018 22:46
@yifan-gu yifan-gu restored the generate_kubeconfig branch August 29, 2018 22:47
@yifan-gu yifan-gu reopened this Aug 29, 2018
@yifan-gu yifan-gu closed this Aug 29, 2018
@yifan-gu yifan-gu deleted the generate_kubeconfig branch August 29, 2018 22:49
@yifan-gu yifan-gu restored the generate_kubeconfig branch August 29, 2018 22:50
@yifan-gu yifan-gu reopened this Aug 29, 2018
@abhinavdahiya
Copy link
Contributor

/retest

// KubeconfigUserNameAdmin is the user name of the admin kubeconfig.
KubeconfigUserNameAdmin = "admin"
// KubeconfigUserNamekubelet is the user name of the kubelet kubeconfig.
KubeconfigUserNamekubelet = "kubelet"
Copy link
Member

Choose a reason for hiding this comment

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

nit: Namekubelet -> NameKublet.

Copy link
Contributor

@abhinavdahiya abhinavdahiya Aug 29, 2018

Choose a reason for hiding this comment

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

NameKubelet

Copy link
Contributor Author

Choose a reason for hiding this comment

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

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 see

if userName == KubeconfigUserNamekubelet {
return filepath.Join(rootDir, "auth", "kubeconfig-kubelet")
}
return filepath.Join(rootDir, "auth", "kubeconfig")
Copy link
Member

Choose a reason for hiding this comment

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

Why is the admin kubeconfig not getting namespaced? I'd have expected we could use:

filepath.Join(rootDir, "auth", fmt.Sprintf("kubeconfig-%s", k.userName))

for both the admin and kublet cases, in which case we can drop the assetFilePath helper.

Copy link
Contributor Author

@yifan-gu yifan-gu Aug 29, 2018

Choose a reason for hiding this comment

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

This is equivalent to what we have now, so I want to keep the same convention for folks.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually I updated the filename.

metadata:
creationTimestamp: null
name: test-cluster-name
networking:
Copy link
Member

Choose a reason for hiding this comment

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

We can probably drop the networking entry, and likely some others, no? We just need metadata.name and baseDomain, which would be something like:

Data: []byte(`baseDomain: test.example.com
metadata:
  name: test-cluster-name
`)

installConfig: installConfigState,
},
false,
[]byte(`clusters:
Copy link
Member

Choose a reason for hiding this comment

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

nit: It's easier for me to read these struct literals if we include the properties (e.g. expectedData: []byte(...)).

userName string
certKey asset.Asset
parents map[asset.Asset]*asset.State
err bool
Copy link
Member

Choose a reason for hiding this comment

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

nit: these tests would be more robust if you used a regex string here, and then used assert.Regexp, assert.EqualErrorf, or something like that. That would give us failing tests when something unexpected broke (vs. getting the expected error).

Yifan Gu added 2 commits August 29, 2018 18:45
Generate kubeconfig and kubeconfig-kubelet based on tls assets
and install config.

Added a Kubeconfig type to implement asset.Asset interface.

Kubeconfig type generates the admin kubeconfig and the short-lived
kubelet kubeconfig based on tls assets and installconfig.
@yifan-gu yifan-gu force-pushed the generate_kubeconfig branch from d0d70ae to 255dcb8 Compare August 30, 2018 01:45
Yifan Gu added 2 commits August 29, 2018 18:52
Add some tests to verify that kubeconfig asset will generate the
expected assets both in-memory and on-disk, also verify that it
will error out when the dependencies are not satisfied in parents.
@yifan-gu yifan-gu force-pushed the generate_kubeconfig branch from 255dcb8 to fc954ec Compare August 30, 2018 01:52
Rename "kubeconfig" to "kubeconfig_admin", and "kubelet_kubeconfig" to
"kubeconfig_kubelet".
Copy link
Member

@wking wking left a comment

Choose a reason for hiding this comment

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

A few more minor things. I'm fine with this PR landing as it stands, but thought I'd leave it to you to decide if we should handle any of those here vs. punting.

adminCertState := &asset.State{
Contents: []asset.Content{
{
Name: "admin.key",
Copy link
Member

Choose a reason for hiding this comment

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

nit: we can now use the tls package's public variables for these. Not worth holding up the merge, but something for followup work.

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'm in favor of using strings in the tests, kind like a double check to make sure the consts are defined as expected. Although it can add some overhead if we ever change the consts, but I think it should be fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Besides, the test itself doesn't depend on the filename, so it can be whatever we want.

user: admin
name: admin
current-context: admin
preferences: {}
Copy link
Member

Choose a reason for hiding this comment

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

nit: Maybe preferences should be omitempty upstream.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍 do you want to open up a PR for that?

Copy link
Member

Choose a reason for hiding this comment

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

do you want to open up a PR for that?

Ah, Config.Preferences is a struct upstream, so omitempty would currently be ignored (golang/go#11939). To drop this useless {} we'd need to either fix the Go bug or convert Config.Preferences to a pointer (*Preferences). Both of those approaches seem like more work than this warrants, so I'll just live with the {} ;).

adminCertKey: adminCertState,
installConfig: installConfigState,
},
errString: "",
Copy link
Member

Choose a reason for hiding this comment

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

nit: This is the zero value, so you can drop this line and the others like it below.

assert.EqualErrorf(t, err, tt.errString, fmt.Sprintf("test #%d expected %v, saw %v", i, tt.errString, err))
continue
} else {
if tt.errString != "" {
Copy link
Member

Choose a reason for hiding this comment

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

nit: You can drop a layer of nesting here with } else if tt.errString != "" {.

filename := filepath.Join(testDir, "auth", fmt.Sprintf("kubeconfig-%s", tt.userName))
data, err := ioutil.ReadFile(filename)
if err != nil {
t.Errorf("test #%d failed to read kubeconfig %q: %v", i, filename, err)
Copy link
Member

Choose a reason for hiding this comment

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

nit: Instead of tracking i, you can move your explanatory comments into tt.name (with the username in tt.username?) and t.Run the subtests. For example, see here.

}

if !bytes.Equal(st.Contents[0].Data, data) {
t.Errorf("test #%d expect kubeconfig data: %q, saw %q", i, string(st.Contents[0].Data), string(data))
Copy link
Member

Choose a reason for hiding this comment

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

Using assert.Equal may give you diffs when these fail, although I haven't tested that.

},
}

if err := st.PersistToFile(); err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why this being persisted to file?

Only targeted asset states are written to file.

Copy link
Contributor

Choose a reason for hiding this comment

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

https://github.com/openshift/installer/blob/master/Documentation/design/assetgeneration.md#target-generation states

After all the target assets have been generated, the installer outputs the contents of the components of the targets to disk.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok, will address in another PR ( for the installconfig too)

@wking wking mentioned this pull request Aug 30, 2018
@wking
Copy link
Member

wking commented Aug 30, 2018

/lgtm

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: wking, yifan-gu

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

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

@abhinavdahiya
Copy link
Contributor

/retest

@openshift-merge-robot openshift-merge-robot merged commit 4a32f52 into openshift:master Aug 30, 2018
@yifan-gu yifan-gu deleted the generate_kubeconfig branch August 30, 2018 21:48
wking added a commit to wking/openshift-installer that referenced this pull request Aug 31, 2018
Generated with:

  $ glide get --test --strip-vendor github.com/stretchr/testify/assert
  [INFO]Preparing to install 1 package.
  [INFO]Attempting to get package github.com/stretchr/testify/assert
  [INFO]--> Gathering release information for github.com/stretchr/testify
  [INFO]The package github.com/stretchr/testify appears to have Semantic Version releases (http://semver.org).
  [INFO]The latest release is v1.2.2. You are currently not using a release. Would you like
  [INFO]to use this release? Yes (Y) or No (N)
  y
  [INFO]The package github.com/stretchr/testify appears to use semantic versions (http://semver.org).
  [INFO]Would you like to track the latest minor or patch releases (major.minor.patch)?
  [INFO]The choices are:
  [INFO] - Tracking minor version releases would use '>= 1.2.2, < 2.0.0' ('^1.2.2')
  [INFO] - Tracking patch version releases would use '>= 1.2.2, < 1.3.0' ('~1.2.2')
  [INFO] - Skip using ranges
  [INFO]For more information on Glide versions and ranges see https://glide.sh/docs/versions
  [INFO]Minor (M), Patch (P), or Skip Ranges (S)?
  m
  [INFO]--> Adding github.com/stretchr/testify to your configuration with the version ^1.2.2
  ...
  $ rm -rf glide.lock vendor
  $ glide install --strip-vendor
  $ glide-vc --use-lock-file --no-tests --only-code
  $ bazel run //:gazelle

using:

  $ glide --version
  glide version v0.13.1
  $ (cd $GOPATH/src/github.com/sgotti/glide-vc && git describe)
  v0.1.0-2-g6ddf6ee
  $ bazel version
  Build label: 0.16.1- (@Non-Git)
  Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
  Build time: Mon Aug 13 16:42:29 2018 (1534178549)
  Build timestamp: 1534178549
  Build timestamp as int: 1534178549

The changes look reasonable, with the possible exception of client-go:

  $ cd $GOPATH/src/k8s.io/client-go
  $ git describe 78700dec6369ba22221b72770783300f143df150
  v6.0.0
  $ git describe 7d04d0e2a0a1a4d4a1cd6baa432a2301492e4e65
  v8.0.0

The v6 hash came into this repo with da6286f (vendor: Update vendor
for installconfig generation, 2018-08-23, openshift#160), so I'm not clear on
why it was pulling in the 2017-12-06 v6 instead of the 2018-06-28 v8.
I guess CI will let us know if anything breaks ;).
@wking wking mentioned this pull request Aug 31, 2018
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/pu…
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/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants