[ATN] RESTAPI specification moving to a separate git repository

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.

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

On 01/20/2016 08:06 PM, Yevgeny Zaspitsky wrote:
Juan,
Well done!
But, there is a mismatch between gerrit and gitub links in your e-mail.
Regards, Yevgeny
You are right, I'm fixing inline. The names of the gerrit projects are as follows: ovirt-engine-api-model ovirt-engine-api-metamodel I included the github URLs because they are a easy an nice way to see the content: https://github.com/oVirt/ovirt-engine-api-model https://github.com/oVirt/ovirt-engine-api-metamodel
On Thu, Jan 7, 2016 at 5:15 PM, Juan Hernández <jhernand@redhat.com <mailto: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
This ^ should be https://github.com/oVirt/ovirt-engine-api-model.
Metamodel: git clone https://gerrit.ovirt.org/ovirt-engine-api-metamodel https://github.com/oVirt/ovirt-engine-api-model
This ^ should be 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 <http://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.
participants (2)
-
Juan Hernández
-
Yevgeny Zaspitsky