Closed feloy closed 11 months ago
https://github.com/redhat-developer/odo/pull/6140 introduced a quick fix to unblock the current (v3.0.0-rc2
) release process, but we need to find a more robust solution for such issues that can arise again at any later time.
There is also another thing. This change only broke our tests, and not odo itself. But next time there could be a change that breaks odo. We should consider running our tests against https://registry.stage.devfile.io/ every change in devfile registry gets first deployed into staging registry before going to production, we should try to catch as much as we can before changes are in production. Using staging could help with that.
There is also another thing. This change only broke our tests, and not odo itself. But next time there could be a change that breaks odo.
That's a good point indeed.
We should consider running our tests against registry.stage.devfile.io every change in devfile registry gets first deployed into staging registry before going to production, we should try to catch as much as we can before changes are in production. Using staging could help with that.
I think we are already using the staging registry in our tests: https://github.com/redhat-developer/odo/blob/main/tests/helper/helper_generic.go#L326-L334 This is why we caught this issue today (https://github.com/devfile/registry/pull/123 was merged yesterday); I think this change has not been deployed yet to the production registry.
I think we are already using the staging registry in our tests: https://github.com/redhat-developer/odo/blob/main/tests/helper/helper_generic.go#L326-L334 This is why we caught this issue today (devfile/registry#123 was merged yesterday); I think this change has not been deployed yet to the production registry.
I forgot about this. That is good. So that is good that it broke our tests, it worked as expected :-D, it just came in the worst possible time it could.
6140 introduced a quick fix to unblock the current (
v3.0.0-rc2
) release process, but we need to find a more robust solution for such issues that can arise again at any later time.
I remember we discussed some robust solution to this, but I can't recall what. Can you help me recall it? @rm3l @feloy
6140 introduced a quick fix to unblock the current (
v3.0.0-rc2
) release process, but we need to find a more robust solution for such issues that can arise again at any later time.I remember we discussed some robust solution to this, but I can't recall what. Can you help me recall it? @rm3l @feloy
We discussed two possibilities:
odo init
(are different versions stored in registry?)pass a devfile version when running odo init (are different versions stored in registry?)
I don't think this would work. There is only one version at a time. I say this by checking odo registry
, if that is what you are pointing at.
odo registry
outputduring integration tests, read the content of the devfile to get the values to assert, instead of hardcoding them in the test source code
I am inclined towards this solution, but then again, this cannot be done for all the test cases. We have been using local devfiles for most of our cases, but some tests in odo init
and odo registry
still call the command with devfile name to fetch it.
Summary of Cabal and grooming discussions (2022-10-06):
Since this issue has come up recently way more frequently than we'd like, following changes have been implemented so far:
Spin up our own Devfile registry, that we control. Odo tests should test odo features, not that the Devfile stacks are valid/usable with odo, which should be the scope of Devfile registry tests
DEVFILE_REGISTRY
and our tests capture this env var if available and use this custom registry.Have one or just a few tests that validate that that odo can communicate with the default Devfile registry. They should not test other odo features, but could just check that the right Devfile has been downloaded.
Remove the NGINX server used for caching Devfiles (cf. https://github.com/redhat-developer/odo/pull/5922)
We should not use starter projects because we might have issues there as well. Ensure that we use projects in our local code base.
A friendly reminder that this issue had no activity for 90 days. Stale issues will be closed after an additional 30 days of inactivity.
This issue was closed because it has been inactive for 30 days since being marked as stale.
/remove-lifecycle stale /remove-lifecycle rotten /reopen
Reopening because it is partially implemented, and there remains a few tasks still open.
@rm3l: Reopened this issue.
/kind bug
Context
This PR changes metadata in Devfiles. https://github.com/redhat-developer/odo/pull/6137#issuecomment-1251953720
These changes break the integration tests
Acceptance criteria
See https://github.com/redhat-developer/odo/issues/6138#issuecomment-1270171350
See https://github.com/redhat-developer/odo/issues/6138#issuecomment-1499090003 for details on ACs completion.