aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/config/states
AgeCommit message (Collapse)AuthorFilesLines
2019-07-11[iec] Copy private RSA key to K8s masterAlexandru Avadanii1-3/+8
Certain validation testing suites require the SSH RSA private key to to be available on the K8s master node. Change-Id: Ib496ac6b33642d86bfd0e0f72ee847a2f31ea952 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-07-10[virtual] Update OpenStack version to SteinMichael Polenchuk2-1/+7
Change-Id: I9c1e97144ffd46040d32a0edf8253fc393b73c89 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-06-28[iec] Add basic CentOS support (virtual only)Alexandru Avadanii2-6/+18
- reclass: iec: CentOS compatibility changes: * drop `proto: static` in favor of letting the linux formula set the appropiate default based on target OS; * replace `proto: manual` with `proto: none` on RHEL systems; * system.file: Avoid using non-existing `shadow` group for system files; * load br_netfilter kernel module to avoid `linux.network` state failures; * disable `at`, `cron` due to incomplete defaults in salt-formula-linux (since we don't use them on iec nodes anyway); - jumpserver/VCP VMs: centos: enable predictable interface names: * CentOS cloud image defaults to old 'eth' naming scheme; * add necessary kernel boot options via linux state; * cleanup auto-generated udev rules for old eth interface names; - salt-formula-linux: network: RHEL: Set bridge for member interfaces * Find the bridge containing the interface being currently configured (if any) and pass it to the `network.managed` Salt call; - deploy.sh: Add new deploy argument `-o` for specifying the operating system to preinstall on jumpserver and/or VCP VMs; * defaults to 'ubuntu1604'; * only iec scenarios will also support 'centos' for now; - user-data: minor tweaks for CentOS compatability: * use `systemctl` instead of `service` utility; * explicitly enable `salt-minion` service, since it defaults to disabled on RHEL systems; * explicitly call `ldconfig` to work around stale cache on RHEL, preventing `salt-minion` from using OpenSSL library; - states: virtual_init: Skip non-existing sysctl options on CentOS: * CentOS currently uses a 3.x kernel which lacks certain sysctl options that were only introduced in 4.x kernels, so skip them; - state: akraino_iec: Add centos support: * move iec repo to `/var/lib/akraino/iec` on both Salt Master and cluster nodes; - scenario defaults: Add CentOS configuration: * OS-dependent configuration split; * CentOS base image, default packages etc.; - AArch64 deploy requirements: Add `xz` dependency * CentOS AArch64 cloud image is archived using xz, install xz tools for decompression; - xdf_data: Make yaml parsing OS agnostic: * rename `apt` to `repo` where appropiate; * OS-dependent configuration parsing; - lib_jump_deploy: CentOS handling changes: * skip filesystem resize of cloud image for CentOS; * add repo handling, package intallation/removal handling for CentOS; * unxz base image if necessary (CentOS AArch64 cloud image); Change-Id: Ic3538bacd53198701ff4ef77db62218eabc662e7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-05-29Revert "Patch dhcp agent to avoid unwanted resync"Michael Polenchuk3-14/+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>
2019-04-25Patch dhcp agent to avoid unwanted reschedulingMichael Polenchuk3-0/+14
Change-Id: Id49f26a2615e2fc06e94eeaf2e9200e83625e6c9 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-04-24[ha] Decouple openstack services by rolesMichael Polenchuk1-10/+18
Deploy the OpenStack API services based on roles to prevent issues with absent database tables since db_sync runs only on the nodes with primary role. Change-Id: I04cf3ce0dd59afd93b8a0dfcf060fbd7e7411c82 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-04-23[iec] Copy full contents of IEC git repoAlexandru Avadanii1-2/+2
Previously we only synced the scripts subdir, but going forward we will need the full contents of the IEC repo on all cluster nodes. Change-Id: I88edd4885875048d50d28c1eac9fd413dc2b6ffb Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-04-02[dpdk] Enable per port memory modelMichael Polenchuk1-19/+0
The per port memory model provides a more transparent memory usage model and avoids pool exhaustion due to competing memory requirements for interfaces. (http://docs.openvswitch.org/en/latest/topics/dpdk/memory/) Change-Id: I5add0f49cdcdf2fc3d24affee10a275abe3ca46a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-03-29[akraino] Add IEC K8-calico scenariosAlexandru Avadanii4-11/+55
- 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-29Bring in kubernetes scenarioMichael Polenchuk1-0/+39
Change-Id: I2b41ce2e275bb053fa2590654ea7fa432b0c857f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-03-19Revert "Fix race condition with nova privsep utime"Michael Polenchuk3-16/+0
This reverts commit ac56d7b14f46b05f497b3dca4b6a4b0bfedd83e2. The original patch has been merged (https://review.openstack.org/643011) Change-Id: I3a7cd825f371e375d36256143b4b8c91f90ee26e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-03-14Smooth down telemetry servicesMichael Polenchuk3-13/+0
* update gnocchi to 4.3 * remove outdated ceilometer api Change-Id: I7adaf3ddc76d93531b6b0997b684672b80f2992f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-02-26Fix race condition with nova privsep utimeMichael Polenchuk3-0/+16
Bug: https://bugs.launchpad.net/nova/+bug/1809123 Change-Id: I14622c21826aeeddac6ea7bf7f9d116cd3e68cfb Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-02-22Install missing gnocchi dependenciesMichael Polenchuk3-0/+13
Change-Id: Ifc4fff90551344c69295990b220f0778967887a4 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-02-14[baremetal] Containerize MaaSAlexandru Avadanii2-8/+9
- 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-10Merge "[state] Fold aarch64 conditions"Alexandru Avadanii2-10/+2
2019-01-09[state] Fold aarch64 conditionsAlexandru Avadanii2-10/+2
The armband formula already has checks in place to run only on nodes with the expected arch, so remove the duplicate condition in state files. Change-Id: I05b26368a2d97422830a692e09242bc50e4eb1db Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-01-09Bring in FDIO (VPP+DPDK) scenarioAlexandru Avadanii2-2/+2
- cmp, gtw: bump RAM allocation to accomodate hugepages/VPP; for now we overcommit, gtw01 resources can probably be lowered; - submodule: add salt-formula-neutron so we can locally patch it; - repo: * FD.IO repos for VPP packages; * networking-vpp PPA for python-networking-vpp Neutron driver; - use vpp-router for L3, disable neutron-l3-agent; - baremetal_init: apply repo config before network (otherwise UCA repo is missing when trying to install DPDK on baremetal nodes); - arm64: iommu.passthrough=1 is required on ThunderX for VPP on newer kernels; Design quirks: - vpp service runs as 'neutron' user, which does not exist at the time VPP is installed and initially started, hence the need to restart it before starting the vpp-agent service; - gtw01 node has DPDK, yet to configure it via IDF we use the compute-specific OVS-targeted parameters like `compute_ovs_dpdk_socket_mem`, which is a bit misleading; - vpp-agent requires ml2_conf.ini on ALL compute AND network nodes to parse per-node physnet-to-real interface names; - vpp process is bound to core '1' (not parameterized via IDF); Change-Id: I659f7dbebcab7b154e7b1fb829cd7159b4372ec8 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-25Remove rabbitmq hostname optionMichael Polenchuk2-3/+1
The BindToDevice=lo option has been removed from epmd.socket: https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/1808766 Change-Id: Ib92eaf5efababd37963745bdb8e3ad9354045449 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-12-24[ha] Fix pillar data targeting msg nodesAlexandru Avadanii1-1/+1
Change-Id: If4f4eb08c54ba8265ac178f215384d8a749d1b8b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-21Pull out rocky patchesMichael Polenchuk2-0/+2
This commit should be reverted once original formulas get required support of rocky version. Change-Id: Ia3458381bced0cae8dbfacc9781c90933ad5c822 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-12-19Update OpenStack version to RockyMichael Polenchuk3-23/+3
Change-Id: I88f28370180278c4b32599b83eebbb0ee005c936 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-12-14[maas] Adopt maas, maasng proposed functionsAlexandru Avadanii1-63/+12
JIRA: FUEL-364 Change-Id: Ia470fc8103713e7a06cd9647675b0edfb4342bf8 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-12[VCP] Reboot all VCP VMs after network configAlexandru Avadanii1-2/+2
Currently, PXE/admin on VCP nodes still uses MaaS DHCP before the new network configuration is enforced. A live network refresh would break minion registration with the Salt master, so perform a node reboot instead. Change-Id: I1c25f63f6c98a9fff98108d3fad9550dd4468355 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-07[ha] barbican, nova targeting: use server:roleAlexandru Avadanii1-3/+4
Instead of matching the hostname to determine the primary barbican node, rely on pillar data. While at it, apply the same logic to nova:controller states. Change-Id: Ia4ac391927a8b4b223febff106b400e84d264f7a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-07[ha] fix barbican server install errorGuillermo Herrero1-1/+2
Ensure installation happens first on node 1 first, run as batch on the rest after. Change-Id: I1ac3f516c35c4941b343e88d47c78b19d13d7b90 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-12-04Initial implementation of ONAP scenariosMartin Klozik1-0/+65
Patch introduces a new specific scenarios os-nosdn-onap-*ha for automatic ONAP deployment on top of the OPNFV installation. Deployment and configuration of ONAP is managed by OPNFV Auto project. New scenarios are based on generic os-nosdn-nofeature-*ha scenarios. Auto project is responsible for os-nosdn-onap-*ha development and maintenance. JIRA: AUTO-71 Change-Id: I8b177668d856f30b62d1d135b80a95c32ebb9937 Signed-off-by: Martin Klozik <martin.klozik@tieto.com>
2018-11-22Merge "[state] maas: Retry first state apply on mas01"Cristina Pauna1-1/+1
2018-11-21[state] maas: Retry first state apply on mas01Alexandru Avadanii1-1/+1
Change-Id: I6d2fab853b25d2f235e27c83a355ebc2c520771c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-11-21[vcp] kvm: Re-apply sysctl settings after libvirtAlexandru Avadanii1-1/+1
libvirt postinstall script configures `virbr0` by default, which we later remove & disable. However, on network creation, libvirt also enables ip_forward, so re-run kernel.sls to force it to 0 without a reboot. Change-Id: Ie27fbf995c10ad9cd0fa0c28c29bd88161f04fd7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-11-06[opendaylight] Update SQLAlchemy libraryMichael Polenchuk1-0/+16
To conform to the changes in networking-odl driver: https://review.openstack.org/604755 Change-Id: I6aaefe9d6d4f26652464f82b7c7e45694387c8af Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-10-26Fix salt target option in opendaylight stateMichael Polenchuk1-1/+1
Change-Id: Idf8b4b42dcc68bc55debaac9a8b5f1ca6b5b398e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-10-24[ha] Add haproxy on opendaylight nodesMichael Polenchuk1-1/+1
Setup haproxy on opendaylight nodes to listen/bind on VIP address. Keepalived will be checking existence of haproxy daemon. Change-Id: Ie0a3a6ebb82523388d528529709415644f67a380 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-10-16Add odl bgpvpn noha scenario to fuelStamatis Katsaounis1-0/+12
JIRA: FUEL-393 This patch adds support of os-odl-bgvpn-noha scenario to fuel installer. Change-Id: I4e053e38aac70023b0a81f9a41b415c7a1aae3af Depends-On: I57288bbb42f4c75af19f3807f8f15b44482c066c Signed-off-by: Stamatis Katsaounis <mokats@intracom-telecom.com>
2018-09-20[state] virtual_init: Limit to mas01 on baremetalAlexandru Avadanii1-0/+1
`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-19[noha] Bring in OpenDaylight SFC scenarioMichael Polenchuk1-0/+12
- bump formulas baseline during docker build; - refresh patches; Change-Id: I0a54863f57344c5f8897dc981f704c4d265c5522 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-13[ha] Get OVS 2.9 & DPDK 17.11 from UCA repoMichael Polenchuk1-4/+0
* 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-06[dpdk] Check whether public bridge existsMichael Polenchuk1-1/+1
Change-Id: I5aad512b5761deaa30522b6939bf245ecb1ec681 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-04[noha] Set MTU on tenant/private dpdk interfaceMichael Polenchuk2-3/+3
Enable jumbo frames on tenant/private interface as well so that an instance can get the DHCP response from gateway node. Change-Id: I9407fa67e9e0cdbe50335e4430748b0e45ba841a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-03[odl/dpdk] Make dedicated public network schemeMichael Polenchuk1-0/+3
In order to avoid TCP connection checksum issue (i.e. TX offloading on ovs bridges) add linux bridge connected with ovs public bridge. Change-Id: I4d266dd92756d5326dfa3d74fe2f376b26415812 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-01[docker] Cleanup, minor fixes, formula bumpAlexandru Avadanii1-3/+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-09-01[AArch64] vcp: Fix up vcp_nodes awk query conflictAlexandru Avadanii1-1/+1
JIRA: FUEL-404 Change-Id: I12acc90cdb17ecc090a993e1be41d13ad81dbb9d Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[salt-formulas] Add & enable armband formulaGuillermo Herrero3-1/+13
AArch64 specific formula, mostly tweaking nova conf / installing virtualization layer prerequisites: - install qemu-efi; - install vgabios; - fix missing link for vgabios binary blob; - nova conf: cpu_model=cortex-a57 (only for virtual deploys); - nova conf: virt_type=qemu (only for virtual deploys); - nova compute conf: virt_type=qemu (only for virtual deploys); - nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet; [1] https://github.com/openstack/nova/commit/f0f0953 Change-Id: I40515bdbd941850b103a86d51b347cc8610f5741 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>
2018-08-29[docker] Switch to containerized Salt MasterAlexandru Avadanii1-0/+39
* 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-15Turn off default apache portsMichael Polenchuk2-2/+2
Change-Id: I0377615ff19e39aca74b90d2ff7e7b2cd5cd6ccb Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-08-13[states] virtual control plane: dist_upgrade=TrueAlexandru Avadanii1-1/+1
Change-Id: I9c5c6cf564245d497d5916cc7f902ac277105bc6 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-09[ha] Fix openstack_ha ovn setupGuillermo Herrero1-1/+2
Fix targeting for neutron.compute sls for ovn computes, avoiding interaction with ovs dpdk scenarios. JIRA: FUEL-329 Change-Id: Iffb07f6f0d4dc8071437adf59d4cd6982113b998 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-08-07[states] baremetal_init: dist_upgrade=TrueAlexandru Avadanii1-1/+1
JIRA: FUEL-382 Change-Id: I9ace928ec5e04bee7ea9cfe1593b205802d7058a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-07[states] baremetal_init: Parameterize kvm hostsAlexandru Avadanii1-11/+15
Instead of hardcoding the 'kvm' hostnames, use new targeting mechanism based on scenario-specific node names, preparing for baremetal noha scenario integration. JIRA: FUEL-382 Change-Id: If336aa1ac130749e4df7bffaf27a55513dd4f267 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-03[lib.sh] Reset virtual nodes after MaaS installAlexandru Avadanii1-1/+1
For hybrid PODs (e.g. x86_64 jumpserver + control nodes, aarch64 baremetal compute nodes), the virtual nodes rely on MaaS DHCP to be up when the OS boots, so issue a `virsh reset` accordingly. Instead of checking for online nodes using `test.ping`, use `saltutil.sync_all` to also sync Salt state modules to the virtual nodes (usually handled by baremetal_init state in HA deploys). JIRA: FUEL-338 Change-Id: If689d057dc4438102c3a7428a97b9638e21bfdc5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>