summaryrefslogtreecommitdiffstats
path: root/mcp/patches
AgeCommit message (Collapse)AuthorFilesLines
2017-10-15states: Break on error, retry states up to 5 timesAlexandru Avadanii1-3/+7
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>
2017-10-14Add license headers where missingAlexandru Avadanii18-0/+154
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>
2017-10-13patch.sh: Exit on patch apply failureAlexandru Avadanii1-2/+3
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>
2017-10-06Update opendaylight version to nitrogenMichael Polenchuk2-29/+30
* 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>
2017-10-04Merge "Identify jump host bridges based on IDF / PDF nets"Alexandru Avadanii1-0/+27
2017-10-03Identify jump host bridges based on IDF / PDF netsAlexandru Avadanii1-0/+27
- 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>
2017-10-03Apply neutron formula patch after formula updateMichael Polenchuk2-1/+1
Change-Id: I8dba3676adc8cc49731d91db7cc028a9c5b1627d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-26patches: 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>
2017-09-23MaaS: Reduce C/D timeouts, minor fixesAlexandru Avadanii2-0/+47
- 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>
2017-09-12reclass, states: Parametrize runtime configurationAlexandru Avadanii1-1/+9
mcpcontrol virsh network, as well as MaaS PXE network are installer specific, and not POD specific. Therefore, these should be easily parametrized without the PDF, using only installer inputs (e.g. env vars passed via Jenkins). - add new <all-mcp-ocata-common.opnfv.runtime> reclass class; - parametrize at runtime new reclass class based on global vars; - factor out MaaS deploy address / config using new mechanism; - parametrize at runtime virsh network definitions based on template; - add new "maas.pxe_route" sls for configuring routing on cfg01; - replace env vars with the new sls in "maas" state; NOTE: baremetal parametrization will be handled later. Change-Id: Ifd61143d818fb088b3f4395388ba769bbc49156e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-11README files: Convert from markdown to RSTAlexandru Avadanii1-56/+94
Change-Id: I176f583e8adb7ba717932de7c27283f696ded548 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-11Merge "Add & fix licensing in README.rst files, align ext"Alexandru Avadanii1-0/+4
2017-09-11Add & fix licensing in README.rst files, align extAlexandru Avadanii1-0/+4
Rename all variations of README files to README.rst. Fix license headers according to OPNFV Contribution Guidelines [1]. Markdown syntax will be switched to rst in an ulterior change. [1] https://wiki.opnfv.org/display/DEV/Contribution+Guidelines Change-Id: I2c71fd62b38f218545507c79c39e07dbd35f7c88 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-08bash scripts: Fix remaining shellcheck warn/errsAlexandru Avadanii1-1/+1
Fix/silence all shellcheck errors, except for scripts in <prototypes/sfc_tacker>. Change-Id: Idc317cdba0f69b78299f2d3665e72ffc19dd8af5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-05patches: deepclean: Locate toplevel for submodulesAlexandru Avadanii1-1/+1
Change-Id: Ibcc4364a57d888773fcb466f603c2046e1a4a2e3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-04patches/scripts: Fix whitespace in contextAlexandru Avadanii1-3/+3
git option '--ignore-whitespace' has issues, at least on certain versions of git, like 2.7.4. Work around it by adding the trailing whitespace we previously removed in patch context lines. Change-Id: Id192a87ec92c798fa808bb8ef38384160ee3faf5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-04Merge "salt.sh, user-data: Add Saltstack arm64 repo"Alexandru Avadanii2-1/+52
2017-09-04Locate toplevel for git submodule [2]Michael Polenchuk1-1/+1
Change-Id: I0c719ec4cfd3d0a526fd6913358cc80c5a599985 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-04submodules: Disable remote trackingAlexandru Avadanii1-1/+1
Stop following remote master HEAD refs for git submodules. This should fix recent deploy failures caused by upstream changes in salt-formulas-scripts repo. Change-Id: I32b422f2dd7d31d51c65f1cd0101111e9ed2fb5e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-01salt.sh, user-data: Add Saltstack arm64 repoAlexandru Avadanii2-1/+52
These changes will only be applied on AArch64, based on `uname -m`. While at it, add arm64 suppport to salt-master-setup.sh. Upstream commit [1] broke Salt bootstrap on AArch64, by introducing an architecture condition that is too strict to allow Debian package installation (even if we provide our own repo). Add "arm64" to the list of supported architectures. This needs to be done on the fly, as the bootstrap script is fetched using `curl` from <salt-master-setup.sh>. [1] https://github.com/saltstack/salt-bootstrap/commit/caa6d7d Change-Id: Id706a74a52ffe2f8b8c9dd3b9f70c78f35b2f745 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-30patches: seedng: Fix arg order for salt-bootstrapAlexandru Avadanii1-1/+1
JIRA: FUEL-282 Change-Id: I8ba64024c884e2f805d4cda670333ac787fac25c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-29patches: seedng: module: Sync salt versionAlexandru Avadanii2-0/+27
JIRA: FUEL-282 Change-Id: I6c86ce0b1113ca674b1756e7997559eee90a4e5f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-28Sync os cacert from proxy to salt masterMichael Polenchuk2-0/+19
JIRA: FUEL-274 Change-Id: I2c8161b24cb18a0d1f9dc6fd509ce18af7ea8cf5 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-23Locate toplevel for git submoduleMichael Polenchuk1-2/+2
Prior to git 1.8.4 the current working dir has to be at top-level to run git submodule update. Change-Id: I4d6c052364863f965e8140e56af17c09ee39ed59 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-21maas: Break infinite loops into finite retriesAlexandru Avadanii1-4/+31
While at it, move the bash commands to a separate script file. Change-Id: Ib78b5b7f7083ed866e5d42e8340df7b27198f276 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-19patches: Add missing patch metadata lineAlexandru Avadanii1-0/+1
Change-Id: I35735c0d35c6004c546a704cee3d6d94ce077225 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-19MaaS: Add support for dynamic fabric numberingAlexandru Avadanii5-30/+132
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>
2017-08-18maas.region: Add port to all MaaS API URLsAlexandru Avadanii3-3/+3
Change-Id: I6ecc81cc6faf45f33882666b9f537a3e42ad379e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-18maas.region: Add missing port to maas_urlAlexandru Avadanii1-1/+1
Change-Id: Iae9991f9148ac518696f9f8b57b5a8ca9dded730 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-18linux.network: Fix noifupdown in linux/map.jinjaAlexandru Avadanii1-1/+1
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>
2017-08-17patches: linux.system.single fixed upstreamAlexandru Avadanii1-26/+0
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>
2017-08-17Bring in baremetal supportAlexandru Avadanii6-2/+119
- 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>
2017-08-10maas: region: credentials workaround, force syncAlexandru Avadanii4-1/+72
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>
2017-08-01salt.sh: Drop upstream clone in favor of local gitAlexandru Avadanii5-1/+255
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>
2017-07-31mcp/scripts: shellcheck cleanupAlexandru Avadanii1-2/+3
Change-Id: I280d540b461341e14de654186016248eba4d3521 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-07-31Bring in opendaylight L3/router scenarioMichael Polenchuk2-10/+60
Change-Id: I8a3be1764de136e2ecf81f964233483be5d6655a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-07-12Apply reclass patches before salt master initMichael Polenchuk4-33/+23
Change-Id: I7bb984880e98b7bdec9aa0b3895a3be9fd75cac0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-07-11Apply upstream patchesMichael Polenchuk4-0/+207
For opendaylight support: * neutron formula * reclass system model Plus missing apply of haproxy state. Change-Id: Ic9e3672b51d5331656d636c44c3f891e49437e23 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>