summaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/cluster/mcp-common-ha
AgeCommit message (Collapse)AuthorFilesLines
2019-05-31Revert "Patch dhcp agent to avoid unwanted resync"Michael Polenchuk1-10/+0
This reverts commit 7522bdb0e898144da2b6dc361dbdd549b39bc025. The original patch has been merged (https://review.opendev.org/661011) Change-Id: I9a1c04590145800523d546e36e9462fa7074922c Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 61c1ff928d01e4d18589877c455c57c802cdecc5)
2019-04-30Patch dhcp agent to avoid unwanted reschedulingMichael Polenchuk1-0/+10
Change-Id: Id49f26a2615e2fc06e94eeaf2e9200e83625e6c9 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 7522bdb0e898144da2b6dc361dbdd549b39bc025)
2019-04-17Merge "[ha] Take out class with backports repo" into stable/hunterMichael Polenchuk1-0/+1
2019-04-17Merge "Setup repository with backports" into stable/hunterMichael Polenchuk7-7/+7
2019-04-11[ha] Take out class with backports repoMichael Polenchuk1-0/+1
* update system reclass * rectify telemetry redis options Change-Id: I6dca1ae52e7f7d73a90e53fceddca8e86872651b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit aebae197459879fd3ddcfaeb8ac1dce2d8fde046)
2019-04-10[VCP VMs] AArch64: Switch seeding back to qemu-nbdAlexandru Avadanii1-0/+2
Upstream change [1] switched from old qemu-nbd preseeding of VCP VMs to using a cloud-init + configuration drive. This breaks on AArch64 with "IDE controllers are unsupported for this QEMU binary or machine type", so switch back to using qemu-nbd. [1] https://github.com/Mirantis/reclass-system-salt-model/commit/c0e4807 Change-Id: I0dfeb638d408343c76a73fafa503048a79ce1f6e Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit f4f2820028953e970f1216846be25079cdadcd24)
2019-04-10Setup repository with backportsMichael Polenchuk7-7/+7
Change-Id: I791436f512dea6c6bc61133c4122ac872950af8e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit a2f5e2800be18071f4867121d71e2ace842354ef)
2019-04-04Define stub for cinder service in keystoneMichael Polenchuk1-0/+4
Required only for Rally validation in cinder scenarios, there is no useful functionaly in terms of cluster. Change-Id: Idc4d62cbbc9974972e9d492b5a419342077e3d9a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-03-29[akraino] Add IEC K8-calico scenariosAlexandru Avadanii1-0/+2
- bump Pharos git submodule to allow PODs with fewer nodes; - add `k8-calico-iec-noha` scenario definition for Akraino IEC basic configuration; - add `k8-calico-iec-vcp-noha` scenario definition for Akraino IEC nested (virtualized control plane) configuration; - add `akraino_iec` state, which will leverage the Akraino IEC bootstrap scripts from [1]; - replace system.reboot salt call with cmd.run 'reboot' as it's more reliable; - use kernel 4.15 for AArch64 K8 IEC scenarios; NOTE: These scenarios will not be released in OPNFV since don't rely on Salt formulas but instead of Akraino IEC scripts to install K8s. [1] https://gerrit.akraino.org/r/#/q/project:iec Change-Id: I4e538e0563d724cd3fd5c4d462ddc22d0c739402 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-03-27Rectify system reclass after updateMichael Polenchuk3-0/+8
* add opendaylight password (removed from system level) * get updated ovn system class w/o mysql settings * enable ceilometer user back (removed along with outdated service/endpoints) * adjsut check interval of haproxy for noha scenarios since there is only one backend for services, i.e. failover ain't expected Change-Id: Iedee290e1cfcf838998bd44dc09a729d143974ac Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-03-25Update system reclassMichael Polenchuk7-7/+7
Change-Id: I745a838b1f2f294b6c455700509ddf4b0264446f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-03-14Smooth down telemetry servicesMichael Polenchuk4-6/+1
* update gnocchi to 4.3 * remove outdated ceilometer api Change-Id: I7adaf3ddc76d93531b6b0997b684672b80f2992f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-03-04Turn off meltdown/spectre patchesMichael Polenchuk2-0/+6
Change-Id: Id75ffe4db808a4ec250ba8b86c5d49f1206c3784 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-02-28Tune up nova/neutron intervalsMichael Polenchuk2-0/+4
Also re-align resources for virtual scenarios. Change-Id: Id0d55407fd5b1720a24e30c364219f8b08e89d06 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-02-14[baremetal] Containerize MaaSAlexandru Avadanii1-6/+0
- replace mas01 VM with a Docker container; - drop `mcpcontrol` virsh-managed network, including special handling previously required for it across all scripts; - drop infrastructure VMs handling from scripts, the only VMs we still handle are cluster VMs for virtual and/or hybrid deployments; - drop SSH server from mas01; - stop running linux state on mas01, as all prerequisites are properly handled durin Docker build or via entrypoint.sh - for completeness, we still keep pillar data in sync with the actual contents of mas01 configuration, so running the state manually would still work; - make port 5240 available on the jumpserver for MaaS dashboard access; - docs: update diagrams and text to reflect the new changes; Change-Id: I6d9424995e9a90c530fd7577edf401d552bab929 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-01-27[ovs] Start ovs services before networkingAlexandru Avadanii1-2/+4
Fix broken systemd service unit dependecies: - OVS should start before networking service; - OVS ports & bridges should not be automatically ifup-ed by networking service to avoid races, so drop 'auto' for both (OVS ports are automatically handled when part of an OVS bridge); - explicitly ifup OVS bridges as part of networking service, but after all Linux interfaces have been handled; - use 'allow-ovs br-prv' to let OVS handle br-prv and avoid another race condition; While at it, fix some other related issues: - make OVS service start after DPDK service (if present); - bump OVS-DPDK compute VMs RAM since since switching from MTU 1500 to jumbo frames for virtual PODs a while ago failed to do so [1]; - avoid creating conflicting reclass linux.network.interfaces entries for OVS ports by using their name (drop 'ovs_port_' prefix): * for untagged networks they will override existing common defs; * for tagged networks, they will create separate entries; - DPDK scenarios: make gtw01 br-prv members OVS ports to avoid race conditions after node reboot by letting OVS handle them; [1] https://developers.redhat.com/blog/2018/03/16/\ ovs-dpdk-hugepage-memory/ Change-Id: I0266ba67f3849b6f7e331a758146b331730bae55 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-01-22Pass domain name properly for heat stack userMichael Polenchuk1-2/+0
Change-Id: I74c1c85310e2012e664764b6129fc4a52faaf106 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-01-21Merge "[noha] baremetal: Fix undef armband_repo_version"Michael Polenchuk1-1/+0
2019-01-17Sync heat domain name with keystone definedMichael Polenchuk1-0/+2
Change-Id: Ibf88f179af2570a707ade78f772342b7da23b74f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-01-16[noha] baremetal: Fix undef armband_repo_versionAlexandru Avadanii1-1/+0
Change-Id: I0e56261fc2fc2a0a3f164531c72d88f7c46f5ca1 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-01-12[patch] Drop reclass.system patch for repo archAlexandru Avadanii1-1/+1
MCP repos no longer publish arm64 metadata, so drop our patch that selected arm64 metadata on arm64 systems. Instead, let it default to 'deb [arch=amd64]', which will allow arm64 systems to fetch amd64 metadata and inherintely fetch all arch-independent packages from the same repos. While at it, switch to 'rocky-armband' repos on arm64 systems. Change-Id: I07fda895f5162bfa576c62336cbb4d74e985f37a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-23[armband] Parameterize aarch64 specific repo compAlexandru Avadanii1-2/+3
Factor out armband repository component name based on openstack_version parameter. However, since 'rocky-armband' repo is not available yet, reuse the 'queens-armband' on. Change-Id: Ibd17808059542ace14724776f8686fc2afd9de6a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-19Update OpenStack version to RockyMichael Polenchuk4-10/+4
Change-Id: I88f28370180278c4b32599b83eebbb0ee005c936 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-12-12Make MTU cluster-level configurable via IDFAlexandru Avadanii6-3/+9
JIRA: FUEL-336 Change-Id: I1c8d22b8322f700eb727d9077035ba4c9f9f9753 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-11-16[baremetal] cmp: Support per-node PXE/admin ifaceAlexandru Avadanii1-1/+1
intel-pod18 has different network interfaces on its compute nodes, requiring support for per-node PXE/admin NIC name override, instead of assumming all computes use the same NIC naming. Change-Id: I2b2e5ec6745601576ead898370241b743c963e3d Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-11-14[ha] kvm: Disable ip_forwardAlexandru Avadanii1-0/+2
kvm nodes should not try to route traffic. This also silences some bogus 'martian packet' warnings about prx public VIP reaching br-ex. Change-Id: I608a561d292be3042d20fcbe48b2f5c816c4e8bf Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-11-13Revert "Conform configs to updated Redis v5.0 package"Michael Polenchuk1-1/+1
This reverts commit 7c5c2a8353177a393f72d244470e34f23c46c3e8. The package of Redis v5.0 has been removed from repository. Change-Id: Ic9449314e9e177435878542eecbe5f4a8b848549 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-11-09Conform configs to updated Redis v5.0 packageMichael Polenchuk1-1/+6
Also disable transparent hugepages on telemetry hosted nodes to avoid latency and memory usage issues with Redis. Change-Id: I3c7a0be6edbc51141f5d79d7368583afacef9025 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-10-29Specify barbican endpoint for glance serviceMichael Polenchuk1-0/+2
By default castellan key manager gets public endpoint of barbican service which isn't preferable in terms of cluster ops, so specify internal endpoint explicitly. Change-Id: Ie686ceb936132143743af18fcb4960ea15a8b93c Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-10-23Enable IPv6 on entire cluster by defaultMichael Polenchuk2-7/+1
IPv6 has been enabled back by commenting out the cis-3-3-3 yaml/class source in linux service reclass. Change-Id: Ia8f4e2ddbb98f9316e6ce5136badbb14ecb277c5 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-10-22Merge "[ha] Run OpenDaylight in cluster mode"Michael Polenchuk1-10/+0
2018-10-22[ha] Run OpenDaylight in cluster modeMichael Polenchuk1-10/+0
Change-Id: Id75fbee34a6cfc6e7fc60df053cccaaff21cb15a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-10-19[ha] Add barbican to nginx on proxy nodesDelia Popescu1-0/+1
JIRA: FUEL-395 Change-Id: I8bd3a8e914828548e2ded0915770550ce3673897 Signed-off-by: Delia Popescu <delia.popescu@enea.com>
2018-10-16Enable IPv6 on compute nodes for noha and haDelia Popescu1-1/+3
Enable IPv6 on compute nodes for both ha and noha deployment types Change-Id: I46c89e3005aefea8ccbeb4779efe513bf2be84e8 Signed-off-by: Delia Popescu <delia.popescu@enea.com>
2018-10-11Set volume device name to sdcDelia Popescu1-1/+1
Functest is now using scsi volume type for fuel Set correct volume device name for functest volume tests JIRA: ARMBAND-402 Change-Id: I2265901eeb624a395388f6ce8afae226b129c5be Signed-off-by: Delia Popescu <delia.popescu@enea.com>
2018-09-26[ha] Fix missing aodh_version paramAlexandru Avadanii1-0/+1
_param:aodh_version was lost during a recent refactor, bring it back. While at it, also make chown in entrypoint.sh recursive to prepare for non-sudo deployments. Fixes: c0de0902 Change-Id: I41b225c4a3f15269aa156a1c33412206beff6ee9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-25[reclass] Consolidate all passwordsGuillermo Herrero2-45/+0
JIRA: FUEL-378 Change-Id: I00832d697d83c374628fa9d759c125e0b6ca64cf Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-09-23[repos] Replace keyserver accesses with pillar GPGAlexandru Avadanii2-8/+6
JIRA: FUEL-392 Change-Id: Ia21840c7561a14a5eeed3d08bf89eb2dbf9acc3a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-21Merge "[state] virtual_init: Limit to mas01 on baremetal"Alexandru Avadanii1-2/+0
2018-09-21Merge "Rotate keystone fernet keys on shared filesystem"Alexandru Avadanii1-0/+2
2018-09-21Enable IPv6 back for proxy/nginx nodeMichael Polenchuk1-0/+4
Change-Id: I2af8a06f5637238c4512b5a117d899fec7cb2e50 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-21Rotate keystone fernet keys on shared filesystemMichael Polenchuk1-0/+2
Change-Id: I38def56c2f276eca61f12558a03aa2693cc032f3 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-20[state] virtual_init: Limit to mas01 on baremetalAlexandru Avadanii1-2/+0
`virtual_init` state file tries to ping all FN VMs, but that won't work on hybrid PODs since all FN VMs but mas01 require MaaS DHCP to be already configured (i.e. FN VMs in question will be reset after mas01 is fully configured). Limit virtual node queries in `virtual_init` to mas01 VM, as the rest of FN VMs will be handled via `baremetal_init` state. While at it, move _param:apt_mk_version def to common reclass to avoid an undef reference in NOHA hybrid deployments; set MCP_VCP to 0 for non-HA scenarios. JIRA: FUEL-385 Change-Id: I582bca6864e9bfed23baf26f9b66e6e95e986c58 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-19Update system reclass modelMichael Polenchuk4-6/+26
In order to get tacker definitions and latest changes. Change-Id: Ib5bf5034f140e708fb596dd4b622f0b2bdee8a59 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-13[ha] Get OVS 2.9 & DPDK 17.11 from UCA repoMichael Polenchuk2-4/+1
* to be compatible with HWE kernel * make neutron balancing to RR back * turn off glance v1 api support (doesn't relevant for now) Change-Id: I916aae10f523be339c20de32218ce03c245afe72 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-01[docker] Cleanup, minor fixes, formula bumpAlexandru Avadanii1-0/+3
* ship prebuilt salt master conf for better readability: - enable x509.sign_remote_certificate (for prx VCP nodes); * refactor Salt master CA handling: - preinstall `salt_minion_dependency_packages` and `salt_minion_reclass_dependencies` inside docker image; - persistent /etc/pki; - run salt.minion on cfg01 to generate master keys; * bump container formulas to 1 Sep 2018 versions or newer: - inject date into Docker makefile, forcing a fresh fetch of all salt formulas from upstream git repos; * workaround broken salt-formula-designate's meta/sphinx.yml: - the DEB package version of salt-formula-designate uses `cmd.shell` to query dpkg on the minion, while the git repo version still uses `cmd.run`, running into parsing issues; - temporarily disable sphinx metadata generation for designate until upstream git repo syncs with the DEB version; * upstream: salt-formula-salt AArch64 salt.control.virt support: - retire salt-formula-salt git submodule and related patches; * skip installing reclass distro package (already installed via pip inside the container); * limit initial pillar_refresh call to nodes on jumphost; * remove unused salt-formula-nova git submodule; JIRA: FUEL-383 Change-Id: I883b825e556f887a5e31f8a43676dcd8ece6dfde Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-30[AArch64] salt.control.virt supportAlexandru Avadanii1-14/+23
Salt relies on a limiting libvirt_domain j2 template to generate the XML it passes to libvirt for salt.control managed virtual machines. For AArch64, we need to set up 3 XML nodes in a non-default way: 1. UEFI firmware (AAVMF) should be enabled by passing a pflash loader; 2. CPU mode should be 'host-passthrough'; 3. QEMU machine type should be 'virt'; To allow configuring the above using pillar data: - virtng module: implement functionality similar to upstream changes: * 219b84a512 virt module: Allow NVRAM unlinking on DOM undefine in develop, not in 2018.2; * 9cace9adb9 Add support to virt for libvirt loader in develop, not in 2018.2; - virtng module: extend it with: * pass virt machine type to vm; * pass cpu_mode to vm; JIRA: ARMBAND-404 Change-Id: Ib2123e7170991b3dfbdb42bd1a2baa5a4360b200 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29Add noifupdown for all br-floatingAlexandru Avadanii1-0/+1
Since we reboot all nodes, applying the network configuration via Salt before reboot is pointless and creates a race condition with OVS. While at it, add `--ignore-errors` to ifup call for OVS bridge to prevent a race condition during linux.network state apply. Change-Id: I22fe0afaffecd7b850a6b77d7b810ed296bfc9ca Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[docker] Switch to containerized Salt MasterAlexandru Avadanii1-31/+0
* Refactor OPNFV salt-formulas mechanism to resemble upstream git structure: - git submodules: add new submodule for each formula we patch; - create salt-formula-x directories for OPNFV formulas; - move mcp/metadata/service contents to their each formula subdir; - use `make patches-import` for patches previously handled by patch.sh; - retire patch.sh * states: add virtual_init: - mostly based on old salt.sh, which is now obsolete; - exclude salt-master service restart (it would kill the container); * scenarios: cleanup (rm cfg01 virtual node def), adopt virtual_init; * reclass: align our model with prebuilt container's Salt config: - drop linux:network pillar data (handled by Docker); - stop applying linux.system state on cfg01; - align salt user homedir; - drop salt-formula packages (preprovisioned); * minor plumbing in deploy.sh and lib.sh; JIRA: FUEL-383 Change-Id: I28708a9b399d3f19012212c71966ebda9d6fc0ac Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-21.gitignore refresh, fold common expressionsAlexandru Avadanii1-0/+0
Change-Id: I5346ee523b40f1a249394d59dbbe4d3d85c692cb Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>