summaryrefslogtreecommitdiffstats
path: root/mcp
AgeCommit message (Collapse)AuthorFilesLines
2017-10-15Add license headers where missingAlexandru Avadanii165-28/+1167
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> (cherry picked from commit 644e5fdfa2f49b988a5150e2a4eefc12daecd845)
2017-10-15reclass: baremetal: Factor out common codeAlexandru Avadanii55-3343/+1218
While at it, add .yamllint file (copied from releng repo). Change-Id: I39630c0043fe2fd601510969c401e6cc9efbf69a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit a75af3d4c30af050dd15c0f875142f6328874fe4)
2017-10-14Drop infinite loops in favor of finite wait_forAlexandru Avadanii7-12/+18
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> (cherry picked from commit 089585ad5370109d4c2a476b94b0017153d7713d)
2017-10-14states: Split virtual_control_plane from maasAlexandru Avadanii7-60/+71
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> (cherry picked from commit ebd7067904b36ae32566da63e433365948a1f973)
2017-10-13patch.sh: Exit on patch apply failureAlexandru Avadanii2-3/+5
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> (cherry picked from commit bd0259e7bb5f045a1ba7958d79039848d062aad1)
2017-10-11reclass: Fix all remaining yamllint warningAlexandru Avadanii2-3/+3
Change-Id: I1e0e1ba291dd4d5af578d89274f3655ee784f64e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit c11eb920a3570ed22b252bbb8eecfb5231f5db1a)
2017-10-11Fix parametrized nic name variablesGuillermo Herrero17-51/+42
-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> (cherry picked from commit c8d0c5b687f5eec9db62171fdf53053f5ffeef28)
2017-10-11yamllint: Fix recently introduced errorsAlexandru Avadanii5-8/+8
Change-Id: If117588f7c43306959d29032b1d5eeb3c751dc44 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 8401f25a520843d884abb84806873baca0452ec8)
2017-10-11reclass: Revert virt.nic to hardcoded eth{0,1}Alexandru Avadanii3-6/+6
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> (cherry picked from commit db2144a7f6ed8586bbab39fdb5ea15b171388e85)
2017-10-11Parametrized network config: nic device namesGuillermo Herrero39-100/+143
Change-Id: I94d40529261f7753ec47a0c6a8c67ecc0fb15951 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com> (cherry picked from commit 5ab45d25c8fd3e5528c411e09b105699c745457f)
2017-10-06Update opendaylight version to nitrogenMichael Polenchuk8-60/+127
* 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> (cherry picked from commit fca7d22742df82fc6e502b17ad45ebc11c0ba89b)
2017-10-06[virtual] Extend cinder volume sizeMichael Polenchuk1-1/+1
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> (cherry picked from commit 2d95dee51177e66f5370b85115c2999925b13657)
2017-10-05log.sh: Fix sourcing of globals.shAlexandru Avadanii1-2/+2
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> (cherry picked from commit 9ac845bdfb5c4ec7fd8c0b0ba1bc8fec867be5aa)
2017-10-05ci/deploy.sh: Move global vars to separate fileAlexandru Avadanii2-0/+23
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> (cherry picked from commit 45b22fab76f84cdbf71a6693dc42f24edaa4334e)
2017-10-04Identify jump host bridges based on IDF / PDF netsAlexandru Avadanii10-27/+61
- 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> (cherry picked from commit 8ec927497b7ee0fd3b7346e957878173b080ef6a)
2017-10-04[ovs/dpdk] Add missing rootwrap sudoers policyMichael Polenchuk1-0/+1
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> (cherry picked from commit a05f8d2682f2449d7d10e52038c56a0af6357def)
2017-10-03Apply neutron formula patch after formula updateMichael Polenchuk3-1/+2
Change-Id: I8dba3676adc8cc49731d91db7cc028a9c5b1627d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 952b5cc60febe14df428f92280448327572d5c24)
2017-10-02salt.sh: Stick to older salt-formula-neutronAlexandru Avadanii1-0/+4
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> (cherry picked from commit f2b1d6cfe31a451b0608b9a2aadead2dcf4cfabb)
2017-10-02Align salt version & reposMichael Polenchuk33-33/+3
Change-Id: If7cb8473f5c290d1d5f22fce5567f7b8da24fd9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 0c00f813d709fd1b65e5dd52abcf16fd81b3d0e1)
2017-10-02[virtual] Reset mtu for compute management bridgeMichael Polenchuk1-1/+0
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> (cherry picked from commit b45f3e15ac5581c1e8c44d0a7a1424a1d092834e)
2017-09-29pharos git submodule: Bump for latest PDF adapterAlexandru Avadanii1-0/+0
Change-Id: I658c1dfeb369adf74038abd0ce1b593d40303527 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 5ad2e311bbc1326493386aeee4d87a9091337adf)
2017-09-29Merge "lib.sh: Use host bridge in favor of virsh network" into stable/euphratesAlexandru Avadanii1-4/+5
2017-09-29Merge "PDF parsing support" into stable/euphratesAlexandru Avadanii6-96/+329
2017-09-28MaaS: Fix missing service.maas.cluster.single incAlexandru Avadanii3-0/+3
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> (cherry picked from commit 4b2dfa552656def5f56a48229705e79c5c7bcfca)
2017-09-27PDF parsing supportAlexandru Avadanii6-96/+329
- 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> (cherry picked from commit 36e4b9754dedef27637c09b510829f686bd469e4)
2017-09-27Merge "Change vlan tag of lf-pod private network" into stable/euphratesAlexandru Avadanii1-1/+1
2017-09-27Merge "Extended PDF support to all baremetal scenarios" into stable/euphratesAlexandru Avadanii13-179/+175
2017-09-27lib.sh: Use host bridge in favor of virsh networkAlexandru Avadanii1-4/+5
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> (cherry picked from commit 96cccf2b507949978c1b37c65961a5182ffbbbfd)
2017-09-27Change vlan tag of lf-pod private networkMichael Polenchuk1-1/+1
Change-Id: I66f5b4ac4ab58d3dbc983b0e1bed359a58602dba Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 0e8c582713d70e00975e9a002898bc5cce66eee4)
2017-09-27[virtual] Switch compute nodes to uca repoMichael Polenchuk4-18/+13
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> (cherry picked from commit c76d5e92d9e6cdfc614be4a1ed7b9e630c711008)
2017-09-26Extended PDF support to all baremetal scenariosGuillermo Herrero13-179/+175
JIRA: FUEL-275 Change-Id: I67e8d7ab95e35c78a4f960a12733124fe7bffaec Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com> (cherry picked from commit 809ea60a05f55d98814f8794a46540edcd2b0298)
2017-09-26Merge "Run packages upgrade on openstack nodes only" into stable/euphratesAlexandru Avadanii2-4/+3
2017-09-26Run packages upgrade on openstack nodes onlyMichael Polenchuk2-4/+3
Change-Id: I53ac0be519df1bb39a6a56e236285fce95228bd4 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit c15004f402555df4886b18bba9a837288c6ef250)
2017-09-26states: maas: Dynamic node count in stop conditionMichael Polenchuk1-1/+4
Change-Id: I7fe8d0c77a1d62e2214fb1089651a639303dd20e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit ed3404128c71d145ed2c697b6b15ea6d016c7550)
2017-09-26Fix or silence all yamllint warningsAlexandru Avadanii100-1170/+1288
Change-Id: Iface28ab770beee00374afb902ef4f9c983538f5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 597e4b55f57001ead8e90f30e2e3211c7d705ca8)
2017-09-25patches: Fix context for linux/map.jinjaAlexandru Avadanii1-2/+1
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> (cherry picked from commit ec3604c1a30981ad7e9d3a9ea82f61391c1266cf)
2017-09-23Workaround VCP minions timeout post pkg.upgradeAlexandru Avadanii1-2/+4
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> (cherry picked from commit a6feb158fa5bc16b8d496c785c461c73ca715322)
2017-09-23MaaS: Reduce C/D timeouts, minor fixesAlexandru Avadanii4-3/+50
- 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> (cherry picked from commit 01e94712d75c0a1cf7585f0ed380dd9a3967274e)
2017-09-23reclass: Drop MaaS public IP and interfaceAlexandru Avadanii8-34/+2
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> (cherry picked from commit ee4d89f2803085bdd4a7f3b365e40ec9366c25a9)
2017-09-23reclass: pod_config: Revert MaaS IPs to .3Alexandru Avadanii1-3/+3
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> (cherry picked from commit 187d1c87dfcc86a6b36dfca2c061144dab35bd4d)
2017-09-23Merge "Pod Descriptor File compatible reclass structure" into stable/euphratesAlexandru Avadanii13-114/+206
2017-09-23Merge "states: maas: Add 30s delay in re-deploy attempt" into stable/euphratesAlexandru Avadanii1-0/+2
2017-09-22states: maas: Add 30s delay in re-deploy attemptAlexandru Avadanii1-0/+2
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> (cherry picked from commit 39ffab99ad34ff45c0ed8be5a8172106e6a819a5)
2017-09-22Adjust memory allocation sizeMichael Polenchuk12-9/+42
* [baremetal] add memory to contollers & salt master * tune up sysctl vm.dirty* for compute nodes * upgrade packages to get the latest versions (https://bugs.launchpad.net/cinder/+bug/1641312) Change-Id: I9ad22206f2f3f11e1da3f93c7a0931c592adf1cf Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 87310fb8edfe49b9621fe4410ae52d989072e3c5)
2017-09-22Pod Descriptor File compatible reclass structureGuillermo Herrero13-114/+206
Implementation for baremetal-mcp-ocata-ovs-ha scenario JIRA: FUEL-275 Change-Id: Id6ab5697f993ac9faa019c3c10ba4ed4b7b6db01 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com> (cherry picked from commit 5c0a09fbd0f377df56bfcfe94b262225a34f98ff)
2017-09-22[virtual] Alter haproxy entry type of odl rest apiMichael Polenchuk1-3/+3
Change-Id: Iedb9a57f7ed4b7483bf629225fb2f3470e7de97e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 80024618fbda8422ba758d667073ad07c6f69542)
2017-09-15[ovs/dpdk] Fix location of libvirtd configMichael Polenchuk2-0/+2
Change-Id: If2e3736af02bb0ca53667116377f2fed4385b048 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-14Merge "Tune up mysql options"Alexandru Avadanii4-0/+13
2017-09-14[baremetal] Switch from 1Gb to 2Mb hugepagesMichael Polenchuk1-3/+3
Employ 2Mb hugepages for physical computes as well since functest suite uses less than 1Gb memory flavors. Change-Id: I7e96dd73df7d9e7274247b4faba15ee9bd362e40 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-14Tune up mysql optionsMichael Polenchuk4-0/+13
Change-Id: Ib4d787c45434243d0dc29d517a73224cf4f9d1c1 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>