jpabloae.blog

Release Engineering at Openbravo

Posts Tagged ‘Packaging

Openbravo ERP Ubuntu Lucid package available

Ladies and gentlemen, fasten your seat belts. It’s here. Be ready for the new Cloud experience with Openbravo ERP and Ubuntu. For the long awaited Ubuntu release, codename Lucid Lynx 10.04, has been just released today! Two key words you should never forget:

  • LTS: this is a Long Term Support release. A new LTS version is released every 2 years and it gets longer support and more focus on security, stability and maintenance.
  • Cloud: first class cloud computing support in Amazon EC2 and Ubuntu Enterprise Cloud (UEC). It’s never been easier to work with your Openbravo ERP Ubuntu instance on the Cloud.

Fine, this sounds good. But how do I install it? First you need to get Ubuntu Lucid Lynx up and running. You can do this in mainly two ways:

  1. Install Ubuntu on a local machine: your own computer, a local server or a virtual machine.
  2. Run an instance on the Amazon EC2 cloud. Use the official AMIs. If it’s for a production server make sure you choose the EBS powered images (aka persistent storage).

And once this is done, install Openbravo ERP:

  1. Enable the Partner’s Repository:
  2. sudo add-apt-repository "deb http://archive.canonical.com/ubuntu lucid partner"
    sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
    
  3. Install the openbravo-erp package:
  4. sudo apt-get update
    sudo apt-get install openbravo-erp
    

You can also install it using Synaptic or the Ubuntu Software Center:

Software Center: Openbravo ERP installation

For more details about the installation process you can check the complete intructions in the user’s manual.

This package is powered by PostgreSQL 8.4, OpenJDK 6, Tomcat 6 and the Apache HTTP Server 2.2.

It’s been a long way and with your help we have improved the stability and overall maturity of the Ubuntu + Openbravo ERP experience. We are excited with new delivery. Enjoy!

Written by jpabloae

29/04/2010 at 23:59

Openbravo ERP Ubuntu Lucid package available for beta testing

Ubuntu Lucid Lynx 10.04 LTS is around the corner. It’s the latest and greatest of the Ubuntu releases and it will be ready the 29th of April. It’s a special release, different to the previous Karmic 9.10, Jaunty 9.04 and Intrepid 8.10 releases. In fact it’s the most important Ubuntu release in the last 2 years. Why? The key lies on the LTS term, which is an abbreviation for Long Term Support. In a nutshell, a new LTS version is released every 2 years and it gets longer support for security and maintenance updates and also more testing. This means that it will be the natural choice for those who want to use Ubuntu on a production server for the next 2 years. Openbravo is aware of this fact and we’re getting ready for this.

Now we need your help for getting it fine tuned. Would you like to help out? Great!

We have just released a beta version of the package, so we encourage you to test it and provide us any feedback you find valuable:

  • Tell us what you like about the package.
  • Tell us what you don’t like.
  • Find what you think that could be improved.
  • Anything else you think is important.

Being a beta package, keep in mind these important notes:

  • Do not use it in production environments.
  • The official release of this package is scheduled for the 29th of April.

What’s new on this package? There is a significant change compared to our Karmic release: we have switched to OpenJDK! For those unfamiliar with OpenJDK, it’s a 100% open/free version of the Sun JDK, as well as 100% compatible. Some months ago we foresaw this need and started working to support it.

So how can I test the Openbravo ERP Lucid Lynx package? First you need to get the beta version of Ubuntu Lucid Lynx up and running. You can do this in mainly two ways:

  1. Install Ubuntu on a local machine: your own computer, a local server or a virtual machine.
  2. Run an instance on the Amazon EC2 cloud. Use the official AMIs.

Once this is ready, add our testing repository and install openbravo-erp:

  1. Add our testing repository:
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2F11D81
    sudo sh -c 'echo "deb http://ppa.launchpad.net/openbravo-isv/ppa/ubuntu lucid main" >> /etc/apt/sources.list'
    sudo sh -c 'echo "deb-src http://ppa.launchpad.net/openbravo-isv/ppa/ubuntu lucid main" >> /etc/apt/sources.list'
    
  2. Install the openbravo-erp package:
    sudo apt-get update
    sudo apt-get install openbravo-erp
    

You can also use Synaptic or your favourite package management tool.

This is how you can send us your feedback:

This beta testing phase will last four weeks, primarily because our intention is to release our package together with the final version of Lucid. This is your opportunity to test the long awaited Ubuntu release together with the new Openbravo ERP package. And why not, also a good chance get involved in the project!

UPDATE (2010/04/09): the beta2 version of Lucid is out, download links updated.

Written by jpabloae

07/04/2010 at 16:37

Posted in openbravo

Tagged with , , , ,

RM updates: Continuous Integration, Ubuntu, Javadoc, Release Notes

Like in any other team, some of the tasks we do in the Release Management Team have consequences in users, other times in developers and some times even in other company staff. We feel it’s important to notify other teams about what has been done. Not the progress or the future plans, we have Scrum of Scrums for that. But about the actual specific results.

So this is a simple as this: whenever there’s something new we think it could useful to a specific groups of users we’ll write a short summary to them. This will happen every 2 weeks.

Continuous Integration

  • There’s a new set of tests called erp_sanity_tests. This intends to collect various basic checks that are not worth to keep as a single Hudson job. As for now there’s one included, to Check if the primary keys of the database in erp/devel/pi that were present as columns in erp/stable/2.40 have a onCreateDefault value set.New tests are accepted either by describing them to us or by sending us the code to be run.
  • The QuickStart and Module Installation jobs have been moved from slave1 to slave2. We currently have 4 machines for builds.openbravo.com, and with this change one 100% dedicated to smoke tests.This affect developers in the way that now smoke tests will be finished quicker without interruptions from other jobs.

Ubuntu package

There was a demand for instructions on how to install the Ubuntu package with Tomcat in one server and PostgreSQL in another. This steps are currently manual and they’ve been documented.

Release Notes

They have been refactored. Now there’s a main page where you can see all the versions.

Then you can access the specific summary notes for each release. Check 2.50MP6 for an example.

And if you’re interested in more details, the Changelog page shows the complete list of fixed issues.

The 3 pages are linked. And the idea is to replace the Changelog page at some point, by delegating in Mantis to do this automatically.

Openbravo ERP API Javadoc

The Openbravo ERP API is now available for online viewing.

This includes all the releases since 2.50, as well as docs for erp/devel/main and erp/devel/pi, which are automatically updated in each incremental build of our continous integration framework.

Written by jpabloae

15/10/2009 at 11:19

The new packaging of ERP 2.50

Openbravo ERP has replaced its installers with virtual appliances and source code tarballs. We believe this is a major step forward. Why? This post explains the rationale behind this decision.

In 2.1x and 2.2x Openbravo ERP was deployed using Ant Installer. In 2.3x and 2.40 we switched to a binary installer technology. Starting from 2.50, Openbravo ERP has changed its packaging formats.

I remember having a brainstorming session with a project colleague, analyzing what we could improve in the overall installation and release process. That is, from the moment Release Management takes the code from QA, till users install it in their computers. The discussion led to the following conclusions:

  1. What’s the hardest part in the Openbravo ERP deployment? Certainly not the ERP, but all the software stack it relays on: Ant, JDK, Tomcat, PostgreSQL/Oracle and some extra adjustment in the operating system to make Openbravo ERP happy (system variables, permissions, etc).
  2. Let’s think about average computer users, with experience as an ERP user. They have a good ERP functional knowledge, but they don’t necessarily know how to install, configure and optimize Apache Tomcat, PostgreSQL, Ant, JDK, system variables and user permissions. They simply are not interested nor have the time to deal with that. How would the installation process look like for these kind of users? They’ll most probably give up after the second or third problem.
  3. Let’s think about advanced computer users. Does the installer help them deploy Openbravo ERP? The installer basically performs two tasks: double check that all the required component’s are sane and build the ERP from sources. All these checks were hidden behind the GUI and the 2.40 version did not have a command line equivalent. In 2.50 this can be summarized in 2 commands:
  4. ant diagnostic
    ant install.source
    

    Advanced users know what they’re doing and they prefer running these 2 commands by hand. Hiding this behind a GUI does not help them at all. In fact they dislike it.

  5. How fast is the 2.40 release process? The installers or any other packaging deliverables must not be the bottleneck. Ideally, if for some reason the QA process fails it must be because of an ERP bug and not because of a packaging problem. This was far from being truth. The release process was a pain and slow.

So having a look at the 4 points, we realized the installer failed in all of them. It doesn’t matter what installer technology we used, it just was not the right tool for us. Some of the problems of 1) and 2) could be solved by creating a one-click installer that deployed and configured all the technology stack plus Openbravo ERP. But this has mainly 2 problems:

  • It’s not useful for production systems, where users want to use the Tomcat, Ant, JDK, PostgreSQL, etc. provided by their operating system’s package manager. This allows them to install and update those packages very easily. This is understandable and in fact recommended.
  • We found out that virtual appliances do a better job in terms of ease of deployment and immediateness. And most importantly, we provide the users exactly the same environment we have tested. And not only that, it solved our 4th problem. The release process has been immensely simplified. QA does all the ERP testing in appliances, and when the product is ready Release Management creates the final appliances with the final ERP code. A smoke test gives the green light to publish the release.

So the virtual appliances solve the problems for the average computer users (points 1 and 2), and also the release problems (point 4). For advanced users (point 3) we offer them detailed installation instructions and the source code in two formats: tarballs and direct access to the main Mercurial repository.

Wondering how this affects the upgraders? Good news, starting from 2.50 upgrades are managed through the Module Management Console. In other words, Openbravo ERP is capable of updating itself and there is no need to have external upgraders.

Next steps? Package and include Openbravo ERP in all the possible Linux/BSD official repositories (Debian, Fedora/Centos/RedHat, FreeBSD, Gentoo, openSUSE, Ubuntu, etc).

Written by jpabloae

27/04/2009 at 08:47