Skip to content

ESQL: Enterprise license enforcement for CCS#118102

Merged
quux00 merged 26 commits intoelastic:mainfrom
quux00:esql-ccs/enterprise-license-enforcement
Dec 12, 2024
Merged

ESQL: Enterprise license enforcement for CCS#118102
quux00 merged 26 commits intoelastic:mainfrom
quux00:esql-ccs/enterprise-license-enforcement

Conversation

@quux00
Copy link
Contributor

@quux00 quux00 commented Dec 5, 2024

ES|QL CCS is an enterprise licensed feature. This PR enforces that no ES|QL CCS query
can proceed unless a valid enterprise or trial license is present on the querying cluster.

If a valid license is not present a 400 Bad Request error is returned explaining that an enterprise
license is needed and showing what license (if any) was found.

If a valid license is found, then the license usage timestamp will be updated. Subsequent
calls to the GET /_license/feature_usage endpoint will show an entry for esql-ccs with
the last timestamp that it was checked and used.

{
  "features": [
    {
      "family": null,
      "name": "esql-ccs",
      "context": null,
      "last_used": "2024-12-09T19:54:38.767Z",
      "license_level": "enterprise"
    }
  ]
}
@quux00 quux00 added >enhancement auto-backport Automatically create backport pull requests when merged v9.0.0 v8.18.0 labels Dec 5, 2024
@quux00 quux00 force-pushed the esql-ccs/enterprise-license-enforcement branch 4 times, most recently from 4d9ac7b to f633f60 Compare December 6, 2024 17:28
@quux00 quux00 force-pushed the esql-ccs/enterprise-license-enforcement branch 2 times, most recently from 0043bb8 to 8e7212a Compare December 10, 2024 15:42
…n though the license is installed, ES|QL code sees null license
…WithSecurityYamlTestSuiteIT by changing build.gradle
@quux00 quux00 force-pushed the esql-ccs/enterprise-license-enforcement branch from 8e7212a to 165c3eb Compare December 10, 2024 15:52
@quux00 quux00 marked this pull request as ready for review December 10, 2024 15:52
@quux00 quux00 merged commit 555ff55 into elastic:main Dec 12, 2024
@elasticsearchmachine
Copy link
Collaborator

💔 Backport failed

Status Branch Result
8.x Commit could not be cherrypicked due to conflicts

You can use sqren/backport to manually backport by running backport --upstream elastic/elasticsearch --pr 118102

quux00 added a commit to quux00/elasticsearch that referenced this pull request Dec 12, 2024
ES|QL CCS is an enterprise licensed feature. This PR enforces that no ES|QL CCS query
can proceed unless a valid enterprise or trial license is present on the querying cluster.

If a valid license is not present a 400 Bad Request error is returned explaining that an enterprise
license is needed and showing what license (if any) was found.

If a valid license is found, then the license usage timestamp will be updated. Subsequent
calls to the `GET /_license/feature_usage` endpoint will show an entry for `esql-ccs` with
the last timestamp that it was checked and used.

```
{
  "features": [
    {
      "family": null,
      "name": "esql-ccs",
      "context": null,
      "last_used": "2024-12-09T19:54:38.767Z",
      "license_level": "enterprise"
    }
  ]
}
```
@quux00
Copy link
Contributor Author

quux00 commented Dec 12, 2024

Manual backport of this to 8.x (8.18) was done in this PR: #118620

quux00 added a commit that referenced this pull request Dec 13, 2024
ES|QL CCS is an enterprise licensed feature. This PR enforces that no ES|QL CCS query
can proceed unless a valid enterprise or trial license is present on the querying cluster.

If a valid license is not present a 400 Bad Request error is returned explaining that an enterprise
license is needed and showing what license (if any) was found.

If a valid license is found, then the license usage timestamp will be updated. Subsequent
calls to the `GET /_license/feature_usage` endpoint will show an entry for `esql-ccs` with
the last timestamp that it was checked and used.

```
{
  "features": [
    {
      "family": null,
      "name": "esql-ccs",
      "context": null,
      "last_used": "2024-12-09T19:54:38.767Z",
      "license_level": "enterprise"
    }
  ]
}
```
maxhniebergall pushed a commit to maxhniebergall/elasticsearch that referenced this pull request Dec 16, 2024
…c#118620)

ES|QL CCS is an enterprise licensed feature. This PR enforces that no ES|QL CCS query
can proceed unless a valid enterprise or trial license is present on the querying cluster.

If a valid license is not present a 400 Bad Request error is returned explaining that an enterprise
license is needed and showing what license (if any) was found.

If a valid license is found, then the license usage timestamp will be updated. Subsequent
calls to the `GET /_license/feature_usage` endpoint will show an entry for `esql-ccs` with
the last timestamp that it was checked and used.

```
{
  "features": [
    {
      "family": null,
      "name": "esql-ccs",
      "context": null,
      "last_used": "2024-12-09T19:54:38.767Z",
      "license_level": "enterprise"
    }
  ]
}
```
maxhniebergall pushed a commit to maxhniebergall/elasticsearch that referenced this pull request Dec 16, 2024
…c#118620)

ES|QL CCS is an enterprise licensed feature. This PR enforces that no ES|QL CCS query
can proceed unless a valid enterprise or trial license is present on the querying cluster.

If a valid license is not present a 400 Bad Request error is returned explaining that an enterprise
license is needed and showing what license (if any) was found.

If a valid license is found, then the license usage timestamp will be updated. Subsequent
calls to the `GET /_license/feature_usage` endpoint will show an entry for `esql-ccs` with
the last timestamp that it was checked and used.

```
{
  "features": [
    {
      "family": null,
      "name": "esql-ccs",
      "context": null,
      "last_used": "2024-12-09T19:54:38.767Z",
      "license_level": "enterprise"
    }
  ]
}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL auto-backport Automatically create backport pull requests when merged >enhancement Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v8.18.0 v9.0.0

4 participants