| commit | 541135b7f28c9e63155d76ec730bfd36dcafa27b | [log] [tgz] |
|---|---|---|
| author | Mit Desai <mdesai@visa.com> | Tue May 27 10:00:06 2025 +1000 |
| committer | Wilfred Spiegelenburg <wilfreds@apache.org> | Tue May 27 10:00:06 2025 +1000 |
| tree | 057fe2478cddd2660f90898aa4a7a34919a2760c | |
| parent | 5e9bbac5d6a84de586c160397ed75722455b0688 [diff] |
[YUNIKORN-3076] WebUI fails to load apps that are in 'New' (#233) When an application is reported to be in a 'New' state by the scheduler, it does not have a stateLog object. On the web UI side, there are currently no checks to handle the absence of the stateLog object. As a result, when the application list contains an application in the 'New' state and the stateLog is missing, the code attempts to access this.stateLog, leading to a failure and preventing the page from loading any applications. Closes: #233 Signed-off-by: Wilfred Spiegelenburg <wilfreds@apache.org>
YuniKorn web provides a web interface on top of the scheduler. It provides insight in the current and historic scheduler status. It depends on yunikorn-core which encapsulates all the actual scheduling logic.
For detailed information on the components and how to build the overall scheduler please see the yunikorn-core.
This project was generated with Angular CLI version 13.3.0.
The project requires a number of external tools to be installed before the build and development:
To manage our node packages, we've chosen pnpm. Simply execute the command pnpm install to set up all necessary dependencies. This single step ensures that your environment is fully prepared with all the required packages.
Run make start-dev for a development server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.
Run make build to build the project. The build artifacts will be stored in the dist/ directory. Use make build-prod for a production build. Production builds will add the --prod flag to the angular build.
Image builds are geared towards a production build and will always build with the --prod flag set.
Run make image to build the docker image apache/yunikorn:web-latest. Run make run to build the image and deploy the container from the docker image apache/yunikorn:web-latest.
You can set REGISTRY, VERSION and DOCKER_ARCH in the commandline to build docker image with a specified version, registry and host architecture. For example,
make image REGISTRY=apache VERSION=latest DOCKER_ARCH=amd64
This command will build binary with version web-latest and the docker full image tag is apache/yunikorn:web-amd64-latest.
The Makefile is smart enough to detect your host architecture but it will tag the image name.
All tests can be executed via make test. It will first build the project and then execute the unit tests followed by the end to end tests.
If you want to run the unit tests separately, run pnpm test to execute them via Karma. If you want to run the unit tests with code coverage, run pnpm test:coverage.
Beside the simple all in way to start the development server via make you can also start a development environment manually.
The application depends on json-server for data. Install json-server locally. Run pnpm start:srv to start json-server for local development. Run pnpm start to start the angular development server and navigate to http://localhost:4200/.
After updating the context in the json-db.json or json-route.json, checking the json server is available by running make json-server.
To get more help on the Angular CLI use ng help or go check out the Angular CLI README.
Run ng generate component component-name to generate a new component.
You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.
The default port used for the web server is port 9889.
See how to contribute code from this guide.