summaryrefslogtreecommitdiffstats
path: root/build
AgeCommit message (Collapse)AuthorFilesLines
2016-10-17Merge "Re-introduce mirror blacklisting"Michal Skalski1-3/+23
2016-10-14Merge "Compile DPDK to use basic cpu features"Ruijing Guo1-1/+1
2016-10-12Merge "ci, build/f_repos: Minor UX improvements"Alexandru Avadanii4-7/+41
2016-10-12Merge "[ODL] Use OpenDaylight Boron"Michal Skalski1-4/+3
2016-10-11ci, build/f_repos: Minor UX improvementsAlexandru Avadanii4-7/+41
After Armband rework landed of top of `build/f_repos` mechanism [1], the following minor UX improvements can also be applied to Fuel's f_repos: - set SHELL to "/bin/sh" (we don't use any bash-isms); - improve "From SHA..." removal for exported patches; - force checkout of root tag commit during clean; - silence progress during git clone (cleaner logs); - support git older than 1.8.4 in `make clean` (fix Armband deploy); FIXME: Pass TERM as Docker env var until [2] is fixed in Docker 1.13. v4 -> v5: * Moved `export TERM` to Releng, where it actually belongs [3]; * Fixed Armband deploys fail [4] by adjusting `make clean`; [1] https://gerrit.opnfv.org/gerrit/#/c/22791/ [2] https://github.com/docker/docker/issues/9299 [3] https://gerrit.opnfv.org/gerrit/#/c/22933/ [4] https://build.opnfv.org/ci/view/armband/job/\ fuel-deploy-armband-baremetal-daily-master/57/consoleText Fixes: FUEL-200 Change-Id: I80e3074f8659769e21f5b56f07c34c7a5de727bc Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-10-11[ODL] Use OpenDaylight BoronMichal Skalski1-4/+3
ODL Boron will be used in all scenarios except bgpvpn beacuse vpnservice was removed in this release, we still will use Beryllium for this scenario. This change only replace Beryllium with Boron, it does not use any new features like odl-netvirt-openstack. Change-Id: I95264cc97f5b9e922ab3fb7dc024724d9fb83e9c Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-10-11Re-introduce mirror blacklistingStefan K. Berg1-3/+23
Some mirrors are misbehaving, for instance due to flood protection, which makes them unreliable. This change re-introduces the possibility to blacklist them locally. Change-Id: I7840ac0a622f2997395e54911685f9eea393dee4 Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
2016-10-11Compile DPDK to use basic cpu featuresGuo Ruijing1-1/+1
Change-Id: I3ee9e5afa416af9e6a90b77f03ed9258c6bd4b1b Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
2016-10-10Merge "build: Use OPNFV_GIT_SHA for ISO preparer ID"Alexandru Avadanii3-4/+8
2016-10-09build/f_repos: Allow out-of-tree .git dirAlexandru Avadanii2-2/+3
ArmbandFuel@OPNFV uses Fuel@OPNFV git repo as a submodule, so its .git dir is located outside work tree root (F_GIT_ROOT). Allow this setup by parsing `git rev-parse --git-dir` intead of harcoding git dir path. Fixes: FUEL-200 Change-Id: Ia7f3b23e9333356fe05b9ed0565218f2c7ec8eba Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-10-08build: Use OPNFV_GIT_SHA for ISO preparer IDAlexandru Avadanii3-4/+8
isoinfo -i lists the following information for Fuel@OPNFV ISO: "Data preparer id: 86aafaf5454a846c417848bb94f264c4420160f3" where the SHA hash is Fuel git repo HEAD SHA. For Armband's build system, using only the Fuel commit ID is not enough to fully describe the state of the source code, as patches are also applied to other fuel modules (as git submodules). Instead, a pointer to a valid Armband commit ID should be used. However, Armband overrides OPNFV_GIT_SHA to the Armband git repo commit hash, so the ISO metadata should also reflect this. While at it, allow product name to be overriden, to signal the commit ID should be looked up inside the Armband repository. Change-Id: I33ad490f1afe28c1d439dda40e39cee1955e0ac2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-10-06Improving robustness of repo mirror selectionStefan K. Berg1-39/+81
Change-Id: If0f5b268848439aa9d2abee099bbd985abd53d5c Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
2016-10-06Merge "build: Use git submodules for Fuel git repos"Alexandru Avadanii28-102/+455
2016-10-05build: Use git submodules for Fuel git reposAlexandru Avadanii28-102/+455
This change reworks support for cloning (fetching) and patching all Fuel components (fuel-library ... fuel-ui, see [1] for full list), both outside the ISO build process (for development purposes, like testing OPNFV patches apply cleanly to each component), and during the ISO build. The implementation relies heavily on git submodules and patches, so backporting pending upstream gerrit changes, as well as adding new out-of-upstream-tree patches, should be trivial. Also, since without tracking remotes the repos rarely change, leverage the in-place OPNFV build caching mechanism to drastically reduce the number of git clones during each build. The mechanism is detailed more in-depth in the JIRA ticket [3], and it's merely a rehash of the submodule handling in Armband, implemented initially by Stanislaw Kardach <stanislaw.kardach@cavium.com>. Pros (+ new features): - OPNFV patches for Fuel components can be applied (imported) or developed (exported) outside of the ISO build process; - git repo caching reduces the number of external pulls; - reuse the same fuel-* componets in ALL targets e.g. fuel-mirror used to employ 2 slightly different git trees; - one step closer to Fuel/Armband merge (lots of steps left though); Cons: - adds a lot complexity to solve a non-problem (handling the repos is fine in the current form, for the current goals); However, patching <fuel-astute> or <fuel-agent> seems to be quite complicated with the current mechanism, as env vars override our locally patched repos for these components). The proposed change should eliminate this issue completely. CHANGE: Aligned divergent fuel-mirror in ISO vs local repo build by applying the 302 redirect fix ("Fixed handling http redirects") [2] on top of 9.0.1 tag in fuel-mirror repo, and using that for both. This obsoleted the followking mk file: - build/f_isoroot/f_repobuild/config.mk CHANGE: Removed unused make target `get-fuel-repo` from build/config.mk. FIXME: Remote tracking is currently deactivated for all branches. Change this when remote HEAD should be tracked instead, e.g. during Newton rebase. [1] https://github.com/openstack/fuel-main/blob/stable/mitaka/repos.mk#L32 [2] https://review.openstack.org/#/c/334882/ [3] https://jira.opnfv.org/browse/FUEL-200 TODO: Extend build/f_repos/README.md with info about: - branch changes; - tag bumps; - patching now supports subdirs; v5 -> v6: * Added support for nesting patches in subdirs, to be used for feature groups and related changes across submodules. E.g. Upcoming multiarch EFI support could go in: - .../f_repos/patch/fuel-agent/multiarch-efi/...; - .../f_repos/patch/fuel-astute/multiarch-efi/...; While Armband patches could go in: - .../f_repos/patch/fuel-agent/armband/...; - .../f_repos/patch/fuel-astute/armband/...; etc. v6 -> v13: * fix wrong tag used for VERSION dump; * fix wrong tag used for patches-export; * move OPNFV_TAG to main config.mk and use it in FUEL_*_COMMIT; * only run `patches-import` when patches changed / not yet applied; * only run `clean` for stale `.cacheid` (avoid re-applying patches); * allow git submodule path/name to be different (FIXED); * put-cache should only run when artifact is not already cached; * `git am`: use 3-way merge so already applied patches are gently skipped (useful for upstreaming patches from Armband); * Properly support nested patch dirs; * Colorize the output a little; JIRA: FUEL-200 Change-Id: I9dbdd9b3022896d4497d21be8dacc859730db489 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-10-04build/docker: CI: no tag reuse on env var changeAlexandru Avadanii1-1/+1
The previous change adding support for OPNFV build tag reuse added the get/put-cache functionality to `build/docker` just for detecting env var changes between tag creation and current build. Obviously, when building outside CI, it is up to the end user to force a docker rebuild when env vars change (this was the behavior before the tag reuse support too). An alternative approach would be removing get/put-cache completely, if we consider the env vars (http proxy related) never change for CI cached builds (seems to be true, worst case we wait 1 day for the tag to expire when it happens). This change just fixes the original intended behavior in tag reuse. JIRA: FUEL-204 Change-Id: I14666994bc334012a5198a64a4a24cd4962e4bd6 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-10-04Merge "build/docker: Reuse tagged image for OPNFV build"Alexandru Avadanii3-7/+70
2016-10-03Integration of fuel-plugin-tackerGeorge Paraskevopoulos4-1/+107
JIRA: FUEL-205 This change integrates https://github.com/openstack/fuel-plugin-tacker to the Fuel project. Change-Id: I51b1bdeeb678e55b85393f6a9f8180fc79322e8f Signed-off-by: George Paraskevopoulos <geopar@intracom-telecom.com>
2016-10-01build/docker: Reuse tagged image for OPNFV buildAlexandru Avadanii3-7/+70
During CI build loops, the workspace is freshly fetched, so '.docker' make target is built each time. Reuse existing 'opnfv.org/ubuntu-builder:14.04' tag if present, but enforce a configurable lifespan for this tag (currently 1 day), so it does not get stale. JIRA: FUEL-204 Change-Id: I8d1bd81f3e5e81068e9586c9bea9f43b3327eb38 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-09-22[odl] Get latest changesMichael Polenchuk1-1/+1
* Fix setting bgpd password with puppet * Enable G1 garbage collector * Adding caching possiblity * Add firewall resource that opens BGP ports Change-Id: I8f779ba7356acf52967e594a1a213edf192962fc Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-09-21Merge "Fix: ISO build omits long path files"Jonas Bjurel1-0/+24
2016-09-21Merge "[performance] Disable keystone token revoke"Jonas Bjurel1-0/+44
2016-09-20Temporary Hardcoded Ubuntu repoJonas Bjurel1-16/+18
Meanwhile we're investigating the issues with Ubuntu repo mirror selection, we will hardcode the Ubuntu repo mirror Change-Id: I776bd3a8a72dc87e00052e8ff965de1134293c7a Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
2016-09-20[performance] Disable keystone token revokeMichael Polenchuk1-0/+44
Change-Id: I6db0bfaab5462a9a8f8de64bc1b088607d407bab Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-09-20[KVM] Install plugin in post-deploymentMichal Skalski1-2/+2
JIRA: FUEL-171 Change-Id: Iead815ba2da76493f108ad71bc32cff265302b55 Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-09-19Make sure to use only up-to-date mirrorsStefan K. Berg1-3/+9
Whitewash the geographically "close" mirrors against the list of fully synced mirrors - we've had a few instances of getting bad mirrors which would break the script. All credit goes to: https://askubuntu.com/questions/39922/how-do-you-select-the-fastest-mirror-from-the-command-line ... and we should perhaps use the netselect tool as well somewhere down the line, but this fixes the most urgent problem. Change-Id: Ia61a2bd78657b28019f57fc1962d410e754e6d2a Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
2016-09-18Repo tidy-up + licence scrubingJonas Bjurel12-431/+15
- Added licences and (c) to files not complying to Licence and (c) policies. - Removed example templates not having correct licence claims and no longer being rellevant. - Removed the Vagrant deployment method as it is not used, not rebased/up to date and not holding correct license claims. Strategies used: - Machine generated are not assigned an licence text, the licence follow from the source. - Generated patch files are not assigned an licence text, the licence follow from the source. Change-Id: I9763f076eae51fbb2d4e5cb8cacfa4bb6cf338cc Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
2016-09-15[OVS-DPDK] Turn off missing optionsMichael Polenchuk1-1/+1
Get all gcc/compile options to conform to corei7 arch. JIRA: FUEL-186 Change-Id: I5ce76631aac9174c69362f96f71e26285fc95842 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-09-15Uplift fuel-plugin-ovsbillyom1-1/+1
Pull in "Update flavors mem_page_size" Change-Id: I3e285cefee561dbbc02eb9ab7d2e9c01eef2742a Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
2016-09-14Use Boron RC3.5 for sfc scenarionMichal Skalski1-1/+1
It should fix problems with vm communication through floating IPs. Change-Id: Icadc71f2b99c28715c15389e59111272a21440fb Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-09-13[ovs-dpdk] Target compiler to corei7 cpu archMichael Polenchuk1-1/+1
Change-Id: Id2405bc3b636178791428b9bab739fdaa0f094a2 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-09-09Change the way of hugepage allocationMichal Skalski1-1/+1
Try to allocate enough hugepages for all NUMA nodes. JIRA: FUEL-186 Change-Id: Idcdf6ab616dfbd9ef1104be8d1667421221ea5f2 Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-09-08Reduce ceilometer memory usageMichael Polenchuk1-0/+30
JIRA: FUEL-189 Change-Id: I54854e4cc87f0c0e9e348e18131aa88b70e30054 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-09-06Disable cpu features in ovs with DPDKGuo Ruijing1-1/+1
Change-Id: I2cf5df2f0469f21f64e0e7d11740058639f68697 Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
2016-09-05Fix: ISO build omits long path filesAlexandru Avadanii1-0/+24
make iso generates: libisofs: WARNING : File "/ubuntu/pool/main/libj/\ libjs-twitter-bootstrap-datepicker/libjs-twitter-bootstrap-\ datepicker_1.3.1+dfsg1-1~u14.04+mos1_all.deb" can't be added to Joliet tree, because its path length is larger than 240 At the end this package is missing in latest ISO. NOTE: This issue is only triggered on certain kernels during build. Closes-bug: FUEL-190 Change-Id: I21f7f1cbe3f64317d2feb66e371611a654cf30f8 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-09-05Merge "build: Move patches to <patch-repos> dir"Jonas Bjurel5-17/+24
2016-09-05Merge "Do not use rsync for choosing mirror server"Michal Skalski1-49/+14
2016-09-05Do not use rsync for choosing mirror serverMichal Skalski1-49/+14
Rsync protocol was used for creating local mirrors, but now we only need http connection. This requirement can be problematic for environments which are behind proxy and can lead to build failures when rsync is not allowed. Change-Id: I4efcf500fd0c25de5fdb87307e7210cc4a96714d Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-09-02Change source of ODL Boron tarballMichal Skalski1-1/+1
For SFC scenario we need to use ODL Boron. Since it is not yet released there is no persistent location for a tarball. Use opnfv artifacts to store Boron build which include required changes. Change-Id: I43e35dbdf5ca0160d48a1adc817db071fd5db85d Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-09-01[OVS-DPDK] Set default for dpdk_socket_memMichael Polenchuk1-1/+1
Change-Id: I175178cdcbab52ac024157d2c5707fd7e1236dd4 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-08-31build: Move patches to <patch-repos> dirAlexandru Avadanii5-17/+24
Decouple main Makefile and repository patches by moving all Fuel component patches to a subdir, <patch-repo>. Proposed structure of <patch-repos> dir: - patch-repos/*.patch are intended for <fuel-main> git repo; - patch-repos/build/repo/<fuel-module>/*.patch are intended for <fuel-module>, e.g. "fuel-nailgun"; Full list of Fuel submodules supported by this mechanism at [1]. While at it, replace all occurences of </tmp/fuel-main> with <FUEL_MAIN_DIR> in main Makefile and rewrite a few git/make calls to use the "-C" arg. NOTE: `git -C` is available starting with git 1.8.5. [1] https://github.com/openstack/fuel-main/blob/stable/mitaka/repos.mk #L32-L44 Change-Id: I5e4adc7285054777c3898592ed48482ccd2b706f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-08-31[OVS-DPDK] Allocate dpdk socket memoryMichael Polenchuk1-1/+1
JIRA: FUEL-186 Change-Id: Id44a786f69d78b378fbabea2c70ab1ca78651729 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-08-31Merge changes from topic 'multiarch-mirrors'Jonas Bjurel14-2/+78
* changes: build: cache: Consider UBUNTU_ARCH in .cacheid repo mirror: Allow multi-arch local mirrors
2016-08-29Merge changes from topic 'var-overrides'Jonas Bjurel2-2/+2
* changes: build: Allow MIRROR_MOS_UBUNTU override build: Allow PLUGINS override
2016-08-25[ODL] Fix odl deployment on separate nodeMichal Skalski1-1/+1
JIRA: FUEL-185 Change-Id: Id14d30154b63abc915a0cd55835bb72cee862dde Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-08-24build: cache: Consider UBUNTU_ARCH in .cacheidAlexandru Avadanii10-0/+10
Usually UBUNTU_ARCH is not changed inside the same repository, but we should consider this case anyway for future merging Armband and Fuel@OPNFV repositories/build systems. This applies to all Fuel plugins and the local repo. Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-08-24build: Allow MIRROR_MOS_UBUNTU overrideAlexandru Avadanii1-1/+1
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-08-24build: Allow PLUGINS overrideAlexandru Avadanii1-1/+1
Instead of using BUILD_FUEL_PLUGINS, which was intended for manual overrides of the Fule@OPNFV plugin list, allow PLUGINS to be preset to a custom list, which we will provide via Armband Makefile spec. Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-08-24repo mirror: Allow multi-arch local mirrorsAlexandru Avadanii4-2/+68
Original patch from Stan, signed by me for upstreaming. This patch allows specifying multiple architectures via UBUNTU_ARCH in form of a list of space separated architectures. The first architecture in the list is considered primary and will be used for building all the deb packages by fuel-main. Additional architectures are added to allow targets of other architectures to use the mirror. NOTE: this imposes a requirement that all packages built are arch independent (which is true so far). [ Alexandru Avadanii ] Reworked for applying on top of Fuel@OPNFV. Pass UBUNTU_ARCH to Docker containers. Change-Id: Ibc4ae03223545383813ac58ec34d44c1f97b4694 Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-08-22Merge "Changing ODL change into FUEL_PLUGIN_ODL"Nikolas Hermanns2-10/+10
2016-08-19Merge "Claenup"Michal Skalski1-4/+2