aboutsummaryrefslogtreecommitdiffstats
path: root/mcp
AgeCommit message (Collapse)AuthorFilesLines
2018-03-08Revert "[baremetal] Retire mas01 NAT"Alexandru Avadanii2-0/+38
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 Avadanii7-41/+37
- 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-07Merge "[novcp] Add deploy argument `-N` (experimental)"Alexandru Avadanii63-726/+515
2018-03-07Merge "[vnode parsing] Move core logic to j2"Alexandru Avadanii7-97/+168
2018-03-07Clean up aodh formula symlinkMichael Polenchuk2-4/+0
Change-Id: I1d84b5d4e3eb0de1c3ebf6fc5a538ee6714d53b2 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-07[novcp] Add deploy argument `-N` (experimental)Alexandru Avadanii63-726/+515
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 Avadanii7-97/+168
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[patch] Fixup ceilometer server publisher defaultAlexandru Avadanii5-37/+31
- backport proposed fixup for ceilometer; - remove 'ignore: all' from .gitmodules to make it easier to bump the submodule; - bump system submodule to upstream latest; - drop patch merged upstream; JIRA: FUEL-350 Change-Id: I68f232e0da5af368a1669a7379eedde5c4168b84 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 Polenchuk4-1/+47
* 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 Avadanii15-0/+243
- 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 Polenchuk13-300/+5
Change-Id: If7d51555bc13dbcaa63f93ab1993f3655e2ce643 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-04[jump req] Move pkg installation to lib.shAlexandru Avadanii1-0/+15
Change-Id: I687b73b256aca78c9d41d4bcd49bfbde51278b51 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-04[deploy.sh] Factor out jump bridge parsing to j2Alexandru Avadanii2-0/+21
Change-Id: Ie4d8e70866d533d195a6e80cdfecbdb00a3027ce Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-03[submodule] Bump Pharos for IDF updatesAlexandru Avadanii1-0/+0
Change-Id: I9e71d9006bad53cc79805ed9255b53b6c5705725 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-03-03[j2 parsing] Adopt new generate_config featuresAlexandru Avadanii9-29/+27
- 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 Avadanii3-9/+89
2018-03-02Merge "[ovs/dpdk] [noha] Do not add private nic to ifaces"Alexandru Avadanii1-0/+2
2018-03-02Conform network scheme to tagged public interfaceMichael Polenchuk3-9/+89
Change-Id: I503c8ad32900406e1fa375cec9a91b454889d8bf Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-02Install missing python module of jsonschemaMichael Polenchuk2-0/+2
Change-Id: Ib903863a7a46008c93ee795083712a50a022a41d Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-01Merge "lib.sh: Validate pdf/idf with pharos schema"Alexandru Avadanii1-1/+15
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-28lib.sh: Validate pdf/idf with pharos schemaGuillermo Herrero1-1/+15
Run the pharos yaml schema validation for configuration files before expanding them JIRA: FUEL-341 Change-Id: Ia1d69f53265876683a1b6674665a9594ba7dae16 Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-02-28Clean up upstreamed patchesMichael Polenchuk3-102/+1
Change-Id: Icee56da3720f0926e42390965581639f6a344b77 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-02-27[submodule] Bump Pharos git repo for IDF updatesAlexandru Avadanii1-0/+0
Change-Id: I8d526d51a3e18652c59bad9d7c3c384aa6583566 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-26[patch] cleanup: Drop LVM filter disableAlexandru Avadanii5-39/+3
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 Pauna16-41/+88
- 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 Avadanii6-15/+74
- 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-25[salt.sh] Add explicit apt-get updateAlexandru Avadanii1-0/+1
Change-Id: I17e66457f90818bad4d746300bb49e9d5179c239 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-02-22[MaaS] Force Maas to use a fixed ip packet sizeCharalampos Kominos1-1/+16
Maas uses a tftp library during commisioning which in turn uses another library which tries to find the best packet size to use. For some reason during commisioning the library uses smaller sizes than the infrastructure can handle and therefore takes a lot of time to deploy. JIRA: ARMBAND-351 Change-Id: I9b3083a059c04b118e8b7f0f2723af67d96d2aad Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com>
2018-02-22[noHA] Add dedicated cinder volume for virtual cmpAlexandru Avadanii3-4/+14
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 Avadanii2-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 Avadanii23-22/+37
- 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-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-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 "[Horizon] Fix 'mcp' version check pattern"Alexandru Avadanii1-1/+1
2018-02-19Merge "[MaaS] Add maas.machines.set_storage_layout sls"Alexandru Avadanii2-0/+30
2018-02-19Merge changes from topics 'lab-proxy-keyserver', 'maas-override-failed-testing'Alexandru Avadanii12-7/+40
* 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 Avadanii3-46/+2
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[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-17[MaaS] Add maas.machines.set_storage_layout slsAlexandru Avadanii2-0/+30
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 Avadanii4-1/+30
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-17Merge "reclass: maas: Dynamic machine definitions"Alexandru Avadanii2-56/+31