summaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes
AgeCommit message (Collapse)AuthorFilesLines
2017-10-19Merge "[baremetal] PDF-based network config" into stable/euphratesAlexandru Avadanii14-159/+419
2017-10-19[virtual] Rise memory for ovs/dpdk scenarioMichael Polenchuk1-1/+1
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> (cherry picked from commit 496c818b28b6d668428b3e8996675a7edd688f73)
2017-10-18[baremetal] PDF-based network configAlexandru Avadanii14-159/+419
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-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> (cherry picked from commit 5936f07b1e951f4f08c0bc20c97122289f544c9e)
2017-10-18Return back glusterfs client stateMichael Polenchuk1-2/+0
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> (cherry picked from commit 0224929b3a87d0e0ec011311c46872e6142497cf)
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> (cherry picked from commit 92530f89c061b0070766e431f839feb368e2e4ac)
2017-10-15Add license headers where missingAlexandru Avadanii102-10/+700
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-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 Polenchuk2-0/+2
* 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-04Identify jump host bridges based on IDF / PDF netsAlexandru Avadanii4-17/+18
- 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-02Align salt version & reposMichael Polenchuk32-29/+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-29Merge "PDF parsing support" into stable/euphratesAlexandru Avadanii3-91/+96
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 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-27Merge "Extended PDF support to all baremetal scenarios" into stable/euphratesAlexandru Avadanii13-179/+175
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 Polenchuk2-14/+11
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-26Fix or silence all yamllint warningsAlexandru Avadanii82-1158/+1259
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 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-22Adjust memory allocation sizeMichael Polenchuk7-6/+25
* [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>
2017-09-13Merge "[virtual] Setup nfs for nova instances"Alexandru Avadanii2-0/+21
2017-09-13Merge "[virtual] Add haproxy entries for opendaylight"Alexandru Avadanii1-0/+25
2017-09-13[baremetal] Setup glusterfs for nova instancesMichael Polenchuk6-0/+78
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-13[virtual] Add haproxy entries for opendaylightMichael Polenchuk1-0/+25
Change-Id: Id0303d217dbe71e4b04834e545feae0660172b23 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-13[virtual] Setup nfs for nova instancesMichael Polenchuk2-0/+21
Configure nfs shared storage for nova instances to support live migration feature. Change-Id: I777d5725e45d03325507d3ecc8dd59a28cbc188f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-12Add proxy entries for opendaylight endpointsMichael Polenchuk1-0/+27
Change-Id: I8ebe4dedb9601ae0f45922fd30a34c67382755fc Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2017-09-12reclass, states: Parametrize runtime configurationAlexandru Avadanii11-19/+34
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 Avadanii4-4/+4
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: virtual: Factor out VM interface namingAlexandru Avadanii8-14/+40
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 Avadanii13-3/+37
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-09reclass: virtual: Factor out common infra configAlexandru Avadanii10-200/+64
Change-Id: I669a81cf46a4ac988a1ea04c3b9d297ae67a0a62 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-09log.sh: Collect /var/log from cluster nodesAlexandru Avadanii4-0/+7
Bring back <ci/deploy.sh> parameter `-L`, which is already passed by releng deploy script. Since we need to enable file_recv on salt master, do so by adding a new class in <virtual-mcp-ocata-common/infra/config.yml>, which will be inherited by all scenario reclass models. JIRA: FUEL-288 Change-Id: I9b649315984fb8580b63883d0e06c1e1efd11057 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-09-08[ovs/dpdk] Mend dpdk settingsMichael Polenchuk5-6/+29
* add vcpus to virtual compute * re-pin dpdk core & pmds * switch to UCA repos * disable apt-daily cron job Change-Id: Ia23100b846d8954e3d5e8a264a6b8518402b2fa6 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>