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

Alon Bar-Lev alonbl at redhat.com
Wed May 15 20:45:10 UTC 2013



----- Original Message -----
> From: snmishra at linux.vnet.ibm.com
> To: engine-devel at ovirt.org
> Sent: Wednesday, May 15, 2013 11:28:31 PM
> Subject: Re: [Engine-devel] [ANN] New development environment for ovirt-engine
> 
> Has anyone tried using this setup with eclipse and running jboss
> server from eclipse?

You probably don't need that.
You can have eclipse connect to the running service using debug port at localhost:8787

> 
> Thanks
> Sharad Mishra
> 
> Quoting Barak Azulay <bazulay at redhat.com>:
> 
> > Good work guys,
> >
> > Thanks
> > Barak Azulay
> >
> >
> >
> > On May 12, 2013, at 14:52, Alon Bar-Lev <alonbl at redhat.com> wrote:
> >
> >> 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!
> >>
> >> 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
> >> _______________________________________________
> >> Arch mailing list
> >> Arch at ovirt.org
> >> http://lists.ovirt.org/mailman/listinfo/arch
> >>
> >>
> > _______________________________________________
> > 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