aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/cluster/all-mcp-ocata-common
AgeCommit message (Collapse)AuthorFilesLines
2018-01-08MaaS: Set commission/deploy timeouts via reclassAlexandru Avadanii2-0/+8
Allow end-users to easily change the MaaS commissioning/deploying timeouts by simply editing the reclass model. While at it, use arch-specific values and bump deploy timeout on AArch64 to 20 minutes instead of 15. Change-Id: I37ae434ecebdd64effb007baa06c722b1db15c66 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit ea6ecbb6fb546e27fcc73e699e08c6cad31d2bd0)
2018-01-04[baremetal] Switch VCP base image to UCAAlexandru Avadanii1-1/+1
Since Mirantis prebuilt image comes with salt-minion 2016.3 instead of 2016.11 and upgrading it leads to a hard to break catch-22, use the Ubuntu cloud archive image we already download for FN VMs and pre-install: - a newer kernel (hwe-edge); - salt-minion (2016.11); This also implicitly aligns the image handling on AArch64 and x86_64. Change-Id: I86d1c777449d37bdd0348936a598e3ffe9d265af Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit f37103b4d60f057f653e0e5e8b7c6c3023a95b2d)
2018-01-04Add pre-{install,purge} support for base imageAlexandru Avadanii1-1/+1
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> (cherry picked from commit 6ead32f737f39e3d82e1484a9d31f07ed2daeadb)
2018-01-03[baremetal] prx: Add management network VIPAlexandru Avadanii1-0/+1
Include `openstack_web_public_vip` class for setting up the old VIP in the public network, use old class for mgmt VIP. Also change the generic hostname 'prx' to point inside mgmt net. Change-Id: Iff69394f16ede290d149a26b054a85371f00f8e0 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 29c64b73f749364867be78a474410fe062eba99e)
2017-12-31[baremetal] Move salt master IP to PXE/adminAlexandru Avadanii2-2/+2
Use PXE/admin network for salt traffic from/to all minions except cfg01, mas01. This allows us to drop the route to admin net from cfg01. Change-Id: Ic2526f1ff77afe5d92ced900971f4c8f78d2d8a2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit d4ab072aeab143ce72e4b81122d4580915a4ad1a)
2017-12-31[baremetal] MaaS: Fix DHCP dynamic range (2)Alexandru Avadanii1-7/+8
- reduce range to silence bogus MaaS warning about address exhaustion; - regenerate pod_config.yml.example to reflect the changes; - drop `opnfv_infra_maas_pxe_address` (duplicate of `opnfv_infra_maas_node01_deploy_address`); - add `opnfv_infra_config_pxe_address` for future usage; JIRA: FUEL-316 Change-Id: I981fc8c7c550c2917b07dd5f2c83896def013fa7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 215a37d55356333f9fd0a96118c9a00d588eca62)
2017-12-31[baremetal] Move all MaaS PXE net config to PDFAlexandru Avadanii3-12/+5
- s/opnfv_maas_pxe_/opnfv_infra_maas_pxe_/g to align with other vars; - patches: pharos: Add MaaS PXE network to installer adapter; - runtime.yml{,.template}: move to installer adapter, update pod_config.yml example; - drop MAAS_PXE_NETWORK global env var, now read strictly from PDF; JIRA: FUEL-313 Change-Id: I46d7510bd53fba7890c411d36bc28fd6ff6f3648 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 15e982f0d00dbcc72be2f5b25dab34b3f3efd912)
2017-12-12pod_config: cleanup: Drop infra_compute_*_addressMichael Polenchuk1-3/+0
Our PDF installer adapter defines 3 unused reclass params that are misleading, so drop them (infra_compute_node{01,02,03}_address). Change-Id: I0ca49b73add543c8f03b14ed4d805ce55f973bb5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit e48d4876833270b9139ca8196eef2c13f44effcc)
2017-12-09[baremetal] PDF: Use net_admin for MaaS PXE netAlexandru Avadanii1-1/+1
While at it, fix another small issue where a variable (parameters__param_opnfv_maas_pxe_address) was used without being populated (defined in 'runtime.yml', which is not read using `parse_yaml`, like the scenario yml or the PDF expanded class, pod_config.yml). JIRA: FUEL-313 Change-Id: Iee88601d5420f55572bf90c8cf330afbedfb2e21 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 9136aef95f77a1f26175929caedfe6ae662bbbd8)
2017-11-27[baremetal] VCP VM base img: Switch URL to AWS S3Alexandru Avadanii1-1/+1
Mirantis prebuilt base image for VCP VMs (used by salt.control on x86_64) has been moved to a new location on AWS S3. Change-Id: I9f4a858a1033c3c0a05cba0bd40a8ceac6075615 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 255742b98efd4ff499a6abc6eb491059fc268d43)
2017-11-21[baremetal] public gateway setup on prx nodesGuillermo Herrero3-0/+5
- 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> (cherry picked from commit 07f4e0238646fcb77072769feb8a0b68df52caca)
2017-11-16[baremetal] Re-assign mgmt network to proxy nodesAlexandru Avadanii3-5/+9
- extend arch-specific list of predefined VM iface names (2 -> 3); - add extra vnet iface for prx0* VCP VMs, connected to br-ctl (mgmt); - add mgmt address to pod_config.yml template (and sample); - add mgmt address to reclass.storage prx nodes; JIRA: FUEL-302 Change-Id: I17ce65eade7f69219fc27264363364e3c47d8f3f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 35041f05e790f8c13782eb4956b991a97fdec853)
2017-10-18[baremetal] PDF-based network configAlexandru Avadanii3-12/+1
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> (cherry picked from commit c360b972649028d2613fc8561899c2c8b7f71832)
2017-10-15Add license headers where missingAlexandru Avadanii8-2/+56
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 Avadanii1-0/+11
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-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 Herrero2-19/+10
-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-11Parametrized network config: nic device namesGuillermo Herrero2-0/+21
Change-Id: I94d40529261f7753ec47a0c6a8c67ecc0fb15951 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com> (cherry picked from commit 5ab45d25c8fd3e5528c411e09b105699c745457f)
2017-10-04Identify jump host bridges based on IDF / PDF netsAlexandru Avadanii1-5/+6
- 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-09-27PDF parsing supportAlexandru Avadanii3-91/+96
- 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-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-26Extended PDF support to all baremetal scenariosGuillermo Herrero1-0/+1
JIRA: FUEL-275 Change-Id: I67e8d7ab95e35c78a4f960a12733124fe7bffaec Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com> (cherry picked from commit 809ea60a05f55d98814f8794a46540edcd2b0298)
2017-09-26Fix or silence all yamllint warningsAlexandru Avadanii5-4/+11
Change-Id: Iface28ab770beee00374afb902ef4f9c983538f5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 597e4b55f57001ead8e90f30e2e3211c7d705ca8)
2017-09-23reclass: Drop MaaS public IP and interfaceAlexandru Avadanii1-3/+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-22Pod Descriptor File compatible reclass structureGuillermo Herrero3-5/+99
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-12reclass, states: Parametrize runtime configurationAlexandru Avadanii4-0/+13
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-11reclass: virtual: Factor out VM interface namingAlexandru Avadanii2-0/+22
Define two groups of VM interface naming: - ens3..ens6 - used by infra VMs, virtual node VMs; - ens2..ens3 - used by VCP VMs (spawned by salt.control); Parametrize newly defined interface names throughout the cluster models. While at it, add AArch64 default values for above iface names. NOTE: baremetal clusters will be parametrized later, after common config is factored out into <baremetal-mcp-ocata-common>. Change-Id: I89aba9aaf85b585cc510302eb76d7810fbf60679 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-11reclass: Multiarch support for arch specific paramAlexandru Avadanii3-0/+8
Introduce a simple mechanism that simulates an 'if-arch-then' cond for reclass models: - add new <all-mcp-ocata-common> class hierarchy; - at runtime (via <salt.sh>) make 'all-mcp-ocata-common.arch' point to 'all-mcp-ocata-common.$(uname -i)' dynamically; - inherit new 'arch' class in all cluster models; - factor out current x86_64 default for "salt_control_xenial_image"; - add AArch64 default for param "salt_control_xenial_image"; Change-Id: I3b239b28d0fd1cc2ced8579e2e93b764eb71ffc3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>