summaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha
AgeCommit message (Collapse)AuthorFilesLines
2017-10-18[baremetal] PDF-based network configAlexandru Avadanii2-26/+80
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[baremetal] reclass: Fix class order for commonAlexandru Avadanii11-11/+11
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-14Add license headers where missingAlexandru Avadanii17-0/+112
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 Avadanii13-1115/+14
While at it, add .yamllint file (copied from releng repo). Change-Id: I39630c0043fe2fd601510969c401e6cc9efbf69a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-11Fix parametrized nic name variablesGuillermo Herrero5-11/+11
-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 Avadanii1-2/+2
Change-Id: If117588f7c43306959d29032b1d5eeb3c751dc44 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-08reclass: Revert virt.nic to hardcoded eth{0,1}Alexandru Avadanii1-2/+2
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-06Parametrized network config: nic device namesGuillermo Herrero12-31/+40
Change-Id: I94d40529261f7753ec47a0c6a8c67ecc0fb15951 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2017-10-03Identify jump host bridges based on IDF / PDF netsAlexandru Avadanii1-4/+4
- 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-02Align salt version & reposMichael Polenchuk9-8/+1
Change-Id: If7cb8473f5c290d1d5f22fce5567f7b8da24fd9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-28MaaS: Fix missing service.maas.cluster.single incAlexandru Avadanii1-0/+1
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-25Fix or silence all yamllint warningsAlexandru Avadanii16-257/+276
Change-Id: Iface28ab770beee00374afb902ef4f9c983538f5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-23reclass: Drop MaaS public IP and interfaceAlexandru Avadanii3-11/+0
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>
2017-09-22Merge "Adjust memory allocation size"Alexandru Avadanii2-2/+7
2017-09-22Adjust memory allocation sizeMichael Polenchuk2-2/+7
* [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>
2017-09-21Pod Descriptor File compatible reclass structureGuillermo Herrero6-97/+95
Implementation for baremetal-mcp-ocata-ovs-ha scenario JIRA: FUEL-275 Change-Id: Id6ab5697f993ac9faa019c3c10ba4ed4b7b6db01 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2017-09-14Tune up mysql optionsMichael Polenchuk1-0/+2
Change-Id: Ib4d787c45434243d0dc29d517a73224cf4f9d1c1 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-13[baremetal] Setup glusterfs for nova instancesMichael Polenchuk2-0/+26
Live-migration feature requires shared storage on compute nodes, so configure glusterfs volume for nova instances. Change-Id: Id6b9b5aad89f5b4aefbef71e4ba7247a441873b0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-12reclass, states: Parametrize runtime configurationAlexandru Avadanii2-6/+7
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-11salt master, maas: Move mcpcontrol to 10.20.0.0/24Alexandru Avadanii1-1/+1
Use INSTALLER_IP Jenkins param instead of SALT_MASTER_IP, allowing us to drop SALT_MASTER_IP completely from releng. mcpcontrol IP changes: - 192.168.10.100 becomes 10.20.0.2 (align with legacy Fuel master); - 192.168.10.3 becomes 10.20.0.3 (baremetal MaaS address); JIRA: FUEL-285 Change-Id: I6e2d44c3a8b43846196bd64191735214167a76ce Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-11reclass: Multiarch support for arch specific paramAlexandru Avadanii2-1/+1
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>
2017-09-06Configure SubjectAltName for the proxy certMichael Polenchuk1-0/+6
In order to avoid SubjectAltName warnings, bring it into proxy ssl certificate. Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> Change-Id: I46fe9697469354bc028039cc1f030baae1ccd7fb
2017-09-05[baremetal] Enable ceilometer/aodh servicesMichael Polenchuk3-2/+10
Change-Id: I34706afbdbcbdaace0b0ae6c2c2e8cb932812d4e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-04[baremetal] Enable cinder-volume serviceMichael Polenchuk2-1/+5
Change-Id: I60a5566de43ca58f3f172611c95546b1353f8406 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-31[baremetal] Adjust vcp nodes memory sizeMichael Polenchuk1-3/+3
Change-Id: I8937f4f676a48c852bece0680da0b559df7c2e7c Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-29[baremetal] Return back custom image for vcp nodesMichael Polenchuk1-1/+7
Virtual node based on cloud ubuntu image won't register as a minion on salt master. Change-Id: Ia32eae01a5633042189cdebebcba8043cae61503 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-28Sync os cacert from proxy to salt masterMichael Polenchuk2-0/+4
JIRA: FUEL-274 Change-Id: I2c8161b24cb18a0d1f9dc6fd509ce18af7ea8cf5 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-28[baremetal] Add required user on vcp nodesMichael Polenchuk2-6/+9
* add user of "ubuntu" so that functest gets cluster credentials * reduce cpu resources for vcp nodes in nofeature scenario * tune salt targets for maas state * specify ntp servers Change-Id: I433a1de1cd2c69c6747c62c3359f5485dee3bfa4 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-22Configure neutron gatewayMichael Polenchuk4-57/+35
Change-Id: I01744bd5728d6fc4c8cd3792aee9759434d18645 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-22Return back infra interfaces configMichael Polenchuk1-2/+2
Change-Id: I4baa9940ae14ef6e084fda7169ec43be7cf3f449 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-22Shift vcp nodes interfacesMichael Polenchuk7-19/+19
* shift vcp nodes interfaces since names started from ens2 * add extra salt sync before vcp start up * run rabbitmq state on 1st node beforehand then the rest Change-Id: Ic2c174c288a5e89f2f28c0d9aa573340190a61d3 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-21reclass: baremetal: openstack: Fix eth assignmentAlexandru Avadanii6-11/+17
Baremetal support introduced a couple of VCP VMs, which have 2 network interfaces: - primary (ens3 inside x86 VM) - connected to "br-mgmt" bridge on each kvm node, serves for MaaS DHCP / connection to salt master; - secondary (ens4 inside x86 VM) - connected to "br-ctl" bridge on each kvm node, serves for Openstack Management network; However, the reclass model was configured to use a single IP address on the primary interface, breaking the connnection to salt master, while also not connecting the Openstack Management network properly. Fix this by configuring the primary interface for DHCP, while the secondary gets a static IP in Openstack Management network. Change-Id: I9f1d6f080e882bfaae7b5f209bc3c5536826ba06 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-21Swap vcp nodes interfacesMichael Polenchuk1-2/+2
In order to connect to right underlay bridge, swap interfaces. Change-Id: I0ae1f50e8d1f3485404bd7e6eea772cab555b313 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-19MaaS: Add support for dynamic fabric numberingAlexandru Avadanii1-3/+7
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-19MaaS: Disable network discoveryAlexandru Avadanii1-1/+1
In case nodes are already powered on and have an IP in the same range as the new MaaS DHCP one (e.g. from a previous deploy), MaaS API will reject the subnet creation due to overlapping addresses. Try to work around this by disabling network discovery. Change-Id: I70a33c552bf38a7ccbc1bb7e90c21f424f082bc5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-18MaaS: DHCP iprange fix: use dynamic, not reservedAlexandru Avadanii1-0/+1
Without the 'type' parameter set to 'dynamic', MaaS was configured to reserve the IP range instead of allocating it dynamically. This led to IP exhaustion warnings in MaaS dashboard, as well as wrongful IP allocation. Change-Id: I1f2b90bf4cd2393cfab6d4bc17771cef009701c0 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-18MaaS node: Fix dhcp_interface configAlexandru Avadanii1-1/+5
Explicitly configure dhcp_interface for mas01, in order to allow the interface name to be parametrized via "dhcp_interface" _param. Change-Id: I6a2750adc1941c0aa1f94ac9b39133b5bd2388c6 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-08-18Apply network config on kvm nodesMichael Polenchuk1-1/+1
* re-assign ip from interface to bridge - install bridge utils - make a reboot straight away after network config * change image source for vcp Change-Id: I34506ee161337b5d3a4088cfdf3c082d99ccb695 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-08-17Bring in baremetal supportAlexandru Avadanii18-0/+1155
- 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>