summaryrefslogtreecommitdiffstats
path: root/mcp
AgeCommit message (Collapse)AuthorFilesLines
2017-10-20lib.sh: Fix locals override in nested invocationsAlexandru Avadanii1-11/+14
'wait_for' bash function is nested in another 'wait_for' call in some places, which leads to inner calls interfering with outer calls by overriding the locally scoped variables, including the 'attempt' internal counter. In some cases, the outer 'wait_for' would exit after a single attempt. Fix that by running all contents of `wait_for` inside a subshell, which inherits outer calls variables, but does not override them when the inner call is finished. Change-Id: I450eda3d023af2380c61ee930071fbfc393a5645 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-19[virtual] Rise memory for ovs/dpdk scenarioMichael Polenchuk2-3/+3
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>
2017-10-19[baremetal] Remove infinite loops from node checksAlexandru Avadanii2-5/+10
Change-Id: I7a21c30d49aecca948f45535fec164c2f643450e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-19[baremetal] cmp: run linux.network before rebootAlexandru Avadanii1-0/+1
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>
2017-10-19[baremetal] maas state: Wait for all nodes onlineAlexandru Avadanii1-0/+13
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>
2017-10-19[baremetal] maas state: Retry sync_all on failureAlexandru Avadanii1-1/+1
Change-Id: Ib4aa3f2cb4fc7129d502b4332cd7fedd83a0e1fe Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-18Merge "[baremetal] PDF-based network config"Alexandru Avadanii16-159/+481
2017-10-18Horizon: service: Default to v2 APIAlexandru Avadanii3-1/+35
Horizon service definition hardcodes the API version to v3, and also overrides the value in our reclass model during interpolation. Adjust the default to '2'. While at it, move 'reclass' patching later in `salt.sh`, after the salt formula packages are installed. JIRA: FUEL-284 Change-Id: I6f63b4d00ae85c82b076b3efef857e7cc4f3fd35 Signed-off-by: Ting Wu <ting.wu@enea.com> Signed-off-by: Junaid Ali <junaidali.yahya@gmail.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-18[baremetal] PDF-based network configAlexandru Avadanii16-159/+481
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>
2017-10-18[virtual] Horizon: Use v2 API instead of v3Alexandru Avadanii1-1/+1
JIRA: FUEL-284 Change-Id: I821a8e79e6a23a71eae0fc0f857c1d05b30cd188 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-18[baremetal] reclass: Fix class order for commonAlexandru Avadanii44-35/+56
Inheriting classes in the wrong order led to params being silently overriden by defaults in the system reclass classes, leaving some mismatched values between the controller nova config and the compute conunterpart (e.g. metadata_password had different values). Always inherit the common class first, so scenario-specific config is applied on top. NOTE: {dhcp,single}_nic are not used for mas|kvm|cmp nodes, but they are referenced in inherited classes, so keep them for now. Change-Id: I6cb90d5c832ffc8ab731bd9e3cd38ede858dba5c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-16Merge "[baremetal] Fix DPDK by running linux.system first"Alexandru Avadanii1-2/+4
2017-10-16Merge "salt.sh: DEBIAN_FRONTEND=noninteractive"Alexandru Avadanii1-0/+1
2017-10-16[baremetal] Fix DPDK by running linux.system firstAlexandru Avadanii1-2/+4
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>
2017-10-16Merge "[ovs/dpdk] Return true on linux.network state"Alexandru Avadanii1-1/+1
2017-10-16Return back glusterfs client stateMichael Polenchuk2-3/+1
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>
2017-10-16[ovs/dpdk] Return true on linux.network stateMichael Polenchuk1-1/+1
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>
2017-10-16salt.sh: DEBIAN_FRONTEND=noninteractiveAlexandru Avadanii1-0/+1
Change-Id: Ibb1e78563043298dffdb4b7e9091d3f582e189fc Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-15states: Break on error, retry states up to 5 timesAlexandru Avadanii14-25/+53
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 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>
2017-10-14reclass: 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>
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>
2017-10-14Merge "states: Split virtual_control_plane from maas"Alexandru Avadanii7-60/+71
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>
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>
2017-10-11reclass: Fix all remaining yamllint warningAlexandru Avadanii2-3/+3
Change-Id: I1e0e1ba291dd4d5af578d89274f3655ee784f64e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
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>
2017-10-10yamllint: Fix recently introduced errorsAlexandru Avadanii5-8/+8
Change-Id: If117588f7c43306959d29032b1d5eeb3c751dc44 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-08reclass: 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>
2017-10-07Merge "Parametrized network config: nic device names"Alexandru Avadanii39-100/+143
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>
2017-10-06Parametrized network config: nic device namesGuillermo Herrero39-100/+143
Change-Id: I94d40529261f7753ec47a0c6a8c67ecc0fb15951 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
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>
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>
2017-10-04Merge "ci/deploy.sh: Move global vars to separate file"Alexandru Avadanii2-0/+23
2017-10-04Merge "Identify jump host bridges based on IDF / PDF nets"Alexandru Avadanii10-27/+61
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>
2017-10-03ci/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>
2017-10-03Identify 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>
2017-10-03Apply neutron formula patch after formula updateMichael Polenchuk3-1/+2
Change-Id: I8dba3676adc8cc49731d91db7cc028a9c5b1627d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-10-03salt.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>
2017-10-02Align salt version & reposMichael Polenchuk33-33/+3
Change-Id: If7cb8473f5c290d1d5f22fce5567f7b8da24fd9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
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>
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>
2017-09-27pharos git submodule: Bump for latest PDF adapterAlexandru Avadanii1-0/+0
Change-Id: I658c1dfeb369adf74038abd0ce1b593d40303527 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-27Merge "PDF parsing support"Alexandru Avadanii6-96/+329
2017-09-27Merge "lib.sh: Use host bridge in favor of virsh network"Alexandru Avadanii1-4/+5
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>
2017-09-27Change vlan tag of lf-pod private networkMichael Polenchuk1-1/+1
Change-Id: I66f5b4ac4ab58d3dbc983b0e1bed359a58602dba Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-26lib.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>