Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I3d3e729447a4d8e79fce486a7fc68f8f72675e3c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I321fcb4aa77ebcb4595a9468c2257fef8b9a8ed6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
MaaS relies on IPMI to set boot order to PXE first; however
on systems with buggy firmware or without full IPMI support,
that fails, leading to booting Ubuntu from hard disk instead.
Work around this by clearing any previous Ubuntu boot entry
from board flash via `efibootmgr`.
Change-Id: I531d4bcb9f8d45740764f0dbab8fda49fbffac7e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I85221e65823780063b127298264a0087b59ac8a4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ie860aace8cab1a48dea7a567dc941cf80305d181
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ic4aa514e773d2963ad4a45b5be475e17b22885b4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I098fc04a6d87b163033618a18c58f7ae246c68d6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Id53c2513b52d05a44dffda0fda40f8df259e226b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
salt.virt always returns a non-zero status due to pillar parsing
issues. Until we fix this, drop retries which cause an infinite loop.
Change-Id: I451e0d4d054a19ac912ac29e1c37f49fcd96c17d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ifc1fafa0075d7032ee7d7e1e1d84759ab5baea76
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com:w
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
|
|
Instead of passing public net via local_env, deduce its range
based on compute external IPs.
Change-Id: Ib736921c1d0f4002ea33677e7d794fd3e22001ba
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I87a2259ddcbc3ab69cde7a3f3e78a79dc907a5d9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I9577383b743730cc821eb68a1f159b426b29f6b4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
TODO:
- re-check states;
- investigate tenant telemetry support;
- re-check prx node config;
Change-Id: Iff53537b9e78696dd16c2339996f2bd3771074aa
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I3a4ce93f36c5a01481601a1f38b562c7ca0a6650
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I8642701586296ae171d702bb4b6ad0f9bef36c9e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I4acde80c82de4b53b15157a096911296a55997fe
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Extend salt virt modelling capabilities with support for:
- hw_firmware_type;
- virt_machine_model;
- cpu_model;
This requires extending/patching:
- libvirt_domain.jinja template (part of salt package, handled via
armband.libvirt_domain_template new state);
- _modules/virtng.py custom module;
- salt/control/virt.sls;
The new support is leveraged via our reclass model with AArch64
specific values.
Change-Id: I34bdb235cb7765ecdde365761dbd2c942f699039
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I75819b90751ce3189c360f1d1478670c07b64144
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I4c1322e2ddd96ec5a1f4b11ece60b635f7e043c5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ia5bab57d6081790ac431eab9c9b5abfb2b9cd853
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I1371d3a0ee2aeb0a620a1c087ec34990accaae16
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I362ae48d576b14c87188e88599e0a0542028dcb2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Upstream commit [1] broke Salt bootstrap on AArch64, by
introducing an architecture condition that is too strict to allow
Debian package installation (even if we provide our own repo).
Add "arm64" to the list of supported architectures. This needs
to be done on the fly, as the bootstrap script is fetched using
`curl` from <salt-master-setup.sh>, which is also fetched
dynamically using `svn export`.
[1] https://github.com/saltstack/salt-bootstrap/commit/caa6d7d
Change-Id: I2ff5d56e4d3072a1afe31ab0a400b0b83e2b34a8
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previously, we only accounted for the arguments we were interested in
(l:lab, p:pod), which failed in case other (valid) arguments were
passed first.
Accept all arguments Fuel's <ci/deploy.sh> accepts, so lab/pod are
read no matter where they are placed in the command string.
Change-Id: I9125a5e70d19b7e1ca905b2572f3c8ceda13025b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
NOTE: Armband moves MaaS IPs to x.y.z.2 (from x.y.z.3) due to address
overlap with IPMI static IPs residing in the same range.
Change-Id: I2fc9539afe921d2704e7f5ff615ccd86d0914b7b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ibf6f633873e7dce9c38f6952710b7937b1290ac3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous rebase introduced a regression in VM eth naming on AArch64.
enp2s2 should have been enp2s0, so fix that up.
Change-Id: If831dffce472750516dfa6b69cdc3a7952a3427d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
While at it, refresh "AArch64 virtio NIC names sync" to include
changes for ODL-L3 scenario recently added in Fuel@OPNFV.
Change-Id: Ic221b330d9968204b7d4da16a26454b2cf8b88eb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Creating vgabios's missing link in /usr/share/qemu requires sudo.
Change-Id: I34dbd55facbccf361d94fa8341e99b76d5bf6276
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous rebase left out the "sudo" invocation for apt-get/yum calls.
Change-Id: I97c9785dae88afae6c1aa8a2faf2e5a10f9451a6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Now that Fuel@OPNFV supports submodule patching again, bring back
`make fuel-patches-import`.
Change-Id: Ic6f9870d94b6d302f1ebcdc21d54a83f62910af9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous changes set security_driver to none (without quotes),
which conflicts with libvirt 3.x.
Fix it by adding required quotes.
Change-Id: I699da4c9cb5d77fe6e959e476d3279f3d679edc6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Iba6bc9f6588a9ad528de70a0f3bd200a5fe1ab1a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Install <armband-odl-leveldb-fix> as part of the existing Opendaylight
salt-formula (and not as part of Armband's separate salt-formula, like
previous fixups); only applicable for AArch64.
JIRA: https://jira.opnfv.org/browse/ARMBAND-283
Change-Id: I9df5919e98c3a826ab5d3fddb43dc85c12968bd0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Current opendaylight pillar enforces a full apt repository cleanup,
removing Ubuntu Cloud Archive (UCA) repos in favor of adding
pre-hardcoded Ubuntu archive repos.
Mitigate this by ommiting "system.linux.system.repo.ubuntu" from the
opendaylight pillar, leaving the default UCA repos in place.
Change-Id: Ia2511e8028c8e28ec505c9a35b5dd2e76f4bcd0a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
FIXME: This should be converted into a dynamic configuration read
from the universal POD descriptor in securedlab, once that is ready.
Until then, just align the public network configuration used by the
virtual POD with the Enea lab configuration specific to arm-virtual2
(i.e. public network on 10.0.9.0/24).
NOTE: Replace the gateway at 10.16.0.1 (now 10.0.9.1) with the same
IP address as our lab's gateway (10.0.9.254), to keep both possible
network layouts in sync (using all virtual networks created via
virsh, respectively our lab's static config).
This will ensure deploys continue to work in both enviroments.
Also, since our gateway resides at 10.0.9.254, trim the DHCP pool
range for the public network to not include that address.
To pass bridge information from CI, Fuel@OPNFV deploy scripts need
some small adjustments as well.
While at it, rebase our patches on top of latest Fuel@OPNFV changes.
Change-Id: I92f01dd819ebf41b1da68d3b934fb10a23257e33
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
FIXME: Re-enable apparmor.
FIXME: Detect baremetal and re-enable acceleration.
Based on old Armband Fuel patches:
- install qemu-efi;
- install vgabios;
- disable apparmor as security driver for libvirt (temporary);
- fix missing link for vgabios binary blob;
- nova: virt_type=qemu (temporary, until we support baremetal too);
- nova: pointer_model=ps2mouse since AArch64 has no USB tablet;
- nova: cpu_model=cortex-a57;
- nova: libvirt driver: Add ttyAMA0 by default on AArch64;
- nova: libvirt driver: Use VGA video type by default on AArch64;
Change-Id: I6aa87ac8d1c2f9fe3919b80fd29ab84ccfaa7c38
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>
|
|
Expect host virtualization tools (libvirt, qemu) to be recent enough
to support modern virtio-net-pci out of box as a default.
This allows us to drop some changes and a hack - see [1]:
- "model=virtio" implies "model=virtio-net-pci" on libvirt 3.x;
- "model=virtio" puts each NIC on a seperate bus, all work now;
- modern virtio is automatically used when NIC is on PCIe bus;
Revert "p/fuel: lib.sh: Revert to virtio-mmio for PXE net"
This reverts commit 4f72e6be436badd2ded546424ec4a304cd6ce5d3.
[1] https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg07594.html
Change-Id: Iaa7af63846c9d9dca5b7a9be5efa54f8cd56242e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Fix libvirt 3.x compatibility issues by explicitly setting the CPU
model to host-passthrough via virt-install.
Change-Id: I0e52cbabb0bf42b36dd2b9b5045dc18878e21884
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
This reverts commit 779c0cc56646da234019577e17f4af378a205e08.
Change-Id: Ia5261da363579e7bec442ada58ca16635025f872
|
|
FIXME: This should be converted into a dynamic configuration read
from the universal POD descriptor in securedlab, once that is ready.
Until then, just align the public network configuration used by the
virtual POD with the Enea lab configuration specific to arm-virtual2
(i.e. public network on 10.0.9.0/24).
NOTE: Instead of replacing the gateway 10.16.0.1 (now 10.0.9.1) with
our lab's gateway (10.0.9.254), keep it as an extra hop, in order not
to break deploys in different enviroments.
Also, since our gateway resides at 10.0.9.254, trim the DHCP pool
range for the public network to not include that address.
Change-Id: If45ca3140f770f758f0d02c1049084f67f83264e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I99b6052a26169888c137f874889872107c7df931
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
OPNFV Jenkins jobs for Fuel and Armband define the variable SSH_KEY,
which gets passed down to Fuel's ci/deploy.sh, leading to a conflict
between the original key and the destination key paths, which in
the default case overlap, leading to a deploy-breaking fault.
Fuel@OPNFV is not affected by this behavior due to a "sudo" call
that does not pass down enviroment variables (i.e. without `-E`).
Change-Id: I291966ee177d828bf1e59c213c9da40eae13ab6b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Fuel@OPNFV's ci/deploy.sh script imposes a hard requirement on
running as the root user, which can be refactored into a series of
smaller requirements.
Instead, relax the check to the ability to run sudo commands
inside the script, and explicitly add sudo for the package
installation commands.
This also adds a requirement for the Jenkins user running the
deploy to be part of the "kvm" and "libvirtd" groups, so
libvirt/virsh can manage VMs on the jump server / Jenkins slave.
See related change in OPNFV Releng repository [1].
[1] https://gerrit.opnfv.org/gerrit/#/c/37655
Change-Id: I29b90d285c99f85462493c2a3890264365fca9f0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
virtio-pci-net seems to have issues with more than three (3)
interfaces attached to the same guest, even on separate PCI buses.
To bypass this limitation, for now, we will use virtio-mmio for
PXE, and virtio-pci-net for the rest.
This keeps the guest eth order consistent and predictable, and
allows udev to assign predictable interface names for 3 out of 4
guest network interfaces (enp2sX), thus ensuring PXE will always
get the "eth0" designator.
Change-Id: I0d0cb8148cd87313e67f8f27793eb2414c1e90e3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I7cc5162359347ac9472127a8d27730c96050915e
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ic4066acc2716e5f3f497fba9799691e0258d3011
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
`git clone --depth=1` does not preserve git history, so 3-way merge
is not possible.
There are 2 ways to fix this:
- (recurrent) rebase patches by adjusting patch context;
- (one-time, with a recurrent very small performance hit) preserve git
history when cloning Fuel@OPNFV in salt.sh;
So, let's drop "--depth=1" and ensure `git am -3` will continue to work
on future patch context changes (where possbile).
While we're at it, also rebase our current patches.
Change-Id: Iacfb4daf90a170174405410ff9c988c4fcac79ca
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- p/fuel: classes: AArch64: virtio-pci-net sync
- p/reclass-system-salt-model: Add Armband repos
- mcp/config: AArch64: Use UEFI arm64 image
Also, allow removal of VMs booted via guest UEFI (OVMF or AAVMF).
While at it, bump default vCPU number from 2 to 6.
- lib.sh: AArch64: Use VGA video mode for guests
On AArch64, there is no Cirrus video, so use VGA mode instead.
For now, we install vgabios package no matter the arch, although
it is only used on AArch64.
On Debian systems, also fix a missing link for vgabios-stdvga.bin.
Based on previous Armband work from [1].
- lib.sh: AArch64: virt-install: Use virtio-net-pci
AArch64 virt tools (i.e. libvirt) default to "virtio-mmio", instead of
"virtio-net-pci", at least before libvirt 3.x (see [2]).
Without PCI bus info, we can't really enforce a specific order for
the guest ethernet devices.
Moreover, predictable network interface naming is out of the question
with virtio-mmio, as there is no bus information to rely on.
Therefore we will enforce "virtio-net-pci" on AArch64, instead of
the default "virtio" (which translates into "virtio-mmio" currently).
- salt.sh, user-data: Add Saltstack arm64 repo
- salt.sh: Clone armband repo, apply patches from it
- classes: virtual: AArch64: virtio-pci-net sync
Since AArch64 will be using virtio-net-pci NIC model for guests,
predictable interface naming yields a slightly different scheme.
Update all configuration to reflect this.
FIXME:
- Use https for fetching Armband GPG keys!
- Revise the patching mechanism, make things more dynamic.
[1] https://github.com/opnfv/armband/blob/danube.2.0/patches/fuel-library/
arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch
[2] https://www.redhat.com/archives/libvir-list/2016-August/msg00931.html
Change-Id: If5aae22066f75732652201a78357c4931438d58d
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>
|