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:
-
Clone the repository.
-
All the sub-projects are registered as submodules. To initialize them, call: $ make submodules-init
-
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}
.
- 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.
-
Build with: $ make build
-
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
.
- 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):
-
Clean Fuel-submodules (fuel-astute, ... , fuel-ui) patches $ make fuel-patches-clean
-
Import Fuel-submodules staged patches $ make fuel-patches-import
-
Export Fuel-submodules patches $ make fuel-patches-export