aboutsummaryrefslogtreecommitdiffstats

Armband Fuel@OPNFV

This repository holds build scripts for Fuel 10.0 OPNFV installer for AArch64 machines.

Workflow

The standard workflow should look as follows:

  1. Clone the repository.

  2. All the sub-projects are registered as submodules. To initialize them, call: $ make submodules-init

  3. Apply patches from patches/<sub-project>/* to respective submodules via: $ make patches-import

This will result in creation of: - a tag called ${A_OPNFV_TAG}-root at submodule remote branch HEAD; - a new branch opnfv-armband which will hold all the armband work. Then each patch is applied on this new branch with git-am. The new HEAD is tagged with ${A_OPNFV_TAG}.

  1. Modify sub-projects for whatever you need. Commit your changes when you want them taken into account in the build.

NOTE: If you want to re-export patches, make sure to move the tag ${A_OPNFV_TAG} to the latest commit that should be included.

  1. Build with: $ make build

  2. Re-create patches via: $ make patches-export

Each commit on opnfv-armband branch of each subproject will be exported to patches/subproject/ via git format-patch.

  1. Clean workbench branches and tags with: $ make submodules-clean

Sub-projects

If you need to add another subproject, you can do it with git submodule. Make sure that you specify branch (with -b), short name (with --name) and point it to upstream/* directory, i.e.:

$ git submodule -b stable/mitaka add --name fuel-web \ https://github.com/openstack/fuel-web.git upstream/fuel-web

Fuel@OPNFV submodule patch development

Fuel-submodules (fuel-astute, ... , fuel-ui) patches also reside in Armband, like previously described patches that are applied to Armband submodules, but they are not directly applied to any submodule in Armband. Instead, they are copied (staged) to Fuel@OPNFV submodule, which will automatically pick them up and apply them to its own submodules (fuel-astute, ... , fuel-ui) during ISO build.

The following helpers are available for working with patches for Fuel-submodules (fuel-astute, ... , fuel-ui):

  1. Clean Fuel-submodules (fuel-astute, ... , fuel-ui) patches $ make fuel-patches-clean

  2. Import Fuel-submodules staged patches $ make fuel-patches-import

  3. Export Fuel-submodules patches $ make fuel-patches-export