Modern lightweight UI for standard (non-admin) oVirt users
VM Portal allows non-admin oVirt users to access, start, stop, and create new virtual machines. It is not intended to be a full-featured oVirt administration UI. Rather, its focus is on standard users with limited administration skills and privileges.
For more screenshots, see the doc/screenshots directory.
If you install oVirt 4.1+ using dnf, VM Portal will automatically be included. You can access the application at:
https://[ENGINE_FQDN]/ovirt-engine/web-ui
You can also run it standalone and connect to any oVirt 4.0+ setup using docker by running:
docker run --rm -it -e ENGINE_URL=https://[ENGINE.FQDN]/ovirt-engine -p 3000:3000 mareklibra/ovirt-web-ui
and access the VM Portal at http://localhost:3000
For the most current list of features, please refer to the Milestones or Issues GitHub sections.
Upcoming milestones:
Highlights:
- VM listing (main landing page) redesign!
- new PatternFly notifications
- snapshots support
- bug fixes
- fast UI responses and start-up
- improved usability and look & feel
- easy customization for your own oVirt UI implementation
- can be deployed as a self-standing lightweight app (docker image)
- integration with other components like Cockpit or ManageIQ
- code reusability, extensibility, and simplicity
- simplified maintenance and ongoing development
For more info, see doc/goals.md
- Have the oVirt engine running at https://[ENGINE_URL]
- example: https://engine.local/ovirt-engine
- Have
yarn
installed- it's not strictly required but suggested to use ovirt-engine-* JS packages:
- from
ovirt/tested
yum repo http://resources.ovirt.org/repos/ovirt/tested/master/rpm (see BZ 1427045)dnf install ovirt-engine-nodejs ovirt-engine-nodejs-modules ovirt-engine-yarn
- use:
export PATH=/usr/share/ovirt-engine-yarn/bin:/usr/share/ovirt-engine-nodejs/bin:$PATH
Standalone installation from RPM
Please note: if you install ovirt-engine 4.1+ using dnf, VM Portal will be automatically included.
yum install ovirt-web-ui
installs to /usr/share/ovirt-web-ui
and a new ovirt-web-ui.war is added to the existing ovirt-engine.ear.
You can access the application at: https://[ENGINE_URL]/ovirt-engine/web-ui
The latest ovirt-web-ui RPM can be found in the Copr build system or project's yum repository.
A prebuilt docker image mareklibra/ovirt-web-ui
is available for standalone usage
with a running oVirt engine instance.
Just specify where your oVirt engine is running, using one of the following examples:
-
Latest released version (see Releases):
docker run --rm -it -e ENGINE_URL=https://[OVIRT.ENGINE.FQDN]/ovirt-engine/ -p 3000:3000 mareklibra/ovirt-web-ui:latest
-
Most recent image, built from master branch:
docker rmi mareklibra/ovirt-web-ui:master
docker run --rm -it -e ENGINE_URL=https://[OVIRT.ENGINE.FQDN]/ovirt-engine/ -p 3000:3000 mareklibra/ovirt-web-ui:master
Wait until the application is ready:
The app is running at:
http://localhost:3000/
VM Portal is then accessible at http://localhost:3000
After git clone
and meeting all Prerequisities above, you can build from source by:
source /usr/share/ovirt-engine-nodejs-modules/setup-env.sh # to set PATH and ./node_modules directory based on yarn offline cache
./autogen.sh
export PATH=/usr/share/ovirt-engine-yarn/bin:/usr/share/ovirt-engine-nodejs/bin:$PATH # please consider adding to ~/.bashrc
make # to create the 'build' directory
# or
make rpm # to create (s)rpms under 'tmp.repos'
This allows you to run VM Portal deployed directly in an ovirt-engine development installation.
./autogen.sh --prefix=/usr --datarootdir=/share
make all install-data-local DESTDIR=<path_to_engine_development_prefix>
A primary goal of VM Portal is a quick development cycle (change-build-deploy-check). The project uses webpack-dev-server to accomplish this. To start the server:
ENGINE_URL=https://my.ovirt.instance/ovirt-engine/ yarn start
When asked, provide a valid username (in the form of user@domain
) and password so
the application can start in the context of a logged in user.
The Redux Dev Tools can significantly simplify debuging of the application.
For Chrome: https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd
For Firefox: https://addons.mozilla.org/en-us/firefox/addon/remotedev/
- based on React, Patternfly, Redux, Redux-Saga
- based on ejected create-react-app
Please report issues and feature requests to the GitHub issue tracker.
- Marek Libra ([email protected])
- Bohdan Iakymets ([email protected])
- Jakub Niedermertl ([email protected])
- Scott Dickerson ([email protected])
- Greg Sheremeta ([email protected])