bytedance / bytedance/ic_flow_platform

Discussion: make lsfMonitor optional during installation?

Open
#7 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
208
Forks
48
PR merge metrics
No merged PRs in 30d

Description

Hi, I noticed one thing while trying to deploy IFP in a new environment, and I wanted to discuss whether it would make sense to make lsfMonitor optional during installation.

From the current flow, lsfMonitor appears to be installed and wired by default:

* install.py adds tools/lsfMonitor/monitor/bin to the generated environment
* install.py runs tools/lsfMonitor/install.py
* the GUI has bmonitor / Launch LsfMonitor related entry points
* lsfMonitor also installs memPrediction

lsfMonitor is useful for LSF-based environments. My only concern is that, for users who only want to try or deploy the core IFP flow platform, this may introduce some extra setup scope and environment assumptions.

A few examples that may have a relatively larger impact:

* memPrediction brings additional ML / web-service related dependencies and runtime files, such as xgboost, scikit-learn, gensim, Flask, gevent, generated .env files, service configs, model/database/report directories, etc. These are valuable for memory prediction, but may be unnecessary for users who only need the core flow GUI.
* The generated lsfMonitor and memPrediction wrappers modify runtime environment variables such as PATH, LD_LIBRARY_PATH, LSFMONITOR_INSTALL_PATH, and MEM_PREDICTION_INSTALL_PATH. This is useful when the tools are enabled, but it may add extra environment assumptions to the default installation.
* If lsfMonitor, memPrediction, or one of their dependencies fails during setup, users may experience it as a core IFP installation failure, even if they do not plan to use LSF monitoring or memory prediction.

Would it be reasonable to make this part opt-in? For example:

* keep the default installation focused on the IFP core
* add an explicit option such as install.py --with-lsf-monitor
* only add tools/lsfMonitor/monitor/bin to PATH when the integration is enabled
* only show or enable related GUI actions when bmonitor is available
* keep memPrediction optional under the lsfMonitor integration

This is just a suggestion based on deployment experience. I am not proposing to remove lsfMonitor; I am only wondering whether making it optional would make IFP easier to try in more environments.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with install.py and tools/lsfMonitor/install.py, then trace the GUI's bmonitor and Launch LsfMonitor entry points. Review how tools/lsfMonitor/monitor/bin, memPrediction, and their environment variables are added during installation. Done would mean an explicit opt-in path keeps the core installation independent while related GUI actions are enabled only when the integration is available.

Written by the indexing model from the issue text.

Assessment

Tech stack
flask, javascript, python, scikit-learn
Domain
devops, infrastructure, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.