Skip to content

Releases: crossplane/uptest

v1.2.0

08 Oct 09:25
7e8ad3e
Compare
Choose a tag to compare

This release contains important fixes:

  • Before, When running uptest and supplying manifest-paths as a comma-separated list, the list ends up scrambled sometimes. This is due to the fact that internally the slice is transformed into a map and later read out element by element though the ordering in the map is not guaranteed. With the new version, the ordering is guaranteed according to the input list.
  • Fix namespaced resources testing like Claims.

Also bumped the golangci version to v1.61.0.

What's Changed

  • Fix namespaced resources testing by @ytsarev in #24
  • Fix the case when Claim and XR are in the same test run by @ytsarev in #26
  • Bump golang and golangci-lint version, fix warnings by @kaessert in #31
  • Fix ordering of input-manifests being scrambled, closes #29 by @kaessert in #30

New Contributors

Full Changelog: v1.1.0...v1.2.0

v1.1.2

04 Sep 10:15
f6d8b64
Compare
Choose a tag to compare
  • This patch release simplifies the script content logic as it is mandatory on chainsaw side.

What's Changed

  • [Backport release-1.1] Fix the case when Claim and XR are in the same test run by @github-actions in #27

Full Changelog: v1.1.1...v1.1.2

v1.1.1

02 Sep 10:18
4fe9322
Compare
Choose a tag to compare

This patch release contains fix for the namespaces resources testing (like Claim).

What's Changed

  • [Backport release-1.1] Fix namespaced resources testing by @github-actions in #25

Full Changelog: v1.1.0...v1.1.1

v1.1.0

30 Aug 14:21
8512885
Compare
Choose a tag to compare

This release contains fixes (to bring back some behaviours lost after v1.0.0 release), new cli options and log improvements.

  • New cli options to skip import and update steps: skip-import and skip-update.
  • Wait for deletion of all MRs. This was the case before v1.0.0. The relevant section has been fixed with this version.
  • While the setup script is running, the beta trace commands of the crossplane-cli give errors. Because some Kinds and Resources are not in the cluster yet. In order to prevent noise and confusion during this time, the logs of the executions where the crossplane-cli errors are redirected to a temporary file.

What's Changed

Full Changelog: v1.0.0...v1.1.0

v1.0.0

22 Aug 22:44
8a80a6a
Compare
Choose a tag to compare

The new v1.0.0 release contains an important breaking changes for the uptest tooling. The key part of this release is migrating the underlying test framework to the chainsaw.

Migrate the underlying test framework from kuttl to chainsaw

  • This release updates uptest's testing framework to align with the latest best practices for Kubernetes configurations and resource management. By migrating from kuttl to chainsaw, we embrace a strategic shift toward advanced testing functionalities. This change requires updates across our configuration and templating setups to optimize our new testing framework.

Migration-related changes and enhancements

  • Previously, the Apply, Update, Import, and Delete operations were part of a single end-to-end test in kuttl. Now, each operation is treated as a separate test in chainsaw, improving management and isolation. Each test consists of distinct steps, simplifying log tracking.
  • Updated YAML templates to align with chainsaw requirements, ensuring compatibility with the framework’s features.
  • Removed outdated kuttl specific templates and references, decluttering the test setup.
  • Merged operation and assertion steps into single files in chainsaw, streamlining test execution.
  • Renamed the test directory from kuttl to chainsaw to reflect the new testing framework.
  • Enhanced condition checks and resource cleanup processes to be more robust and error-aware, promoting cleaner and safer test executions.

New Flags Introduced

  • log-collect-interval to set specific intervals for log collection during tests, enhancing debugging and monitoring capabilities.
  • render-only to render test configurations without execution, useful for verifying setups without running full tests.

Updated Logging Practices

  • Shifted from using kubectl get managed/claim to crossplane beta trace for logging, better integrating with the crossplane ecosystem and providing clearer logs.
  • The log-collect-interval now defaults to 30 seconds, allowing for flexible and effective log management during tests.

Breaking Changes

  • User interface/setup changed for the uptest. kuttl-based setup:
uptest: $(UPTEST) $(KUBECTL) $(KUTTL)
	@$(INFO) running automated tests
	@KUBECTL=$(KUBECTL) KUTTL=$(KUTTL) CROSSPLANE_NAMESPACE=$(CROSSPLANE_NAMESPACE) $(UPTEST) e2e "${UPTEST_EXAMPLE_LIST}" --data-source="${UPTEST_DATASOURCE_PATH}" --setup-script=cluster/test/setup.sh --default-conditions="Test" || $(FAIL)
	@$(OK) running automated tests

New chainsaw-based setup:

uptest: $(UPTEST) $(KUBECTL) $(CHAINSAW) $(CROSSPLANE_CLI)
	@$(INFO) running automated tests
	@KUBECTL=$(KUBECTL) CHAINSAW=$(CHAINSAW) CROSSPLANE_CLI=$(CROSSPLANE_CLI) CROSSPLANE_NAMESPACE=$(CROSSPLANE_NAMESPACE) $(UPTEST) e2e "${UPTEST_EXAMPLE_LIST}" --data-source="${UPTEST_DATASOURCE_PATH}" --setup-script=cluster/test/setup.sh --default-conditions="Test" || $(FAIL)
	@$(OK) running automated tests
  • For consuming the chainsaw installation, you need to bump the crossplane/build dependency to the f67b099.
  • The type of the value of --timeout flag was changed to the duration for the chainsaw compatibility.

What's Changed

  • fix(check-endpoints): update grep for providers by @haarchri in #20
  • feat(crossplane-cli): during apply check XRs with crossplane beta trace by @haarchri in #22
  • Migrate the underlying test framework from kuttl to chainsaw by @sergenyalcin in #15

New Contributors

Full Changelog: v0.13.0...v1.0.0

v0.13.1

07 Aug 11:20
66c1a26
Compare
Choose a tag to compare

This patch release contains a fix for the import step. Before, during checking the service endpoints, we used the provider prefix for the endpoint names. However, in the configuration package tests, the endpoint names may start with another prefixes like organization name. So, we will now filter the endpoint names with searching provider keyword inside the name instead of the only prefix check.

What's Changed

  • [Backport release-0.13] fix(check-endpoints): update grep for providers by @github-actions in #21

New Contributors

  • @github-actions made their first contribution in #21

Full Changelog: v0.13.0...v0.13.1

v0.13.0

29 Jul 09:29
d016c0a
Compare
Choose a tag to compare
  • After starting to support the multiversion CRDs in the providers, a new sync point is necessary for the import step because we scale up/down workloads and patch the objects. The new service endpoint-based sync point for workloads and retry mechanisms for patching operations were implented.
  • Handle Namespace objects correctly during assertion steps (similar to K8s Secrets).

What's Changed

  • Add a sync point for scaling up provider deployments by @sergenyalcin in #13
  • Add one-pager about the switching to a new underlying test framework by @sergenyalcin in #11
  • Add a endpoint based sync point after scaling up the pods in import step by @sergenyalcin in #14
  • Add design-doc about the Uptest improvements by @sergenyalcin in #10
  • Switch to crossplane/build by @negz in #16
  • Handle Namespace v1 in the uptest run by @ytsarev in #19

New Contributors

Full Changelog: v0.12.0...v0.13.0