Coder Social home page Coder Social logo

movirt's Introduction

moVirt

This app is not maintained anymore and was not tested on newer Android versions nor with newer oVirt versions.

Build Status Gitter

A mobile client for oVirt.

  • Monitoring of oVirt data centers
  • Support for remote consoles
  • Running/stopping VMs, making snapshots and other actions
  • Augmented reality; scan your servers with a camera to get information about them
  • Dashboard overview
  • Triggers for cpu/memory thresholds, statuses and events
  • And more...

Get the newest version here or from the app store

Get it on Google Play

and check out the User's guide

Supported oVirt and Android per moVirt version

oVirt \ moVirt 1.11 1.21 1.32, 1.42 1.52 1.6 - 2.12
3.4 yes yes no3 no3 no3
3.5 no yes yes no3 no3
3.6 no no yes yes yes
4.0 no no no yes yes
4.1 - 4.4 no no no no3 yes

[1]: works on Android 4.0+
[2]: works on Android 4.1+
[3]: may work but no longer tested

Troubleshooting

Useful links

Get in Touch

  • Interested about news? Follow us on Twitter
  • Have user questions? Subscribe to oVirt's users list and post a question with subject containing [moVirt]
  • Want to chat? We are usually hanging in irc.oftc.net in #ovirt - look for mbetak, tjelinek, NoiseDoll or yixinzhang. Or anyone else, people are friendly there ;)

Contribute

Feature demonstration on YouTube

bVNC and Triggers

Screenshots

movirt's People

Contributors

gitter-badger avatar iiordanov avatar jelkosz avatar matobet avatar neha--agarwal avatar noisedoll avatar sphoorti avatar suomiy avatar zyx0225 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

movirt's Issues

Scanned host IDs requires lowercase letters

Hex digits a-f in host ids are required to be lowercase. One would expect it is case-insensitive.

Steps to reproduce:

  1. Get id of host using REST api
  2. Edit at least one a-f digit to uppercase in that id
  3. Generate datamatrix (e.g. http://datamatrix.kaywa.com/) and scan it

Result: "NO SUCH HOST" message
Expected result: Host details shown.

Make ClusterDrawerFragment not transparent

Currently the cluster drawer has transparent background which makes the list of clusters very difficult to read. It would be great if we could change it to a solid non transparent background.

No refresh on connection lost

Once you've connected moVirt app to the engine, if the connection goes down the app doesn't refresh the state keeping last state displayed.

For example you can see a VM still in start-up and the host up and running also if the engine has been disconnected 20 days before.

support spice-proxy

It is not yet in aSPICE and the support in govirt is questionable.
The task here is to investigate what the real gaps are and if possible, close them.

Add support for VM Snapshots

We should add a new VM detail fragment that can list VM's snapshots and provide basic management operations with them (create, preview, undo, delete).

Add the "Filter: true/false" header

For non-admin users the "Filter: true" has to be added to the HTTP headers when talking to the oVirt's REST API.
More specifically, a new checkbox to the account settings has to be added called "Admin Privilege". It will be by default unchecked.
If checked, the "Filter: false" will be added to the headers.
If un-checked, the "Filter: true" will be added to the headers.

Dashboard units

Version: 1.3 rc3

The dashboard should

  • dynamically change units and
  • limit number of digits

of shown variables to keep them easily readable.
E.g. "23456GB" can be rendered as "23.5TB"

moVirt app can't be "moved to SD card"

The app requires to be executed from phone internal storage (as opposed to be able to be moved to SD card).

Steps to reproduce:

  1. Open Application manager (Settings > Applications > Application Manager)
  2. Open moVirt details
    Button "Move to SD card" is disabled
    app_detail
    .

support 4.0 API

there is a need for a quick fix for moVirt to support 4.0 API. 2 parst are needed:

  • send the "Version: 3" header with all requests to force the fallback 3.x api on 4.0 engines. Later a proper support of the 4.0 API will be needed, this is going to be a quick fix
  • the engine CA cert is no longer on /ovirt-engine/ca.crt but on /ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA -> this path is supported also on 3.6 so it is safe to propose this option in the authentication screen

A crash report from user contains this stack trace

Needs investigation, the stack trace:

java.lang.IllegalStateException: Activity has been destroyed
at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1350)
at android.app.BackStackRecord.commitInternal(BackStackRecord.java:729)
at android.app.BackStackRecord.commit(BackStackRecord.java:705)
at android.app.DialogFragment.show(DialogFragment.java:230)
at org.ovirt.mobile.movirt.ui.AuthenticatorActivity.showError(AuthenticatorActivity.java:364)
at org.ovirt.mobile.movirt.ui.AuthenticatorActivity.finishLogin(AuthenticatorActivity.java:322)
at org.ovirt.mobile.movirt.ui.AuthenticatorActivity_.access$201(AuthenticatorActivity_.java:43)
at org.ovirt.mobile.movirt.ui.AuthenticatorActivity_$6.execute(AuthenticatorActivity_.java:233)
at org.androidannotations.api.BackgroundExecutor$Task.run(BackgroundExecutor.java:401)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)

Refactor Loaders

Snapshots and Vms fragment in hosts show duplicate loader.

Snapshots loader shown in event fragment while swiping. Do we need to show that we load snapshots while swiping?
Same for Disks and Nics.

events are broken for Filter: true

If the "Filter" header is set to "true", oVirt's REST does not support any "search" nor "from" url params. The only url param it supports is the "max". This brings us the following problems:
1: we fail on insert of this event to DB because of primary key violation (we expect the "from" to work but it does not so it returns all the events)
2: it is REALLY slow, the events collection can be couple of megs long - parsing it and working with it every couple of seconds is expensive
3: the events are not sorted and there is no way to make them sorted (the sorting can be set up for search only)
4: since the "search" does not work, on the vm details view we anyway show all the events

  • The first issue can be solved by simply checking if the event we are about to store is bigger than the last one stored
  • Not sure how to solve the second issue... It would be good to just use the "max" url param, but we can not rely on the fact that it will return the last N events since it returns them un-sorted
  • the sorting can be done simply on the moVirt side - but the problem comes when considering the previous thing
  • The last issue can be solved simply by not loading the events from REST but from our DB

Re-evaluate minimum supported android version

We currently state in manifest that we support 4.0 which I am not sure is still the case. There is also a lot of features in 4.1 that require workarounds to work for 4.0.

We should test whether moVirt still fully functions on 4.0 and also use this issue to track all occurrences of 4.0 workarounds, that should be ultimately removed when we decide to bump the minimum to 4.1.

Textual enhancements to Add Trigger dialog

The Add Trigger currently has Condition, Above: and Notify options. These texts could be changed to
Condition, Threshold (for CPU and Memory) and Notification.
Also, the second line texts like Above, Regex to match, and When status have a trailing semi-colon while other option do not have. We can keep the formatting of options uniform on this dialog box.

Utilize Vm.Command enum for UI action status checks

A centralized configuration of VM's actions is available in the Vm.Command enum, but it is currently unused. Also for adding any new actions (e.g for Hosts) a similar pattern should be utilized (i.e Host.Command enum with host actions and supported statuses)

Implement Host UI

Recent commit 876f1e1 added necessary infrastructure for Hosts. What is missing is similar details UI as we have for VM's (HostDetailActivity with HostDetailGeneralFragment, EventsFragment and NicDetailFragment).

Fix android lint warnings and re-enable lint build step

The lint step was temporarily disabled on master, until all warnings can be properly fixed, in order to obtain better build error reporting from Travis CI. It was not very helpful when each commit/pull request failed CI because of this (despite compiling and passing tests).

This should of course be fixed properly by fixing the warnings and re-enabling the android lint step in gradle.

Repeated connection failure message on initial configuration flow

When configuring a fresh installation of moVirt in case the connection fails (for whatever reason: invalid certificate, host not found) the application displays several user unfriendly messages.

This should be replaced by one higher-level (frendlier) message since we expect user to make a lot of mistakes in initial configuration.

Add support for Host Triggers

Recent commit 876f1e1 added necessary infrastructure for Hosts. Now we need to extend existing Trigger UI code to support hosts. We would also like to utilize the existing Cpu, Memory and Status Conditions for hosts. This will probably require introduction of some interfaces for individual properties.

Make polling interval configurable

The polling interval is currently hard-coded and set to 5 seconds. This is both battery and network intensive. It would be good to make the polling interval configurable.

More specifically, a new text field in the user's settings will be added with name: "Polling interval (seconds)". and will accept polling interval in seconds. Minimal value will be 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.