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

[RFE] Automatic language and technology discovery for applications #170

Closed
rromannissen opened this issue Apr 9, 2024 · 4 comments
Closed
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. RFE size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@rromannissen
Copy link
Contributor

What is the problem?

Getting insights about the language and technology stack of an application requires the user to run an analysis on it.

Why is this a problem?

On large portfolios, having to manually schedule an analysis on all applications to start figuring out their language and technology stack could be cumbersome and somehow counterintuitive. The natural flow would be to first understand the language and technology stack of an application, and based on that, potentially have it aligned with an existing archetype to then run the analysis for the most suitable migration target based on that information.

Proposed solution

Automate the process of discovering first the language and then the technology stack for applications in the portfolio. When idle, the hub should automatically create language/technology stack discovery tasks for applications that don't have that information available yet in the portfolio. Certain considerations should be taken into account:

  • Language/technology stack discovery should be triggered by certain events: application creation, application import, repository modification, credentials association... For example, if language/technology stack discovery failed on an application because the associated credentials are wrong, the system shouldn't try again until new credentials are provided.
  • Automatic discovery should happen with "spare cycles" available in the resources pool. Users shouldn't have to wait until an automatic discovery task is finished to run things like analysis. User requested tasks should always have preference over tasks executing in the background.
  • Language/technology stack discovery should be implicit for application analysis. If for whatever reason one application doesn't have its language/technology stack information available yet, when trying to run an analysis on it, those operations will be executed before the actual analysis is executed.
@konveyor-ci-bot
Copy link

This issue is currently awaiting triage.
If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members.

@konveyor-ci-bot konveyor-ci-bot bot added needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Apr 9, 2024
@github-project-automation github-project-automation bot moved this to 🆕 New in Planning Apr 9, 2024
@rromannissen
Copy link
Contributor Author

@jortel @mansam @JustinXHale for your consideration.

@jortel
Copy link
Contributor

jortel commented Apr 24, 2024

Recommend these fields for tasks to begin with:

  • ID
  • Kind
  • State
  • Priority
  • Application

@dymurray dymurray added kind/feature Categorizes issue or PR as related to a new feature. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. labels Jun 26, 2024
@konveyor-ci-bot konveyor-ci-bot bot removed needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. labels Jun 26, 2024
@dymurray dymurray added triage/accepted Indicates an issue or PR is ready to be actively worked on. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 26, 2024
@konveyor-ci-bot konveyor-ci-bot bot removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jun 26, 2024
@dymurray dymurray moved this from 🏗 In progress to ✅ Done in Planning Jul 18, 2024
@dymurray dymurray closed this as completed Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. RFE size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Status: ✅ Done
Development

No branches or pull requests

4 participants