Age | Commit message (Collapse) | Author | Files | Lines |
|
* ship prebuilt salt master conf for better readability:
- enable x509.sign_remote_certificate (for prx VCP nodes);
* refactor Salt master CA handling:
- preinstall `salt_minion_dependency_packages` and
`salt_minion_reclass_dependencies` inside docker image;
- persistent /etc/pki;
- run salt.minion on cfg01 to generate master keys;
* bump container formulas to 1 Sep 2018 versions or newer:
- inject date into Docker makefile, forcing a fresh fetch of all
salt formulas from upstream git repos;
* workaround broken salt-formula-designate's meta/sphinx.yml:
- the DEB package version of salt-formula-designate uses `cmd.shell`
to query dpkg on the minion, while the git repo version still
uses `cmd.run`, running into parsing issues;
- temporarily disable sphinx metadata generation for designate until
upstream git repo syncs with the DEB version;
* upstream: salt-formula-salt AArch64 salt.control.virt support:
- retire salt-formula-salt git submodule and related patches;
* skip installing reclass distro package (already installed via pip
inside the container);
* limit initial pillar_refresh call to nodes on jumphost;
* remove unused salt-formula-nova git submodule;
JIRA: FUEL-383
Change-Id: I883b825e556f887a5e31f8a43676dcd8ece6dfde
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Salt relies on a limiting libvirt_domain j2 template to generate the
XML it passes to libvirt for salt.control managed virtual machines.
For AArch64, we need to set up 3 XML nodes in a non-default way:
1. UEFI firmware (AAVMF) should be enabled by passing a pflash loader;
2. CPU mode should be 'host-passthrough';
3. QEMU machine type should be 'virt';
To allow configuring the above using pillar data:
- virtng module: implement functionality similar to upstream changes:
* 219b84a512 virt module: Allow NVRAM unlinking on DOM undefine
in develop, not in 2018.2;
* 9cace9adb9 Add support to virt for libvirt loader
in develop, not in 2018.2;
- virtng module: extend it with:
* pass virt machine type to vm;
* pass cpu_mode to vm;
JIRA: ARMBAND-404
Change-Id: Ib2123e7170991b3dfbdb42bd1a2baa5a4360b200
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Salt bootstrap scripts are no longer used directly, so it is now safe
to retire the whole git submodule and its related patches.
JIRA: FUEL-383
Change-Id: I1fbdfe4fbd4930bfb3c999a3a68033d12565682b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* Refactor OPNFV salt-formulas mechanism to resemble upstream git
structure:
- git submodules: add new submodule for each formula we patch;
- create salt-formula-x directories for OPNFV formulas;
- move mcp/metadata/service contents to their each formula subdir;
- use `make patches-import` for patches previously handled by
patch.sh;
- retire patch.sh
* states: add virtual_init:
- mostly based on old salt.sh, which is now obsolete;
- exclude salt-master service restart (it would kill the container);
* scenarios: cleanup (rm cfg01 virtual node def), adopt virtual_init;
* reclass: align our model with prebuilt container's Salt config:
- drop linux:network pillar data (handled by Docker);
- stop applying linux.system state on cfg01;
- align salt user homedir;
- drop salt-formula packages (preprovisioned);
* minor plumbing in deploy.sh and lib.sh;
JIRA: FUEL-383
Change-Id: I28708a9b399d3f19012212c71966ebda9d6fc0ac
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- add new git submodule pointing to upstream docker build scripts;
- add patch extending Docker tags with an '-(arch)' suffix,
aligning with OPNFV tagging requiremnts;
- add <ci/build.sh> wrapper for starting Docker builds;
- install build-specific distro package requirements, as well as
pip-managed packages (e.g. pipenv);
JIRA: FUEL-383
Change-Id: Id4fc886206d7eaf7e6d02810380f2391609ba405
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- backport proposed fixup for ceilometer;
- remove 'ignore: all' from .gitmodules to make it easier to bump the
submodule;
- bump system submodule to upstream latest;
- drop patch merged upstream;
JIRA: FUEL-350
Change-Id: I68f232e0da5af368a1669a7379eedde5c4168b84
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- add new git submodule pointing to OPNFV Pharos;
- use Pharos 'generate_config.sh' to parse the PDF using the Fuel
installer adapter and generate <pod_config.yml> dynamically;
- build <pod_config.yml> outside current git repo and sync separately
to prevent sensitive data leak;
- add <pod1.yaml> PDF sample based on LF-POD2, should be used with
'ci/deploy.sh -l local -p pod1';
Change-Id: I4e1b95f180bcd5ade5d86f516628eb8edbe64b1c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I65d1f5680000011493bde17a249a87738ebfdd96
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>
|
|
* add/unify ssh options
* get base image to temporary directory
* specify os type for virt install
* fix symbolic link to reclass
* remove outdated fuel submodules
Change-Id: I6833ce78c8fff97e1b89f4e92e6e6b470e9ce99f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: Id693f7b0f3542d605b0f71601f3bd21eb882c7ba
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
JIRA: FUEL-234
Change-Id: I916cc94f58df2f2227384c73eda556f448ac50b5
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Build working, automated deploy working (simple test cases only).
All plugins disabled, so is the generation of the local ISO cache.
Both need to be re-enabled after merge of this uplift.
All patches wiped, pertinent ones need to be re-enabled after the
merge of this uplift.
Change-Id: I978a3d4ed25a45a4b88a6e35693baac597b162c2
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.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>
|