Juan,

Well done!

But, there is a mismatch between gerrit and gitub links in your e-mail.

Regards,
Yevgeny

On Thu, Jan 7, 2016 at 5:15 PM, Juan Hernández <jhernand@redhat.com> wrote:
Hello,

The specification of the RESTAPI (a.k.a. the model) and the tools that
process it (a.k.a. the metamodel) have been moved to separate git
repositories:

  Model:
  git clone https://gerrit.ovirt.org/ovirt-engine-api-model
  https://github.com/oVirt/ovirt-engine-api-metamodel

  Metamodel:
  git clone https://gerrit.ovirt.org/ovirt-engine-api-metamodel
  https://github.com/oVirt/ovirt-engine-api-model

Currently I'm manually keeping these repositories in sync with the
ovirt-engine repository, but I will very soon remove all this code from
the ovirt-engine repository:

  restapi: Move model to separate repository
  https://gerrit.ovirt.org/51519

This means that once the above patch is merged, which will be very soon,
probably this week, when you need to do changes to the specification of
the RESTAPI, you will need first to prepare a patch for the
ovirt-engine-api-model, submit it, review it, etc. Once that patch is
merged I will do a new release of the model. Then you will need to
update the root POM of the engine to use the new version of the model,
for example:

  - <model.version>4.0.1</model.version>
  + <model.version>4.0.2</model.version>

And adjust the engine to work with the new version of the model.

As you will probably want to do these changes and test them before
publishing anything, or asking for any review, I'd suggest the following
process:

1. Checkout the model project:

  $ git clone git://gerrit.ovirt.org/ovirt-engine-api-model

2. Check the version number in the root POM. It should be a SNAPSHOT
version, unless you explicitly checkout from a tag. For example,
currently it is 4.0.2-SNAPSHOT.

3. Make your changes to the model, and then install it to your local
Maven repository:

  $ mvn clean install

4. Add to your $HOME/.m2/settings.xml a profile that is activated
automatically and that changes the value of the "model.version" property
used by the engine:

  <activeProfiles>
    <activeProfile>myprofile</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>myprofile</id>
      <properties>
        <model.version>4.0.2-SNAPSHOT</model.version>
      </properties>
    </profile>
  </profiles>

5. Make your changes to the engine, and build it as usual, it will your
modified version of the model.

6. Publish/review the changes to the model.

7. Wait for the new model release.

8. Publish/review the changes to the engine, including the change of the
model version in the root POM. Note that you can publish/review these
changes without waiting for the new model release, but the Jenkins test
will fail.

Note also that changes to the model will need to be properly documented
in order to be accepted. There are some instructions on how to document
the model here:

  https://github.com/oVirt/ovirt-engine-api-model/blob/master/README.md

All these changes affect only the master branch, nothing changed in
these regards in the 3.6 branch.

Regards,
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.
_______________________________________________
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel