Age | Commit message (Collapse) | Author | Files | Lines |
|
- 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>
|
|
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>
|
|
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>
|
|
JIRA: FUEL-404
Change-Id: I12acc90cdb17ecc090a993e1be41d13ad81dbb9d
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>
|
|
Change-Id: I9c5c6cf564245d497d5916cc7f902ac277105bc6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I84a4789ff2155d7c14f9ffd9bfe54c5bca7a0d4f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- noha: 'accept_policy: open_mode' to align with ha scenarios;
- s/cmp01/cmp001/g to align all scenarios and allow code reuse;
- rename network params: s/dhcp/mcpcontrol/g, cleanup;
- computes XDF data: drop 'opnfv_*' layer of params, cleanup;
- local vPDF: add comments with default roles by node index;
- parameterize all netmasks;
- drop unused address/netmask for 'proto: manual' interfaces;
- virsh_net: cleanup definitions, remove hardcodes, align IP on
jumpserver and DHCP range with MaaS for pxebr;
- maas: parameterize hardcoded '/24' cidr for PXE/admin, refactor
maas.region.machines parameterization;
- merge <all-mcp-arch-common/infra/config_*pdf.yaml.j2> templates;
- move reclass.storage definitions of compute nodes to common dir;
- drop 'openstack_compute_*' reclass params in favor of expanding
them via j2 directly in reclass.storage params;
- adopt `nm.cluster.has_*_nodes` where possible;
- obsolete `runtime.yml` from reclass model;
- refactor arch-specific reclass param selection;
- remove unused defaults in favor of mandatory IDF properties;
- noha: prepare for baremetal node support in cinder_lvm_devices;
- interfaces: add interface_mtu and 'noifupdown: true' everywhere;
- interfaces: use j2 macros to generate eth/vlan config;
- states cleanup: remove DHCP route disable workaround on prx/cmp;
- allow configuring NTP servers via:
`idf.fuel.network.ntp_strata_host{1,2}`;
- ovs_bridge: Allow setting gateway, dns-nameservers
- apache: Adjust module list for novcp class inheritance;
- glusterfs PPA: pin with same prio of MCP repos for novcp scenario;
JIRA: FUEL-319
JIRA: FUEL-326
JIRA: FUEL-337
Change-Id: Ia6ad64ba8cade85a75fb22c9a2505decc3834360
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
JIRA: FUEL-358
Change-Id: I8dc89676aa777068d1a13168bf7b7d7156903c03
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Similar to cmp, when route already exists, networking service fails
to start on 'nginx:server' slaves ('kvm' in novcp case).
JIRA: FUEL-349
Change-Id: I2dc83ea78528533e92c9b9125e78b6e4387bdfe2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous commit replacing explicit loops with `wait_for` failed to
properly escape a nested variable, leading to deploy failure.
Also, the logic was flawed, not breaking for offline nodes, rendering
the whole barrier check useless.
Fixes: 1a0e8e7e
Change-Id: I038dbf90fb53c6b61da2e5c9b6867e31d78867af
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I7b583c354843f0116a65b3a31f3be4589087b8a5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
On rare occassions, one or more minions might fail to respond in due
time, so catch 'no reponse' using `wait_for`.
Change-Id: I8e6b0dc44a39e79c2874ff9a657e152620ba3f13
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Instead of defining a http proxy for all salt-minion traffic, which
also includes some Openstack API accesses we can't filter (no_proxy
is not yet supported), add & leverage support for proxy configuration
during APT keyserver access / key download.
JIRA: FUEL-331
Change-Id: I9470807633596c610cfafb141b139ddda2ff096b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
wait_for function should be able to also check for minions that did
not return or not respond, in addition to the return code.
To keep it backwards compatible, condition the new check on the max
attempt number being specified in decimal format (e.g. '10.0' unlike
old '10').
Change-Id: If2512cf9121cdd795638efe7362ef0485d4e8d91
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Instead of using NAT on the mas01 node for all cluster node outgoing
traffic, use the MaaS built-in proxy for APT traffic to leverage its
caching capabilities too.
Also enable the proxy for salt minions, so they can access public
keyservers et al.
Cleanup public DNS from kvm nodes, interferes with MaaS proxy.
Add example config for global env proxy, but don't enable it:
- default environment settings - /etc/environment (via reclass);
The MaaS proxy will not be used (at least for now) on nodes:
- cfg01;
- mas01;
NOTE: We can't yet drop the maas.pxe_nat state completely, as certain
Openstack services are still accessed via public addresses from ctl
nodes.
JIRA: FUEL-317
JIRA: FUEL-318
Change-Id: I6c5f6872bb94afb838580571080e808bc262fc68
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Salt minion could return 'no response' and cause an
unconfigured state of the vcp node(s), so catch this output after linux
state as well. Also clean up excess route on proxy nodes.
Change-Id: I3183fa09ff41a8f027ee789869bdae0c3962ab8f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Now that libvirt 3.6 is used on kvm nodes (via UCA repos), which
by default uses "libvirt" group for socket ownership,
change old "libvirtd" in salt-formula-libvirt's:
- libvirt/files/libvirtd.conf.Debian
This allows us to remove the manual group creation from VCP state
file, which was not re-entrant (failed if group already existed).
Change-Id: Id61fecd82daec1c0716ff4796b79dce47d096c3a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* align dpdk packages list
* add missing libvirtd group to vcp host nodes
Change-Id: Ideab2b16ca0561035b225e58bf3d0c5653d303bb
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
* up glusterfs.client state before actual volume usage
* handle keystone server state
* specify suitable nova packages list for uca repo
(consoleproxy vs novncproxy)
* upgrade vcp nodes to get proper cryptography
library for keystone
* align service names for libvirt & glusterfs
Change-Id: Iaeb7d147e6d407bbeaec2d40fd81037c939c3fe0
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
To align with new cluster naming convention, rename 'openstack'
state file to 'openstack_noha'.
While at it, factor out baremetal setup from 'virtual_control_plane'
into a new state that will be reused in upcoming scenarios, remove
useless sync_all (automatically done after node reboot).
FUEL-310
Change-Id: I6d7e5db8f09305f2fd8eeca0199a2e85b08d2202
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Although we add default routes via public network and disable
DHCP client from setting new routes, until we reboot the prx* nodes
we still have the stale route originally set at initial boot.
Change-Id: Ib8e5fb67c7da00684e0ac21984fc4661d3820d83
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
NOTE: In order to undefine VCP VMs with NVRAM (e.g. AArch64 VMs
using AAVMF), an additional parameter should be passed to libvirt
by Salt virt core module (equivalent to `virsh undefine --nvram`).
While at it, pass CI_DEBUG, ERASE_ENV enviroment variables to
state execution, and stop force-applying patches.
Also refactor the rsync between foundation node and Salt master,
so the whole git repo is copied as </root/opnfv>, and <root/fuel>
becomes a link to it; useful for Armband, where 'fuel' is a git
submodule. Fix .git paths after rsync, so git submodules work as
expected in cfg01 repos.
JIRA: FUEL-307
Change-Id: Ic62f03e786581c019168c50ccc50107238021d7f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- prx: add route for public traffic to public interface
- prx: add route towards salt master through maas
- remove dashboard class from proxy node (already implements horizon)
- remove dashboard (and benchmark) class definitions (no longer used)
- (temporary) backport Pharos change for adapter template
JIRA: FUEL-305
Change-Id: Ia14a18ac0123c1134d8d99dc43da9a1f770001d0
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
JIRA: FUEL-301
Change-Id: Id6b2b423b8045c581fa5c02133cf91702d9915c9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ic81507f3f7b3fec593b507e0c534434e8489b01b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
JIRA: FUEL-301
Change-Id: I9de98fb961fd1d480b45a774de61ad6a93e9addf
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Since VMs are not affected by this limitation, only apply the fixup
to baremetal nodes.
JIRA: FUEL-299
Change-Id: Ib94c481627538d900295df03b8c8fdc7b61cd718
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I95c284cbf374194694360bffbeaf6770db6111bf
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I7a21c30d49aecca948f45535fec164c2f643450e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
The recent addition of `linux.system`, combined with `system.reboot`
for the baremetal compute nodes leaves compute nodes unconfigured
after reboot.
Run `system.network` too, but expect a failure (only for DPDK, which
requires hugepages to be already active, hence a prior reboot).
Fixes: 64920b8
Change-Id: I8c73b24ae15e1f87dee64ae2aba7af86db1e942f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
DPDK scenario requires hugepages to be set up and enabled before
configuring OVS ports, so apply `linux.system` on compute nodes
and reboot them before attempting to run `linux.network` state.
Change-Id: I2b685361b07727a4740a3676c5f219a6443d1cf2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
While applying scenario states, break on error, and retry failed
state up to 5 times. Apply the same behavior for `salt.sh`.
Add new deploy parameter, '-D', backed up by 'CI_DEBUG' env var,
which gates deploy sh scripts logging (set -x).
Also extend '-f' deploy parameter, allowing it to be specified
more than once; the first occurence will skip infra VM creation,
but still sync reclass & other config from local repo, while a
second occurence will also disable config sync.
To prevent glusterfs client state from failing due to non-existent
nova user/group, move it after nova:compute's nova state is applied.
Change-Id: I234e126e16be0e133d878957bd88fed946955de8
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
While at it, compact 'set' into bash shebang where possible and
add `make patches-copyright` target to simplify adding patch
license headers.
Change-Id: I0c841de72e5709e5eef915a52c5ec4a7fc0f7c37
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
While at it, fix some shellcheck warnings, and s/fgrep/grep -F/g.
Change-Id: I093b7b4c196731b1ecc0c27a4111955b2e412762
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
We should eventually also support baremetal deploys without a
virtualized control plane (VCP), so decouple MaaS provisioning
from VCP provisioning.
While at it, move "wait_for" bash function from maas state to
common library file, lib.sh.
Change-Id: I32c33135655cb6aceae901a5f92b51265a8c84b4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|