Alexandru Avadanii [Wed, 8 Jan 2020 16:33:13 +0000 (17:33 +0100)]
baremetal, virtual: Bump kernel to hwe-18.04 (5.0)
On some aarch64 platforms (e.g. ThunderX 1), lvcreate manifests some
spurious timing issues resulting in incomplete/corrupted LVM thin
creation and eventually to transaction ID mismatch between userspace
and kernel space.
This eventually leads to cinder-volume issues, either when creating
the thin storage pool (vgroot-pool) and/or when creating the LVs
inside said pool.
The issue manifests spuriously on Ubuntu Bionic + UCA, so until a
working combination of userspace/kernel is found, work around this
by bumping the kernel package to hwe-18.04 (kernel 5.0),
effectively bypassing the timing issues during volume creation.
This affects all cluster machines (both HA and NOHA scenarios,
baremetal and virtual, x86_64 and aarch64, baremetal and virtualized
nodes).
Note: Ubuntu Bionic cloud image partition handling requires e2fsprogs
1.43, not currently available on Ubuntu Xenial / CentOS 7.
Change-Id: I839e03080104c391fe18185b9544c9df43c114e6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 6 Jan 2020 15:39:35 +0000 (16:39 +0100)]
ha, noha: Fix Horizon stale cache after install
Partially revert more from commit
63b712d, it turns out static files
were not always up to date after the package install, so force a
refresh.
While at it, fold some common libvirt pillar configuration.
Fixes:
af1a4adf
Change-Id: I1b4c20cfa9ae08d1cd7b0b774b544b76fc73a715
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Fri, 3 Jan 2020 13:50:33 +0000 (14:50 +0100)]
aarch64: Workaround broken lshw CPU detection
On some aarch64 platforms (e.g. ThunderX), the DMI tables parsed by
lshw lead to wrong CPU capabilities detection, breaking our MaaS tag
filtering (which used to rely solely on CPU having asimd caps).
Extend the tag filtering condition to also include nodes that report
`cp15_barrier` platform capability. Note that not all aarch64 systems
include this cap explicitly (especially since it's been deprecated in
ARM v8), but it is currently reported by the platforms where asimd is
not properly detected.
This is merely a workaround for the broken lshw version in Ubuntu Bionic
(B.02.18).
Change-Id: I4a5c0d6af4d863d2ca094d6926a65ee90dee0e07
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 30 Dec 2019 15:12:14 +0000 (16:12 +0100)]
noha: Re-enable Horizon dashboard, fix CSS
- ha, noha: Fix misaligned python 3 requirement for Horizon:
* python3-pylibmc
- ha, noha: Partially revert commit
63b712d:
"[Horizon] Drop the obsolete Horizon workaround"
Since we switched back from MCP Horizon package to UCA,
fix misaligned expected static resources location.
- noha: Enable nginx proxy on ctl01 node for serving the Horizon
dashboard at http://<cluster public VIP>:80 (http only, no SSL).
Change-Id: I5f930a5826a818791183d3910aa0e5607924e8f3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 30 Dec 2019 10:27:42 +0000 (11:27 +0100)]
aarch64: Pin qemu-efi from Armband repos
Upstream (UCA) qemu-efi (AAVMF) package is incompatible
with most cloud images, e.g. Cirros used by Functest,
resulting in kernel boot issues and/or missing serial console
output.
Work around this by pinning the qemu-efi Debian package from
the old Armband repositories. This should fix singlevm1 functest
testcase.
Change-Id: Ibbe2218d99881f6fec89846497c2cc248aab5031
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Tue, 3 Dec 2019 15:01:42 +0000 (16:01 +0100)]
[fdio] Bump VPP to 19.08.1-release
- refresh formula patches with new package names where necessary;
- switch to packagecloud.io repositories;
Change-Id: I1178a387891d34117c162380d8247eb7a4212359
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Tue, 29 Oct 2019 22:14:30 +0000 (23:14 +0100)]
[ha] [odl] Patch hostconfig for py3 compat
Change-Id: Id6754dec226e75b9ee1e8c19ac04531b9f277e0f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 7 Oct 2019 15:07:31 +0000 (17:07 +0200)]
[baremetal] Stein, Bionic, py3 support
Change-Id: If3f8cb6bfeedeb766a050d5a271b21c90bb3ba1c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 16 Sep 2019 15:18:17 +0000 (17:18 +0200)]
docker-compose: Align hosts with hostname
When using Docker CE 19.x, `hostname -d` fails to properly resolve
the domainname due to changes in the way Docker sets it inside the
container.
Work around this issue by aligning the contents of `/etc/hostname`
with `/etc/hosts`, so `hostname -d` can properly determine the
domain name. This also requires calling `hostname -b` via cfg01
entrypoint.sh.
Change-Id: I697b5d9882e3d6641712a00bca10012800ee1898
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Thu, 8 Aug 2019 06:37:17 +0000 (10:37 +0400)]
Conform ovsdb listen port to os-vif defaults
Nova (by means of os-vif lib) uses 6640 port by default
to connect to remote ovsdb over tcp/ssl.
Change-Id: I1372d8a3170b00243a5756b15a140aafe03dc268
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Wed, 31 Jul 2019 09:32:01 +0000 (13:32 +0400)]
[k8s] Adjust scenario for bionic
Change-Id: I5c7a1e827446189b98b924ffd4272acf1a794697
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 30 Jul 2019 09:33:58 +0000 (13:33 +0400)]
[dpdk] Remove invalid vhost options
With DPDK 18.11 the vhost owner/perm options have to be removed
since libvirt creates the server side of the socket and OVS
connects to it using DPDK as a client.
Change-Id: Ic33de66dcc0830cd31fc54880c524f850e2c4ea1
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 30 Jul 2019 06:04:05 +0000 (06:04 +0000)]
Merge "[deploy] Explicitly set NS for resolvconf in VMs"
Alexandru Avadanii [Mon, 29 Jul 2019 15:27:13 +0000 (17:27 +0200)]
[deploy] Explicitly set NS for resolvconf in VMs
With newer Ubuntu distros using netplan and systemd-resolve, we
can't rely on /etc/resolv.conf found on the Jumphost being usable
inside the guest VMs, so explicitly use the public network DNS
servers configured in PDF/IDF.
This will enable support for Jumpserver operating systems like Ubuntu
18.04.
Change-Id: I0c7e02d5c1b822f809ce818e739c19d0344f39f5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Mon, 29 Jul 2019 06:14:19 +0000 (06:14 +0000)]
Merge "Update OpenDaylight version to Neon"
Alexandru Avadanii [Wed, 24 Jul 2019 13:47:10 +0000 (13:47 +0000)]
Merge "[iec] centos: Preinstall git into cloud image"
Alexandru Avadanii [Mon, 22 Jul 2019 13:10:24 +0000 (15:10 +0200)]
[iec] centos: Preinstall git into cloud image
While at it, fix CentOS selinux preconfiguration on x86_64, which
was previously limited (incorrectly) to AArch64.
Change-Id: I2d6604d3eea2bfc11fdd5dd3aeb4e2c0c3ede4a2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Wed, 10 Jul 2019 11:30:04 +0000 (15:30 +0400)]
Update OpenDaylight version to Neon
Change-Id: I6cbbceb9b4a88f527d8dd800b0650f31a3dc1364
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Thu, 11 Jul 2019 12:02:25 +0000 (16:02 +0400)]
Align python3 packages with stein requirements
Change-Id: Ib2b1525957929c39e4b602ad1b7f4fbfd16a375c
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Fri, 12 Jul 2019 06:08:53 +0000 (06:08 +0000)]
Merge "Add extra bionic repo"
Alexandru Avadanii [Thu, 11 Jul 2019 19:20:15 +0000 (21:20 +0200)]
[iec] Copy private RSA key to K8s master
Certain validation testing suites require the SSH RSA private key to
to be available on the K8s master node.
Change-Id: Ib496ac6b33642d86bfd0e0f72ee847a2f31ea952
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Thu, 11 Jul 2019 11:53:01 +0000 (15:53 +0400)]
Add extra bionic repo
Change-Id: I06577fa93e895a7c5940dac41b4f9c24b455f455
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Fri, 5 Jul 2019 08:00:12 +0000 (12:00 +0400)]
[virtual] Update OpenStack version to Stein
Change-Id: I9c1e97144ffd46040d32a0edf8253fc393b73c89
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Wed, 3 Jul 2019 12:53:18 +0000 (14:53 +0200)]
[AArch64] Fix renamed repo key in defaults section
The `apt` key has been renamed to `repo` in a previous change, but
we missed renaming some occurences in defaults.yml.j2 for AArch64.
Change-Id: Icf930371e9bc5253ea27e053933e1c012361f66e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 1 Jul 2019 14:20:19 +0000 (16:20 +0200)]
[lib] Limit cloud img partition resize to Xenial
All cloud images except Ubuntu Xenial (CentOS 7, Ubuntu 18.04) already
have enough free space on the predefined partitions, so skip the resize
to avoid dealing with the newer e2fsprogs required by Ubuntu 18.04.
Change-Id: I184590e631c76910e7c3169dc7bee3c5902ebaf1
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Fri, 28 Jun 2019 13:52:22 +0000 (15:52 +0200)]
[virtual] Add Ubuntu 18.04 (Bionic) basic support
Support Ubuntu 18.04 for virtual deployments (and implicitly for VCP
VMs). Note that MaaS-provisioned systems will require the same
changes being applied via curtin templates.
Change-Id: I7cbd7e7c4421f6b970ce6ef97c10d269fec5fca3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 10 Jun 2019 13:19:27 +0000 (15:19 +0200)]
[iec] Add basic CentOS support (virtual only)
- reclass: iec: CentOS compatibility changes:
* drop `proto: static` in favor of letting the linux formula set
the appropiate default based on target OS;
* replace `proto: manual` with `proto: none` on RHEL systems;
* system.file: Avoid using non-existing `shadow` group for system
files;
* load br_netfilter kernel module to avoid `linux.network` state
failures;
* disable `at`, `cron` due to incomplete defaults in
salt-formula-linux (since we don't use them on iec nodes anyway);
- jumpserver/VCP VMs: centos: enable predictable interface names:
* CentOS cloud image defaults to old 'eth' naming scheme;
* add necessary kernel boot options via linux state;
* cleanup auto-generated udev rules for old eth interface names;
- salt-formula-linux: network: RHEL: Set bridge for member interfaces
* Find the bridge containing the interface being currently
configured (if any) and pass it to the `network.managed` Salt call;
- deploy.sh: Add new deploy argument `-o` for specifying the operating
system to preinstall on jumpserver and/or VCP VMs;
* defaults to 'ubuntu1604';
* only iec scenarios will also support 'centos' for now;
- user-data: minor tweaks for CentOS compatability:
* use `systemctl` instead of `service` utility;
* explicitly enable `salt-minion` service, since it defaults to
disabled on RHEL systems;
* explicitly call `ldconfig` to work around stale cache on RHEL,
preventing `salt-minion` from using OpenSSL library;
- states: virtual_init: Skip non-existing sysctl options on CentOS:
* CentOS currently uses a 3.x kernel which lacks certain sysctl
options that were only introduced in 4.x kernels, so skip them;
- state: akraino_iec: Add centos support:
* move iec repo to `/var/lib/akraino/iec` on both Salt Master and
cluster nodes;
- scenario defaults: Add CentOS configuration:
* OS-dependent configuration split;
* CentOS base image, default packages etc.;
- AArch64 deploy requirements: Add `xz` dependency
* CentOS AArch64 cloud image is archived using xz, install xz tools
for decompression;
- xdf_data: Make yaml parsing OS agnostic:
* rename `apt` to `repo` where appropiate;
* OS-dependent configuration parsing;
- lib_jump_deploy: CentOS handling changes:
* skip filesystem resize of cloud image for CentOS;
* add repo handling, package intallation/removal handling for CentOS;
* unxz base image if necessary (CentOS AArch64 cloud image);
Change-Id: Ic3538bacd53198701ff4ef77db62218eabc662e7
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Cristina Pauna [Thu, 27 Jun 2019 14:15:36 +0000 (17:15 +0300)]
[docs] Update release notes for Hunter 8.1
Change-Id: Ie600211d25b9aa2d28145073d1481b7a413e7ccf
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Michael Polenchuk [Mon, 10 Jun 2019 10:16:10 +0000 (14:16 +0400)]
[ha] Disable apache's status module
To avoid ports conflict of nginx/apache disable unused apache's
status module, which is binded on 80 port by default.
Also remove patch with double locations content
(formula already has such configuration).
JIRA: FUEL-408
Change-Id: Ib06dac8abe36299cf77747bdb3fc0fe7216b6096
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Thu, 6 Jun 2019 13:46:29 +0000 (13:46 +0000)]
Merge "[ha] Re-enable nginx proxy for Horizon"
Alexandru Avadanii [Wed, 5 Jun 2019 13:27:28 +0000 (13:27 +0000)]
Merge "[lib] Add uninstall/cleanup option"
Alexandru Avadanii [Mon, 3 Jun 2019 14:42:01 +0000 (16:42 +0200)]
[ha] Re-enable nginx proxy for Horizon
Starting with MCP 2019.2, Horizon was moved under haproxy in
Active/Active mode by default via upstream changes:
- Adding haproxy class for horizon [1];
- Cleanup nginx horizon sites by default [2];
This change re-enables the old behavior where Horizon is served by
nginx instead of haproxy.
While at it, fix missing support in salt-formula-apache for wsgi
`locations`, so Horizon dashboard can access '/static' resources
(e.g. CSS/images).
JIRA: FUEL-408
[1] https://github.com/Mirantis/reclass-system-salt-model/commit/
81c4c21a
[2] https://github.com/Mirantis/reclass-system-salt-model/commit/
a3b38f46
Change-Id: I9b35d5d0ce4e0b53dae808c2620a31ca80290b55
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Tue, 4 Jun 2019 04:39:45 +0000 (04:39 +0000)]
Merge "Revert "Disable block migration explicitly""
Michael Polenchuk [Mon, 3 Jun 2019 06:16:30 +0000 (06:16 +0000)]
Revert "Disable block migration explicitly"
This reverts commit
430a0aee9e8c7400d698f460406152aa70349b6c.
Superseded by the patch into releng https://gerrit.opnfv.org/gerrit/67975
Change-Id: Ibeb8419fa0ebc8eebe255e7535d775458f560ad0
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Fri, 31 May 2019 07:13:26 +0000 (07:13 +0000)]
Merge "Revert "Patch dhcp agent to avoid unwanted resync""
Michael Polenchuk [Wed, 29 May 2019 12:29:26 +0000 (16:29 +0400)]
Revert "Patch dhcp agent to avoid unwanted resync"
This reverts commit
7522bdb0e898144da2b6dc361dbdd549b39bc025.
The original patch has been merged (https://review.opendev.org/661011)
Change-Id: I9a1c04590145800523d546e36e9462fa7074922c
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Wed, 29 May 2019 10:59:19 +0000 (14:59 +0400)]
Disable block migration explicitly
Functest enabled block migration by default recently
but it can't be used with shared storage.
Change-Id: I15fd5459df91cece02e87cda9d1ed6e575194667
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Thu, 16 May 2019 15:49:04 +0000 (17:49 +0200)]
[lib] Add uninstall/cleanup option
When multiple installers are used on the same jumpserver, it is
useful to have the ability of automatic cleanup after a previous
deploy.
Change-Id: Ib3249f53ee9d6b1ba2409dd71bd13480536faedc
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Thu, 21 Feb 2019 17:06:42 +0000 (18:06 +0100)]
[maas] Fix permissions on (partial) redeploy
When redeploying a cluster only (keeping the infrastructure containers
from a previous deploy), some things need to be adjusted:
- /entrypoint.sh exec permission;
- /etc/maas uid/gid re-align on new (fresh) deploy;
- account for different location of /usr/sbin/tcpdump apparmor profile
for CentOS jumpservers;
Change-Id: If51db0bc95eff1a497e1df5d457e26a7b902aa5a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Wed, 8 May 2019 20:17:23 +0000 (22:17 +0200)]
[fdio] Bump compute RAM defaults for virtual PODs
Hugepage count has been recently bumped for virtual PODs via IDF
changes in Pharos, so align our FDio scenarios with the new RAM
requirements.
While at it, fix wrong pod_config template evaluation by moving it
after the templated scenario files are expanded, since pod_config
relies on scenario node definition.
Also, configure VPP to use decimal interface names by default to
align with Pharos macro for the VPP interface name string.
Change-Id: Ib3a89c294a3a2755567fdbe07e3be2b8ca1a5714
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Tue, 7 May 2019 18:04:41 +0000 (18:04 +0000)]
Merge "[docs] Update documentation for Hunter"
Cristina Pauna [Mon, 6 May 2019 11:00:30 +0000 (14:00 +0300)]
[docs] Update documentation for Hunter
Updated the documentation for the Hunter release plus one minor
change of wording in the deploy script as we no longer install
just Openstack
Change-Id: I853f5536b0f4a89a8c20af0a9650372690ef7c99
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Michael Polenchuk [Tue, 7 May 2019 07:53:55 +0000 (07:53 +0000)]
Merge "[dpdk] Get back to shared memory model"
Alexandru Avadanii [Mon, 6 May 2019 13:32:24 +0000 (13:32 +0000)]
Merge "[virtual] Parameterize scenarios based on PDF/IDF"
Michael Polenchuk [Tue, 30 Apr 2019 09:03:11 +0000 (13:03 +0400)]
[dpdk] Get back to shared memory model
The per port model potentially requires an increase in memory
resource requirements (which is limited by labs) to support the
same number of ports and configuration as the shared port model.
Set linux:network:openvswitch:per_port_memory explicitly to true
to enable per port mempools support for DPDK devices.
Change-Id: I130885afc50e7a047f8835113d370840827ad718
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 23 Apr 2019 10:42:07 +0000 (14:42 +0400)]
Patch dhcp agent to avoid unwanted rescheduling
Change-Id: Id49f26a2615e2fc06e94eeaf2e9200e83625e6c9
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Wed, 24 Apr 2019 10:53:59 +0000 (14:53 +0400)]
[ha] Decouple openstack services by roles
Deploy the OpenStack API services based on roles to
prevent issues with absent database tables since db_sync
runs only on the nodes with primary role.
Change-Id: I04cf3ce0dd59afd93b8a0dfcf060fbd7e7411c82
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Tue, 23 Apr 2019 15:18:49 +0000 (17:18 +0200)]
[iec] Copy full contents of IEC git repo
Previously we only synced the scripts subdir, but going forward
we will need the full contents of the IEC repo on all cluster nodes.
Change-Id: I88edd4885875048d50d28c1eac9fd413dc2b6ffb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Thu, 18 Apr 2019 15:16:32 +0000 (17:16 +0200)]
mcpcontrol: Avoid duplicate ip rules
Executing deploy.sh multiple times led to duplicating the ip rules.
Change-Id: Iad5886a851970f166996226fa3d115a93113c6db
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Sun, 14 Apr 2019 23:58:03 +0000 (01:58 +0200)]
mcpcontrol: policy based routing for INSTALLER_IP
To bypass Docker 'bridge'-backed network isolation, we previously
added an extra routing hop, which broke access from inside the
'mcpcontrol' Docker network (typically 10.20.0.0/24) to its
bridge address (10.20.0.1), leading to DNS issues on Salt Master.
This change leverages policy based routing to only add the extra
routing hop for connections originating from the default Docker
bridge network ('docker0'). Note that other Docker networks
using the 'bridge' driver are still isolated from 'mcpcontrol'.
Fixes:
d9b44acb
Change-Id: Ib92901c3278ae9b815f28f26d4c26f82bcadacd6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Fri, 12 Apr 2019 14:32:36 +0000 (14:32 +0000)]
Merge "[odl] Disable timeout for learnt flows of snat"
Michael Polenchuk [Thu, 11 Apr 2019 13:42:49 +0000 (17:42 +0400)]
[baremetal] Tune up dpdk options
Optimized for LF-POD2 as nic assigned to private/dpdk interface
and pinned cores resides on numa #0. Core #11 is for DPDK,
the rest four cores for PMDs.
Change-Id: Icca701bc1a66f3672b8511e0245c82ca29788a8b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Fri, 5 Apr 2019 08:46:16 +0000 (12:46 +0400)]
[odl] Disable timeout for learnt flows of snat
Set timeout value for snat punts to zero to turn
off the rate limiting and installation of learnt flows.
Change-Id: I79dad8fd0f925bfc11d7dc1678c3a414dc35fa56
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Fri, 12 Apr 2019 08:39:30 +0000 (08:39 +0000)]
Merge "route mcpcontrol via PXE br to bypass isolation"
Alexandru Avadanii [Thu, 11 Apr 2019 14:04:03 +0000 (16:04 +0200)]
route mcpcontrol via PXE br to bypass isolation
Recent virsh/Docker network rework changed mcpcontrol (previously
a virsh-managed network) into a Docker-controlled network using
the 'bridge' driver.
As a consequence, Docker now isolates traffic from 'mcpcontrol'
network from the default Docker bridge network ('docker0') using
iptables rules that check input/output interfaces.
Yardstick (and any other Docker container hooked via 'docker0')
will not be able to ssh into Salt master due to this isolation.
One possible workaround would be to explicitly ACCEPT traffic
from 'docker0' going to Salt master. However, this is only
properly supported starting with Docker 17.06, while most CI hosts
and end users are still using 17.05 or older.
In older Docker releases, DOCKER-USER iptables table was not
avaiable, so injecting custom iptables and making them persistent
is not only complicated, it's also prone to subtle errors.
Another way to bypass the iptables rules is to route the packets
coming from our new Docker network via another bridge before
letting them find their way into 'docker0'.
This change adds a new route for the Salt master host (note that
MaaS container will not benefit from this) via the PXE bridge on
the jumphost (which can be either a real Linux bridge for baremetal
deployments or a virsh-managed network); adding one extra network
hop for each packet going between our 'mcpcontrol' Docker network
and 'docker0', effectively bypassing the Docker-enforced iptables
DROP.
Change-Id: Id8ac7a638c778887b361c9b64c320664c88f59fd
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Wed, 10 Apr 2019 13:41:52 +0000 (17:41 +0400)]
[ha] Take out class with backports repo
* update system reclass
* rectify telemetry redis options
Change-Id: I6dca1ae52e7f7d73a90e53fceddca8e86872651b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Wed, 10 Apr 2019 08:38:52 +0000 (08:38 +0000)]
Merge "Setup repository with backports"
Alexandru Avadanii [Tue, 9 Apr 2019 11:55:15 +0000 (11:55 +0000)]
Merge "[VCP VMs] AArch64: Switch seeding back to qemu-nbd"
Michael Polenchuk [Fri, 5 Apr 2019 13:24:39 +0000 (17:24 +0400)]
Setup repository with backports
Change-Id: I791436f512dea6c6bc61133c4122ac872950af8e
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Mon, 1 Apr 2019 14:25:49 +0000 (16:25 +0200)]
[VCP VMs] AArch64: Switch seeding back to qemu-nbd
Upstream change [1] switched from old qemu-nbd preseeding of VCP VMs
to using a cloud-init + configuration drive. This breaks on AArch64
with "IDE controllers are unsupported for this QEMU binary or machine
type", so switch back to using qemu-nbd.
[1] https://github.com/Mirantis/reclass-system-salt-model/commit/
c0e4807
Change-Id: I0dfeb638d408343c76a73fafa503048a79ce1f6e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Thu, 28 Feb 2019 14:46:19 +0000 (15:46 +0100)]
[virtual] Parameterize scenarios based on PDF/IDF
NOTE: only os-nosdn-nofeature-noha is parameterized for now.
- move config drive & disk creation from prepare_vms to create_vms;
- make default disk size(s) configurable based on scenario defaults
and vPDF;
* compute nodes require 2 disks to be defined in vPDF, since the
pillar reclass model assumes /dev/vdb is reserved for cinder;
* if multiple disks are defined in vPDF, they are created and
attached accordinly (only ctl01 and cmp nodes are parameterized
in this change; only for the os-nosdn-nofeature-noha scenario);
- vCPU specifications are deduced based on vPDF (sockets, cores);
* threads/core is hard set to 2 since vPDF does not have a key
for it;
* NUMA resources are distributed evenly based on the number of
sockets configured in PDF;
* no less than the mininum requirement for a scenario is allocated
(e.g. if PDF specifies 2 cores, but the scenario requires at
least 4 cores, the larger value will be used);
- RAM is deduced based on PDF (but no less than the mininum req is
allocated, e.g. if PDF specifies 2GB RAM for computes, but the
scenario requires at least 8GB, the larger value will be used);
Change-Id: I97188aa2a1006865b8429eb6483e10c76795f7d2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Fri, 5 Apr 2019 12:55:01 +0000 (16:55 +0400)]
[dpdk] Rise up available memory on computes
There is no enough memory (default 4k pages) for services
like libvirt, which cannot fork child processes.
Change-Id: I44d8efd7cafb52a7c823c02738c1d321017aa7a3
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Thu, 4 Apr 2019 13:24:54 +0000 (17:24 +0400)]
Define stub for cinder service in keystone
Required only for Rally validation in cinder scenarios,
there is no useful functionaly in terms of cluster.
Change-Id: Idc4d62cbbc9974972e9d492b5a419342077e3d9a
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Wed, 3 Apr 2019 11:33:26 +0000 (15:33 +0400)]
[noha] Deploy dhcp/metadata agents on computes
Sometimes instance doesn't get ip address from dhcp server, which
resides only on gateway node, so run additional dhcp/metadata agents
on compute nodes to handle tenant networks in place.
Change-Id: If1d74af665cf8db64b09f846fac7192f76abdb25
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Mon, 1 Apr 2019 15:04:00 +0000 (19:04 +0400)]
[dpdk] Enable per port memory model
The per port memory model provides a more transparent memory usage model
and avoids pool exhaustion due to competing memory requirements for
interfaces. (http://docs.openvswitch.org/en/latest/topics/dpdk/memory/)
Change-Id: I5add0f49cdcdf2fc3d24affee10a275abe3ca46a
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Mon, 11 Feb 2019 11:04:59 +0000 (11:04 +0000)]
[akraino] Add IEC K8-calico scenarios
- bump Pharos git submodule to allow PODs with fewer nodes;
- add `k8-calico-iec-noha` scenario definition for Akraino
IEC basic configuration;
- add `k8-calico-iec-vcp-noha` scenario definition for Akraino
IEC nested (virtualized control plane) configuration;
- add `akraino_iec` state, which will leverage the Akraino IEC
bootstrap scripts from [1];
- replace system.reboot salt call with cmd.run 'reboot' as it's more
reliable;
- use kernel 4.15 for AArch64 K8 IEC scenarios;
NOTE: These scenarios will not be released in OPNFV since don't rely
on Salt formulas but instead of Akraino IEC scripts to install K8s.
[1] https://gerrit.akraino.org/r/#/q/project:iec
Change-Id: I4e538e0563d724cd3fd5c4d462ddc22d0c739402
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Thu, 7 Mar 2019 14:57:49 +0000 (18:57 +0400)]
Bring in kubernetes scenario
Change-Id: I2b41ce2e275bb053fa2590654ea7fa432b0c857f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 26 Mar 2019 09:08:39 +0000 (13:08 +0400)]
Rectify system reclass after update
* add opendaylight password (removed from system level)
* get updated ovn system class w/o mysql settings
* enable ceilometer user back (removed along with outdated service/endpoints)
* adjsut check interval of haproxy for noha scenarios since there is
only one backend for services, i.e. failover ain't expected
Change-Id: Iedee290e1cfcf838998bd44dc09a729d143974ac
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Wed, 27 Mar 2019 08:38:54 +0000 (08:38 +0000)]
Merge "[fdio] salt-formula-neutron: Fix VPP support patch"
Alexandru Avadanii [Mon, 25 Mar 2019 15:00:18 +0000 (16:00 +0100)]
[fdio] salt-formula-neutron: Fix VPP support patch
After Rocky support was added upstream to salt-formula-neutron, our
FDIO patch continued to be applied only for Queens, so refresh the
patch by switching to Rocky.
Change-Id: If0bbb9c4ec674d386ceade00ef8fe936482fb49c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Fri, 22 Mar 2019 13:46:02 +0000 (17:46 +0400)]
Update system reclass
Change-Id: I745a838b1f2f294b6c455700509ddf4b0264446f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 19 Mar 2019 18:04:55 +0000 (18:04 +0000)]
Revert "Fix race condition with nova privsep utime"
This reverts commit
ac56d7b14f46b05f497b3dca4b6a4b0bfedd83e2.
The original patch has been merged (https://review.openstack.org/643011)
Change-Id: I3a7cd825f371e375d36256143b4b8c91f90ee26e
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Mon, 18 Mar 2019 15:11:50 +0000 (16:11 +0100)]
[lib] nbd: Explicitly map partitions
Certain kernels (e.g. 4.4.0-101+ in Ubuntu) no longer automatically
ack the partition table update after `kpartx -a /dev/nbdX`, see [1].
To avoid another dependency on `parted` packages, use `partx` from
`util-linux`, which is already installed as a dependency of e2fsprogs.
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/
1743026
Change-Id: Ibd993fe210c1a11814e89a66759568d4d117d613
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Thu, 14 Mar 2019 15:08:39 +0000 (19:08 +0400)]
Smooth down telemetry services
* update gnocchi to 4.3
* remove outdated ceilometer api
Change-Id: I7adaf3ddc76d93531b6b0997b684672b80f2992f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Tue, 5 Mar 2019 15:49:23 +0000 (16:49 +0100)]
[lib] Create veths using systemd opnfv-fuel units
Create 2 systemd services on the jumphost that will handle veth
pairs creation, respectively adding them to virsh/real bridges.
This allows us to set docker containers restart policy to 'always',
enabling persistent Salt Master/MaaS containers across jumphost
reboots.
NOTE: libvirt creates virtual networks async, hence the need for
retrying hooking veths to them.
JIRA: FUEL-406
Change-Id: I1ca033cb5eb854b577b57bb2387a58bd9605a5bb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Mon, 4 Mar 2019 08:49:58 +0000 (12:49 +0400)]
Turn off meltdown/spectre patches
Change-Id: Id75ffe4db808a4ec250ba8b86c5d49f1206c3784
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 26 Feb 2019 14:09:14 +0000 (18:09 +0400)]
Tune up nova/neutron intervals
Also re-align resources for virtual scenarios.
Change-Id: Id0d55407fd5b1720a24e30c364219f8b08e89d06
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 26 Feb 2019 10:52:06 +0000 (14:52 +0400)]
Fix race condition with nova privsep utime
Bug: https://bugs.launchpad.net/nova/+bug/
1809123
Change-Id: I14622c21826aeeddac6ea7bf7f9d116cd3e68cfb
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 26 Feb 2019 07:03:04 +0000 (07:03 +0000)]
Merge "[cfg01] Reduce mine_interval to 15 min"
Alexandru Avadanii [Fri, 22 Feb 2019 15:31:24 +0000 (16:31 +0100)]
[lib] Add fatal validation of old kernel on Ubuntu
As reported in [1], kernel 4.4 seems to break nested virtualization,
add a fatal check against it.
[1] https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/
1797332
Change-Id: I0aef8a7340dd82bfeb2e58c9642623b9ec13dca5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 18 Feb 2019 22:08:30 +0000 (23:08 +0100)]
[cfg01] Reduce mine_interval to 15 min
Some PODs are fast enough to get past installing, syncing and using
MaaS to provision the OS on the baremetal nodes before the 1h mine
refresh.
Since mine.update operation is fast enough to go unnoticed and we
only collect IP addresses, grains and pem entries, schedule it every
15 minutes.
Due to reclass class inheritance, we can't easily override this via
pillar data, so handle it via entrypoint.sh.
Change-Id: I0d8ed2da838ad09c94e9327d0131d3e239de4f08
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Fri, 22 Feb 2019 08:45:52 +0000 (12:45 +0400)]
Install missing gnocchi dependencies
Change-Id: Ifc4fff90551344c69295990b220f0778967887a4
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Tue, 19 Feb 2019 15:17:25 +0000 (15:17 +0000)]
Merge "[baremetal] Containerize MaaS"
Alexandru Avadanii [Fri, 15 Feb 2019 13:06:46 +0000 (13:06 +0000)]
Merge "[cfg01] Schedule x509.get_pem_entries mine update"
Alexandru Avadanii [Fri, 15 Feb 2019 00:23:20 +0000 (01:23 +0100)]
[cfg01] Schedule x509.get_pem_entries mine update
Previously, Salt Master CA mine was only sent once, during
salt.minion.ca state execution at cfg01 bringup / bootstrap.
This causes possible issues with:
- Salt Master container restart (mine data is lost);
- UNH Lab deployment (uknown rootcause, might be related to XFS and
overlay2 being used with Docker on CentOS);
To bypass this issue, make x509.get_pem_entries module send mine data
at the default mine interval (60 minutes).
Change-Id: I5f6334ae18f5af6cbe0a164791603b67f0a3668f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Thu, 7 Feb 2019 18:51:04 +0000 (19:51 +0100)]
[baremetal] Containerize MaaS
- replace mas01 VM with a Docker container;
- drop `mcpcontrol` virsh-managed network, including special handling
previously required for it across all scripts;
- drop infrastructure VMs handling from scripts, the only VMs we still
handle are cluster VMs for virtual and/or hybrid deployments;
- drop SSH server from mas01;
- stop running linux state on mas01, as all prerequisites are properly
handled durin Docker build or via entrypoint.sh - for completeness,
we still keep pillar data in sync with the actual contents of mas01
configuration, so running the state manually would still work;
- make port 5240 available on the jumpserver for MaaS dashboard access;
- docs: update diagrams and text to reflect the new changes;
Change-Id: I6d9424995e9a90c530fd7577edf401d552bab929
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Thu, 14 Feb 2019 10:33:38 +0000 (14:33 +0400)]
Rise up salt's gather job timeout
While the minions are working their jobs the CLI is waiting for the
first initial timeout period (timeout) to start. When that hits,
the CLI sends sends the first "find_job" query. This kicks off the
gather_job_timeout timer. Sometimes a minion doesn't respond to the request
within the gather_job_timeout time period (default is 10s), so rise up
this value to give a chance for a minion to report actual status.
Change-Id: Ic3756b82fdeb17718870ab30e9578263d25309f7
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Mon, 11 Feb 2019 11:32:22 +0000 (11:32 +0000)]
Merge "[odl] Settle the broken pkg->config dependency"
Alexandru Avadanii [Mon, 11 Feb 2019 10:42:24 +0000 (10:42 +0000)]
Merge "[docker] Add MaaS container build support"
Michael Polenchuk [Fri, 8 Feb 2019 09:39:16 +0000 (13:39 +0400)]
[odl] Settle the broken pkg->config dependency
Change-Id: I3bbe3e4be520ccac198654bb4a7d493aa8450023
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Alexandru Avadanii [Thu, 7 Feb 2019 18:50:33 +0000 (19:50 +0100)]
[docker] Add MaaS container build support
Change-Id: I7709c9ca9e701b656447154919eb084a710f49af
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Thu, 7 Feb 2019 08:36:56 +0000 (12:36 +0400)]
[odl] Disable PaxOsgi logging by default
The PaxOsgi logging has a performance impact
(i.e. makes pressure to the Java GC).
Change-Id: Ic0bc2c0d1cfac195a04d1cfa90fa7fa47fc37612
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Michael Polenchuk [Tue, 5 Feb 2019 07:34:08 +0000 (07:34 +0000)]
Merge "[odl/noha] Make vif_plugging non-fatal"
Michael Polenchuk [Tue, 5 Feb 2019 07:32:32 +0000 (07:32 +0000)]
Merge "[cfg01] Use ssh config to set default user & key"
Alexandru Avadanii [Mon, 4 Feb 2019 21:33:27 +0000 (21:33 +0000)]
Merge "[fdio] Fix VPP package pinning"
Alexandru Avadanii [Mon, 4 Feb 2019 15:08:06 +0000 (16:08 +0100)]
[fdio] Fix VPP package pinning
Previously, Ubuntu ignored the VPP pinning with:
N: Ignoring file 'fdio.ubuntu' in directory '/etc/apt/preferences.d/'
as it has an invalid filename extension
Change-Id: I5ee60c1715bea3b4180b55125dc72962a70c2754
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 4 Feb 2019 15:03:06 +0000 (16:03 +0100)]
[cfg01] Use ssh config to set default user & key
Change-Id: I7486569568207f7652f8bdfcf1060ce51a9dbb0e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Alexandru Avadanii [Mon, 4 Feb 2019 14:08:20 +0000 (15:08 +0100)]
[submodule] Bump Pharos for arm-pod10 cmp change
Change-Id: Ia7f8845017333e54db110bca5b3715702948b76b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Michael Polenchuk [Thu, 31 Jan 2019 12:34:28 +0000 (16:34 +0400)]
[odl/noha] Make vif_plugging non-fatal
In order to mitigate live migration procedure make VIF plugging
event non-fatal for nova-compute. Also align max value of memory
for instance of ODL controller.
Change-Id: I0d00cc97c652eef3bd3404fac4715e2e7f2f02c7
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Cristina Pauna [Wed, 30 Jan 2019 10:29:53 +0000 (10:29 +0000)]
Merge "[deploy] Allow only operating system install"