Describe the bug
The upgrade test framework (test/upgrade/) assumes the provider is built as two separate Docker images (package image + controller image). It requires both crossplane/provider-cloudfoundry and crossplane/provider-cloudfoundry-controller keys in the UUT_IMAGES JSON environment variable. When running upgrade tests against a single-image provider build, the framework fails because the controller image key is missing and image pull/load operations attempt to fetch a non-existent image.
Tested with Provider Version
v1.1.0
To Reproduce
Steps to reproduce the behavior:
- Build the provider using the single-image pattern
- Set UPGRADE_TEST_FROM_TAG=v1.1.0 and UPGRADE_TEST_TO_TAG=local
- Set UUT_IMAGES to a JSON containing only the single provider image (no controller key)
- Run make test-upgrade
- See the test panic with "failed to unmarshal json from UUT_IMAGE" or fail pulling/loading the missing controller image
Expected behavior
The upgrade test framework should detect whether a single-image or two-image layout is in use and adapt accordingly — skipping the controller image pull and load when the provider uses the single-image pattern.
Screenshots
N/A
Additional context
The single-image provider build support was introduced recently. The two-image layout still works, so this only affects users who build with the single-image pattern.
Describe the bug
The upgrade test framework (test/upgrade/) assumes the provider is built as two separate Docker images (package image + controller image). It requires both crossplane/provider-cloudfoundry and crossplane/provider-cloudfoundry-controller keys in the UUT_IMAGES JSON environment variable. When running upgrade tests against a single-image provider build, the framework fails because the controller image key is missing and image pull/load operations attempt to fetch a non-existent image.
Tested with Provider Version
v1.1.0
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The upgrade test framework should detect whether a single-image or two-image layout is in use and adapt accordingly — skipping the controller image pull and load when the provider uses the single-image pattern.
Screenshots
N/A
Additional context
The single-image provider build support was introduced recently. The two-image layout still works, so this only affects users who build with the single-image pattern.