aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/patches/salt-formula-linux
AgeCommit message (Collapse)AuthorFilesLines
2019-12-19[fdio] Bump VPP to 19.08.1-releaseAlexandru Avadanii1-2/+3
- refresh formula patches with new package names where necessary; - switch to packagecloud.io repositories; Change-Id: I1178a387891d34117c162380d8247eb7a4212359 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-07-30[dpdk] Remove invalid vhost optionsMichael Polenchuk1-0/+25
With DPDK 18.11 the vhost owner/perm options have to be removed since libvirt creates the server side of the socket and OVS connects to it using DPDK as a client. Change-Id: Ic33de66dcc0830cd31fc54880c524f850e2c4ea1 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-06-28[iec] Add basic CentOS support (virtual only)Alexandru Avadanii1-0/+44
- 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-09[fdio] Bump compute RAM defaults for virtual PODsAlexandru Avadanii1-6/+9
Hugepage count has been recently bumped for virtual PODs via IDF changes in Pharos, so align our FDio scenarios with the new RAM requirements. While at it, fix wrong pod_config template evaluation by moving it after the templated scenario files are expanded, since pod_config relies on scenario node definition. Also, configure VPP to use decimal interface names by default to align with Pharos macro for the VPP interface name string. Change-Id: Ib3a89c294a3a2755567fdbe07e3be2b8ca1a5714 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-05-06[dpdk] Get back to shared memory modelMichael Polenchuk1-5/+5
The per port model potentially requires an increase in memory resource requirements (which is limited by labs) to support the same number of ports and configuration as the shared port model. Set linux:network:openvswitch:per_port_memory explicitly to true to enable per port mempools support for DPDK devices. Change-Id: I130885afc50e7a047f8835113d370840827ad718 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-04-02[dpdk] Enable per port memory modelMichael Polenchuk1-0/+25
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-01-27[ovs] Start ovs services before networkingAlexandru Avadanii3-7/+117
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-24Enable back auto for ports network scriptMichael Polenchuk1-15/+21
The ovs port remains in down state after reboot if "auto" is off. Also turn off no_wait option for odl-noha scenarios. Change-Id: I0121b3190869528e5f2e9985f9e9299ac6c6724e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-01-11[patch] Avoid ifup run if noifupdown is turned onMichael Polenchuk1-13/+18
Handle noifupdown option for all cmd.run states with explicit ifup call as well. Change-Id: Ie855a0810bcfe4a856cf9d29bd0755643d71ff4d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2019-01-09Bring in FDIO (VPP+DPDK) scenarioAlexandru Avadanii1-0/+135
- 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-11-09submodule: Bump salt-formula-maasAlexandru Avadanii1-2/+2
* bump salt-formula-maas git submodule; * sync AArch64 initial salt config with the x86_64 default config; * bump Pharos git submodule to sync `power_pass` MaaS configuration paramater naming; Change-Id: Ic59dd8becb6d83a9e67004c38d51681c88c4be7c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-23[repos] Replace keyserver accesses with pillar GPGAlexandru Avadanii2-157/+0
JIRA: FUEL-392 Change-Id: Ia21840c7561a14a5eeed3d08bf89eb2dbf9acc3a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.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-08-31[noha] Align MTU settingsMichael Polenchuk1-2/+1
* shift MTU from public bridge to physical interface * add neutron related settings Change-Id: Ia57d1ca7976968d6e7ee23f58a0abae1a1a256c0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-08-29Add noifupdown for all br-floatingAlexandru Avadanii1-2/+2
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 Avadanii2-0/+258
* 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>