Age | Commit message (Collapse) | Author | Files | Lines |
|
Extend <lib.sh> and its invocation from <ci.deploy.sh> with
support for modifying foundation node VMs base image prior to
using it with:
- additional APT GPG keys;
- additional APT repos;
- packages to pre-install;
- packages to pre-remove;
- (non-configurable) cloud init datasource via NoCloud only,
so VCP VMs won't wait for metadata service;
While at it, re-use the resulting image as a base for another
round of pre-patching (same operations as above are supported)
to provide a base image for VCP VMs.
Add AArch64-specific configuration based on new mechanisms:
- pre-install linux-image-generic-hwe-16.04-edge (and headers)
for foundation node and VCP (common) image (also requires new
repo and its key);
- pre-install cloud-init for VCP image (it should already be
installed, but script needs non-empty config for VCP to create
the VCP image and transfer it over to Salt Master);
NOTE: cloud-init is required on VCP VMs for DHCP on 1st iface.
JIRA: FUEL-309
Change-Id: I7dcaf0ffd9c57009133c6d339496ec831ab14375
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
|
|
Occasionally, cinderng.volume_type_present errors with:
ClientException: Service Unavailable (HTTP 503)
Instead of retrying the whole state file, use `wait_for` macro
to retry only this high state up to 5 times.
Change-Id: Ib9ef017aca737e53c853007c13107d56d856c016
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Upstream fixed the salt-formula-horizon in commit 95387ec, by
defining 8078 (and only that) port in Apache's ports.conf.
This fixes the port 80 overlap, so running the `apache` high state
after the `horizon` high state not only is unnecessary now, but
also would lead to new breakage, since `apache` state would
overwrite the ports.conf (removing 8078 and adding 80), i.e.
creating a new port conflict and breaking Horizon port completely.
This reverts commit eb4645206d6d74992fca3b8726ee2eebca97205f.
Conflicts:
mcp/config/states/openstack_ha
mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/openstack_proxy.yml
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Change-Id: Iea8f0bd90ee8d12f399aad16247dda274d6a907a
|
|
Employ UCA repo on computes nodes for nosdn-nofeature-ha scenario as
well to prevent a regression (creation of ports failed for 1+n instances)
of neutron ovs agent from mcp/openstack repos.
Change-Id: Ie65ae122096c0d3a93c09d46191787a934bd7d4f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
|
|
In order to complete broken database sync run
nova state on controller one more time.
Change-Id: I761f26667ebb531b848a62e096f3d79f588d9f24
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.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-306
Change-Id: I648545890c1f7dc59176beac1a0593aed54079cb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Delia Popescu <delia.popescu@enea.com>
|
|
Generate documentation automatically using `reclass-doc`.
nginx is already configured to serve said documentation on
proxy's public VIP on port 8090.
Change-Id: If2aef646a0ec44d5cc7e9d425e565e5c0aa581b3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
JIRA: FUEL-301
Change-Id: Id6b2b423b8045c581fa5c02133cf91702d9915c9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Apache module will take care of ports.conf file to prevent
bind socket conflict between apache & nginx services.
Change-Id: Ia76ec356002e1db0dabd20d8f355a1b16fc07b30
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.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>
|
|
Change-Id: Icc30d27951abb1e231c9269c6293782a39e08fb6
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.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: Ia896c3f9fcd96dd498eef6d1f83d46e29df0cd6b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Apply aodh state in consecutive order to avoid
a race condition with database synchronization.
Change-Id: I4684fbeaaba2c9780084e0a64fe6453bccfb67e0
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
* neutron on computes (dpdk case: void state)
* mongodb server (incomplete initialization)
Change-Id: I3dd3266b5c2d1b155981f725e15742cd38ed899d
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: I95c284cbf374194694360bffbeaf6770db6111bf
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Let's add more hugepages/memory to the compute nodes since
snaps_smoke required 2Gb flavor for tests.
Change-Id: If52f30d53a6469abeca67aaf2bdee551542d1653
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.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>
|
|
After MaaS reports baremetal provisioning finished successfully,
check that all nodes are online before attempting a `sync_all`.
Change-Id: I6ba4b3e4ba5b5258ace4da8c39e0fc77354885e3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: Ib4aa3f2cb4fc7129d502b4332cd7fedd83a0e1fe
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
This change extends current PDF/IDF support with:
- dynamic interface / vlan definition;
- dynamic interface and/or bridge allocation of installer networks on
top of interfaces (physical or vlans);
This allows us to drop hardcoded interface names and vlan / bridge
configuration in favor of a runtime determined model based on PDF/IDF.
For now, we duplicate common jinja variable definitions in each
template, but this will later be moved to a common include file.
JIRA: FUEL-275
Change-Id: Ia80a66dbdf898b0bd0a4fb99d069ce9ebe33fa65
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>
|
|
In order to set properly keystone fernet keys, apply glusterfs client
state before second keystone server state. Also leave out user/group
settings for glusterfs volume of nova instances as it will be set later
by nova compute packages themselves.
Change-Id: I069e37c67f08c51ed29f45cf6f92d4a00a1ac97b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.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>
|
|
* use pseudo agentdb port binding controller instead of
the deprecated network topology one
* disable superfluous l2population mechanism driver
* tidy up the duplicated haproxy neutron listen opts
* straighten karaf features list
* update jetty config
Change-Id: Ifacf8de11eb56ab72df13a312151a510b280dea2
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
|
|
Append required sudoers rule since uca package version
of neutron has no policy for neutron-rootwrap-daemon.
Change-Id: Id8ea5b1b6aadb9eca879d72ce4d158a7bc01060e
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
- minor refactor of runtime templates parsing to allow var expansion;
- parse <pod_config.yml> into shell vars, match dynamically networks
from PDF to IP addresses on bridges of current jumphost;
- keep old '-B' parameter in <ci/deploy.sh>, use it for providing
fallback values in case there's no bridge name specified via IDF
and no IP on the jumphost for one or more of the PDF networks;
- re-enable dry-run to ease testing of the above;
- add sample 'idf-pod1.yaml' to <mcp/config/labs/local>;
The new behavior will try to determine the jump host bridge names:
1. Based on IDF mapping, if available
2. Based on PDF network matching with IP addrs on jumphost;
3. Fallback to values passed via '-B';
4. Fallback to default values hardcoded in the deploy script;
Later, we will drop MaaS network env vars in favor of PDF vars,
once the PDF template is generating them.
Change-Id: If9cd65d310c02965b2e2bfa06a0d7e0f97f1dd48
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: If7cb8473f5c290d1d5f22fce5567f7b8da24fd9f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
- add new git submodule pointing to OPNFV Pharos;
- use Pharos 'generate_config.sh' to parse the PDF using the Fuel
installer adapter and generate <pod_config.yml> dynamically;
- build <pod_config.yml> outside current git repo and sync separately
to prevent sensitive data leak;
- add <pod1.yaml> PDF sample based on LF-POD2, should be used with
'ci/deploy.sh -l local -p pod1';
Change-Id: I4e1b95f180bcd5ade5d86f516628eb8edbe64b1c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Test of snaps_health_check gets console output of instance, which is
empty (https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1667033),
therefore take affected packages of computes from UCA repo.
Change-Id: I4e13a40dd47caf305efd9f393b3c3cf5a17ef312
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
|
|
|
|
Change-Id: I53ac0be519df1bb39a6a56e236285fce95228bd4
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: Iface28ab770beee00374afb902ef4f9c983538f5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I7fe8d0c77a1d62e2214fb1089651a639303dd20e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
pkg.upgrade was enabled for all salt minions, including VCP VMs,
which take longer to perform the operation, probably due to an
older set of packages in the Ubuntu disk image we use.
One way to work around this is to switch to UCA Xenial image, and
let Salt pre-provising salt minion on it, but that adds deploy
time delay and has caused issues in the past (should be ok now).
Alternatively, we can retry the pkg.upgrade until all minions
respond, before moving on with the state execution. This prevents
silently skipping the next salt calls (e.g. installing keepalived).
Note that the issue did not manifest for OVD-DPDK, where after
pkg.upgrade, DPDK is installed, giving VCP VMs enough time to return.
While at it, retry 'salt.control' state apply too (non-critical,
but it fails every once in a while).
Fixes: 87310fb
Change-Id: I97acc2b23206a55d72f7e6583ca42127fdbacc16
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Occasionaly, MaaS fails to provision/deploy some nodes, in which
case we try marking them as broken, then fixed (to put them again
in 'ready' state); before re-attempting the MaaS deploy operation.
However, this leads to 'Error: Internal server error' when deploy
function is called right after transitioning the node to 'ready'
state.
Add a delay of 30 seconds before re-attempting the failed operation.
Change-Id: Ia9ecec67639387e4a29feab3114e1741c554a2cb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|