Age | Commit message (Collapse) | Author | Files | Lines |
|
NOTE: In order to undefine VCP VMs with NVRAM (e.g. AArch64 VMs
using AAVMF), an additional parameter should be passed to libvirt
by Salt virt core module (equivalent to `virsh undefine --nvram`).
While at it, pass CI_DEBUG, ERASE_ENV enviroment variables to
state execution, and stop force-applying patches.
Also refactor the rsync between foundation node and Salt master,
so the whole git repo is copied as </root/opnfv>, and <root/fuel>
becomes a link to it; useful for Armband, where 'fuel' is a git
submodule. Fix .git paths after rsync, so git submodules work as
expected in cfg01 repos.
JIRA: FUEL-307
Change-Id: Ic62f03e786581c019168c50ccc50107238021d7f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 77942178b3aff6adc83b5f83645acfff467fa76a)
|
|
mcpcontrol virsh network, as well as MaaS PXE network are installer
specific, and not POD specific.
Therefore, these should be easily parametrized without the PDF,
using only installer inputs (e.g. env vars passed via Jenkins).
- add new <all-mcp-ocata-common.opnfv.runtime> reclass class;
- parametrize at runtime new reclass class based on global vars;
- factor out MaaS deploy address / config using new mechanism;
- parametrize at runtime virsh network definitions based on template;
- add new "maas.pxe_route" sls for configuring routing on cfg01;
- replace env vars with the new sls in "maas" state;
NOTE: baremetal parametrization will be handled later.
Change-Id: Ifd61143d818fb088b3f4395388ba769bbc49156e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Jenkins defines a build param also called SSH_KEY, which holds
the full path to our MCP private RSA key, as opposed to Fuel@OPNFV,
which uses the file basename as SSH_KEY.
Switch to using full path in SSH_KEY, while also moving the key
outside /tmp.
NOTE: When running `ci/deploy.sh` with sudo, key will land in
/root/opnfv/mcp.rsa unless SSH_KEY is set via env var.
While at it, bring back VM image storage dir param, allowing us
to drop one more reference to /tmp.
JIRA: FUEL-280
Change-Id: Id1cfa6dbe7b2e6f3915b22281da5957333718401
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
salt.sh currently clones the full Fuel@OPNFV git repo from upstream
public mirror, preventing us from testing locally edited or new
patches.
Instead, bring back git submodule handling from old f_repos, clone
and patch each submodule locally, then copy the whole parent repo
over to cfg01.
This is also a first step towards implementing offline deploy support.
NOTE: This adds new deploy prerequisite packages:
- git (for submodule clone/update);
- make (for submodule patching);
- rsync (for parent repo replication to cfg01);
NOTE: Parent repository is expected to be a git repo, in order to
work with git submodules.
While at it, perform some minor related changes:
- add deploy artifacts (ISOs, qcow2 files) to .gitignore, also used
to filter-out such files during rsync to cfg01;
- remove obsolete Fuel patches (old f_repos mechanism);
- rename "reclass-system-salt-model" submodule;
Change-Id: I6210d80d41010b2802e4f1b31acf249a18db7963
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
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>
|
|
This patch should reassemble patches from Ryota, Nikolase, etc. which became
broken at the process of mass cherry-picking.
Change-Id: I9aa386c48ae7fadda1ebdf4b29bd88728d0a4b61
Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
|
|
This reverts commit 516e97efb5a47e6e2b88f1b237f3f9e1c6465832.
Change-Id: I19fb634db01f074495fd06508ab3d7c9ee084d0d
|
|
This reverts commit 62beda30b7d5be6ee8171774c35282c0541a5dd4.
Change-Id: I4ff9700ec8b81659e9410f373c4decb5dca2f484
|
|
Change-Id: Ic743125195c158dfb6b09b7f101f71cc71e66c2b
Signed-off-by: Ryota MIBU <r-mibu@cq.jp.nec.com>
|
|
Change-Id: I6883c45b805ba52ed485c634300c86652c9cb9e0
|