aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/config
AgeCommit message (Collapse)AuthorFilesLines
2018-04-26Run galera state on slave nodes one by oneMichael Polenchuk1-1/+1
Apply galera state in consecutive order to avoid a race condition with database initialization. Change-Id: I877bad38777d8469c03cee3b7e96acc875a3a72a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 3bc1605a823400a80965f56ed9a502a8ce67b883)
2018-04-25[states] Catch more transient 'no response' respAlexandru Avadanii2-8/+8
Change-Id: Ie8e60a648fa28e59daa6e00f357df52b5821e833 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 9e9393ab60ff513f01b9ce045245e6c5808590a8)
2018-04-23[reclass] Parameterize tenant VLAN rangesAlexandru Avadanii1-1/+1
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> (cherry picked from commit aa199b5e96f91111d96f53040be00736cd9309be)
2018-04-18[baremetal] cmp linux.system: catch 'no response'Alexandru Avadanii1-1/+1
Catch & retry transient errors / timeouts while applying the `linux.system` state on cmp nodes. Change-Id: Id314b5a29673e0bcaa78611fc787491056830952 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 67b7248e3cc8550ebd757ebb48e2536770f073f8)
2018-04-06Update opendaylight version to oxygenMichael Polenchuk3-6/+2
JIRA: FUEL-362 Change-Id: Ib2621bca72d1ba376af5d369edcf5fcf37e9788b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit c1889c963bbe9b21645057e6e9cfcbe9c5f6434d)
2018-04-04Remove opendaylight service maskMichael Polenchuk1-3/+1
Nitrogen SR2 brought in weird behaviour into netvirt feature configuration causing malfunction tunnels between client nodes (e.g. gateway, computes). In order to work properly service of opendaylight requires an explicit restart or reload by means of salt formula. Change-Id: I277da5ad2787f1005647e500b64c7ffa6051443b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> (cherry picked from commit 3fdf9a951e8c7f5387b90d020ea6db38d85f3dd4)
2018-03-30Re-order opendaylight stateMichael Polenchuk3-2/+5
* return back opendaylight state after neutron setup * sleep for awhile to let neutron api reconnect to the ODL controller and agents to register on server Change-Id: Ife0c7d3cc20574b0733e8e3064843c680379cc84 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-28[odl] Setup manager target after ovs host configMichael Polenchuk3-4/+4
Change-Id: Ia517b7cf1723a5afaf43cb0709716f3a67a29e9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-23Apply opendaylight state after ovs host configMichael Polenchuk3-3/+13
* 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-13[vcp] Catch 'no response' for salt stateAlexandru Avadanii1-1/+1
JIRA: FUEL-358 Change-Id: I8dc89676aa777068d1a13168bf7b7d7156903c03 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-12[virtual/odl] Apply missing neutron.compute stateMichael Polenchuk5-15/+1
Change-Id: I078e11219fb8dea4505c46e7f75c295c5a72c59b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-11[IDF] Move ip-range start higher for mgmt, publicAlexandru Avadanii2-1/+3
- move mgmt start to .10; - move public start to .100; - sync local idf-pod1; JIRA: ARMBAND-365 Change-Id: I5d93c4f486daf280d8bdbe92f5aa7edd8d020db0 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-08Revert "[baremetal] Retire mas01 NAT"Alexandru Avadanii1-0/+1
Bring back public internet access to all cluster nodes via NAT on mas01 node, required for NTP syncing. NOTE: Both mcpcontrol and PXE/admin networks are currently hard wired to using /24 netmask, so we leverage that in pxe_nat.sls. JIRA: FUEL-348 This reverts commit 9a6e655e0b851ff6e449027c01ac1a66188b0064. Change-Id: I7bab385f95f8c6d92cadc4e2149c2cd56e10c506 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-07[IDF] net_config: Add support for custom ip-rangeAlexandru Avadanii1-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 Avadanii10-109/+217
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-07[vnode parsing] Move core logic to j2Alexandru Avadanii2-30/+24
j2/python is easier to read and manipulate strings, although it does need some special care about undefined dict keys. With this in place, deploy.sh only contains the higher level logic for the deployment process. - merge arch-specific default configuration files into a singular file with arch name as main dict key of old config (also avoids creating duplicate 'virtual' YAML keys in $LOCAL_PDF); - move template handling to separate <lib_template.sh>; - decouple tight bash ordering of scenario expansion -> parse_yaml -> variable export (e.g. CLUSTER_DOMAIN) -> re-use in cluster j2s; however we can't parse *all* j2s in one go, as scenario j2s might expand to YAMLs needed while expanding cluster j2; - split `do_templates` into separate functions for each stage, with no coupling between them other then call order; Change-Id: I4b5e804094c00e5e918caf769fd85fa52181ad76 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-07[ha] Add route_wrapper to prx, kvmAlexandru Avadanii2-1/+2
Similar to cmp, when route already exists, networking service fails to start on 'nginx:server' slaves ('kvm' in novcp case). JIRA: FUEL-349 Change-Id: I2dc83ea78528533e92c9b9125e78b6e4387bdfe2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-06[ha] Add ovn scenario placeholderAlexandru Avadanii1-0/+26
- 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-05Align opendaylight settings with upstreamMichael Polenchuk1-4/+0
Change-Id: If7d51555bc13dbcaa63f93ab1993f3655e2ce643 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-03[j2 parsing] Adopt new generate_config featuresAlexandru Avadanii1-1/+1
- 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-02-25[ovs/dpdk] Parameterize node-specific compute argsCristina Pauna1-0/+18
- 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-25[ovs/dpdk] Add opnfv.route_wrapper slsAlexandru Avadanii3-15/+5
- fix `route-br-ex` if-up.d script failing when route already exists by adding a wrapper around distro's '/sbin/route' binary in '/usr/local/sbin/route', exploiting default order in Ubuntu PATH; - fix 'br-prv' duplicate entry in 'interfaces.d/ifcfg-br-prv' and 'interfaces' caused by upstream bug [1]; - add barrier waiting for all baremetal nodes online before attempting reboot, trying to catch rare failures which are undetectable in logs as both a succesful reboot and a disconneted minion report 'n/c'; With the above in place, networking service should no longer fail to start on cmp nodes w/ DPDK. [1] https://github.com/saltstack/salt/issues/40262 Change-Id: I6d4895376ce323c14c997e6c9af2ea3eeeee0184 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-20Reset kernel version to xenial image default oneMichael Polenchuk1-1/+0
Virtual compute nodes goes to kernel panic during nova instances ops under hwe kernel, so use the default one from xenial image. Change-Id: Iae100b68208cc1fb9e43e45f385e762cdbd6573a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-02-19Merge "[Horizon] Fix 'mcp' version check pattern"Alexandru Avadanii1-1/+1
2018-02-18[Horizon] Fix 'mcp' version check patternAlexandru Avadanii1-1/+1
Previous commit used a pattern that is too generic and always matches the substring 'mcp' vs the node hostname, not only pkg version. Fixes: 4658acf Change-Id: Ia4dcbbf7cdfa68574c86459217101d83d61add01 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-17[MaaS] Add maas.machines.set_storage_layout slsAlexandru Avadanii1-0/+10
On cmp nodes, allocate only 30GB (fixed for now) for / partition. The rest of the disk(s) can later be allocated via salt-formula-linux. JIRA: FUEL-330 Change-Id: Ie11c78791e60801719cd33475ff91fc003df5ffa Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-17[MaaS] Override failed testing by defaultAlexandru Avadanii1-1/+8
Some nodes fail automatic testing done by MaaS during commissioning, although running the testing suites one more time manually works. For now, just override all 'failed testing' nodes unconditionally. JIRA: FUEL-333 Change-Id: I13d3ee3d82550524480aa53aa8752ab90aa940cd Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-16Set nova disk cachemodes to file directsyncMichael Polenchuk1-0/+1
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-15Fix check if node type is baremetal for novcpDelia Popescu1-4/+5
Fixes: 86c8109 Change-Id: I0a947bd7db5dd7cb830cc932f5a0d16831551923 Signed-off-by: Delia Popescu <delia.popescu@enea.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-15Mask opendaylight serviceMichael Polenchuk1-1/+4
In order to avoid using cache data with initial/outdated configuration, mask opendaylight service before package installation. JIRA: FUEL-344 Change-Id: I71eb0b0a5af93d6d21698e76587b32098aba96b4 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-02-07[states] Fix broken online check for bm, vcp nodesAlexandru Avadanii2-5/+5
Previous commit replacing explicit loops with `wait_for` failed to properly escape a nested variable, leading to deploy failure. Also, the logic was flawed, not breaking for offline nodes, rendering the whole barrier check useless. Fixes: 1a0e8e7e Change-Id: I038dbf90fb53c6b61da2e5c9b6867e31d78867af Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-07Merge "[virtual] Rename all to drop virtual prefix"Alexandru Avadanii4-4/+4
2018-02-07Merge "[hybrid] Merge config/scenario/{baremetal,virtual}"Alexandru Avadanii11-26/+28
2018-02-07Merge "[states] maas, vcp: Use `wait_for` in online check"Alexandru Avadanii2-25/+8
2018-02-07Merge "Add NOVCP HA OVS scenario (baremetal, virtual)"Alexandru Avadanii2-0/+56
2018-02-07Switch off broken sphinx stateMichael Polenchuk1-1/+1
Deactivate documentation related optional state until it get fixed in upstream. Change-Id: I5242ed307548c4f37f81d271a1f4f6bee9903f4e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-02-06[virtual] Rename all to drop virtual prefixAlexandru Avadanii4-4/+4
JIRA: FUEL-322 Change-Id: I99c4b1774a7c3afbc834a6f6e8468f7baf1bc329 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-06[hybrid] Merge config/scenario/{baremetal,virtual}Alexandru Avadanii11-26/+28
Instead of classifying scenarios by underlying machine type, switch to HA/NOHA differentiantion only. This allows us to add support for hybrid scenarios (with some virtual and some baremetal nodes in the same cluster). To facilitate this, we will template the scenario files, which is a small step towards SDF (Scenario Descriptor File) definition and adoption later. JIRA: FUEL-338 Change-Id: If5787991869a3105d82c27ffa0a86ac79b4b08ba Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-06[states] maas, vcp: Use `wait_for` in online checkAlexandru Avadanii2-25/+8
Change-Id: I7b583c354843f0116a65b3a31f3be4589087b8a5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-06Add NOVCP HA OVS scenario (baremetal, virtual)Alexandru Avadanii2-0/+56
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[HA] Use cluster_public_host for SSL cert fetchAlexandru Avadanii1-5/+7
For VCP-enabled scenarios, `cluster_public_host` and `cluster_vip_address` both point to the public VIP of the cluster. However, for upcoming NOVCP scenarios, `cluster_vip_address` resides inside the management segment, so use `cluster_public_host` instead. JIRA: FUEL-310 Change-Id: I13ef482e2c3116c991dfe91be81d0964f140f8e9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-06[Horizon] Limit css fixup to Ubuntu packageAlexandru Avadanii1-9/+11
Horizon package from Mirantis mcp-repos does not require the fixup, so limit its application to non-mcp packages. Required for upcoming NOVCP scenarios, where we also have mcp-repos APT source on the proxy nodes. JIRA: FUEL-324 JIRA: FUEL-310 Change-Id: I4399af803c0a17e0aa8f3d7a7330e501a5eedf55 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-05[baremetal] Rename all to drop baremetal prefixAlexandru Avadanii3-3/+3
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>
2018-02-05[FN VM] Reboot VMs on jump, wait for all onlineAlexandru Avadanii2-4/+1
- apply `linux` state on cfg01 first, so PXE/admin IP is added and FN VM minions are available; - add barrier and wait for all FN VMs to register with cfg01; - use batch-mode execution while applying `linux.network` on FN VMs; - retry all states executed via <salt.sh> on FN VMs; JIRA: FUEL-310 Change-Id: I72e1c565370072500df1d486fe76e6315f583c75 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-05[vPDF] Add experimental vPOD lab configAlexandru Avadanii2-0/+206
JIRA: FUEL-322 Change-Id: I1482badbbbf66b4855faf6daf486520fc71e09b0 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-05[PDF] pod1: Refresh PDF, IDF examplesAlexandru Avadanii2-65/+66
Sync latest changes from pharos git repo for our sample PDF/IDF: - move net_config from PDF to IDF; - minor cleanup; JIRA: FUEL-322 Change-Id: If6865ac61a4942a1dd5daf7081fd8faa67e0e7bf Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-31Turn off Retpoline and KPTI protectionMichael Polenchuk1-1/+1
Based on Canonical research (https://goo.gl/QJykMa) there is low-risk of attack for private clouds environments, therefore turn off the related kernel patches & regain performance back. Change-Id: I661fa127241e327b07d21a29d58d584997607123 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-01-31[VCP] Catch 'no response' when adding ssh auth keyAlexandru Avadanii1-1/+1
On rare occassions, one or more minions might fail to respond in due time, so catch 'no reponse' using `wait_for`. Change-Id: I8e6b0dc44a39e79c2874ff9a657e152620ba3f13 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-01-26[ovs/dpdk] Configure vxlan for baremetal scenarioMichael Polenchuk2-0/+13
* switch ovs/dpdk scenario from vlan to vxlan mode * force br-ex interface to mitigate race with incorrect state * remove dpdk packages list (already in upstream) Change-Id: Ib827cef2d67879fd2a86d286ca2118b22493274d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-01-25Merge "Add support for different public network netmask"Alexandru Avadanii1-12/+15