[Engine-devel] [ANN] New development environment for ovirt-engine

Yair Zaslavsky yzaslavs at redhat.com
Tue May 14 06:55:52 UTC 2013



----- Original Message -----
> From: "Alon Bar-Lev" <alonbl at redhat.com>
> To: "Yair Zaslavsky" <yzaslavs at redhat.com>
> Cc: "Eli Mesika" <emesika at redhat.com>, "engine-devel" <engine-devel at ovirt.org>, "arch" <arch at ovirt.org>
> Sent: Tuesday, May 14, 2013 8:58:06 AM
> Subject: Re: [Engine-devel] [ANN] New development environment for ovirt-engine
> 
> 
> 
> ----- Original Message -----
> > From: "Yair Zaslavsky" <yzaslavs at redhat.com>
> > To: "Eli Mesika" <emesika at redhat.com>
> > Cc: "Alon Bar-Lev" <alonbl at redhat.com>, "engine-devel"
> > <engine-devel at ovirt.org>, "arch" <arch at ovirt.org>
> > Sent: Tuesday, May 14, 2013 5:39:19 AM
> > Subject: Re: [Engine-devel] [ANN] New development environment for
> > ovirt-engine
> > 
> > Alon,
> > I have FC17, and followed the steps at the wiki , i defined the ovirt
> > nightly
> > repo
> > 
> > [ovirt-nightly]
> > name=ovirt-nightly
> > baseurl=http://resources.ovirt.org/releases/nightly/rpm/Fedora/17/
> > enabled=1
> > gpgcheck=0
> > priority=1
> > protect=1
> > 
> > And performed yum install according to your guidelines.
> > It fails to find python-m2crypto
> 
> Has nothing to do with ovirt :)
> Try m2crypto please.


Worked ! I would suggest updating the WIKI
However, now I fail at webadmin - commit hash cda607c80a19dd08585fc0271ea7d57e03f9a43f

[INFO] javac option: -s
[INFO] javac option: /home/yzaslavs/work/ovirt_git/ovirt-engine/frontend/webadmin/modules/webadmin/target/generated-sources/annotations
[INFO] diagnostic /home/yzaslavs/work/ovirt_git/ovirt-engine/frontend/webadmin/modules/gwt-common/target/gwt-common-3.3.0-SNAPSHOT.jar(org/ovirt/engine/ui/common/presenter/AbstractPopupPresenterWidget.java):27: error: method getCloseButton() is already defined in interface org.ovirt.engine.ui.common.presenter.AbstractPopupPresenterWidget.ViewDef
        HasClickHandlers getCloseButton();
                         ^
[INFO] diagnostic /home/yzaslavs/work/ovirt_git/ovirt-engine/frontend/webadmin/modules/gwt-common/target/gwt-common-3.3.0-SNAPSHOT.jar(org/ovirt/engine/ui/common/presenter/AbstractPopupPresenterWidget.java):32: error: method getCloseIconButton() is already defined in interface org.ovirt.engine.ui.common.presenter.AbstractPopupPresenterWidget.ViewDef
        HasClickHandlers getCloseIconButton();

Anyone got a clue?
                         




> 
> > 
> > Can you please advise on the matter?
> > 
> > Many thanks,
> > Yair
> > 
> > 
> > 
> > ----- Original Message -----
> > > From: "Eli Mesika" <emesika at redhat.com>
> > > To: "Alon Bar-Lev" <alonbl at redhat.com>
> > > Cc: "engine-devel" <engine-devel at ovirt.org>, "arch" <arch at ovirt.org>
> > > Sent: Tuesday, May 14, 2013 3:45:41 AM
> > > Subject: Re: [Engine-devel] [ANN] New development environment for
> > > ovirt-engine
> > > 
> > > 
> > > 
> > > ----- Original Message -----
> > > > From: "Alon Bar-Lev" <alonbl at redhat.com>
> > > > To: "engine-devel" <engine-devel at ovirt.org>
> > > > Cc: "arch" <arch at ovirt.org>, "Sharad Mishra" <snmishra at us.ibm.com>,
> > > > "Limor
> > > > Gavish" <lgavish at gmail.com>
> > > > Sent: Sunday, May 12, 2013 2:52:51 PM
> > > > Subject: [Engine-devel] [ANN] New development environment for
> > > > ovirt-engine
> > > > 
> > > > Hello all ovirt-engine developers,
> > > > 
> > > > When I first joined the ovirt project, it took me about two weeks to
> > > > setup
> > > > a
> > > > development environment, I needed to work on a bug related to
> > > > host-deploy
> > > > so
> > > > I needed an environment that could use the ssh, PKI, vdsm-bootstrap and
> > > > communicate with vdsm using SSL, this was virtually impossible to do so
> > > > without tweaking the product in a way that it is so different from
> > > > production use, that I cannot guarantee that whatever tested in
> > > > development
> > > > will actually work in production.
> > > > 
> > > > I peeked at the installation script in a hope that I can create partial
> > > > environment similar to production, but I found that the packaging
> > > > implementation makes to much assumption and is very difficult to adopt.
> > > > The
> > > > fact that I do not use fedora/rhel for my development made it even
> > > > worse.
> > > > 
> > > > I had no other option than to create rpms after each of my changes and
> > > > test
> > > > each in real production like setup.
> > > > 
> > > > It was obvious to me that the manual customization of developers to
> > > > achieve
> > > > working product will eventually break as product grow and move away
> > > > from
> > > > being developer friendly to production friendly. For example, product
> > > > defaults cannot be these which serve developers, but these which serve
> > > > production the best, or having a valid PKI setup cannot be optional any
> > > > more
> > > > as components do need to use it. Same for location of files and
> > > > configuration, for example, if we write a pluggable infrastructure for
> > > > branding, we cannot damage the interface just because developers runs
> > > > the
> > > > product in their own manual customization.
> > > > 
> > > > I took the opportunity handed to me to port the ovirt-engine to other
> > > > distributions in order to provide a development environment that is
> > > > similar
> > > > to production setup. Together with Sandro Bonazzola and Alex Lourie we
> > > > re-wrote the whole installation of the product which can also be used
> > > > to
> > > > setup the desired development environment.
> > > > 
> > > > Within this environment the product is set up using the same tools and
> > > > configuration as in production, while the process does not require
> > > > special
> > > > privileges nor changes the state of the developer machine.
> > > > 
> > > > A complete documentation is available[1], I preferred to use README
> > > > within
> > > > the source tree as wiki tend to quickly become obsolete, while
> > > > documentation
> > > > within source tree can be modified by the commit that introduces a
> > > > change.
> > > > I
> > > > will redirect to this file from the current wiki once the site will be
> > > > up.
> > > > 
> > > > In a nut shell, after installing prerequisites, build and install the
> > > > product
> > > > using:
> > > > 
> > > > $ make clean install-dev PREFIX=$HOME/ovirt-engine
> > > > 
> > > > This will run maven and create product installation at
> > > > $HOME/ovirt-engine
> > > > Next, a setup phase is required just like in production, to initialize
> > > > configuration and database:
> > > > 
> > > > $ $HOME/ovirt-engine/bin/engine-setup-2
> > > > 
> > > > You have now fully functional product, including PKI, SSL, host-deploy,
> > > > tools.
> > > > No manual database updates are required, no lose of functionality.
> > > > 
> > > > All that is left is to start the engine service:
> > > > 
> > > > $ $HOME/ovirt-engine/share/ovirt-engine/services/ovirt-engine.py start
> > > > 
> > > > Access to application:
> > > >    http://localhost:8080
> > > >    https://localhost:8443
> > > > Debugging port is opened at port 8787.
> > > > 
> > > > Farther information exists in the documentation[1].
> > > > 
> > > > There are several inherit benefits of the new environment, the major
> > > > one
> > > > is
> > > > the ability to manage several environments in parallel on the same
> > > > host.
> > > > For
> > > > example, if we develop two separate features on two branches we can
> > > > install
> > > > the product into $HOME/ovirt-engine-feature1 and
> > > > $HOME/ovirt-engine-feature-2 and have a separate database for each, if
> > > > we
> > > > modify the ports jboss is listening to we can run two instances of
> > > > engine
> > > > at
> > > > the same time!
> > > 
> > > It is not clear to me why working on 2 bugs needs 2 installations of the
> > > development environment.
> > > If you have 2 different git branches and a separate database for each,
> > > its
> > > enough , am I missing something ?
> > > I was used to create a git branch with the name of the BZ# and use
> > > create_db.sh script to create a new database with the BZ# name.
> > > Is this possible in the new method?
> > > Also, does this mean that I will have to create/configure a new workspace
> > > for
> > > eclipse each time I am starting to work on a new bug?
> > > 
> > > 
> > > Thanks
> > > 
> > > 
> > > > 
> > > > We will be happy to work with all developers to assist in porting into
> > > > the
> > > > new development environment, the simplest is to create a new database
> > > > for
> > > > this effort. Moti has a sequence of converting the existing database
> > > > owned
> > > > by postgres to be owned by the engine, Moti, can you please share that?
> > > > 
> > > > We are sure there are missing bits, we will be happy to know these so
> > > > we
> > > > can
> > > > improve.
> > > > 
> > > > I am aware that developers (especially java) are conservative, but I
> > > > ask
> > > > you
> > > > to give us a chance, so that we make it easy for developers to join the
> > > > project, and to allow us to drop the parallel effort of packaging to
> > > > production and fixing the broken development environment.
> > > > 
> > > > A special thanks to developers who took the time to test and provide
> > > > feedback
> > > > before the merged:
> > > > - Yaniv Bronheim
> > > > - Moti Asayag
> > > > - Limor Gavish
> > > > - Sharad Mishra
> > > > - Ofer Schreiber
> > > > 
> > > > We are hoping that after migration you will be find this environment
> > > > useful
> > > > and friendly,
> > > > 
> > > > Sandro Bonazzola,
> > > > Alex Lourie,
> > > > Alon Bar-Lev.
> > > > 
> > > > [1]
> > > > http://gerrit.ovirt.org/gitweb?p=ovirt-engine.git;a=blob;f=README.developer;hb=HEAD
> > > > _______________________________________________
> > > > Engine-devel mailing list
> > > > Engine-devel at ovirt.org
> > > > http://lists.ovirt.org/mailman/listinfo/engine-devel
> > > > 
> > > _______________________________________________
> > > Engine-devel mailing list
> > > Engine-devel at ovirt.org
> > > http://lists.ovirt.org/mailman/listinfo/engine-devel
> > > 
> > 
> 



More information about the Engine-devel mailing list