Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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>
|
|
linux.network state is expected to be down until node reboot
to activate required hugepages therefore return true in any case.
Change-Id: I61deac12b9ac212c5f79cdcce30cda8e5d24413b
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, add .yamllint file (copied from releng repo).
Change-Id: I39630c0043fe2fd601510969c401e6cc9efbf69a
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>
|
|
Patches that fail to apply are silently skipped. Since retrying is
not possible, deploy moves on, making the problem hard to observe.
Change-Id: I3fe01cef6b245de53767a660b9b4fdfae0d5d0ff
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I1e0e1ba291dd4d5af578d89274f3655ee784f64e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
-Fix interface order for reclass config node
-Interface types regruped on 3 sets for each cpu arch
-Foundation VM interface names
-VCP VM interface names
-Baremetal node interface names
Change-Id: I1ae522d775ee538b35b0f043914c80c3993232fc
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
Change-Id: If117588f7c43306959d29032b1d5eeb3c751dc44
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Salt's virtualization model for virt:nic:default does not use real
interface names that are present on the node, but instead it defaults
to using "ethX" notation, that name being only a convention inside
Salt internals.
Moreover, the 'salt.control.virt' reclass class (located in
/srv/salt/reclass/classes/system/salt/control) already provides a
defalt maping between "eth{0,1}" and "br{0,1}". Using anything
different than "eth{0,1}" will lead to 2 extra (broken) mappings.
Reverting the changes in "virt:nic" reclass fixes both the python
exception recently introduced, as well as the broken defaults.
Change-Id: I5c90e3d2bc181c1ad3d87af64440439e6a41fb28
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>
|
|
Change-Id: I94d40529261f7753ec47a0c6a8c67ecc0fb15951
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
Rally test of NovaServers.boot_server_attach_created_volume_and_live_migrate
requires 10Gb volume to function, so extend volume group size in order to
avoid insufficient free space error.
Change-Id: I317935d2bf736db360061e24f299c9b885154a9e
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Fix sourcing of globals.sh from log.sh when running with a CWD
different from scripts dir.
Change-Id: I680531022d30b57f650a612493f40fdb3e073dc2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.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>
|
|
log.sh should also work as standalone script, so factor out
global variables from <ci/deploy.sh> into <mcp/scripts/globals.sh>,
which should be sourced by log.sh when required variables are not set.
Change-Id: I5a5bb85ee5835f567d6910b11c137d95e2147714
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.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: I8dba3676adc8cc49731d91db7cc028a9c5b1627d
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Recent changes to salt-formula-neutron, more precisely [1], broke the
compatibility with our current reclass model [2], which was not
updated to reflect the formula change.
Instead of locally patching the reclass model, install the latest
compatible version of the Neutron formula:
- 2016.12.1+201709251458.f0607d9-1xenial1;
[1] https://github.com/salt-formulas/salt-formula-neutron/commit/
79ffa26858d682f404984175dc1ab93863a149ad
[2] https://github.com/Mirantis/reclass-system-salt-model
Change-Id: Ia1bc9de9a1543f7888688be76ff3513e6b4f062b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: If7cb8473f5c290d1d5f22fce5567f7b8da24fd9f
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Use default mtu for br-mgmt in order to resolve the live
migration failure (cannot recv data: connection timed out)
Change-Id: I9cee453d87f849e29fc877fff237f8e604f2df53
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Upstream change [1] made the inclusion of service.maas.cluster.single
mandatory by using some default reclass definitions which we don't
override explicitly.
[1] https://github.com/salt-formulas/salt-formula-maas/commit/
ce118a238bae4bcf19d2f10bca591a40405f7c3c
Change-Id: I5746b6906b341a7257e0cd2b4b0bed8ea25840f4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I658c1dfeb369adf74038abd0ce1b593d40303527
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.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>
|
|
Change-Id: I66f5b4ac4ab58d3dbc983b0e1bed359a58602dba
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
If a linux bridge already exists on the jump host, with the same
name as the value passed via `-B` or the default, use it instead
of trying to create a virsh network.
Change-Id: If7f0753ec366d429ff101c2b37dd68f895903404
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>
|
|
JIRA: FUEL-275
Change-Id: I67e8d7ab95e35c78a4f960a12733124fe7bffaec
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
linux/map.jinja was changed upstream, so our patch (silently)
failed to apply. Adjust the patch context accordingly.
Change-Id: I3493d1926df1303ed823d7ca5dd8282578617f3c
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.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>
|
|
|
|
- add new patch for maas.region, extending it poorly with a timeout
override mechanism; the new comissioning/deploying timeout defaults
(10/15min) will be used instead of MaaS defaults (20/40min), unless
reclass params are defined with different values;
- add 30s delay between 'machine mark-broken' and 'machine mark-fixed'
MaaS cli commands (fixes a rare race condition);
- fix forgotten replace in 'maas.pxe_route': s/opnfv_fuel_/opnfv_/g;
Change-Id: I71c562b80031bac2793dd470d52928c2d62e5300
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.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>
|
|
MaaS node does not need to be exposed to the public network; instead
the management IP should be enough to access the MaaS dashboard.
So, drop 'infra_maas_node01_external_address' reclass param, together
with its OPNFV PDF param, 'opnfv_infra_maas_node01_external_address'.
This allows us to move compute public IPs back to .{2,3} instead of
.{101,102}, where we moved them during 'pod_config.yml' addition.
While at it, fix a minor duplicate 'name' param for 'br-mgmt' bridge
on kvm nodes.
Change-Id: Ie9fcf5924d7aa37b666f42c968687d73b51a8278
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
PDF compatible reclass support moved the MaaS IPs from .2 to .3.
However, the runtime template was not updated accordingly, leading
to mismatches between IP addresses. Until all scenarios support
pod_config, we can't apply the IP change correctly, so revert it.
Change-Id: I34e42ec06dd9fd4f69bd7c91dbe068a4f83b3e62
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>
|