GitHub user sachingoel0101 opened a pull request: https://github.com/apache/flink/pull/1338
[FLINK-2978][web-dashboard][webclient] Integrate web client into Web Frontend This PR creates an interface on the dashboard to perform the tasks the webclient is doing right now, including displaying plans, submitting jobs and uploading jars. Here's a quick summary of changes: 1. GET `/jars/list`: List of all available jars 2. GET `/jars/:jarid/plan`: Plan for a job. Takes `entry-class`, `parallelism` and `program-args` as query parameters. 3. DELETE `/jars/:jarid`: Delete a jar. 4. POST `/jars/upload`: Upload a new jar, limited to 10 MB size. 5. POST `/jars/:jarid/run`: Run a jar, and takes arguments just as in GET `/jars/:jarid/plan`. A new state is introduced on the dashboard, named `submit` which allows all these operations. Detailed screenshots: 1. Overview page: ![overview](https://cloud.githubusercontent.com/assets/8874261/11020609/3ed0b3e4-864a-11e5-8832-a689ac725bcf.png) 2. Disabled mode [via config key `jobmanager.web.submit.allow`], for security purposes: ![disabled](https://cloud.githubusercontent.com/assets/8874261/11020610/65a29f46-864a-11e5-8fbf-c7d8c05e9803.png) 3. Default state with no jars: ![no_jars_uploaded](https://cloud.githubusercontent.com/assets/8874261/11020613/71e0b824-864a-11e5-9b53-29d3325f0d65.png) 4. Uploading a jar: ![uploading](https://cloud.githubusercontent.com/assets/8874261/11020616/7df20802-864a-11e5-8c4b-2fc1bd796e40.png) 5. Arguments passing interface for the programs. This is shown only when a Jar has been selected. At this point, the upload new button disappears, which can be brought back again by unselecting. Entry classes can be loaded to the `entry-class` input box by clicking on the list items under Entry Class. ![argument_passing_interface](https://cloud.githubusercontent.com/assets/8874261/11020622/b1aa81f6-864a-11e5-93ac-100e7fb06564.png) 6. Plan, as a result of `Show Plan` button: ![plan](https://cloud.githubusercontent.com/assets/8874261/11020626/c8e172a8-864a-11e5-9c26-fa12e57edabc.png) 7. Error reporting: Invalid entry class: ![invalid_entry_class](https://cloud.githubusercontent.com/assets/8874261/11020632/fbb36f4c-864a-11e5-98c0-3f98caf8ecfd.png) Invalid parallelism: ![invalid_parallelism](https://cloud.githubusercontent.com/assets/8874261/11020633/0d6f2172-864b-11e5-8ac7-b5bfa22db56f.png) 8. After clicking on submit, if the job was submitted successfully, it automatically redirects to that job's page. ![transition_to_job_after_submit](https://cloud.githubusercontent.com/assets/8874261/11020635/291ec12a-864b-11e5-9d69-37dd9de693b0.png) 9. Program arguments: ![program_args](https://cloud.githubusercontent.com/assets/8874261/11020637/338b30d0-864b-11e5-8797-0e24cc914a93.png) 10. Invalid file uploads: ![invalid_file_upload](https://cloud.githubusercontent.com/assets/8874261/11020641/447074dc-864b-11e5-907b-7fd80237ee7f.png) 11. Disallow too large files: ![max_limit_on_upload](https://cloud.githubusercontent.com/assets/8874261/11020644/54b9159c-864b-11e5-90e4-117173ece9a0.png) Of course, the best way to get the feel of it is to use it. :') Looking forward to comments and suggestions. You can merge this pull request into a Git repository by running: $ git pull https://github.com/sachingoel0101/flink client Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/1338.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1338 ---- commit 80c538f5a55220a1cf04a8b79f8377fd0a7936b5 Author: Sachin Goel <sachingoel0...@gmail.com> Date: 2015-11-05T05:10:44Z [FLINK-2978][web-dashboard][webclient] Integrate web client into Web Frontend. Allow security settings to disallow job submission from web. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---