summaryrefslogtreecommitdiffstats
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2017-08-29Makefile: Implement `make patches-copyright`Alexandru Avadanii1-0/+9
JIRA: ARMBAND-301 Change-Id: Ib2fe43d3a4be627831768419486226ed2484ddae Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-01p/fuel: Rebase, drop upstream cloneAlexandru Avadanii1-0/+29
Now that Fuel@OPNFV supports submodule patching again, bring back `make fuel-patches-import`. Change-Id: Ic6f9870d94b6d302f1ebcdc21d54a83f62910af9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-07-11MCP: Obsolete `fuel-patches-*` functionalityAlexandru Avadanii1-66/+2
We no longer require patching submodules in the Fuel@OPNFV submodule, so remove all obsolete code. Change-Id: I872ac7da2cd020b6882f8bc8304c03a8e528313f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-03-15Makefile: patches-import: Explicit patch formatAlexandru Avadanii1-1/+2
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>
2016-10-18build: Add <debug> make targetAlexandru Avadanii1-3/+5
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>
2016-10-09ci/{build,deploy}.sh: Use /bin/sh, vt220Alexandru Avadanii1-0/+2
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>
2016-10-09build: Rework patch mechanism for Fuel submodulesAlexandru Avadanii1-62/+106
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>
2016-09-06Merge "Revert "submodule: Kill fuel-astute""Alexandru Avadanii1-0/+1
2016-09-06Revert "submodule: Kill fuel-astute"Alexandru Avadanii1-0/+1
This reverts commit 376c76d05862ed38edeb217cd9480807571491a7. Change-Id: Ice749599287221af71128ec466894fdb8106d2ec
2016-09-05Merge "submodule: Kill fuel-astute"Alexandru Avadanii1-1/+0
2016-09-01Fix: build: do not hardcode fuel branchAlexandru Avadanii1-1/+0
Change-Id: I97da6840878112a063e980c5d5d9240eb63693d7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-08-28submodule: Kill fuel-astuteAlexandru Avadanii1-1/+0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-08-22Fix: git -C not available for git 1.8Alexandru Avadanii1-8/+8
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>
2016-08-19build: ISO refactor, use docker, enable cacheAlexandru Avadanii1-94/+95
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>
2016-07-26Makefile: submodules sync with Fuel@OPNFVAlexandru Avadanii1-3/+21
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>
2016-07-22Makefile: Trim OPNFV_PRODNO to fit in ISO volidAlexandru Avadanii1-2/+2
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>
2016-07-22BUILD_ID: Fix git SHA one last time.Alexandru Avadanii1-1/+1
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>
2016-07-22BUILD_ID: Fix build ID too long errAlexandru Avadanii1-1/+1
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>
2016-07-19BUILD_ID: Fix incomplete git build infoAlexandru Avadanii1-0/+2
Closes: ARMBAND-53 Change-Id: I92c1541a22a837c281d9b86f6ee8da327305884d Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-07-18submodule: Add fuel-astute.Alexandru Avadanii1-2/+4
Change-Id: I6362dbdfabe9f3fa0d371b3ad3a6c2c6d139b684
2016-07-05[BGPVPN] Enable/add plugin build to ISO.Alexandru Avadanii1-1/+1
Change-Id: I4d01e9f9aeea3b0ab5bcc7fbe6840b8960fff5d9
2016-07-05ODL: Rework opnfv-quagga building/packaging.Alexandru Avadanii1-7/+7
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>
2016-06-29submodule: yardstick.Alexandru Avadanii1-0/+3
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>
2016-06-28submodule: vswitchperf.Alexandru Avadanii1-0/+3
Change-Id: I986bfb5ae549321a0696f945d24ccb1b6b198f96 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-06-28Merge "submodule: fuel-plugin-ovs."Alexandru Avadanii1-0/+2
2016-06-28Rework: Drop fuel-main submodule.Alexandru Avadanii1-3/+0
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>
2016-06-26submodule: fuel-plugin-ovs.Alexandru Avadanii1-0/+2
2016-06-18Makefile: Fix and update docker-clean.Alexandru Avadanii1-3/+9
Change-Id: I468f4e37057e812c85034b16748a8083d0c96ab4 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-06-13Makefile: git submodules should track remotes.Alexandru Avadanii1-1/+1
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>
2016-06-12Rework: Move fuel-astute patch to post-install.Alexandru Avadanii1-2/+0
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>
2016-06-04Makefile: Mitaka update.Alexandru Avadanii1-3/+1
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>
2016-05-24Fix indentation and add patch-import outputStanislaw Kardach1-1/+2
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>
2016-05-10Increase maximum shell command timeout to 2hStanislaw Kardach1-0/+2
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>
2016-04-29Cleanup: Kill submodule: fuel-plugin-ovsnfv.Alexandru Avadanii1-2/+0
Change-Id: If1895891c28b7d8d8d109539357475ac578bfc38 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-04-29Cleanup: Kill submodule: fuel-plugin-qemu.Alexandru Avadanii1-2/+0
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>
2016-04-27Makefile: cleanup: drop time measurement.Alexandru Avadanii1-1/+1
This is now covered by Jenkins for automatic builds, and not relevant for manual builds. Change-Id: I539a7311fa9689405acdfcd05773fd5aaa81fbb0
2016-04-27Makefile: Finalize RPM repo switch.Alexandru Avadanii1-1/+1
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
2016-04-27Makefile: Remove MIRROR_UBUNTU_URL hardcode.Alexandru Avadanii1-1/+0
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
2016-04-25Revert "Makefile: Finalize RPM repo switch."Alexandru Avadanii1-1/+1
This reverts commit 5bd40a77a6542d90c36be58d1c2ceece3e85f65f. Change-Id: I7fff4471c2ec2fad04a4ba00cb6b3b86482dcab9
2016-04-25Makefile: Finalize RPM repo switch.Alexandru Avadanii1-1/+1
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
2016-04-22Pass revision version to the build fuel systemJosep Puigdemont1-0/+5
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>
2016-04-20Correct docker cleaningStanislaw Kardach1-2/+2
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>
2016-04-18Merge "Switch to upstream RPM repos + armband repo-comp."Alexandru Avadanii1-1/+1
2016-04-17Switch to upstream RPM repos + armband repo-comp.Alexandru Avadanii1-1/+1
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
2016-04-17fuel-nailgun-agent: ohai: Read L1 info w/ ethtool.Alexandru Avadanii1-0/+2
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
2016-04-17Makefile: submodules-clean: Add 'git am --abort'.Alexandru Avadanii1-1/+2
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
2016-04-12Rebase after "redo config of plugin build".Alexandru Avadanii1-0/+1
Change-Id: If0d4c64742d0984f32c7c68bc903332ceea656e9
2016-03-29Clean up and fix Libvirt and CephStanislaw Kardach1-1/+0
[ 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>
2016-03-29Rebase patches and fix importingStanislaw Kardach1-3/+3
* 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>
2016-03-22Add fixes and improvements for arm64 deploymentFlorin Dumitrascu1-1/+16
[ 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>