aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/cluster
AgeCommit message (Collapse)AuthorFilesLines
2018-04-19Disable cpu pinning & L3 HA featuresMichael Polenchuk5-9/+5
* CPU pinning: tests have no support for dedicated CPU policy, so enabled pinning causes general performance impact [https://docs.openstack.org/nova/pike/admin/cpu-topologies.html] * L3 HA routers: - doesn't catch l3-agent failure, relies only on HA network state to spot failure - failover process only retains the state of network connections for instances with a floating IP address - incompatible with DVR mode JIRA: FUEL-360 Change-Id: Ie0182bf953b9989729f89d705d9fee902d229e51 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-04-18[reclass] Parameterize tenant VLAN rangesAlexandru Avadanii2-2/+2
Instead of hardcoding the VLAN ranges in reclass, read them from IDF. This is required when VLAN segmentation is used instead of VXLAN, as lab switches should be configured appropiately (e.g. Armband PODs use VLANs 2000+ instead of 1000-1030). Change-Id: I009ccea9b328c40f055a745791eafe3393b96390 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-04-11Clean up opendaylight configurationMichael Polenchuk4-12/+0
* remove client patch (has been merged to upstream) * websocket now is disabled by default * purge deprecated/unneeded features (odl-mdsal-apidocs, odl-dlux-all) Change-Id: Id247a3c74e66730049bfeafc4a5164aad0d9b662 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-04-09Add ports to ovs bridge configMichael Polenchuk1-0/+2
To avoid race with interfaces initialization specify all the ports that belong to a bridge in the config file. Change-Id: Ie4f48e7a81d4659a0f43749cdd518dbeffe2e35f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-04-06Merge "[virtual] Set vnc address to local one"Alexandru Avadanii1-0/+2
2018-04-06[virtual] Set vnc address to local oneMichael Polenchuk1-0/+2
System reclass model assigns vnc address to control_address variable which is used for controller node reference, so change it to local address of the current compute node. Change-Id: I0c6b8534a1dae516620d0d250944232379a526e0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-04-06[UCA] Stop enforcing repository architectureAlexandru Avadanii2-4/+0
Let APT automatically choose the UCA/Pike-staging PPA architecture based on current system architecture instead of hardcoding it. Change-Id: I4fe645847ac0fb70a852477feba9f788fcb8da81 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-31Merge "[odl] Configure Odl memory requirements"Alexandru Avadanii2-3/+3
2018-03-31Merge "Add pike staging repository"Alexandru Avadanii2-0/+12
2018-03-30[odl] Configure Odl memory requirementsCharalampos Kominos2-3/+3
Odl scripts present in /opt/opendaylight crash with out-of-memory errors and we cannot use them so we add more memory to the ODL virtual machine and to the JVM. Change-Id: Ia29a324ca34b5d33e947ca6d177ce3567316dcb9 Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com>
2018-03-29Add pike staging repositoryDelia Popescu2-0/+12
Append PPA repository to the existing UCA Existing UCA repository is still necessary for maas Change-Id: If545b37d30291d3708430c52593b7fbd03bd22e4 Signed-off-by: Delia Popescu <delia.popescu@enea.com>
2018-03-28[odl] Setup manager target after ovs host configMichael Polenchuk1-6/+14
Change-Id: Ia517b7cf1723a5afaf43cb0709716f3a67a29e9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-23Apply opendaylight state after ovs host configMichael Polenchuk1-0/+3
* employ GA kernel for baremetal computes as well * setup/start opendaylight server after ovs host config Change-Id: Ic772aed544b17be02e6ca9ccd175f2288b2128a8 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-22[ovs/dpdk] Turn on non-blocking ovs callsMichael Polenchuk2-6/+2
Change-Id: I8206707cdb2ebc267b6f4971de35477e3dc73c5f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-20[virtual/odl] Use default gw offered from dhcpMichael Polenchuk1-6/+1
Remove default route to external gateway on compute nodes instead of placing wrapper script as a workaround. Change-Id: I8e1d5d9920a7aa2ed2d1092ebce692176a3bf41a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-16[ovs/dpdk] Set bridge datapath_type to netdevMichael Polenchuk1-0/+2
This prevents neutron ovs agent to re-create existing bridge which might cause unpredictable/faulty state of network interfaces. Change-Id: I289365e1dea7d178b5b72eb506f5c711f6d60199 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-14[virtual/odl] Simplify network scheme on computesMichael Polenchuk1-15/+10
Change-Id: Ifb874aba38b2fa36fde05184bcdd74870257bec1 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-13[odl] Add SDN_CONTROLLER_IP to openrcAlexandru Avadanii2-0/+14
JIRA: FUEL-352 Change-Id: I73aa5d41e93f3ebd5c8e44577868e8d21e0106a9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-13[virtual/odl] Turn off websocket for pseudo agentMichael Polenchuk1-0/+4
To prevent error in packet_handler callback: AttributeError: 'PseudoAgentDBBindingWebSocket' object has no attribute 'update_agents_db_row'. Change-Id: I1a6a4b95ce3290ce108bdb91ae8eb5e85a13ef51 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-12Set volume_device_name variableMichael Polenchuk2-0/+4
This evironment variable is required by test suite to refer to an attached volume (vdb is reserved for config drive). JIRA: FUEL-353 Change-Id: I4f7c96b2344575fcd9b785e3c74b27ef4c4d64f8 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-08Fix missing root_helper_daemon for cmp, gtwAlexandru Avadanii3-0/+3
While at it, drop patch now upstream. JIRA: FUEL-348 Fixes: cf6cd9cd Change-Id: Ieb4c93e9dc79a4e4dec140433574e042a1a6f2dc Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-07[IDF] net_config: Add support for custom ip-rangeAlexandru Avadanii2-0/+2
- submodule: bump Pharos to pick up installer adapter support, as well as IDF updates for Ericsson baremetal pod1; - labs/local/virtual: Bump mgmt, public networks start addresses from .1 to .10, similar to ericsson-pod1; While at it, drop patch now upstream and instead adopt the new param 'neutron:server:root_helper_daemon'. JIRA: FUEL-351 Change-Id: I9bc244a7fd8698861a390ed2b6a27804be46c285 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-07[novcp] Add deploy argument `-N` (experimental)Alexandru Avadanii49-597/+295
Instead of duplicating scenarios for NOVCP, allow it to be specified using a new deploy argument, `-N`. Things are getting convoluted, so instead of creating dedicated '*_pdf.yml.j2' files for each group of similar features, apply the templating in-place and rename all affected files to ".yml.j2". This breaks .gitignore assumption of hiding only "*_pdf.yml" files, so extend (manually) the <mcp/reclass/classes/cluster/.gitignore> with `git ls-files --exclude-standard -o` after an expansion. - ha: move nfv.cpu_pinning to j2, conditioned by 'baremetal'; - ha: add cmp00* vnode definitions (hugepages need more RAM); - labs/local: enable hugepage params for non-dpdk noha; - salt.sh: add route_wrapper to all non-infra VMs; This change extends novcp support to all HA scenarios. Change-Id: I7a80415ac33367ab227ececb4ffb1bc026546d36 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-06Merge "[keepalived] Check proccess id of nginx on proxy"Alexandru Avadanii1-0/+5
2018-03-06[keepalived] Check proccess id of nginx on proxyMichael Polenchuk1-0/+5
By default vrrp script seeks out haproxy process id, so change check_pidof script arguments to "nginx" on proxy nodes. Change-Id: I616bf90ba49fa8257d28d236dcf3b7c5598039f1 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-06Mend opendaylight settingsMichael Polenchuk2-1/+6
* class including order (default was used) * disable root_helper_daemon (incompatible with UCA) * turn off websocket for pseudo agent updates Change-Id: I4d7971d393da184bdd55f65b4d3fd8d9e898543f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-06[ovn] Fix cluster name in dummy baremetal scenarioAlexandru Avadanii1-1/+1
JIRA: FUEL-329 Change-Id: I56c8e027dc797a86848b73af30adbf40de119f85 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-06[ha] Add ovn scenario placeholderAlexandru Avadanii13-0/+199
- dummy copy of os-nosdn-nofeature-ha masquerading as os-ovn-nofeature-ha scenario placeholder; JIRA: FUEL-329 Change-Id: Ic5e6d65cf057289bb13ce2fa157b6ba53d7dab80 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-05[reclass] Add missing neutron keyword in class uriAlexandru Avadanii3-3/+3
Change-Id: I71fdc7ccd84a0700333734b5144a4281b53cf25b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-05Align opendaylight settings with upstreamMichael Polenchuk8-50/+5
Change-Id: If7d51555bc13dbcaa63f93ab1993f3655e2ce643 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-03[j2 parsing] Adopt new generate_config featuresAlexandru Avadanii5-12/+12
- bump Pharos git submodule for j2 'do' extension + batch mode; - adopt j2 'do' in our templates; - use int filter for 'native' vlan check; - lib.sh: adopt `-i` to remove `ln` hack for net_map.j2; - lib.sh: adopt `-b` to speedup template parsing; NOTE: Bumping Pharos will also bring in the latest changes in pod_config.yml.j2, which include massive IP shifts and updates. JIRA: FUEL-335 Change-Id: I7d3a997b3d8659d5f09f867870fb3a148c1ec6df Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-02Merge "Conform network scheme to tagged public interface"Alexandru Avadanii1-9/+3
2018-03-02Conform network scheme to tagged public interfaceMichael Polenchuk1-9/+3
Change-Id: I503c8ad32900406e1fa375cec9a91b454889d8bf Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-01[ovs/dpdk] [noha] Do not add private nic to ifacesAlexandru Avadanii1-0/+2
All settings specific to private nic are handled by linux.network.dpdk but since the private nic's `interface.type` is currently 'eth', it is not filtered out from /etc/network/interfaces. To prevent this, define `interface.type` as a dummy value containing the 'dpdk' substring. Change-Id: I565153ee80698572209e12b4eec5f44f9416d945 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-26[patch] cleanup: Drop LVM filter disableAlexandru Avadanii1-2/+2
Now we explicitly add a LVM PV on /dev/sda{1,2} for Cinder storage, so we can safely drop the patch disabling LVM volume filtering. If we later move the PV to a different disk, we can just add the VG and LV definitions to linux:storage via reclass, and Salt will skip setting them up (as they're already created by MaaS), yet keep the filtering sane. While at it, fix 'nova_cpu_pinning' param expr; constructs based on reclass interpolation (e.g. '${_param:x}') do not work when parameters are passed via reclass.storage templating, so change reclass interpolation syntax with classic YAML anchors. Fixes: 672ae12 Change-Id: Ieb41635ddeb630543d7e4d1079f45d636d9a43af Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-25[ovs/dpdk] Parameterize node-specific compute argsCristina Pauna14-41/+70
- node-specific parameters (nova pinning, hugepages, dpdk) should be configurable via IDF, on a per-node basis; - keep default settings for lf-pod2, with and without DPDK, override them for virtual deploys via local-virtual1 IDF; - leave neutron_tenant_* vars hardcoded for now, as they are required on both ctl and cmp nodes - this way we'll deal stricly with cmp params, so we can nicely pass them via config.yml to reclass per-node (and not per-role), allowing mixed computes later; - add compute params for ovs/odl-noha, preparing them for deployment on baremetal later. JIRA: ARMBAND-343 Change-Id: I89a58b9565679ab3882d85f07ae817690ae85c67 Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
2018-02-22[noHA] Add dedicated cinder volume for virtual cmpAlexandru Avadanii2-4/+3
Replace loop device LVM-backed cinder volume with a dedicated /dev/vdb drive. This is another small step towards bringing noHA to baremetal. Change-Id: I80f9c2bee42e933a36ab7a8f9b4c5247d1652b42 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-22[HA] [cinder] Fix rootfs part name for sda > 2TBAlexandru Avadanii1-1/+2
On systems with more than 2TB on /dev/sda, MaaS automatically creates a 1MB partition with bios_grub label as /dev/sda1. Account for this and expect rootfs to reside on /dev/sda2 (assume all compute nodes have the same behavior wrt this issue). Ideally, later we will switch to explicit partitioning via MaaS, or to a new baremetal provisioner like Ironic. Requires bumping Pharos git submodule to pick up the new j2 filter. Fixes: f6f8a56 JIRA: FUEL-330 Change-Id: I12f5046cf69bf2f52c8b8dc331b90048df643646 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-20[HA] [cinder] Switch loop to free space on sdaAlexandru Avadanii2-2/+18
On cmp nodes, we assing 30G (fixed) to rootfs, use the rest for cinder. Note: AArch64 gets one extra partition (the EFI System Partition or ESP) on /dev/sda1 via MaaS. JIRA: FUEL-330 Change-Id: I2a36107d074532b627bd2349cafc0c8ee61f500f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-20[salt.sh] Armband extra repo for forked reclassAlexandru Avadanii2-0/+2
- add Armband nightly/extra DEB repository; - install forked and updated reclass 1.5.2 which includes: * better error reporting; * support for deleting existing keys during list interpolation; * various other improvements and optimizations; While at it, update copyright year for patches. JIRA: FUEL-345 Change-Id: I00d8b625fe191648e7ea34b3dd4c8375691384e6 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-20[reclass] dbs, msg: Inherit only infra classesAlexandru Avadanii6-6/+6
All other VCP nodes (mdb, prx, ctl etc.) inherit only the infra subdir of each scenario, so apply the same to dbs, msg. This should cut down some operations during reclass interpolation for affected nodes, without any changes in output pillar data. Change-Id: I77ae6e1d5658cba87fcd8c45a5f8f5e177e0eda9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-20[reclass] Update copyright yearAlexandru Avadanii89-89/+89
Change-Id: Id1ca66938531e1d24ec0d44194f8b09643062944 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-19Merge changes from topics 'lab-proxy-keyserver', 'maas-override-failed-testing'Alexandru Avadanii8-6/+10
* changes: [baremetal] Use upstream lab proxy for keyservers [MaaS] Override failed testing by default
2018-02-19Merge "[patch] MaaS: mcp.rsa.pub to auth keys via pillar"Alexandru Avadanii1-0/+2
2018-02-17[baremetal] Use upstream lab proxy for keyserversAlexandru Avadanii8-6/+10
Proxy chainloading does not always work for keyserver requests, so: - mv common.infra.lab_proxy_pdf common.include.lab_proxy_pdf; - mv common.include.proxy common.include.maas_proxy; - include lab_proxy_pdf after each maas_proxy, so if upstream_proxy is defined, it will override the MaaS proxy; JIRA: FUEL-317 Change-Id: I63749be0d350ea73ea2cf6e629710766b14ecb73 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-17Merge "reclass: maas: Dynamic machine definitions"Alexandru Avadanii2-56/+31
2018-02-16Set nova disk cachemodes to file directsyncMichael Polenchuk3-1/+5
Set nova/libvirt disk cache modes to file directsync to bypass the host page cache & prevent instance's kernel panic due to absent /dev partition. Caching mode directsync effectively turns all guest I/O operations into direct I/O operations on the host, which is the NFS client (virtuals) or GlusterFS (baremetals). Also return back to hwe kernel as a golden mean between GA & Edge ones. Change-Id: I51ab7d0ee71c214ff16b756cfee16e918738b6fd Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-02-13[patch] MaaS: mcp.rsa.pub to auth keys via pillarAlexandru Avadanii1-0/+2
Drop one questionable patch responsible for MaaS node authorized keys to include mcp.rsa.pub by reading the contents of authorized keys on mas01, assuming mcp.rsa.pub will be on the first line. Instead, export the contents of the public key using a shell env var during deploy, which gets expanded via maas_pdf j2 template into a reclass param, leveraging existing salt-formula-maas sshprefs mechanism for delivering the key to MaaS. Since we require the public key to exist before expanding templates, move `generate_ssh_key` call outside the current infrastructure handling block, allowing it to execute during all `deploy.sh` calls, even for dry-runs. Change-Id: I0f53b0f764a2fafd292e0ffd399c284acf61bd30 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-13reclass: maas: Dynamic machine definitionsAlexandru Avadanii2-56/+31
Refactor maas machine definition flow from going through variables in pod_config.yaml to directly handling it in Fuel using a new j2 template. This prepares for future improvements allowing a dynamic compute node count, as well as parameterizing new values via j2. For now, node roles and count are still statically mapped to PDF nodes. JIRA: FUEL-319 Change-Id: I770d82987fcb99792f9d5bc0857ab513f5cd3731 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-07Merge "[virtual] Rename all to drop virtual prefix"Alexandru Avadanii41-63/+63