aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/config/scenario
AgeCommit message (Collapse)AuthorFilesLines
2019-01-27[ovs] Start ovs services before networkingAlexandru Avadanii3-6/+6
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-12[patch] Drop reclass.system patch for repo archAlexandru Avadanii1-2/+2
MCP repos no longer publish arm64 metadata, so drop our patch that selected arm64 metadata on arm64 systems. Instead, let it default to 'deb [arch=amd64]', which will allow arm64 systems to fetch amd64 metadata and inherintely fetch all arch-independent packages from the same repos. While at it, switch to 'rocky-armband' repos on arm64 systems. Change-Id: I07fda895f5162bfa576c62336cbb4d74e985f37a Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2019-01-09Bring in FDIO (VPP+DPDK) scenarioAlexandru Avadanii1-1/+32
- 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-12-19Update OpenStack version to RockyMichael Polenchuk5-5/+0
Change-Id: I88f28370180278c4b32599b83eebbb0ee005c936 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-12-13[docs] Updates for Gambia 7.1.0 releaseAlexandru Avadanii2-2/+2
While at it, rename FDIO (VPP) scenarios to align with OPNFV FDS and OPNFV Apex projects. Change-Id: I9aab5dc4a0dc41a2cc996687a8a2726d03288678 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-12-04Initial implementation of ONAP scenariosMartin Klozik2-0/+85
Patch introduces a new specific scenarios os-nosdn-onap-*ha for automatic ONAP deployment on top of the OPNFV installation. Deployment and configuration of ONAP is managed by OPNFV Auto project. New scenarios are based on generic os-nosdn-nofeature-*ha scenarios. Auto project is responsible for os-nosdn-onap-*ha development and maintenance. JIRA: AUTO-71 Change-Id: I8b177668d856f30b62d1d135b80a95c32ebb9937 Signed-off-by: Martin Klozik <martin.klozik@tieto.com>
2018-11-06Merge "[opendaylight] Update SQLAlchemy library"Michael Polenchuk5-0/+5
2018-11-06[opendaylight] Update SQLAlchemy libraryMichael Polenchuk5-0/+5
To conform to the changes in networking-odl driver: https://review.openstack.org/604755 Change-Id: I6aaefe9d6d4f26652464f82b7c7e45694387c8af Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-11-05[docs] Refresh for Gambia releaseAlexandru Avadanii1-9/+12
- s/Fuel@OPNFV/OPNFV Fuel/g; - added README files for ci/scenarios/patches directories; - refresh & simplify cluster overview diagrams; - unify labels across docs; - fix TOC numbering; - remove local labs PDF/IDF files, as they are merely duplicates of Pharos files included as a git submodule; JIRA: FUEL-397 Change-Id: I87f61938eeb67f13fd9205d5226a30f02e55d267 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-10-16Add odl bgpvpn noha scenario to fuelStamatis Katsaounis1-0/+39
JIRA: FUEL-393 This patch adds support of os-odl-bgvpn-noha scenario to fuel installer. Change-Id: I4e053e38aac70023b0a81f9a41b415c7a1aae3af Depends-On: I57288bbb42f4c75af19f3807f8f15b44482c066c Signed-off-by: Stamatis Katsaounis <mokats@intracom-telecom.com>
2018-09-19[noha] Bring in OpenDaylight SFC scenarioMichael Polenchuk1-0/+33
- bump formulas baseline during docker build; - refresh patches; Change-Id: I0a54863f57344c5f8897dc981f704c4d265c5522 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-14Bug fix : Increase NUMA nodes RAMDimitrios Markou1-4/+4
Each compute node has 16 GB of RAM but those GBs are splited wrongly to each NUMA node (4 GB instead of 8 GB). JIRA: FUEL-387 Change-Id: Ibe784727c8a262b41add04ad3a41c70f25ded684 Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-09-10[nosdn-noha] Meet EPA testcases requirements (NUMA)Dimitrios Markou1-0/+28
Install in a local directory a newer version of virt-manager to workaround obsolete Ubuntu versions lacking --cpu cellN.* support. This change only affects CPU cfg of virtual compute nodes in nosdn-nofeature-noha scenarios with: - set default cpu_topology to dual socket (2 cores, 2 sockets, 2 threads); - bump default RAM to 16GB; - define 2 NUMA cells, each with half the resources; To keep the old behavior available (single socket), a new deploy argument has been added (`-m`). The RAM change is not configurable via deploy args. NOTE: The CPU topology for virtual nodes should later be read from PDF instead of hardcoding it on a per-scenario basis in the installer. NOTE: Default 'ram' unit is MiB, while cellN.memory default unit is 'KiB'. JIRA: FUEL-385 Change-Id: I7ca268b0a2052524cb7187a5cf9b6fa8a382c9f9 Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-02[scenario] Factor out common nodes, statesAlexandru Avadanii13-126/+20
Make the bulk of scenario files static again by shifting out all common virtual nodes (mas01) and states (virtual_init, maas etc.) to default.yaml(.j2). This allows us to parse scenario-specific data during first j2 expansion, preparing for the new Pharos installer adapter that relies on `conf.virtual.nodes.control` length to construct the proper list of MaaS node definitions (kvm{01,02,03} vs {ctl01,gtw01}). Change-Id: I666ab5bd6bb2a42f98646af51950f6b9fffa0e8b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-30[AArch64] Align armband repo name with MaaS nodesAlexandru Avadanii1-1/+1
curtin generates armband_3.list, which we aligned in the reclass model before, but not in the defaults yml used by cfg01/VCP VMs. Change-Id: Ibe8d5b79465b508e41c20ec08a98a96a1510da8d Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[docker] Switch to containerized Salt MasterAlexandru Avadanii9-21/+9
* 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>
2018-08-21[ha][noha] Add vpp scenario placeholderCristina Pauna2-0/+95
- dummy copy of os-nosdn-nofeature-ha masquerading as os-nosdn-vpp-ha scenario placeholder - dummy copy of os-nosdn-nofeature-noha masquerading as os-nosdn-vpp-noha scenario placeholder Change-Id: I63a302c98e6e176a480fbc110012ac66749ee88f Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
2018-08-18[AArch64] VCP VMs: Switch back to 4.4.x LTS kernelAlexandru Avadanii1-1/+0
JIRA: ARMBAND-398 Change-Id: I329346755348525f00602d7f89af295c141a20d5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-09Update Salt version to 2017.7Michael Polenchuk1-4/+4
Salt 2016.x has a bug with states ordering coming from 'include' statement. Glance/Heat DB sync is applied before package setup although clearly specified 'require' in state. Change-Id: Ic5f7ce4a7623fb208c0a5ba366802b7e02fa8b9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-08-07[scenarios] noha: Add MaaS VM, state to scenariosAlexandru Avadanii6-1/+41
JIRA: FUEL-382 Change-Id: Ib1f905bec87ce2afe643b4aa3b0201d7100be16d Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-07[scenarios] Differentiate virtual node rolesAlexandru Avadanii9-82/+85
Split scenario yaml definitions for virtual.nodes based on node role ('infra', 'control' or 'compute'), to be leveraged later to contruct node lists based on said role. This moves the responsability of filtering node names in scenario files (based on 'virtual' or 'baremetal' type) to xdf_data.sh.j2, simplifying scenario templates. By keeping all nodes (both virtual and baremetal) in scenario files, we can later determine the role (and implicitly the hostname) for a MaaS-managed node based on its index in the virtual.nodes.control structure. JIRA: FUEL-382 Change-Id: I1f83a307631f4166ee1c57ef598c44876b962f97 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-07-02[AArch64] Pin armband repo with highest prioAlexandru Avadanii1-1/+1
Mirantis repositories shadow certain packages from Armband repos (e.g. qemu-efi) if pinning is not set. Since MaaS does not allow configuring repo priorities via its API, use Salt pillar data to re-define the Armband repo and set its prio. Change-Id: Ic743f4b684b3f13552792f5f04097fac73171b37 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-06-20[noha] Rectify opendaylight+dpdk scenarioMichael Polenchuk1-4/+4
Change-Id: Ie707de90617e7080a5eb87cad69a604cf5e0f9fc Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-06-19Enforce static configuration instead of DHCPAlexandru Avadanii8-44/+20
- noha: 'accept_policy: open_mode' to align with ha scenarios; - s/cmp01/cmp001/g to align all scenarios and allow code reuse; - rename network params: s/dhcp/mcpcontrol/g, cleanup; - computes XDF data: drop 'opnfv_*' layer of params, cleanup; - local vPDF: add comments with default roles by node index; - parameterize all netmasks; - drop unused address/netmask for 'proto: manual' interfaces; - virsh_net: cleanup definitions, remove hardcodes, align IP on jumpserver and DHCP range with MaaS for pxebr; - maas: parameterize hardcoded '/24' cidr for PXE/admin, refactor maas.region.machines parameterization; - merge <all-mcp-arch-common/infra/config_*pdf.yaml.j2> templates; - move reclass.storage definitions of compute nodes to common dir; - drop 'openstack_compute_*' reclass params in favor of expanding them via j2 directly in reclass.storage params; - adopt `nm.cluster.has_*_nodes` where possible; - obsolete `runtime.yml` from reclass model; - refactor arch-specific reclass param selection; - remove unused defaults in favor of mandatory IDF properties; - noha: prepare for baremetal node support in cinder_lvm_devices; - interfaces: add interface_mtu and 'noifupdown: true' everywhere; - interfaces: use j2 macros to generate eth/vlan config; - states cleanup: remove DHCP route disable workaround on prx/cmp; - allow configuring NTP servers via: `idf.fuel.network.ntp_strata_host{1,2}`; - ovs_bridge: Allow setting gateway, dns-nameservers - apache: Adjust module list for novcp class inheritance; - glusterfs PPA: pin with same prio of MCP repos for novcp scenario; JIRA: FUEL-319 JIRA: FUEL-326 JIRA: FUEL-337 Change-Id: Ia6ad64ba8cade85a75fb22c9a2505decc3834360 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-06-14Get back to salt 2016.11Michael Polenchuk1-4/+4
Change-Id: Id024ed22dd1760f41ae18aeb8e680c2f07a5dc63 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-06-07[ha] Update OpenStack version to QueensMichael Polenchuk4-4/+4
* make cluster names version-agnostic * switch to mirror.mirantis.com * system reclass update Change-Id: I96394b3c9d8d38321289af8e3a4e8bbc5dd7a408 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-06-07[noha] Update OpenStack version to QueensMichael Polenchuk6-11/+11
* make cluster names version-agnostic * pre-install oslo-templates formula * salt version update to 2017.7 * system reclass update Change-Id: I903895f6bcd98a1062e66e3f14d23ec04dc1b869 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-05-23AArch64: Switch back to hwe-16.04 kernelAlexandru Avadanii1-2/+1
Align kernel versions across architectures (where possible). Change-Id: I66a822611eb5e46f90b62f5d36df571ae75dcba3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-05-10AArch64: Switch to upstream Saltstack repoAlexandru Avadanii1-1/+3
To work around the missing dependency of 'python-tornado' on 'python-features' provided by the binary-specific DEB package in amd64 Saltstack repository, pre-install the req explicitly on FN (jumpserver) and VCP VMs via lib.sh. JIRA: ARMBAND-382 Change-Id: I2dbd08a58f6cf57c2c48c2d7fc8d19ad4872e800 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-05-08[virtual] Bring in OpenDaylight DPDK scenarioMichael Polenchuk1-0/+38
Change-Id: If77ac85fa86e0a1a18c0cc2abff77d876cdb9e93 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-04-24Mend OVN scenarioMichael Polenchuk2-1/+1
* setup HWE kernel to get suitable conntrack module * clean out outdated state with ovn ctl options * point SB remote source to local mgmt network Change-Id: I8986c227ce0a9a3b7ab3faf382760ec32e6e7c00 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-04-06Update opendaylight version to oxygenMichael Polenchuk2-2/+2
JIRA: FUEL-362 Change-Id: Ib2621bca72d1ba376af5d369edcf5fcf37e9788b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-30Re-order opendaylight stateMichael Polenchuk2-2/+2
* 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 Polenchuk2-3/+3
Change-Id: Ia517b7cf1723a5afaf43cb0709716f3a67a29e9f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-23Apply opendaylight state after ovs host configMichael Polenchuk2-2/+2
* 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-12[virtual/odl] Apply missing neutron.compute stateMichael Polenchuk3-3/+0
Change-Id: I078e11219fb8dea4505c46e7f75c295c5a72c59b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-03-07[novcp] Add deploy argument `-N` (experimental)Alexandru Avadanii9-108/+214
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-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-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] Add opnfv.route_wrapper slsAlexandru Avadanii1-2/+1
- 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-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-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-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-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-01-26[ovs/dpdk] Configure vxlan for baremetal scenarioMichael Polenchuk1-0/+1
* 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-19Get back to the GA kernelMichael Polenchuk1-2/+0
- openvswitch 2.8 officially supports kernel versions from 3.10 to 4.12 - ODL baremetal scenario is acting up with floating/public SNAT flow under hwe edge kernel 4.13 Change-Id: I099d528b3b1c2ea34f8f856cd60f809f90defea6 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>