Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I35735c0d35c6004c546a704cee3d6d94ce077225
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previously, we hardcoded the fabric name for our 3rd interface
(which serves PXE/DHCP for the target nodes) to "fabric-2",
relying on predictable index numbers to be provided by MaaS based
on the interfaces defined in /etc/network/interfaces.
However, the fabric IDs/names generated by MaaS are not predictable,
and therefore cannot be hardcoded in our reclass model / scripts.
Work around this by:
- adding support for fabric ID deduction based on CIDR matching
during subnet create/update operation in MaaS py module;
- adding support for VLAN DHCP enablement to MaaS py module,
which was previously handled via shell MaaS API operations
from maas/region.sls;
While at it, revert previous commit that disabled network discovery
("MaaS: Disable network discovery"), since it turns out that network
discovery was not the culprit for subnet creation failure, but wrong
fabric numbering.
This reverts commit 8cdf22d1a1bae4694a373873cab4feb6251069b7.
Change-Id: I15fa059004356cb4aaabb38999ea378dd3c0e0bb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
Change-Id: Ic47a9dd2d5a4cccc9c4330509d81aba82f777084
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
In case nodes are already powered on and have an IP in the same
range as the new MaaS DHCP one (e.g. from a previous deploy),
MaaS API will reject the subnet creation due to overlapping
addresses. Try to work around this by disabling network discovery.
Change-Id: I70a33c552bf38a7ccbc1bb7e90c21f424f082bc5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
Without the 'type' parameter set to 'dynamic', MaaS was configured
to reserve the IP range instead of allocating it dynamically.
This led to IP exhaustion warnings in MaaS dashboard, as well as
wrongful IP allocation.
Change-Id: I1f2b90bf4cd2393cfab6d4bc17771cef009701c0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I6ecc81cc6faf45f33882666b9f537a3e42ad379e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Iae9991f9148ac518696f9f8b57b5a8ca9dded730
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous changes attempted to add 'noifupdown' support, but failed
to spell it correctly. Fix the typo and also edit the 'maas' state
to use simple `salt state.apply` instead of `cmd.run 'salt-call'`.
Change-Id: If9889dee896fa100febe0372fe2c4173fc223ee3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Explicitly configure dhcp_interface for mas01, in order to allow
the interface name to be parametrized via "dhcp_interface" _param.
Change-Id: I6a2750adc1941c0aa1f94ac9b39133b5bd2388c6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* re-assign ip from interface to bridge
- install bridge utils
- make a reboot straight away after network config
* change image source for vcp
Change-Id: I34506ee161337b5d3a4088cfdf3c082d99ccb695
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
|
|
Change-Id: I8098eff73ab15fe58cb357db99df76e1bd160652
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Fixed upstream in [1], drop our patch.
[1] https://github.com/Mirantis/reclass-system-salt-model/commit/573be77
Change-Id: Ieeb9b87cac0418d860bbf04e5e8ffd48898a213e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
In case of non-root deploys (i.e. running `ci/deploy.sh` without
sudo), the OPNFV Jenkins slave executes it under a user shell,
under a root shell, e.g.:
$ sudo sudo -u jenkins bash
$ echo $USER
jenkins
$ echo $SUDO_USER
root
Adjust lib.sh to only use SUDO_USER when it is not "root".
Change-Id: I6dd1c8a5dd3a3b02cfb760818d66e99f49709a5b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- ci/deploy.sh: fail if default scenario file is missing;
- start by copying reclass/classes/cluster/virtual-mcp-ocata-ovs as
classes/cluster/baremetal-mcp-ocata-ovs;
- add new state (maas) that will handle MaaS configuration;
- Split PXE network in two for baremetal:
* rename old "pxe" virtual network to "mcpcontrol", make it
non-configurable and identical for baremetal/virtual deploys;
* new "pxebr" bridge is dedicated for MaaS fabric network, which
comes with its own DHCP, TFTP etc.;
- Drop hardcoded PXE gateway & static IP for MaaS node, since
"mcpcontrol" remains a NAT-ed virtual network, with its own DHCP;
- Keep internet access available on first interfaces for cfg01/mas01;
- Align MaaS IP addrs (all x.y.z.3), add public IP for easy debug
via MaaS dashboard;
- Add static IP in new network segment (192.168.11.3/24) on MaaS
node's PXE interface;
- Set MaaS PXE interface MTU 1500 (weird network errors with jumbo);
- MaaS node: Add NAT iptables traffic forward from "mcpcontrol" to
"pxebr" interfaces;
- MaaS: Add harcoded lf-pod2 machine info (fixed identation in v6);
- Switch our targeted scenario to HA;
* scenario: s/os-nosdn-nofeature-noha/os-nosdn-nofeature-ha/
- maas region: Use mcp.rsa.pub from ~ubuntu/.ssh/authorized_keys;
- add route for 192.168.11.0/24 via mas01 on cfg01;
- fix race condition on kvm nodes network setup:
* add "noifupdown" support in salt formula for linux.network;
* keep primary eth/br-mgmt unconfigured till reboot;
TODO:
- Read all this info from PDF (Pod Descriptor File) later;
- investigate leftover references to eno2, eth3;
- add public network interfaces config, IPs;
- improve wait conditions for MaaS commision/deploy;
- report upstream breakage in system.single;
Change-Id: Ie8dd584b140991d2bd992acdfe47f5644bf51409
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
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>
|
|
Keep UCA default apt sources, instead of overriding them with arch
specific values from:
- system.linux.system.repo.ubuntu
Change-Id: I1edc725a97ae6290d316a7916c27fd904f59db04
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
|
|
On AArch64, there is no Cirrus video, so use VGA mode instead.
On Debian systems, also fix a missing link for vgabios-stdvga.bin.
Based on previous Armband work from [1].
[1] https://github.com/opnfv/armband/blob/danube.2.0/patches/fuel-library/
arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch
Change-Id: Ia84ea5536b68e14993b719488375b0041183a767
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
There is no much difference between nightly vs testing repos.
This reverts commit 052a1626da71d232431b3a9faf576a76db61f10e.
Change-Id: I40f60ddc2c9e1e59c7c4eb0be59ae19b00b7fb9b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Workaround the issues described in [1], stating that salt-formula-maas
package cannot set an autogenerated PostgreSQL password, respectively
the known error thrown during initial setup.
FIXME: These should be reverted later, after fixing the MaaS password
update and initial artifact sync in the salt formula / scripts.
[1] https://docs.mirantis.com/mcp/1.0/mcp-deployment-guide/\
install-base-infra/set-up-bare-metal-provisioner/configure-maas-vm.html
Change-Id: I8b37f55d3caa4119c64f9549578850dd4eb9e3ad
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Sync all of the salt dynamic modules to make sure custom
modules, states, grains & etc. are on the target nodes.
Change-Id: I04f2ac0465d5381c4c07623e9383619d9b9731de
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
In order to avoid bleeding edge issues with nightly version of
salt formulas, switch to "safe" testing repo source.
Change-Id: I9d12f337c3952711cb8843943c23315795064016
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
|
|
|
|
|
|
|
|
* set ntp sweden servers list for virtuals
* wrap common cluster init options
Change-Id: I044802998d5498fed969e62bf1ea8c814652f34f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
* apply provider mappings on compute nodes as well
* set default route of computes to gateway node
Change-Id: I5715e34fd8ecbed87bd7f1b1ed488766af711bae
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Prepare for adding baremetal scenarios by moving existing scenario
definitions (intended for deploys on virtual PODs) to their own
subdirectory.
Change-Id: Iaa75e0b0a9876e4f263fc6bbae796d97848ef99b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Currently, deploying Fuel@OPNFV requires the `ci/deploy.sh` to be ran
as root user, for:
- hypervisor access (virsh);
- installing prerequisite packages;
We can support non-root deploys if we relax above restriction into:
- current user should have hypervisor access beforehand
(new check added);
- current user has passwordless sudo rights, for installing packages;
Later, we should move the package installation out of the deploy
script (`ci/deploy.sh`), making the whole deploy possible without
sudo, only hypervisor access.
After this change, the old way (sudo ci/deploy.sh) should work just
like it used to before, so no regression/behavior change should be
introduced with this.
Change-Id: Ib2ea96aa7b6d67ba0606318407a8adeb51e6969d
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.
Unlike UCA, main Ubuntu archive is split based on target arch, the
main archive.ubuntu.com holding only x86 packages, while the other
archs are hosted on ports.ubuntu.com.
This leads to adding (only) x86-specific repositories to our AArch64
UCA image.
Mitigate this by ommiting "system.linux.system.repo.ubuntu" from the
opendaylight pillar, leaving the default UCA repos in place.
Change-Id: Ia7033bcb544d8752d5557bbabc92c92c5008b00c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Dumb terminals (which do not support colors), like "vt220",
make `tput setaf` return with an error code, hence bypassing the
actual print.
Change-Id: Id838583beb30a810aec478ed80d452c6f3203e0f
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>
|
|
Change-Id: I280d540b461341e14de654186016248eba4d3521
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- disable false-positive shellcheck errors;
- fix obsolete backtick usage;
- move obsolete arguments to separate section;
- add color-enabled "notify" macro for warn/err messages;
- remove obsolete code intended for old Fuel;
- fix quoting and double-quoting shellcheck warnings;
- minor code changes for better readability;
- remove "no healthcheck" flag (obsolete);
- add mandantory arguments validation;
Change-Id: I991836adc8d76466f2b83b1e472bb9ef6989fff3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I20d6dedeaa31f7986eaa35be49c5388c3fdb4b83
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
virsh defaults to using "host-model" instead of "host-passthrough",
which not only might lead to a small performance hit on x86, it is
also causing compatibility issues with libvirt 3.x.
Address this by explicitly requesting "host-passthrough" as the
CPU model for virt-install.
Change-Id: Ia7c5e8ff906c02fed2193c268cbb3594c5607bc6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Id7603aa581e4ccdddad1cf93f9434fe95c047800
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: If964d36ad4f0cb6f1b2caf8544d4e35487f59c6c
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: I8a3be1764de136e2ecf81f964233483be5d6655a
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Latest saltstack repository recently pushed a new version of
"salt-api" which breaks compatibility with current Fuel@OPNFV code.
For now, let's pin saltstack repo to the most recent stable version.
Change-Id: I2a7e11d4fb50a8c62220f3f29ded5955fa69aef0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Pass `--nvram` to `virsh undefine`, so guest VMs booted using
UEFI (OVMF on x86 or AAVMF on AArch64) can be destroyed.
This does not affect VMs without UEFI.
While at it, fix logical error in previous commit adding support
for cleaning up stopped VMs.
Change-Id: I44c20566469f29a8683d81e3641c69da572ccd4e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
In case the cfg01 & co. VMs are in "shut off" state, `virsh --name`
will ommit them, which leads to `cleanup_vms` leaving behind stale
VMs. Add `--all` arg to list all VMs, including stopped ones.
Change-Id: Ia550a10eb0b40138f87ade709336c2871a8b1cd8
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
See https://build.opnfv.org/ci/job/fuel-deploy-zte-pod1-daily-master/456/console
In lib.sh, generate_ssh_key() assumes that "jenkins" is
the current user name. But on zte-pod1, the ci user name
isn't jenkins. It is better to use $USER replaced "jenkins".
JIRA:FUEL-273
Change-Id: I6ec6847eccd055b8b4062dd202f8f0a24ba6dd73
Signed-off-by: zhihui wu <wu.zhihui1@zte.com.cn>
|
|
|
|
Change-Id: I2f6b136efebfee95a9a192c40afb88d20bbacef0
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|