Age | Commit message (Collapse) | Author | Files | Lines |
|
Fix broken systemd service unit dependecies:
- OVS should start before networking service;
- OVS ports & bridges should not be automatically ifup-ed by
networking service to avoid races, so drop 'auto' for both
(OVS ports are automatically handled when part of an OVS bridge);
- explicitly ifup OVS bridges as part of networking service, but
after all Linux interfaces have been handled;
- use 'allow-ovs br-prv' to let OVS handle br-prv and avoid another
race condition;
While at it, fix some other related issues:
- make OVS service start after DPDK service (if present);
- bump OVS-DPDK compute VMs RAM since since switching from MTU 1500
to jumbo frames for virtual PODs a while ago failed to do so [1];
- avoid creating conflicting reclass linux.network.interfaces entries
for OVS ports by using their name (drop 'ovs_port_' prefix):
* for untagged networks they will override existing common defs;
* for tagged networks, they will create separate entries;
- DPDK scenarios: make gtw01 br-prv members OVS ports to avoid race
conditions after node reboot by letting OVS handle them;
[1] https://developers.redhat.com/blog/2018/03/16/\
ovs-dpdk-hugepage-memory/
Change-Id: I0266ba67f3849b6f7e331a758146b331730bae55
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry-picked from commit ac7fd699468ad9a02b250e5ef890aff8a03ce1bf)
|
|
- cmp, gtw: bump RAM allocation to accomodate hugepages/VPP;
for now we overcommit, gtw01 resources can probably be lowered;
- submodule: add salt-formula-neutron so we can locally patch it;
- repo:
* FD.IO repos for VPP packages;
* networking-vpp PPA for python-networking-vpp Neutron driver;
- use vpp-router for L3, disable neutron-l3-agent;
- baremetal_init: apply repo config before network (otherwise UCA
repo is missing when trying to install DPDK on baremetal nodes);
- arm64: iommu.passthrough=1 is required on ThunderX for VPP on
newer kernels;
Design quirks:
- vpp service runs as 'neutron' user, which does not exist at the
time VPP is installed and initially started, hence the need to
restart it before starting the vpp-agent service;
- gtw01 node has DPDK, yet to configure it via IDF we use the
compute-specific OVS-targeted parameters like
`compute_ovs_dpdk_socket_mem`, which is a bit misleading;
- vpp-agent requires ml2_conf.ini on ALL compute AND network nodes
to parse per-node physnet-to-real interface names;
- vpp process is bound to core '1' (not parameterized via IDF);
Change-Id: I659f7dbebcab7b154e7b1fb829cd7159b4372ec8
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 455b46a6be4bca145c047ed6957727c119285796)
|
|
While at it, rename FDIO (VPP) scenarios to align with OPNFV FDS
and OPNFV Apex projects.
Change-Id: I9aab5dc4a0dc41a2cc996687a8a2726d03288678
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit c6a4fcf01b5bcb0533d552d761f7462190df44b7)
|
|
|
|
Currently, PXE/admin on VCP nodes still uses MaaS DHCP before
the new network configuration is enforced. A live network
refresh would break minion registration with the Salt master,
so perform a node reboot instead.
Change-Id: I1c25f63f6c98a9fff98108d3fad9550dd4468355
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 59cc3ee4457005bdea78b2a407243d4fcb32f177)
|
|
Instead of matching the hostname to determine the primary barbican
node, rely on pillar data.
While at it, apply the same logic to nova:controller states.
Change-Id: Ia4ac391927a8b4b223febff106b400e84d264f7a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit a4d64c6ff23dd2957b34ebc303c16ee640d709e6)
|
|
reclass settings.py should be patched before the salt-master service
is started (since we can't restart it inside the container without
killing the tini init).
Fixes: 2de5348a
Change-Id: Id62d8f9f12fd72ef60322dd9907f26907231c4a7
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 137d0635cc47ae2e0b86c97ee13e93bf2bf94f51)
|
|
|
|
Until a new reclass release including the fix for [1] is published,
patch settings.py explicitly.
[1] https://github.com/salt-formulas/reclass/issues/77
Change-Id: If93848a6b6f084c76e64ddcf7bfdfa52b7d59050
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 2de5348a8b267a1742154dd6d5c4f5bd3a2983ab)
|
|
Ensure installation happens first on node 1 first,
run as batch on the rest after.
Change-Id: I1ac3f516c35c4941b343e88d47c78b19d13d7b90
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
(cherry picked from commit 73b02742d463fc2932ef66baee7123fc773c1b0c)
|
|
Change-Id: I6d2fab853b25d2f235e27c83a355ebc2c520771c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 20dcc03e2acd0d143723c3c319f73c19d894718c)
|
|
libvirt postinstall script configures `virbr0` by default, which we
later remove & disable. However, on network creation, libvirt also
enables ip_forward, so re-run kernel.sls to force it to 0 without a
reboot.
Change-Id: Ie27fbf995c10ad9cd0fa0c28c29bd88161f04fd7
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit dc2e7381046ef617d1bf1af2261e9e84627bb8c4)
|
|
|
|
To conform to the changes in networking-odl driver:
https://review.openstack.org/604755
Change-Id: I6aaefe9d6d4f26652464f82b7c7e45694387c8af
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
(cherry picked from commit aa0ccb8daea30e290cf5824e639ddd153f2da3fe)
|
|
- s/Fuel@OPNFV/OPNFV Fuel/g;
- added README files for ci/scenarios/patches directories;
- refresh & simplify cluster overview diagrams;
- unify labels across docs;
- fix TOC numbering;
- remove local labs PDF/IDF files, as they are merely duplicates of
Pharos files included as a git submodule;
JIRA: FUEL-397
Change-Id: I87f61938eeb67f13fd9205d5226a30f02e55d267
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 170d2d1c195d001d6ca786364aaf3c10e714ae36)
|
|
JIRA: FUEL-393
This patch adds support of os-odl-bgvpn-noha scenario to fuel
installer.
Change-Id: I4e053e38aac70023b0a81f9a41b415c7a1aae3af
Depends-On: I57288bbb42f4c75af19f3807f8f15b44482c066c
Signed-off-by: Stamatis Katsaounis <mokats@intracom-telecom.com>
(cherry picked from commit 7f41e5fde88df7c312175a90c536550763d4c271)
|
|
`virtual_init` state file tries to ping all FN VMs, but that won't
work on hybrid PODs since all FN VMs but mas01 require MaaS DHCP to
be already configured (i.e. FN VMs in question will be reset after
mas01 is fully configured).
Limit virtual node queries in `virtual_init` to mas01 VM, as the rest
of FN VMs will be handled via `baremetal_init` state.
While at it, move _param:apt_mk_version def to common reclass to
avoid an undef reference in NOHA hybrid deployments; set MCP_VCP to
0 for non-HA scenarios.
JIRA: FUEL-385
Change-Id: I582bca6864e9bfed23baf26f9b66e6e95e986c58
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- bump formulas baseline during docker build;
- refresh patches;
Change-Id: I0a54863f57344c5f8897dc981f704c4d265c5522
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Each compute node has 16 GB of RAM but those GBs are splited wrongly
to each NUMA node (4 GB instead of 8 GB).
JIRA: FUEL-387
Change-Id: Ibe784727c8a262b41add04ad3a41c70f25ded684
Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
|
|
* to be compatible with HWE kernel
* make neutron balancing to RR back
* turn off glance v1 api support (doesn't relevant for now)
Change-Id: I916aae10f523be339c20de32218ce03c245afe72
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Install in a local directory a newer version of virt-manager
to workaround obsolete Ubuntu versions lacking --cpu cellN.* support.
This change only affects CPU cfg of virtual compute nodes in
nosdn-nofeature-noha scenarios with:
- set default cpu_topology to dual socket (2 cores, 2 sockets,
2 threads);
- bump default RAM to 16GB;
- define 2 NUMA cells, each with half the resources;
To keep the old behavior available (single socket), a new deploy
argument has been added (`-m`). The RAM change is not configurable
via deploy args.
NOTE: The CPU topology for virtual nodes should later be read from
PDF instead of hardcoding it on a per-scenario basis in the installer.
NOTE: Default 'ram' unit is MiB, while cellN.memory default unit is
'KiB'.
JIRA: FUEL-385
Change-Id: I7ca268b0a2052524cb7187a5cf9b6fa8a382c9f9
Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I5aad512b5761deaa30522b6939bf245ecb1ec681
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
|
|
|
|
Enable jumbo frames on tenant/private interface as well so that
an instance can get the DHCP response from gateway node.
Change-Id: I9407fa67e9e0cdbe50335e4430748b0e45ba841a
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
In order to avoid TCP connection checksum issue (i.e. TX offloading
on ovs bridges) add linux bridge connected with ovs public bridge.
Change-Id: I4d266dd92756d5326dfa3d74fe2f376b26415812
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Make the bulk of scenario files static again by shifting out all
common virtual nodes (mas01) and states (virtual_init, maas etc.)
to default.yaml(.j2).
This allows us to parse scenario-specific data during first j2
expansion, preparing for the new Pharos installer adapter that
relies on `conf.virtual.nodes.control` length to construct the
proper list of MaaS node definitions (kvm{01,02,03} vs {ctl01,gtw01}).
Change-Id: I666ab5bd6bb2a42f98646af51950f6b9fffa0e8b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* 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>
|
|
JIRA: FUEL-404
Change-Id: I12acc90cdb17ecc090a993e1be41d13ad81dbb9d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
curtin generates armband_3.list, which we aligned in the reclass
model before, but not in the defaults yml used by cfg01/VCP VMs.
Change-Id: Ibe8d5b79465b508e41c20ec08a98a96a1510da8d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
AArch64 specific formula, mostly tweaking nova conf / installing
virtualization layer prerequisites:
- install qemu-efi;
- install vgabios;
- fix missing link for vgabios binary blob;
- nova conf: cpu_model=cortex-a57 (only for virtual deploys);
- nova conf: virt_type=qemu (only for virtual deploys);
- nova compute conf: virt_type=qemu (only for virtual deploys);
- nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet;
[1] https://github.com/openstack/nova/commit/f0f0953
Change-Id: I40515bdbd941850b103a86d51b347cc8610f5741
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
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>
|
|
- dummy copy of os-nosdn-nofeature-ha masquerading as
os-nosdn-vpp-ha scenario placeholder
- dummy copy of os-nosdn-nofeature-noha masquerading as
os-nosdn-vpp-noha scenario placeholder
Change-Id: I63a302c98e6e176a480fbc110012ac66749ee88f
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
|
|
JIRA: ARMBAND-398
Change-Id: I329346755348525f00602d7f89af295c141a20d5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I0377615ff19e39aca74b90d2ff7e7b2cd5cd6ccb
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: I9c5c6cf564245d497d5916cc7f902ac277105bc6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Salt 2016.x has a bug with states ordering coming from 'include'
statement. Glance/Heat DB sync is applied before package setup
although clearly specified 'require' in state.
Change-Id: Ic5f7ce4a7623fb208c0a5ba366802b7e02fa8b9f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Fix targeting for neutron.compute sls for ovn computes,
avoiding interaction with ovs dpdk scenarios.
JIRA: FUEL-329
Change-Id: Iffb07f6f0d4dc8071437adf59d4cd6982113b998
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
JIRA: FUEL-382
Change-Id: Ib1f905bec87ce2afe643b4aa3b0201d7100be16d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
JIRA: FUEL-382
Change-Id: I9ace928ec5e04bee7ea9cfe1593b205802d7058a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Instead of hardcoding the 'kvm' hostnames, use new targeting
mechanism based on scenario-specific node names, preparing for
baremetal noha scenario integration.
JIRA: FUEL-382
Change-Id: If336aa1ac130749e4df7bffaf27a55513dd4f267
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Split scenario yaml definitions for virtual.nodes based on node
role ('infra', 'control' or 'compute'), to be leveraged later to
contruct node lists based on said role.
This moves the responsability of filtering node names in scenario
files (based on 'virtual' or 'baremetal' type) to xdf_data.sh.j2,
simplifying scenario templates.
By keeping all nodes (both virtual and baremetal) in scenario files,
we can later determine the role (and implicitly the hostname) for a
MaaS-managed node based on its index in the virtual.nodes.control
structure.
JIRA: FUEL-382
Change-Id: I1f83a307631f4166ee1c57ef598c44876b962f97
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
For hybrid PODs (e.g. x86_64 jumpserver + control nodes, aarch64
baremetal compute nodes), the virtual nodes rely on MaaS DHCP to be
up when the OS boots, so issue a `virsh reset` accordingly.
Instead of checking for online nodes using `test.ping`, use
`saltutil.sync_all` to also sync Salt state modules to the virtual
nodes (usually handled by baremetal_init state in HA deploys).
JIRA: FUEL-338
Change-Id: If689d057dc4438102c3a7428a97b9638e21bfdc5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
For hybrid deployments, the first run of rabbitmq:server sls might
lead to 'no response' and a retry of the whole `openstack_ha` state.
JIRA: FUEL-338
Change-Id: I7ec663f9babc8c55d2c8a2b31a6e674452f04166
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
JIRA: FUEL-329
Change-Id: I46c7dbc791441c6b069a0d56373ff98a32a57e60
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
|
|
Change-Id: I68759360c9dd8f8cf422161e21ed15df6c694e84
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: I84a4789ff2155d7c14f9ffd9bfe54c5bca7a0d4f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Mirantis repositories shadow certain packages from Armband repos
(e.g. qemu-efi) if pinning is not set.
Since MaaS does not allow configuring repo priorities via its API,
use Salt pillar data to re-define the Armband repo and set its prio.
Change-Id: Ic743f4b684b3f13552792f5f04097fac73171b37
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ie707de90617e7080a5eb87cad69a604cf5e0f9fc
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|