[Engine-devel] getDeviceList should report partioned devices, too
by Dan Kenigsberg
Hi Lists,
One cannot create a PV on a partitioned device, and therefor such
devices where not reported to Engine. This proved surprising to users
who woder where their LUN disappeared.
Vdsm should report all devices, and ovirt-engine should mark partitioned
devices as unworthy of a PV. In the future, Vdsm may allow to forcefully
remove a partition table from a device, to make it usable as a PV.
Douglas (CCed) would take resposibilty on the Vdsm side. Initial patch at
http://gerrit.ovirt.org/944 sports a backword-compatible API. Who's taking this
on Engine? This involves GUI, too, as partitioned devices should probably be
displayed greyed-out.
Dan.
12 years, 10 months
[Engine-devel] backup/restore your git branch out of git repository
by Eli Mesika
Hi
I had last week a corrupted git repository caused possibly by a forced shutdown, I had to re-clone my repository to a new place and apply all my changes.
Lucky me , I had a backup out of the git repository.
The following takes 1 min to apply and may save you lot of work in case something gone wrong.
The following command will create a directory named as your current git branch under ~/backup/patch and will backup there all your branch work
copy the following lines to your ~/.bashrc
alias gitbackup='br=$(git symbolic-ref HEAD 2>/dev/null | cut -d "/" -f3);rm -f *.patch;git format-patch origin/master;mkdir -p ~/backup/patch/$br;mv *.patch ~/backup/patch/$br'
alias gitrestore='br=$(git symbolic-ref HEAD 2>/dev/null | cut -d "/" -f3);git stash; git checkout master;git checkout -b "$br-restore-$(date "+%d-%m-%y--%H-%M")";cp ~/backup/patch/$br/*.patch .;for f in $(ls -1 *.patch) ;do git am --ignore-whitespace $f;done'
> source ~/.bashrc
to backup your branch just run from your current git branch
> gitbackup
In any case you have messed up with your branch (and you have a backup), you can run from your current git branch
> gitrestore
this will create a new restored branch named <your-original-branch-name>-restore-<date> and apply on it your backed up patches.
12 years, 10 months
[Engine-devel] Jenkins Continuous Integration Server for oVirt is up and running!
by Eyal Edri
fyi,
oVirt project now has a Jenkins CI server[1] on http://jenkins.ovirt.org.
The CI server runs various jobs on oVirt components *[2] such as ovirt-engine,ovirt-node,etc..
Every commit to gerrit.ovirt.org will trigger the job 'ovirt_engine' which will run 'maven' build and verify that the commit didn't break the code.
If the commit did break the code, it will send an alert email to "engine-patches.ovirt.org" and to the commiter with a link to a log console containing the error.
On success, the job will trigger other jobs such as "find_bugs", "gwt profiles", "create db", "unit-tests", each testing a different part of the code.
In time, more and more jobs will be added to jenkins, which will allow us to catch bugs much faster than before, and to improve code quality even more.
If you have questions, don't hesitate to ask me or infra(a)ovirt.org.
[1] http://jenkins-ci.org/
[2] currently only ovirt-engine is configured and working.
Eyal Edri
oVirt infrastructure team
12 years, 10 months
[Engine-devel] Any way to get more than 100 VMs with the REST API?
by Juan Hernandez
Hello,
Is there any way to get more than 100 VMs (or whatever the value of the
option "SearchResultsLimit" is) using the REST API?
Thanks in advance,
Juan Hernandez
--
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
3ºD, 28016 Madrid, Spain
Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
12 years, 10 months
[Engine-devel] the future of template cloning
by Jon Choate
We are going to be able to store the disks for a template on different storage domains due to the multiple storage domain feature. Cloning a template will still be possible, but will it provide any value? Thoughts?
12 years, 10 months
[Engine-devel] a different approach to the command classes
by Jon Choate
The way the command classes are written has bothered me for a while.
While implementing the multiple storage domain features I am presented
with the opportunity to create a new command from scratch. I gave some
thought to what I would like the command classes to look like while
balancing that the class must still fit in with the existing structure.
So here is what I came up with. I'd appreciate any feedback.
The Command class encompasses only the rules of what needs to be done.
It relies upon Validator classes to determine if the canDoAction
conditions have been met.
@Override
public boolean canDoAction() {
...
checkTargetDomainHasSpace();
checkTargetDomainIsValidTarget();
checkSourceDomainIsValidSource();
checkSourceAndTargetAreDifferent();
...
}
...
private void checkTargetDomainHasSpace() {
if(!actionAllowed) return;
if(!targetDomainValidator.hasSpace(getParameters().getDiskImageId())) {
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_DISK_SPACE_LOW);
actionAllowed = false;
}
}
Each of the checks follows a similar pattern of
- guard clause to see of we already failed and bail if we did
- test for failure of the condition
- add failure message if needed
- set variable to failed if needed
Storing the success flag in a variable allows us to keep the canDoAction
method readable as a series of commands and to allow it to be accessed
by all the private methods without them having to pass it around.
The execution of the command will follow a similar pattern where the
command class will only know how to describe what needs to be done and
to rely on supporting objects to handle the implementation of these
steps. Getting the implementation out of the command classes will allow
the commands to share validation and implementation details and remove a
lot of the duplication that currently exists within the commands.
How do people feel about this approach?
12 years, 10 months
[Engine-devel] move disk command
by Jon Choate
As part of the multiple storage domains feature there will be new functionality added to allow users to move individual disks.
What are the prerequisites for moving a disk?
1) the disk must exist
2) the associated VM must be down
3) the associated VM must not be locked
4) the source storage domain must exist
5) the source storage domain must be available
6) the target domain must exist
7) the target domain must be available
8) the target domain must have adequate disk space
9) the target domain cannot be an ISO or export domain
10) the source domain cannot be an ISO or export domain
What am I missing?
Also, should we allow the moving of a template disk that has VM disks based on it? Unless I'm wrong this would require all of the disks based on the template to be moved as well.
thoughts?
12 years, 10 months