Skip to content

Releases: kube-reporting/metering-operator

Metering 0.14.0

03 Apr 22:32
Compare
Choose a tag to compare
- Initial implementation of multiple-namespace report added. Intended for developers to experiment with.
- Add documentation on tuning metering components.
- Support configuring Hive JVM max heap size ratio to memory limit/requests.
- Fix PVC request query when storageclass is missing.
- Support configuring hive metastore timeout
- Support adjusting metering-operator image repo/tag via install manual scripts
- Replace [jq](https://stedolan.github.io/jq/) with [faq](https://github.com/jzelinskie/faq/) in install scripts. See [manual pre-requisites](https://github.com/operator-framework/operator-metering/blob/master/Documentation/manual-install.md#requirements) for how
to obtain faq.
- Use v1 instead of v1beta1 for deployments/statefulsets
- Update OLM based install instructions for latest OLM
- Update Kubernetes Go packages to kubernetes-1.13.3 branch
- Improve local dev experience by allowing more things to be run locally
- Begin migration of CI to openshift CI
- Support configuring prometheus bearer token as secret
- Improve dependency resolution for reportGenerationQueries
- Fix panic when 0 metrics are imported
- Reports now wait for ReportDataSources to import data for the period being reported on. This ensures reports only run when the data required is available.
- Report `spec.gracePeriod` field removed.
- Updates schema of Report, and ReportDataSource status fields. This may require uninstalling and re-installing.
- Support configuring additional Presto connectors

Metering 0.13.0

11 Jan 23:30
Compare
Choose a tag to compare
- Combine ScheduledReports functionality into Reports, and remove ScheduledReports
- Support setting tolerations on all pods
- Support aggregation of sub-reports for pod namespace reports
- Support more types beyond strings for ReportGenerationQuery inputs
- Add readiness and liveness probes to hive pods
- Support setting imagePullSecrets on hive pods
- Enable metering-operator to grant access to metering resources by assigning roles to users/groups/serviceAccounts within a Metering CR.
- Update OLM CSV manifests for modern versions of OLM.
- Enable metering-operator to create necessary ClusterRoles and ClusterRoleBindings for reporting-operator to authenticate to Prometheus, and to allow reporting-operator to leverage the openshift auth proxy. Previously the install scripts did this.

Metering 0.12.0

11 Jan 23:45
Compare
Choose a tag to compare
- Store JVM GC logs in a log file within each pod
- Fix AWS Billing ReportDataSource handling
- Improve validation of ReportGenerationQueries
- Support setting tolerations and pod affinity on all components
- Fix Presto query buffer accounting that caused invalid SQL to be
sent to Presto in cases where the Query buffer reached max capacity
- Update ScheduledReports to fully handle all Report uses additionally.
This is in preparation of combining the Report and ScheduledReport
resources into a single Report CRD.

Metering 0.11.0

27 Nov 21:03
Compare
Choose a tag to compare
- Update manual install script to grant more permissions to allow using
serviceAccounts for auth
- Update kubectl in e2e docker image
- Set Content-Type and Content-Disposition headers in reporting APIs
when fetching report results
- Fix where healthcheck records get stored in hdfs/s3
- Add a superset chart for improving developer experience by providing a
UI for authoring queries and doing visualizations. Disabled by default.
- Minor updates to various scripts to enable easier use of manual
install scripts in upcoming dev preview guide

Metering 0.10.0

20 Nov 18:44
Compare
Choose a tag to compare
- Breaking Change: Added `dt` partition column to Prometheus ReportDataSources.
  - Since this is not already a column, upon upgrading, if there are any existing ReportDataSources, the reporting-operator will fail to insert any new data, and to query from existing ReportDataSources.
- Document exposing the reporting API outside the cluster.
- Break up the metering-config document into many documents, and break up example manifests into many manifests.
- Enable configuring how much data to backfill for new Prometheus ReportDataSources.
- Enable configuring presto query size limit.
- Enable configuring reporting-operator presto query size limit.
- Add cluster cpu/memory capacity, usage, and utilization report queries with support for roll-up.
- Add RHEL Dockerfiles for building OCP images
- Set ScheduledReport failure condition when validation fails.
- Validate cron schedule is set for ScheduledReports with period set to `cron`.
- Improve validation of ReportGenerationQuery dependencies
- Update HDFS to configure each pod as it's own rack to enable replication.
- Enable configuring presto JVM options.
- Fix double counting of memory and cpu usage due to Kubernetes 1.11 change in how metrics exported.

Metering 0.9.0

05 Nov 23:36
Compare
Choose a tag to compare
Metering 0.9.0 Pre-release
Pre-release
Metering 0.9.0 updates how we use images for the Helm, Hive, Hadoop and Presto components.

- metering-helm-operator image is now based on the forked Helm upstream repo
- removed metering-hadoop image. Replaced by updates to the hdfs Helm chart
- removed metering-presto and metering-hive image. Replaced by updates to the Presto Helm chart
- added persistent volume claim report queries

Metering 0.8.0

30 Oct 15:45
Compare
Choose a tag to compare
Metering 0.8.0 Pre-release
Pre-release

Metering 0.8.0 is mostly an internal release to snapshot the current state of metering in preparation of upcoming breaking changes.

Since 0.7.0:

  • Refactored internal handling of resources.
    • Reduces amount of unnecessary work doing no-ops and as a result also reduces logging verbosity
    • Improves responsiveness by requeuing resources when their dependent resources have changed
  • Moves all status related information such as table names, view name fields into a status field on CRs rather than having them be top-level fields.
  • Documented the current release process
  • Added Prometheus instrumentation on HTTP API operations
  • Fixed a bug preventing the log-level configuration from taking effect
  • Changed default log level to info
  • Replace CHARGEBACK_ environment variable prefix with REPORTING_OPERATOR_
  • Support configuring alternative Prometheus endpoint URL at a ReportDataSource level

In preparation of building OCP images:

  • Refactor helm operator image to use a new quay.io/coreos/helm base image rather than building helm
  • Refactor presto image to use a new quay.io/coreos/presto base image rather downloading Presto releases
  • Updates the reporting-operator and metering-helm-operator images to each include the minimum to build each image and no longer the metering-builder image

Operator Metering 0.7.0

26 Sep 20:36
Compare
Choose a tag to compare
Pre-release
Metering 0.7.0 is primarily intended to provide a snapshot of our current development.
This release changes are focused on improving performance and observability, as well as exposing new ways to use reports.

Below is a list of most major changes:

- Updated CRD API group to metering.openshift.io (breaking change).
- Metering CR now expects a `spec` field nested under each component (reporting-operator, presto, and hfs). See the `manifests/metering-config` directory for an example.
- Updated docker images names to use `metering` nomenclature
- Add support for HTTPs for reporting-operator API.
- Allow protecting reporting-operator API using Openshift auth-proxy on Openshift
- Add support for exposing reporting-operator API using loadbalancer/nodeport services or Openshift routes
- Support configuring node selectors on each component that deploy pods.
- reporting-operator now exposes Prometheus metrics on it's operations such as Report duration, number of metrics imported, etc.
- Improved resource deletion handling.
- Reduces unnecessary reconciles when nothing has changed. Reduces logging verbosity and number of transient errors.
- Add support for using finalizers for ensuring any clean up can be done before a resource is deleted from the API. Currently experimental and default behavior disables this.
- Automated builds now build all things inside Docker, without any on-host requirements other than Docker and Make (make is used to invoke the Docker builds)
- Support reportingStart/reportingEnd on ScheduledReports. This allows backfilling ScheduledReports with past data, and allows for ScheduledReports that do not run forever.
- Initial support for arbitrary inputs into ReportGenerationQueries is available. Currently only used to allow overriding reportingStart/reportingEnd with custom values.
- Initial support for ReportGenerationQueries to directly depend on Reports and ScheduledReports (to allow querying and reporting on other existing results).
- Remove all support for Tectonic

Operator Metering 0.6.0

14 May 21:14
Compare
Choose a tag to compare
Pre-release

This is the first public release of Operator Metering (previously known as kube-chargeback).

Operator Metering (metering for short) is designed to run inside Kubernetes and collect metrics from Prometheus periodically, storing them for long-term analysis.

Operator Metering extends the Kubernetes API by providing new Custom Resources like Reports and ScheduledReports for reporting on usage, or other custom metrics.

Documentation for this release can be found on the release-0.6 branch.

Please file issues if you run into any problems.

Tectonic Chargeback 0.5.1

08 Jan 16:08
Compare
Choose a tag to compare
  • Full Support for AWS Billing Correlation Reports
  • Configurable using Helm Operator
  • Improved documentation
  • More tests