Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature check is not properly done at trigger level #2915

Open
kate-goldenring opened this issue Nov 7, 2024 · 2 comments
Open

Feature check is not properly done at trigger level #2915

kate-goldenring opened this issue Nov 7, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@kate-goldenring
Copy link
Contributor

I have a spin application with 1 HTTP triggered component and 1 MQTT component. The HTTP component uses internal service chaining but not the MQTT one. Regardless, when i go to run the app, I get the error:

Error: This application requires the following features that are not available in this version of the 'mqtt' trigger: local_service_chaining A trigger exited unexpectedly. Terminating.
@kate-goldenring kate-goldenring added the bug Something isn't working label Nov 7, 2024
@vdice vdice added this to the Spin 3.0 milestone Nov 7, 2024
@vdice vdice added this to Spin 3.0 Nov 7, 2024
@vdice vdice moved this to Must Haves in Spin 3.0 Nov 7, 2024
@vdice vdice mentioned this issue Nov 7, 2024
10 tasks
@kate-goldenring
Copy link
Contributor Author

We seem to declare host requirements on the app level, yet assess them on the trigger level.

@kate-goldenring
Copy link
Contributor Author

kate-goldenring commented Nov 7, 2024

This was also an issue with previous versions of Spin (confirmed with 2.7), possibly since the service chaining feature was added.

the work arounds are:

  1. use self requests instead
  2. run without the mqtt trigger using spin up --component-id ...

The issue appears to be because we are assessing the app's host requirements on a trigger level:

if let Err(unmet) = app.ensure_needs_only(&T::supported_host_requirements()) {

One solution would be to place host_requirements under LockedComponent instead of LockedApp, scoping the requirements to a component.

@vdice vdice moved this from Must Haves to Post Release in Spin 3.0 Nov 7, 2024
@vdice vdice removed this from the Spin 3.0 milestone Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Post Release
Development

No branches or pull requests

2 participants