summaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/cluster/mcp-pike-common-ha
AgeCommit message (Collapse)AuthorFilesLines
2018-04-23Disable cpu pinning & L3 HA featuresMichael Polenchuk2-5/+0
* 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> (cherry picked from commit ed7bb355c93af5c163d5ae7926012652021abf75)
2018-04-06[UCA] Stop enforcing repository architectureAlexandru Avadanii1-2/+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> (cherry picked from commit 9cac6117a760279b6be83034f5634f5505032cc0)
2018-03-29Add pike staging repositoryDelia Popescu1-0/+5
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-12Set volume_device_name variableMichael Polenchuk1-0/+2
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 Avadanii1-0/+1
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 Avadanii1-0/+1
- 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 Avadanii11-379/+222
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-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-03[j2 parsing] Adopt new generate_config featuresAlexandru Avadanii2-7/+7
- 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-02Conform network scheme to tagged public interfaceMichael Polenchuk1-9/+3
Change-Id: I503c8ad32900406e1fa375cec9a91b454889d8bf Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-02-22[noHA] Add dedicated cinder volume for virtual cmpAlexandru Avadanii1-2/+2
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[reclass] Update copyright yearAlexandru Avadanii18-18/+18
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 Polenchuk2-1/+4
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 "Add NOVCP HA OVS scenario (baremetal, virtual)"Alexandru Avadanii3-0/+380
2018-02-07[baremetal] cleanup: rm cloud-init iface configAlexandru Avadanii2-6/+0
Upstream commit [1] now handles cloud init interface configuration cleanup, so drop our explicit config from reclass. [1] https://github.com/salt-formulas/salt-formula-linux/commit/b333d284 Change-Id: Ifd624f1e884d0d884513a3a7c3e18ffe3f00949a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-06Add NOVCP HA OVS scenario (baremetal, virtual)Alexandru Avadanii3-0/+380
Add a new class of scenarios, based on existing baremetal HA scenarios, but instead of having a virtualized control plane (VCP), all Openstack controller services will run directly on the cluster nodes. This change adds the common scaffolding, as well as the OVS scenario. The new scenario(s) can be used on full-baremetal clusters, soon on full-virtual clusters and later on hybrid (virt + bare) clusters. This change defines old (current) style scenario definitions for both baremetal and virtual, both named: - os-nosdn-nofeature-novcp-ha; Prerequisites: 1. Merge-able by name reclass.storage.node definitions Each cluster (e.g. database, telemetry) adds its own set of reclass storage node defitions, which for novcp scenarios should be merged into a single node (kvm) based on the 'name' property. This is not currently supported by upstream reclass 'node.sls' high state, so add support for it via an early patch (required before salt-master-init.sh tries to handle reclass.storage). 2. common reclass classes for novcp Some of the classes in `baremetal-...-common-ha` are not fit for novcp as they define VCP-specific config/inheritance, so add new versions of said classes with novcp in mind or adapt old classes: - parameterize ctl hostname in `openstack_compute.yml`; - new `openstack_control_novcp.yml`; - new `openstack_init_novcp.yml`; 3. Handle hard set names in state files for baremetal nodes Some of our state files (e.g. maas) hardcodes baremetal node names to 'kvm', 'cmp', so we need to align the names in novcp scenario with these values to re-use the maas state. As a future improvement we should parameterize these names in all state files. As a consequence, our baremetal controller nodes will also use 'kvm*' hostnames (instead of 'ctl*'). 4. Add 'noifupdown' to all interfaces on kvm nodes to prevent duplicate IPs/routes created at *any* ifup due to /etc/network/route-br-ex. Patch salt-formula-linux to skip network restart on 'noifupdown', also when routes are present on that interface. JIRA: FUEL-310 Change-Id: Ic67778f63e5ee0334dbfe9547c7109ec1a938d61 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-06[apt-mk] Switch back to nightlyAlexandru Avadanii1-1/+1
Revert "salt: Use apt-mk 'stable' distribution" Revert "reclass: apt_mk_version: stable" This reverts commit d1b6119e288a31e015573363ce77790fec8684df. This reverts commit 4563ea7d62238e8273d840a8d9c6c1e179ca584e. Change-Id: I383db1f78a087045086096cbc674260b985fd913 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-05[baremetal] Rename all to drop baremetal prefixAlexandru Avadanii19-0/+1483
A few things differ between baremetal and virtual nodes: - provisioning method; - network setup; Since now we support completely dynamic network config based on PDF + IDF, as well as dynamic provisioning of VMs on jumpserver (as virtual cluster nodes), respectively MaaS-driven baremetal provisioning, let's drop the 'baremetal-' prefix from cluster model names and prepare for unified scenarios. Note that some limitations still apply, e.g. virtual nodes are spawned only on jumpserver (localhost) for now. JIRA: FUEL-310 Change-Id: If20077ac37c6f15961468abc58db7e16f2c29260 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>