Age | Commit message (Collapse) | Author | Files | Lines |
|
While at it, add a sample license header, checking whether patch
license addition won't break build/deploy procedures.
JIRA: ARMBAND-236
Change-Id: Ica2792b606051b8bdd23832fec48925e238325a2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 8772a6268ad0f4796d861f60d1f9321f97988e41)
|
|
Pass `make debug` to Fuel@OPNFV build system.
debug requires Fuel@OPNFV submodules to be initialized, since
`f_repobuild` relies on fuel-mirror submodule.
Change-Id: Ia64a7d79143c00fc09076472ad346f0cdc20c2b5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
This should fix Jenkins build log warns like:
<tput: unknown terminal "unknown">, and also NOT print color chars.
Fixes: ARMBAND-136
Change-Id: If65f6bf3df5323374aefba56d0c9b7ca4f91e5ca
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
While refactoring the patching mechanism, take care of:
- Sync submodule handling with Fuel@OPFNV;
- build: Investigate/prepare for moving patches to Fuel@OPNFV;
- build: Investigate divergent fuel-mirror;
- ISO build: cacheid for Fuel comps should not depend on
Armband git commit;
CHANGE:
Rename/shuffle patches while grouping them in "features",
preparing for upstreaming them to Fuel@OPNFV and beyond.
CHANGE:
Allow linking patches for better representing the dependency
between one patch and different features.
e.g. 0001-Add-arch-to-nailgun-release-and-target-image.patch:
- part of `multiarch-fuel`, because it extends Fuel;
- part of `direct-kernel-boot`, as arch is required for that;
- part of `cross-bootstrap`, target image is arch-dependent;
NOTE: Patch links are not staged to Fuel@OPNFV, they only serve
as markers that a specific patch is part of a feature.
CHANGE:
Kill all Fuel component submodules, now handled in Fuel@OPNFV:
- fuel-agent
- fuel-astute
- fuel-library
- fuel-mirror
- fuel-nailgun-agent
- fuel-web
CHANGE:
Move armband-fuel-config.mk to armband git root.
FIXME: m1.micro-Increase-profile-RAM-size-to-128MB.patch is NOT
part of `cross-bootstrap` feature, but patch context says so ...
FIXME: 0001-Add-arm64-deb-repositories-setup.patch is broken at
`make patches-export` by removing spaces at EOL.
v2 -> v3:
* Phony patch support (links to show a patch belongs to a feature);
* Updated README.md
v3 -> v7:
* Re-export Fuel submodules & plugins patches (update patch context);
* Update Cavium mail addresses (s/caviumnetworks.com/cavium.com/);
* Ignore submodule changes;
* Add armband git repo info to gitinfo_fuel.txt at build time;
Implements: ARMBAND-136
Closes-bug: ARMBAND-95
Closes-bug: ARMBAND-93
Closes-bug: ARMBAND-92
Change-Id: I1a236d9f43b2e6dca22055911f696b43c22b5973
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
This reverts commit 376c76d05862ed38edeb217cd9480807571491a7.
Change-Id: Ice749599287221af71128ec466894fdb8106d2ec
|
|
|
|
Change-Id: I97da6840878112a063e980c5d5d9240eb63693d7
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Our deploy slaves are running CentOS, which only has git 1.8.3.
git -C option was made available in git 1.8.5, so instead of
installing out of repo versions of git on all our deploy slaves,
rework the main Armband Makefile to NOT use this option.
NOTE: --git-dir could be used instead, too.
Change-Id: I29b9c720e39cae25431cf1176dbaddce5bda2a35
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previously, Armband Makefile used to call Fuel@OPNFV Makefile
target <iso>, instead of <all>, which resulted in bypassing
using Docker for ISO building completely.
Switch to <all> Makefile target, hence bringing back Docker
as a build container.
This change justifies moving make variables to a separate spec
file, armband.mk.
While at it, enable caching of builds.
This requires Jenkins bash scripts to be updated for the ISO
build job, done in [1].
JIRA: ARMBAND-56
[1] https://gerrit.opnfv.org/gerrit/#/c/18453/
CHANGES:
- all: release (was all: build)
- Common make targets now depend on submodules-init;
- clean-build and clean-docker make targets have been replaced by:
make clean, make deepclean;
FIXME: These issues should be fixed later:
- (optional) trim local repo paths from gitinfo files
- only account for armband submodules in cache fingerprints;
- identify size mismatch culprit
Change-Id: I7d73409be44983fa21d4c09d2e07b87a33231e03
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Upstream change [1] pinned Fuel components to Fuel 9.0.1 specific
commits. While armband used to track remote branch HEAD, we now
need to sync with Fuel's config.mk before applying our patches.
Unfortunately, the commit variables are not consistently named,
so one could infer a relationship between the variable names
and targeted git submodule (e.g. fuel-web commit var is named
NAILGUN_COMMIT), so we have to hardcode the module list in our
Makefile.
[1] https://gerrit.opnfv.org/gerrit/#/c/17225
Closes: ARMBAND-58
Change-Id: Ifdce1c9a5afbd70db3b5703da21b30e8792b3e97
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
genisoimage has a limit of 32 chars for volume ID, which was
reached during Jenkins builds (which sets REVSTATE to a datestring),
but not while building outside Jenkins (in which case REVSTATE was
simply set to "P000"), hence the recent broken builds despite
manully testing the changes beforehand.
Shorten the product name (PRODNO var), and revert git SHA to full
format, as that was not the culprit.
Related-bug: ARMBAND-53
Change-Id: I0a530982893af1b6a0243b55f6b1d2eea66ac5bf
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous commit which was supposed to fix the BUILD_ID being too
long mistakenly altered the submodule code for computing the
short SHA, instead of altering the Makefile.
Fixes: ARMBAND-53
Change-Id: Ib1c1b3dc9592714fd86a59ae1a64001bd2930bd3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous change altered the BUILD_ID to include Armband commit info
instead of Fuel@OPNFV info, and also a marker to indicate it comes
from Armband repo.
This lead to the ISO volume ID becoming too long:
"Making ISO...
genisoimage: Volume ID string too long
make[1]: *** [iso] Error 255"
While at it, change our marker from "FUEL_AARCH64" to "ARMBAND_FUEL",
as our ISO should also support x86 in the future, not only arm64.
Fixes: ARMBAND-53
Change-Id: I52526f1f7861aca71d16d1e6b6b2a9566a6c7d3f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Closes: ARMBAND-53
Change-Id: I92c1541a22a837c281d9b86f6ee8da327305884d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I6362dbdfabe9f3fa0d371b3ad3a6c2c6d139b684
|
|
Change-Id: I4d01e9f9aeea3b0ab5bcc7fbe6840b8960fff5d9
|
|
My initial goal was to split the ODL patch in two patches:
- leveldb + leveldbjni arm64 support;
- opnfv-quagga building/packing for multiple archs (UBUNTU_ARCH);
However, due to the design of opnfv-packaging repo, it is easier to:
- patch upstream sources to support native arm64 builds (see [1]);
- add prebuilt arm64 binaries to output dir in git repo (like amd64),
submitted as pull request upstream [2];
Until above OPNFV-QUAGGA changes land upstream or are refactored,
rely on forked repository that contains above patches [3] on
branch "stable/colorado".
opnfv-quagga patch adding UBUNTU_ARCH parsing is more or less there
to detect missing DEBs, rather than filter prebuilt DEBs, which for
now only cover "amd64 arm64".
[1] https://github.com/nikolas-hermanns/opnfv-quagga-packaging/pull/1
[2] https://github.com/nikolas-hermanns/opnfv-quagga-packaging/pull/2
[3] https://github.com/alexandruavadanii/opnfv-quagga-packaging
Change-Id: I022c1e82531d82422486f2041c70a3f50b6ca386
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Fuel@OPNFV just added the Yardstick plugin.
This plugin is a little different, instead of breaking fuel plugin
code apart from the contents (i.e. fuel-plugin-yardstick separate
from yardstick itself), it holds both fuel plugin metadata and
actual yardstick code in the same repo.
So far, yardstick plugin code itself is arch-independant and should
not be touched.
TODO:
- add yardstick patches for arm64 until we can validate Yardstick;
- submit patches added locally in Armband to upstream
(Yardstick@OPNFV);
Change-Id: I24bc8858b92c9bdd529a64de833d7b98c06a6ade
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I986bfb5ae549321a0696f945d24ccb1b6b198f96
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
Move fuel-main patching to opnfv-fuel, preparing for upstreaming
this to Fuel@OPNFV.
Drop fuel-main submodule!
Change-Id: I12b995f37701658dca1d1a212ede029d0e03231c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
Change-Id: I468f4e37057e812c85034b16748a8083d0c96ab4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Instead of binding git submodules to a specific commit, track
their remote origins at `make submodules-init`.
This introduces the risk of upstream changes breaking our patches
more frequently (used to be whenever we bumped submodules by hand),
and requiring rebasing, but that already happens for Fuel@OPNFV.
This represents a major improvement in tracking upstream and moving
away from forking, at the expense of more frequent rebasing, until
we upstream or move to post-installation step all our patches.
For example, since we rebased our modules 1-2 weeks ago, quite
a few patches landed upstream (e.g. [1]) that we missed in our builds.
[1] https://bugs.launchpad.net/fuel/+bug/1587773
Change-Id: I2d9e0877513558c86f68875f03976002f757e5ee
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
IMPORTANT:
Drop `fuel-astute` submodule, and patch it instead during the Fuel
Master node bootstrapping process, using an OPNFV post.d script.
Luckily, this fits well with the recently added script that prepares
FM for cross-building.
One step closer to un-forking.
Change-Id: Ia612e0ad4077b16baf54f1b9ebf9d207daca0be4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Remove unnecesary overrides from Makefile.
Switch Armband repo from 8.0 to 9.0, trimming "-fuel" repo URL suffix.
ODL plugin build remains enabled.
All other plugins are currently not built.
Some cleanup is due in the future:
FIXME: Switch to our own JDK later.
FIXME: Remove FUEL_CENTOS_8.0 stuff.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
I've added submodule name to `patch-import` target to make it easier to
spot in which submodule does patch import fail.
Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
|
|
Since `execute_shell_command` mcagent is used for building the target
image and the timeout provided in the astute task is just respected on
the Astute level (on mcollective level this timeout is actually a
minumum between value provided and ddl value) we need to increase it
for Armband operation.
Because Armband builds the target image via `qemu-debootstrap`, it can
take more than 1 hour to finish the building. Therefore aside of
increasing the timeout in the Astute task, the maximum timeout value
for mcagent has to be increased.
Change-Id: Iab94e794e36bb7e887e8f334daa46e82fe0c6f94
Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
|
|
Change-Id: If1895891c28b7d8d8d109539357475ac578bfc38
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Since we only build ODL plugin on arm64 for now, kill
fuel-plugin-qemu submodule in armband repo.
Change-Id: Ib7a6dfe7e1dbd03771e3f28d2769d54659280901
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
This is now covered by Jenkins for automatic builds, and not
relevant for manual builds.
Change-Id: I539a7311fa9689405acdfcd05773fd5aaa81fbb0
|
|
We previously added support for needed RPMs missing from Fuel repos,
by introducing an additional "armband" repository, then ammending
OPNFV ks.cfg{,.orig}; it's time to remove RPM mirror override
LATEST_MIRROR_ID_URL.
Since LATEST_MIRROR_ID_URL is common for mos CentOS and Ubuntu repos,
fill in MIRROR_MOS_UBUNTU instead.
Change-Id: I137ba588f8c3be3339a4b8affb4f84dc5ac9acc8
|
|
This uses the public Ubuntu archive, which is not only slow,
but oftenly times out.
With the risk of using slightly lagging local mirrors, remove
public archive hard code.
End-users should configure this based on their location/mirrors
if necessary (e.g. out of date closest mirrors).
Change-Id: I3d963d202033b2b75dab3b8f10ee31e5a6940994
|
|
This reverts commit 5bd40a77a6542d90c36be58d1c2ceece3e85f65f.
Change-Id: I7fff4471c2ec2fad04a4ba00cb6b3b86482dcab9
|
|
We previously added support for needed RPMs missing from Fuel repos,
by introducing an additional "armband" repository, then ammending
OPNFV ks.cfg{,.orig}; it's time to remove RPM mirror override
LATEST_MIRROR_ID_URL.
Since LATEST_MIRROR_ID_URL is common for mos CentOS and Ubuntu repos,
fill in MIRROR_MOS_UBUNTU instead.
Change-Id: I6eb88da6ef2e174b571619a7d12cc134f6508492
|
|
Fuel makes use of the REVSTATE variable in the make file to alter the
name of the resulting ISO image. We need to honor the revision specified
by the jenkins build system at OPNFV, and pass this variable along to
fuel@opnfv.
Change-Id: I1f80dfcae313058dd9a4486bbbfdfbb0b52ea405
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
|
|
So there was a very stupid mistake in the docker container cleaning
that this patch fixes.
Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
|
|
|
|
Instead of using linux.enea.com for ALL RPM packages for CentOS7,
by overriding FUEL_MIRROR in the Makefile, switch to using
EXTRA_RPM_REPOS variable to point to armband RPM repo-component.
This way, the bulk of RPM packages will be fetched from upstream,
instead of our mirror.
- we no longer have to sync and merge from upstream the RPM repos,
but only maintain the reduced armband repo-component, currently
hosting 2 packages (qemu-user-static and cobbler-grub-aarch64);
- it will lower bandwidth usage to armband mirrors;
- first step for merging with upstream the RPM repos;
- easier to integrate with the way OPNFV replaces YUM repos on FM;
Change-Id: I76c1ef3d308c099d523099ea96fb57539ef71e04
|
|
fuel-nailgun-agent uses ohai and rethtool for reading eth info,
including ethernet card speed. However, current methods rely on the
drivers populating the advertised and/or supported link speed lists.
This is not true for all drivers, especially for some Fibers
that only report the speed via ethtool when the link is up.
This patch adds support for reading L1 info from ohai, which
supports parsing ethtool speed starting with version amos2 [1].
[1] https://linux.enea.com/mos-repos/ubuntu/8.0/pool/main/o/
ohai/ohai_6.14.0-2~u14.04+mos1+mos8.0+amos2_all.deb
Change-Id: Ic8c252e411a680af32cc68574c572434147a7e78
|
|
Sometimes patches fail to apply cleanly on patches-import, usually
due to upstream changes.
submodules-clean removes tags and resets HEAD, so it should also
try aborting the git am command.
Change-Id: I7e839383cbcde60deaf9266f24512f985b0b642e
|
|
Change-Id: If0d4c64742d0984f32c7c68bc903332ceea656e9
|
|
[ Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> ]
* Fix upload_cirros timeout
* Workaround for default video device in nova
* Fix syntax and increase TestVM's RAM requirements
[ Alexandru Avadanii <Alexandru.Avadanii@enea.com> ]
* Cleanup: Obsolete SEPARATE_IMAGES.
* Nova libvirt drv: arm64: Update console default.
* fuel{,-main}: Cleanup obsolete patches.
* nova: Fix inject for direct boot with part table.
See https://bugs.launchpad.net/nova/+bug/1290455 for full bug
description. For now, we detect direct kernel boot with a partition
table inside disk image by passing target_partition when root kernel
arg points to a partition (instead of the whole disk).
* Drop obsolete/done TODO entries.
* Nova: Fix os cmd line parsing for list case.
* ceph: Fix obsolete XFS mount param.
* Fix out-of-order embedded patch hunks.
Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* We were missing the patch rebase changes that were introduced by gerrit
automatic upstream project update for submodules. This patch introduces
them.
* Apply all submodule patches a single `git am` call to help with
rebasing patches.
* Correct Opendaylight plugin initialization in repo config.
Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
|
|
[ Florin Dumitrascu <florin.dumitrascu@enea.com> ]
* arm64 support for OpenDaylight Fuel Plugin
[ Stanislaw Kardach <kda@semihalf.com> ]
* Limit ESP to first drive
* Remove default+timeout+tr from cobbler profile
* Fix puppet syntax errors
* Disable usb tablet on aarch64
* Support direct kernel boot for CirrOS TestVM on aarch64
* Remove git version signature not to confuse patches-export
* Fix VGA support for CirrOS TestVM
* Makefile: Add clean-{docker,build}.
[ Alexandru Avadanii <Alexandru.Avadanii@enea.com> ]
* Performance: Use gzip instead of xz compression.
* Switch mirror proto from https to http.
* Update TODO with remaining tasks.
* Disable amd64 Liberty fixture (no multi-arch support yet).
* m1.micro: Increase RAM size to 128MB for aarch64 images.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Florin Dumitrascu <florin.dumitrascu@enea.com>
Signed-off-by: Stanislaw Kardach <kda@semihalf.com>
|
|
This brings initial code base for Armband project that allows building
an OPNFV Fuel 8 iso based on Brahmaputra components to be deployed on
arm64 servers.
Signed-off-by: Stanislaw Kardach <kda@semihalf.com>
Signed-off-by: Alexandru Avadanii <alexandru.avadanii@enea.com>
Signed-off-by: Florin Dumitrascu <florin.dumitrascu@enea.com>
JIRA:FUEL-39
|