Releases: interuss/dss
Release list
v0.23.0-rc2
Release Notes for v0.23.0-rc2
Mandatory migration tasks
N/A
Optional migration tasks
enable_opentelemetryhas been split into two flags:enable_metricsandenable_tracing- A new pair of migrations for CockroachDB has been added for RID (4.1.0) and SCD (3.4.0) to remove useless indexes.
- The DSS will work regardless of the migration status.
- This migration will improve performance. If that is not the case for a specific scenario that was missed, please downgrade to the previous version and open an issue.
- These indexes are still useful for Yugabyte, so no such migration exists for it.
- Details about migrations are available there
Important information
- Fixed a bug where the
evictcommand ignored entries without a locality. If your DSS instance does not have a locality set, the nextevictrun may be slow while it processes the backlog of old entries. - Fixed a bug where Helm charts and Tanka files didn't actually perform any actions via the
evictcommand when run via cron jobs (because no locality was set and no delete flag was specified). If you have a large number of entries, the next run may be slow while it processes the backlog of old entries. - AWS load balancer names are no longer enforced by Helm charts or Tanka files. Existing clusters will retain their current names, while new ones will use names automatically generated by AWS.
- Server timeout flag has been renamed from
server timeouttoserver_timeout. - The
durationfield, previously recorded as a string containing the unit, has been changed toduration_ms, a float representing the duration in milliseconds, rounded to 0.01. - Grafana version deployed by Helm charts or Tanka files have been upgraded to 13.0. Ensure to read grafana changelog based on your current version.
- The Google Kubernetes Engine (GKE) node disk size has been increased from 15GB to 25GB to prevent issues with saturated system disks.
- You will need to apply the Terraform state once to recreate the node pool.
- This process will take some time because it is performed in a non-disruptive rolling update, draining and moving pods across nodes during the upgrade.
- Please plan accordingly and test the rollout on a non-production cluster first.
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.1.0 | 1.1.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.3.0 | 1.1.0 |
Validation
USS qualifier versions: v0.31.0
Test configuration and report: See attachment.
What's Changed
- Reset NEXT_RELEASE_NOTES.md by @mickmis in #1427
- RELEASE.md: add 'NEXT_RELEASE_NOTES.md' workflow and validation section in release notes by @mickmis in #1428
- [aux] Fill nil on empty body on PutDSSInstancesHeartbeat by @the-glu in #1429
- [tooling] Add authentification tests by @the-glu in #1430
- Add .gitkeep file to docker ignore to prevent -dirty version by @the-glu in #1432
- [deploy] Improve recommandations for storage type & instance types by @the-glu in #1433
- Auth: Move authentification validation in generated code by @the-glu in #1434
- [certificates] Add CI hygiene checks, minor fixes on python hygiene checks by @the-glu in #1435
- Bump github.com/jackc/pgx/v5 from 5.7.4 to 5.9.0 by @dependabot[bot] in #1441
- [docs] Improve data storage documentation by @BenjaminPelletier in #1437
- [rid/datastore/ListExpired(Subscriptions|ISAs)] Properly escape writer; Fix removal of expired entities with NULL writer (empty locality) by @the-glu in #1436
- [tooling] Improve shell-lint to ignore git-ignored files by @the-glu in #1443
- Bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.2 by @dependabot[bot] in #1450
- [store] Squash datastore.Store and datastore.Datastore by @the-glu in #1444
- [store] Revork init structure; use Store interfaces instead of datastore.Store interfaces by @the-glu in #1445
- [store] Rename datastore to sqlstore by @the-glu in #1446
- [store] Move CodeRetryable to generic store by @the-glu in #1447
- [store] Add store type flag by @the-glu in #1448
- Upgrade to go 1.26.2 by @the-glu in #1458
- [Raft] Add Raft store stubs by @MariemBaccari in #1451
- [monitoring] Add and expose opentelemetry metrics by @the-glu in #1454
- [tooling]: Generate all openapi-to-go files; make setAuthError generated only when needed by @the-glu in #1455
- [Raft] Add etcd raft dependencies by @MariemBaccari in #1460
- Bump google.golang.org/protobuf from 1.23.0 to 1.33.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1465
- Bump golang.org/x/net from 0.30.0 to 0.38.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1466
- Bump google.golang.org/grpc from 1.29.1 to 1.79.3 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1467
- [Doc] Improve monitoring page & cleanup outdated monitoring config/examples by @the-glu in #1457
- [Raft] Add Raft transport by @MariemBaccari in #1464
- [tooling]: Enforce in CI generation of gen.go files by @the-glu in #1456
- [Raft] Add log warning about Raft implementation by @MariemBaccari in #1468
- [tanka/helm] Set localitly on cleanup jobs by @the-glu in #1477
- [doc] Add tracing documentation by @the-glu in #1471
- [terraform] Upgrade to kubernetes version 1.35 by @the-glu in #1478
- [helm/tanka] Normalize wait container for schema, jobs and core-service by @the-glu in #1481
- [terraform] Add option to make GKE cluster deletable by @the-glu in #1484
- [tanka/helm] Remove 'name' anotation in AWS load balancer by @the-glu in #1489
- [doc] Add a deployment checklist by @the-glu in #1491
- [tanka/helm] Actually delete entries in cronjob evict tool by @the-glu in #1487
- [doc] Add command to connect to YugabyteDB in troubleshooting by @the-glu in #1501
- [scd] Remove redundant fetch cells call by @MariemBaccari in #1475
- [tanka] Remove useless yugabyte hooks by @the-glu in #1479
- [geo] normalize s2 loop by @RustedBones in #1485
- [geo] Leverage s2.CrossSign for loop validation by @RustedBones in #1490
- [tooling] Automatic release artefacts: Base script helper & config by @the-glu in #1493
- [tooling] Automatic release artefacts: Cluster spawning by @the-glu in #1494
- [tooling] Automatic release artefacts: Cluster configuration by @the-glu in #1495
- [tooling] Automatic release artefacts: Deploy services by @the-glu in #1496
- [tooling] Automatic release artefacts: Run tests by @the-glu in #1497
- [tooling] Automatic release artefacts: Compile results by @the-glu in #1498
- [tooling] Automatic release artefacts: Destroy clusters by @the-glu in #1499
- [doc] Move cleanup part from README to documentation (partially merged in #1491) by @the-glu in #1469
- [auth] Don't crash on tokens with missing 'exp' field by @the-glu in #1508
- [metrics] Add RID metrics: subscriptions and isa count by @the-glu in #1502
- [interfaces] Remove invalid default value in aux API by @BenjaminPelletier in #1511
- [Raft] Add Raft persistence by @MariemBaccari in #1470
- [metrics] Add SCD metrics: subscriptions, constraints and operational intents count by @the-glu in #1503
- [core] Fix timeout argument by @the-glu in #1514
- [core] Use better timeout handler and log timeouts by @the-glu in #1515
- [release scripts] Ignore yugabyte certificate init errors by @the-glu in #1516
- [opentelemetry] Split enable_opentelemetry into enable_metrics and enable_tracing by @the-glu in #1504
- [logging] Normalize duration to milliseconds, rounded to 0.01 by @the-glu in #1519
- [monitoring] Normalize gr...
v0.23.0-rc1
Release Notes for v0.23.0-rc1
Mandatory migration tasks
N/A
Optional migration tasks
enable_opentelemetryhas been split into two flags:enable_metricsandenable_tracing- A new pair of migrations for CockroachDB has been added for RID (4.1.0) and SCD (3.4.0) to remove useless indexes.
- The DSS will work regardless of the migration status.
- This migration will improve performance. If that is not the case for a specific scenario that was missed, please downgrade to the previous version and open an issue.
- These indexes are still useful for Yugabyte, so no such migration exists for it.
- Details about migrations are available there
Important information
- Fixed a bug where the
evictcommand ignored entries without a locality. If your DSS instance does not have a locality set, the nextevictrun may be slow while it processes the backlog of old entries. - Fixed a bug where Helm charts and Tanka files didn't actually perform any actions via the
evictcommand when run via cron jobs (because no locality was set and no delete flag was specified). If you have a large number of entries, the next run may be slow while it processes the backlog of old entries. - AWS load balancer names are no longer enforced by Helm charts or Tanka files. Existing clusters will retain their current names, while new ones will use names automatically generated by AWS.
- Server timeout flag has been renamed from
server timeouttoserver_timeout. - The
durationfield, previously recorded as a string containing the unit, has been changed toduration_ms, a float representing the duration in milliseconds, rounded to 0.01. - Grafana version deployed by Helm charts or Tanka files have been upgraded to 13.0. Ensure to read grafana changelog based on your current version.
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.1.0 | 1.1.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.3.0 | 1.1.0 |
Validation
Failed: Yugabyte version dosn't support load.
USS qualifier versions:
What's Changed
- Reset NEXT_RELEASE_NOTES.md by @mickmis in #1427
- RELEASE.md: add 'NEXT_RELEASE_NOTES.md' workflow and validation section in release notes by @mickmis in #1428
- [aux] Fill nil on empty body on PutDSSInstancesHeartbeat by @the-glu in #1429
- [tooling] Add authentification tests by @the-glu in #1430
- Add .gitkeep file to docker ignore to prevent -dirty version by @the-glu in #1432
- [deploy] Improve recommandations for storage type & instance types by @the-glu in #1433
- Auth: Move authentification validation in generated code by @the-glu in #1434
- [certificates] Add CI hygiene checks, minor fixes on python hygiene checks by @the-glu in #1435
- Bump github.com/jackc/pgx/v5 from 5.7.4 to 5.9.0 by @dependabot[bot] in #1441
- [docs] Improve data storage documentation by @BenjaminPelletier in #1437
- [rid/datastore/ListExpired(Subscriptions|ISAs)] Properly escape writer; Fix removal of expired entities with NULL writer (empty locality) by @the-glu in #1436
- [tooling] Improve shell-lint to ignore git-ignored files by @the-glu in #1443
- Bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.2 by @dependabot[bot] in #1450
- [store] Squash datastore.Store and datastore.Datastore by @the-glu in #1444
- [store] Revork init structure; use Store interfaces instead of datastore.Store interfaces by @the-glu in #1445
- [store] Rename datastore to sqlstore by @the-glu in #1446
- [store] Move CodeRetryable to generic store by @the-glu in #1447
- [store] Add store type flag by @the-glu in #1448
- Upgrade to go 1.26.2 by @the-glu in #1458
- [Raft] Add Raft store stubs by @MariemBaccari in #1451
- [monitoring] Add and expose opentelemetry metrics by @the-glu in #1454
- [tooling]: Generate all openapi-to-go files; make setAuthError generated only when needed by @the-glu in #1455
- [Raft] Add etcd raft dependencies by @MariemBaccari in #1460
- Bump google.golang.org/protobuf from 1.23.0 to 1.33.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1465
- Bump golang.org/x/net from 0.30.0 to 0.38.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1466
- Bump google.golang.org/grpc from 1.29.1 to 1.79.3 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1467
- [Doc] Improve monitoring page & cleanup outdated monitoring config/examples by @the-glu in #1457
- [Raft] Add Raft transport by @MariemBaccari in #1464
- [tooling]: Enforce in CI generation of gen.go files by @the-glu in #1456
- [Raft] Add log warning about Raft implementation by @MariemBaccari in #1468
- [tanka/helm] Set localitly on cleanup jobs by @the-glu in #1477
- [doc] Add tracing documentation by @the-glu in #1471
- [terraform] Upgrade to kubernetes version 1.35 by @the-glu in #1478
- [helm/tanka] Normalize wait container for schema, jobs and core-service by @the-glu in #1481
- [terraform] Add option to make GKE cluster deletable by @the-glu in #1484
- [tanka/helm] Remove 'name' anotation in AWS load balancer by @the-glu in #1489
- [doc] Add a deployment checklist by @the-glu in #1491
- [tanka/helm] Actually delete entries in cronjob evict tool by @the-glu in #1487
- [doc] Add command to connect to YugabyteDB in troubleshooting by @the-glu in #1501
- [scd] Remove redundant fetch cells call by @MariemBaccari in #1475
- [tanka] Remove useless yugabyte hooks by @the-glu in #1479
- [geo] normalize s2 loop by @RustedBones in #1485
- [geo] Leverage s2.CrossSign for loop validation by @RustedBones in #1490
- [tooling] Automatic release artefacts: Base script helper & config by @the-glu in #1493
- [tooling] Automatic release artefacts: Cluster spawning by @the-glu in #1494
- [tooling] Automatic release artefacts: Cluster configuration by @the-glu in #1495
- [tooling] Automatic release artefacts: Deploy services by @the-glu in #1496
- [tooling] Automatic release artefacts: Run tests by @the-glu in #1497
- [tooling] Automatic release artefacts: Compile results by @the-glu in #1498
- [tooling] Automatic release artefacts: Destroy clusters by @the-glu in #1499
- [doc] Move cleanup part from README to documentation (partially merged in #1491) by @the-glu in #1469
- [auth] Don't crash on tokens with missing 'exp' field by @the-glu in #1508
- [metrics] Add RID metrics: subscriptions and isa count by @the-glu in #1502
- [interfaces] Remove invalid default value in aux API by @BenjaminPelletier in #1511
- [Raft] Add Raft persistence by @MariemBaccari in #1470
- [metrics] Add SCD metrics: subscriptions, constraints and operational intents count by @the-glu in #1503
- [core] Fix timeout argument by @the-glu in #1514
- [core] Use better timeout handler and log timeouts by @the-glu in #1515
- [release scripts] Ignore yugabyte certificate init errors by @the-glu in #1516
- [opentelemetry] Split enable_opentelemetry into enable_metrics and enable_tracing by @the-glu in #1504
- [logging] Normalize duration to milliseconds, rounded to 0.01 by @the-glu in #1519
- [monitoring] Normalize grafana version to 13.0 by @the-glu in #1505
- [deploy] Add enable_metric flag for DSS + fetch pod metrics in prometheus by @the-glu in #1506
- [metrics...
v0.22.0
Release Notes for v0.22.0
Mandatory migration tasks
N/A
Optional migration tasks
db-manager'scleanupandmigratecommands no longer override the application name parameter. To tag these connections, use thedatastore_application_nameflag, which is now honoured by these commands (defaults todss).
Important information
- The
timeoutconfiguration flag is now enforced consistently on all HTTP calls. This means that some slow calls that were previously successful will now be cancelled. Please review the value to be applied (the default is 10 seconds) and, if needed, update it to suit your needs. --datastore_db_name(and the deprecated version,--cockroach_db_name) has been removed. It was not used except for tests and can be removed if you use it.- Datastore initialization has been normalized throughout the codebase, with the following changes:
- Error messages of
db-manager'scleanupcommand are now the same as thecore-servicecommand. - AUX database is regularly pinged (before that was only the case for the RID and SCD databases).
- Error messages of
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.1.0 | 1.1.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.3.0 | 1.1.0 |
Validation
USS qualifier version: v0.28.0
Test configuration and report: See attachments
What's Changed
- Cleanup next release notes following 0.21 release by @the-glu in #1396
- [monitoring] Add telemetry in router by @the-glu in #1391
- Fix documentation link to CockroachDB install by @the-glu in #1400
- [auth] Remove token signatures in logs by @the-glu in #1398
- Bump google.golang.org/grpc from 1.78.0 to 1.79.3 by @dependabot[bot] in #1399
- Apply server timeout globally, remove hardcoded datastore timeout by @the-glu in #1397
- [core-server] Cleanup getDBStats by @the-glu in #1406
- [db-manager] Honor datastore_application_name flag instead of overriding it by @the-glu in #1407
- [datastore]: Remove unused datastore_db_name by @the-glu in #1404
- [store] Use a common interface for scd/rid/aux stores by @the-glu in #1405
- [datastore] Use a generic datastore by @the-glu in #1408
- [CI] Upgrade cosign; Wait 30s between signing and verifying signature by @mickmis in #1412
- Bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by @dependabot[bot] in #1414
- [datastore] Normalize datastore initialization across the codebase with a generic dial function by @the-glu in #1409
- [datastore] Stop crons on ctx's cancels, cancel ctx when error occur during RunHTTPServer by @the-glu in #1410
- [datastore] Remove cleanup functions by @the-glu in #1413
- [datastore] Make CheckCurrentMajorSchemaVersion internal, move parameters to NewStore by @the-glu in #1415
- [scd] Validate Volume4D when parsing by @RustedBones in #1380
- Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot[bot] in #1421
- [ci] Update 'actions/checkout''s version by @the-glu in #1417
- Check authorization in SCD global lock by @the-glu in #1422
- [scd] Factorize volume4D union from rest by @RustedBones in #1381
- [datastore] Move flags and ConnectParameters to a dedicated package, merge datastoreutils into datastore by @the-glu in #1416
- [deploy] Fix enable_scd parameter ignored by @the-glu in #1424
- [deploy] Add enable_scd_global_lock setting to terrafrom, helm and tanka by @the-glu in #1423
- Upgrade monitoring image to v0.28.0 by @the-glu in #1426
Full Changelog: interuss/dss/v0.21.1...interuss/dss/v0.22.0
v0.22.0-rc1
Release Notes for v0.22.0-rc1
Mandatory migration tasks
N/A
Optional migration tasks
db-manager'scleanupandmigratecommands no longer override the application name parameter. To tag these connections, use thedatastore_application_nameflag, which is now honoured by these commands (defaults todss).
Important information
- The
timeoutconfiguration flag is now enforced consistently on all HTTP calls. This means that some slow calls that were previously successful will now be cancelled. Please review the value to be applied (the default is 10 seconds) and, if needed, update it to suit your needs. --datastore_db_name(and the deprecated version,--cockroach_db_name) has been removed. It was not used except for tests and can be removed if you use it.- Datastore initialization has been normalized throughout the codebase, with the following changes:
- Error messages of
db-manager'scleanupcommand are now the same as thecore-servicecommand. - AUX database is regularly pinged (before that was only the case for the RID and SCD databases).
- Error messages of
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.1.0 | 1.1.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.3.0 | 1.1.0 |
Validation
USS qualifier version: v0.28.0
Test configuration and report: See attachments
What's Changed
- Cleanup next release notes following 0.21 release by @the-glu in #1396
- [monitoring] Add telemetry in router by @the-glu in #1391
- Fix documentation link to CockroachDB install by @the-glu in #1400
- [auth] Remove token signatures in logs by @the-glu in #1398
- Bump google.golang.org/grpc from 1.78.0 to 1.79.3 by @dependabot[bot] in #1399
- Apply server timeout globally, remove hardcoded datastore timeout by @the-glu in #1397
- [core-server] Cleanup getDBStats by @the-glu in #1406
- [db-manager] Honor datastore_application_name flag instead of overriding it by @the-glu in #1407
- [datastore]: Remove unused datastore_db_name by @the-glu in #1404
- [store] Use a common interface for scd/rid/aux stores by @the-glu in #1405
- [datastore] Use a generic datastore by @the-glu in #1408
- [CI] Upgrade cosign; Wait 30s between signing and verifying signature by @mickmis in #1412
- Bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by @dependabot[bot] in #1414
- [datastore] Normalize datastore initialization across the codebase with a generic dial function by @the-glu in #1409
- [datastore] Stop crons on ctx's cancels, cancel ctx when error occur during RunHTTPServer by @the-glu in #1410
- [datastore] Remove cleanup functions by @the-glu in #1413
- [datastore] Make CheckCurrentMajorSchemaVersion internal, move parameters to NewStore by @the-glu in #1415
- [scd] Validate Volume4D when parsing by @RustedBones in #1380
- Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot[bot] in #1421
- [ci] Update 'actions/checkout''s version by @the-glu in #1417
- Check authorization in SCD global lock by @the-glu in #1422
- [scd] Factorize volume4D union from rest by @RustedBones in #1381
- [datastore] Move flags and ConnectParameters to a dedicated package, merge datastoreutils into datastore by @the-glu in #1416
- [deploy] Fix enable_scd parameter ignored by @the-glu in #1424
- [deploy] Add enable_scd_global_lock setting to terrafrom, helm and tanka by @the-glu in #1423
- Upgrade monitoring image to v0.28.0 by @the-glu in #1426
Full Changelog: interuss/dss/v0.21.1...interuss/dss/v0.22.0-rc1
v0.21.1
Release Notes for v0.21.1
Performance improvements
Mandatory migration tasks
None
Optional migration tasks
None
Important information
None
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.1.0 | 1.1.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.3.0 | 1.1.0 |
Validation
USS qualifier version: v0.26.0
Test configuration and report: See attachments
What's Changed
- [monitoring] Add OpenTelemetry option by @the-glu in #1365
- [openapi-to-go-server] Switch to UV by @the-glu in #1388
- [openapi-to-go-server] Add & apply formatting by @the-glu in #1389
- Bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0 by @dependabot[bot] in #1392
- [scd] Time-bound subscription locks and add lock diagnostics by @ashishjsharda in #1384
- Fix core-service healthcheck port and add health verification by @kylehodgson in #1394
- [openapi-to-go-server] Fix old TODO for go >1.17 by @the-glu in #1390
New Contributors
- @ashishjsharda made their first contribution in #1384
- @kylehodgson made their first contribution in #1394
Full Changelog: interuss/dss/v0.21.0...interuss/dss/v0.21.1
v0.21.0
Release Notes for v0.21.0
First stable release supporting Yugabyte.
Mandatory migration tasks
- Ensure RID schema has been migrated to version 4.0.0 since the datastore doesn't fallback anymore on the default database. If that not the case, please use the previous release and upgrade to schema 4.0.0 first.
- The RID cronjob has been moved to an external command, see #1261
- If you want to continue to cleanup old entries regularly, run the evict command as needed:
- Running the following command each 30 minutes will be equivalent to the previous situation
db-manager evict --rid_isa=True --rid_sub=True --rid_ttl=30m --scd_oir=False --scd_sub=False
- Helm charts, tanka files and terraform files has been updated with defaults that run RID cleanup as before and disable SCD cleanup
- Please review new parameters in each module specific documentation and update them as needed.
- If you want to continue to cleanup old entries regularly, run the evict command as needed:
- The test certificate
build/test-certs/auth2public and private keys have been changed, see #1178. Please update your configuration if you used that public key. - A new
auxstore has been added, which implies a new migration job usingschema-manager. If you ran migration jobs manually, make sure you run the migration for this new schema. Schemas are stored in theaux_folder. - Upgrade terraform version to 12.2 if lower.
- The terraform variable
crdb_hostname_suffixhas been renamed todb_hostname_suffix, please update your configuration accordingly. - The terraform variable
crdb_localityhas been renamed tolocalityand is now mandatory, please update your configuration accordingly. public_endpointparameter has been added as a mandatory argument. Please set it to the public endpoint of your DSS instance in order to register this instance as a participant in the pool information.- A immutable field has been changed in terraform / tanka
- Please remove any
*-schema-manager-*jobs before upgrading chart / applying tanka configuration. - The job is only used for migrations and can be removed.
- Please remove any
- Minimal support for kubernetes version have been bumped from 1.24 to 1.28.
- If you're using a version <1.28, please upgrade your cluster first
Optional migration tasks
- Datastores parameters have been renamed to be more vendor-agnostic. The old ones have been deprecated but will continue to work for the time being.
- If you call the dss executable directly, you will need to update parameters as below.
- If you use helm/tanka to deploy the DSS, parameters have been renamed internally, you don't have to do anything.
| Old parameter name | New parameter name | Description |
|---|---|---|
| cockroach_application_name | datastore_application_name | application name for tagging the connection to the database |
| cockroach_db_name | datastore_db_name | database name to connect to |
| cockroach_host | datastore_host | database host to connect to |
| cockroach_port | datastore_port | database port to connect to |
| cockroach_ssl_mode | datastore_ssl_mode | database sslmode |
| cockroach_ssl_dir | datastore_ssl_dir | directory to ssl certificates. Must contain files: ca.crt, client..crt, client..key |
| cockroach_user | datastore_user | database user to authenticate as |
| max_open_conns | datastore_max_open_conns | maximum number of open connections to the database, default is 4 |
| max_conn_idle_secs | datastore_max_conn_idle_secs | maximum amount of time in seconds a connection may be idle, default is 30 seconds |
| cockroach_max_retries | datastore_max_retries | maximum number of attempts to retry a query in case of contention, default is 100 |
Important information
- Yugabyte support has been added to terraform, tanka and helm files.
- The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
- The initial run may take longer than expected when deleting entries that may have been accumulating.
- Published images are now signed with sigstore, see how to verify it.
- Deployment documentation has been moved to a new website instead of various README in the repository tree.
- Prometheus (deployed if using tanka) has been upgraded to version 3. If you customized / used Prometheus outside of provided configuration, please follow upgrade guide.
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.1.0 | 1.1.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.3.0 | 1.1.0 |
Validation
USS qualifier version: v0.26.0
Test configuration and report: See attachments
What's Changed
- Upgrade go version to 1.24; Upgrade golint-ci to 2.1.5; Fix linting issues; Generate new dummy keys for DummyOAuth by @mickmis in #1178
- Bump golang.org/x/crypto from 0.32.0 to 0.35.0 by @dependabot[bot] in #1173
- Bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot[bot] in #1183
- [docs] Add DSS pool verification docs by @BenjaminPelletier in #1180
- [helm] Add basic support for yugabyte to helm charts by @the-glu in #1159
- [terraform-commons-dss] Better defaults for terraform-google-dss by @the-glu in #1187
- [yugabyte] certificates management by @the-glu in #1186
- [helm] Add TLS support on yugabyte by @the-glu in #1182
- [ci] extract unit & integration test coverage report by @Shastick in #1185
- [aux] Add CAs endpoint by @the-glu in #1194
- [ci] publish coverage data as an artifact for all master builds by @Shastick in #1193
- Yugabyte: Working GCP implementation by @the-glu in #1190
- [yugabyte] remove useless variable file by @the-glu in #1200
- [yugabyte] Working AWS implementation by @the-glu in #1191
- [yugabyte] Partially improve documentation by @the-glu in #1201
- [aux] Add DAR ID on yugabyte deployments by @the-glu in #1195
- [cmd] Add public endpoint flag by @the-glu in #1197
- [terraform] Fix cockroachdb condition by @the-glu in #1204
- [aux] Add store and basic pool instance informations by @the-glu in #1198
- [helm] Fix error with aux_ migration script by @the-glu in #1208
- [terraform] Rename crdb_hostname_suffix to db_hostname_suffix by @the-glu in #1203
- [terraform] Update example files for yugabyte by @the-glu in #1205
- Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209
- [helm] Improve public endpoint setting with backward compatiblity by @the-glu in #1211
- [dss] sort cell ids in queries by @Shastick in #1112
- [tests] update monitoring image to latest release 0.16.0 by @Shastick in #1223
- [deploy] Move locality to a common variable and make it mandatory by @the-glu in #1212
- [tanka] Improve tanka configuration file to work with minikube by @the-glu in #1216
- [tanka] Add aux migrations by @the-glu in #1217
- [tanka] Make job uniques + add way for cleanup by @the-glu in #1218
- [tanka] Add public_endpoint argument by @the-glu in #1219
- [yugabyte] New pooling documentation by @the-glu in #1207
- [tanka] Add parameters to always enable schema manager by @the-glu in #1221
- [aux] Add heartbeat functionnality by @the-glu in #1213
- [tanka] Yugabyte, preparation by @the-glu in #1222
- [tanka] Yugabyte: base service and migrations...
v0.21.0-rc2
Release Notes for v0.21.0-rc2
Mandatory migration tasks
- Ensure RID schema has been migrated to version 4.0.0 since the datastore doesn't fallback anymore on the default database. If that not the case, please use the previous release and upgrade to schema 4.0.0 first.
- The RID cronjob has been moved to an external command, see #1261
- If you want to continue to cleanup old entries regularly, run the evict command as needed:
- Running the following command each 30 minutes will be equivalent to the previous situation
db-manager evict --rid_isa=True --rid_sub=True --rid_ttl=30m --scd_oir=False --scd_sub=False
- Helm charts, tanka files and terraform files has been updated with defaults that run RID cleanup as before and disable SCD cleanup
- Please review new parameters in each module specific documentation and update them as needed.
- If you want to continue to cleanup old entries regularly, run the evict command as needed:
- The test certificate
build/test-certs/auth2public and private keys have been changed, see #1178. Please update your configuration if you used that public key. - A new
auxstore has been added, which implies a new migration job usingschema-manager. If you ran migration jobs manually, make sure you run the migration for this new schema. Schemas are stored in theaux_folder. - Upgrade terraform version to 12.2 if lower.
- The terraform variable
crdb_hostname_suffixhas been renamed todb_hostname_suffix, please update your configuration accordingly. - The terraform variable
crdb_localityhas been renamed tolocalityand is now mandatory, please update your configuration accordingly. public_endpointparameter has been added as a mandatory argument. Please set it to the public endpoint of your DSS instance in order to register this instance as a participant in the pool information.- A immutable field has been changed in terraform / tanka
- Please remove any
*-schema-manager-*jobs before upgrading chart / applying tanka configuration. - The job is only used for migrations and can be removed.
- Please remove any
Optional migration tasks
- Datastores parameters have been renamed to be more vendor-agnostic. The old ones have been deprecated but will continue to work for the time being.
- If you call the dss executable directly, you will need to update parameters as below.
- If you use helm/tanka to deploy the DSS, parameters have been renamed internally, you don't have to do anything.
| Old parameter name | New parameter name | Description |
|---|---|---|
| cockroach_application_name | datastore_application_name | application name for tagging the connection to the database |
| cockroach_db_name | datastore_db_name | database name to connect to |
| cockroach_host | datastore_host | database host to connect to |
| cockroach_port | datastore_port | database port to connect to |
| cockroach_ssl_mode | datastore_ssl_mode | database sslmode |
| cockroach_ssl_dir | datastore_ssl_dir | directory to ssl certificates. Must contain files: ca.crt, client..crt, client..key |
| cockroach_user | datastore_user | database user to authenticate as |
| max_open_conns | datastore_max_open_conns | maximum number of open connections to the database, default is 4 |
| max_conn_idle_secs | datastore_max_conn_idle_secs | maximum amount of time in seconds a connection may be idle, default is 30 seconds |
| cockroach_max_retries | datastore_max_retries | maximum number of attempts to retry a query in case of contention, default is 100 |
Important information
- Yugabyte support has been added to terraform, tanka and helm files.
- The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
- The initial run may take longer than expected when deleting entries that may have been accumulating.
- Published images are now signed with sigstore, see how to verify it.
- Deployment documentation has been moved to a new website instead of various README in the repository tree.
Additions since v0.21.0-rc1
- Prometheus (deployed if using tanka) has been upgraded to version 3. If you customized / used Prometheus outside of provided configuration, please follow upgrade guide.
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.0.0 | 1.0.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.2.0 | 1.0.1 |
Validation
USS qualifier version: v0.25.0
Test configuration and report: see attachments
What's Changed
- Upgrade go version to 1.24; Upgrade golint-ci to 2.1.5; Fix linting issues; Generate new dummy keys for DummyOAuth by @mickmis in #1178
- Bump golang.org/x/crypto from 0.32.0 to 0.35.0 by @dependabot[bot] in #1173
- Bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot[bot] in #1183
- [docs] Add DSS pool verification docs by @BenjaminPelletier in #1180
- [helm] Add basic support for yugabyte to helm charts by @the-glu in #1159
- [terraform-commons-dss] Better defaults for terraform-google-dss by @the-glu in #1187
- [yugabyte] certificates management by @the-glu in #1186
- [helm] Add TLS support on yugabyte by @the-glu in #1182
- [ci] extract unit & integration test coverage report by @Shastick in #1185
- [aux] Add CAs endpoint by @the-glu in #1194
- [ci] publish coverage data as an artifact for all master builds by @Shastick in #1193
- Yugabyte: Working GCP implementation by @the-glu in #1190
- [yugabyte] remove useless variable file by @the-glu in #1200
- [yugabyte] Working AWS implementation by @the-glu in #1191
- [yugabyte] Partially improve documentation by @the-glu in #1201
- [aux] Add DAR ID on yugabyte deployments by @the-glu in #1195
- [cmd] Add public endpoint flag by @the-glu in #1197
- [terraform] Fix cockroachdb condition by @the-glu in #1204
- [aux] Add store and basic pool instance informations by @the-glu in #1198
- [helm] Fix error with aux_ migration script by @the-glu in #1208
- [terraform] Rename crdb_hostname_suffix to db_hostname_suffix by @the-glu in #1203
- [terraform] Update example files for yugabyte by @the-glu in #1205
- Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209
- [helm] Improve public endpoint setting with backward compatiblity by @the-glu in #1211
- [dss] sort cell ids in queries by @Shastick in #1112
- [tests] update monitoring image to latest release 0.16.0 by @Shastick in #1223
- [deploy] Move locality to a common variable and make it mandatory by @the-glu in #1212
- [tanka] Improve tanka configuration file to work with minikube by @the-glu in #1216
- [tanka] Add aux migrations by @the-glu in #1217
- [tanka] Make job uniques + add way for cleanup by @the-glu in #1218
- [tanka] Add public_endpoint argument by @the-glu in #1219
- [yugabyte] New pooling documentation by @the-glu in #1207
- [tanka] Add parameters to always enable schema manager by @the-glu in #1221
- [aux] Add heartbeat functionnality by @the-glu in #1213
- [tanka] Yugabyte, preparation by @the-glu in #1222
- [tanka] Yugabyte: base service and migrati...
v0.20.2
Release Notes for v0.20.2
What's Changed
- [rid] Fix garbage collector by deleting multiples entries at a time by @the-glu in #1253
- Lock potentially used subscriptions by @the-glu in #1318
Full Changelog: interuss/dss/v0.20.1...interuss/dss/v0.20.2
Important information
- The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
- The initial run may take longer than expected when deleting entries that may have been accumulating.
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.2.0 | 1.0.1 |
| AUX | N/A | N/A |
Validation
USS qualifier version: v0.24.0
Test configuration and report: see attachment
v0.21.0-rc1
Release Notes for v0.21.0-rc1
Mandatory migration tasks
- Ensure RID schema has been migrated to version 4.0.0 since the datastore doesn't fallback anymore on the default database. If that not the case, please use the previous release and upgrade to schema 4.0.0 first.
- The RID cronjob has been moved to an external command, see #1261
- If you want to continue to cleanup old entries regularly, run the evict command as needed:
- Running the following command each 30 minutes will be equivalent to the previous situation
db-manager evict --rid_isa=True --rid_sub=True --rid_ttl=30m --scd_oir=False --scd_sub=False
- Helm charts, tanka files and terraform files has been updated with defaults that run RID cleanup as before and disable SCD cleanup
- Please review new parameters in each module specific documentation and update them as needed.
- If you want to continue to cleanup old entries regularly, run the evict command as needed:
- The test certificate
build/test-certs/auth2public and private keys have been changed, see #1178. Please update your configuration if you used that public key. - A new
auxstore has been added, which implies a new migration job usingschema-manager. If you ran migration jobs manually, make sure you run the migration for this new schema. Schemas are stored in theaux_folder. - Upgrade terraform version to 12.2 if lower.
- The terraform variable
crdb_hostname_suffixhas been renamed todb_hostname_suffix, please update your configuration accordingly. - The terraform variable
crdb_localityhas been renamed tolocalityand is now mandatory, please update your configuration accordingly. public_endpointparameter has been added as a mandatory argument. Please set it to the public endpoint of your DSS instance in order to register this instance as a participant in the pool information.- A immutable field has been changed in terraform / tanka
- Please remove any
*-schema-manager-*jobs before upgrading chart / applying tanka configuration. - The job is only used for migrations and can be removed.
- Please remove any
Optional migration tasks
- Datastores parameters have been renamed to be more vendor-agnostic. The old ones have been deprecated but will continue to work for the time being.
- If you call the dss executable directly, you will need to update parameters as below.
- If you use helm/tanka to deploy the DSS, parameters have been renamed internally, you don't have to do anything.
| Old parameter name | New parameter name | Description |
|---|---|---|
| cockroach_application_name | datastore_application_name | application name for tagging the connection to the database |
| cockroach_db_name | datastore_db_name | database name to connect to |
| cockroach_host | datastore_host | database host to connect to |
| cockroach_port | datastore_port | database port to connect to |
| cockroach_ssl_mode | datastore_ssl_mode | database sslmode |
| cockroach_ssl_dir | datastore_ssl_dir | directory to ssl certificates. Must contain files: ca.crt, client..crt, client..key |
| cockroach_user | datastore_user | database user to authenticate as |
| max_open_conns | datastore_max_open_conns | maximum number of open connections to the database, default is 4 |
| max_conn_idle_secs | datastore_max_conn_idle_secs | maximum amount of time in seconds a connection may be idle, default is 30 seconds |
| cockroach_max_retries | datastore_max_retries | maximum number of attempts to retry a query in case of contention, default is 100 |
Important information
- Yugabyte support has been added to terraform, tanka and helm files.
- The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
- The initial run may take longer than expected when deleting entries that may have been accumulating.
- Published images are now signed with sigstore, see how to verify it.
- Deployment documentation has been moved to a new website instead of various README in the repository tree.
Minimal database schema version
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| AUX | 1.0.0 | 1.0.0 |
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.2.0 | 1.0.1 |
Validation
USS qualifier version: v0.21.0
Test configuration and report: see attachments
What's Changed
- Upgrade go version to 1.24; Upgrade golint-ci to 2.1.5; Fix linting issues; Generate new dummy keys for DummyOAuth by @mickmis in #1178
- Bump golang.org/x/crypto from 0.32.0 to 0.35.0 by @dependabot[bot] in #1173
- Bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot[bot] in #1183
- [docs] Add DSS pool verification docs by @BenjaminPelletier in #1180
- [helm] Add basic support for yugabyte to helm charts by @the-glu in #1159
- [terraform-commons-dss] Better defaults for terraform-google-dss by @the-glu in #1187
- [yugabyte] certificates management by @the-glu in #1186
- [helm] Add TLS support on yugabyte by @the-glu in #1182
- [ci] extract unit & integration test coverage report by @Shastick in #1185
- [aux] Add CAs endpoint by @the-glu in #1194
- [ci] publish coverage data as an artifact for all master builds by @Shastick in #1193
- Yugabyte: Working GCP implementation by @the-glu in #1190
- [yugabyte] remove useless variable file by @the-glu in #1200
- [yugabyte] Working AWS implementation by @the-glu in #1191
- [yugabyte] Partially improve documentation by @the-glu in #1201
- [aux] Add DAR ID on yugabyte deployments by @the-glu in #1195
- [cmd] Add public endpoint flag by @the-glu in #1197
- [terraform] Fix cockroachdb condition by @the-glu in #1204
- [aux] Add store and basic pool instance informations by @the-glu in #1198
- [helm] Fix error with aux_ migration script by @the-glu in #1208
- [terraform] Rename crdb_hostname_suffix to db_hostname_suffix by @the-glu in #1203
- [terraform] Update example files for yugabyte by @the-glu in #1205
- Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209
- [helm] Improve public endpoint setting with backward compatiblity by @the-glu in #1211
- [dss] sort cell ids in queries by @Shastick in #1112
- [tests] update monitoring image to latest release 0.16.0 by @Shastick in #1223
- [deploy] Move locality to a common variable and make it mandatory by @the-glu in #1212
- [tanka] Improve tanka configuration file to work with minikube by @the-glu in #1216
- [tanka] Add aux migrations by @the-glu in #1217
- [tanka] Make job uniques + add way for cleanup by @the-glu in #1218
- [tanka] Add public_endpoint argument by @the-glu in #1219
- [yugabyte] New pooling documentation by @the-glu in #1207
- [tanka] Add parameters to always enable schema manager by @the-glu in #1221
- [aux] Add heartbeat functionnality by @the-glu in #1213
- [tanka] Yugabyte, preparation by @the-glu in #1222
- [tanka] Yugabyte: base service and migrations by @the-glu in #1224
- [tanka] Yugabyte: add options to prepare for terraform output by @the-glu in #1227
- [tanka/terraform] Update terraform state to support latest tanka files, including yugabyte by @the-glu in #1228
- [tanka/...
v0.20.1
What's Changed
Deployment
- Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209
New Contributors
- @ZachHubbs made their first contribution in #1209
Full Changelog: interuss/dss/v0.20.0...interuss/dss/v0.20.1
Required database schema versions
| Schema | CockroachDB | Yugabyte |
|---|---|---|
| RID | 4.0.0 | 1.0.1 |
| SCD | 3.2.0 | 1.0.1 |
| AUX | N/A | N/A |
Validation
- USS qualifier version: v0.18.0
- Test configuration and report: see attachment
Known issues and remarks
DSS v0.20.1 doesn't support OVN Request, therefore it is expected that two tests have been skipped:(Edit: 29-08-2025) Skip was related to a USS qualifier misconfiguration. New test results have been attached. (v0.20.1-test-results-2.zip)Skipped: OVN Request Optional Extension to ASTM F3548-21