-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
UI: 3.5 missing name + name prefix filters for archived workflows #12161
Comments
We also need a filter for archive items. We didn't need it because It was a separated view. |
doable nowThis is now doable with the SQLite DB from #13021 / #12736. It previously was not possible for non-archived Workflows as k8s/etcd has no such native filter per #12025 (comment), part 3. implementation detailsarchived vs. non-archived filternaming@Adrien-D "State" is a bit ambiguous naming; that part we did actually discuss this in #12025 (comment) et al, where I suggested "Workflow Storage" and "In-cluster" + "Archived" as the options. "Active" is a bit ambiguous as well, as was the original terminology of "Live" workflows. "Live" has less connotations around things like the phase of a Workflow though. Another option is "Unarchived" + "Archived". That might actually be the least confusing / least ambiguous option 🤔 other impl detailsIdeally also the checkboxes shouldn't display if you don't have the Workflow Archive enabled. This is easier said than done as the UI does not currently know this information; consider that a stretch goal and possibly separate follow-on PR as such. Also, this requires adding a new option to the API method, it is not a UI-only change, as I learned in #12025 (comment) part 1 and others in #12237. The API implementation should roughly follow #12237 (comment) name filterThat one looks good to me, I like it. Seems more efficient and less confusing than the original in #6801 as well. Although users will have to learn that the name of the field is clickable to access the dropdown. |
@agilgur5 I see the confusion with "State" and "Active", I'm not very familiar with all of this wording (and this repo yet) so thanks for giving me some details, helps a lot ! For the implementation details I'm trying to understand what you're saying. I did some work here on name filter (Didn't start the archived filtering yet) so maybe it can be a good start to discuss my understanding of the implementation I'm already facing some issues that I need to understand for consistency :
For the UI I inspired from grafana's interface as they have a good UX on filter in my opinion, hopefully the down arrow will help to understand that the field is clickable |
@Adrien-D Thank you for working on this feature. I think I can provide more details about this since I was working on #13021 / #12736. Before Unified workflows list UI and API was introduced, we supported listing archived workflow using a name prefix. However, due to some limitation of kubernetes(kubernetes doesn't allow us to list live workflows by using a name prefix), after unifying the APIs, we lost the ability to list by using nameprefix(ref: setting the name prefix to With #13021 / #12736., we use a sqlite-based in memory store for live workflows, and this provide us a more unified query availability, and we can use SQL queries for both archived and live workflows, thus adding name prefix support becomes possible. and I already unified query experience between live workflow and archived workflow by using name prefix: https://github.com/argoproj/argo-workflows/pull/13021/files#diff-8a497f2f2e0827919658f6a6b4f18e3113cfeb24744b8ac1fd05ccdbf2b1c3b4R89-R157, and that means it is already supported to query both live workflows and archived workflows with a name prefix from database level. The reason that we pass them as empty is because API doesn't support that. I think in your change, you might need to add argo-workflows/pkg/apiclient/workflow/workflow.proto Lines 31 to 36 in bda0280
|
I believe that's because it's using k8s's
That actually might be a mistake; it used to be used prior to #2670 as this line was removed in the refactor. ( If I'm understanding correctly, the Also note that all of this far predates me being a contributor so I am guesstimating a rationale and would not know concretely. Unfortunately that happens a lot with older codebases, context gets lost and newer contributors have to figure it out (so do older contributors, you will forget if you, for instance, didn't write it down in a PR description or somewhere) 😕
Related: #11421 |
@jiachengxu @agilgur5 Thanks for your answers. I implemented your feedback on my PR #13160 I'll make the filtering archived/non-archived WF on a separate PR to make the review easier. |
Let's split that out into a separate issue as well and link back to here for reference. This issue does not include it in its title and we have #13151 for native date filtering already as well. |
Archive filtering will be done in this issue #13171 |
Pre-requisites
:latest
What happened/what you expected to happen?
v3.4.11 had 'name' and 'name prefix' filters in the 'archived workflows' ui, this is extremely useful to filter on workflows starting with a name or an exact name. particularly if its a sensor generated workflow or you just want to jump to a known workflow name without needing to construct a url in the browser address bar (not user friendly)
v3.5.1 has no such option in the UI!
Version
3.5.1
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
n/a
Logs from the workflow controller
Logs from in your workflow's wait container
The text was updated successfully, but these errors were encountered: