aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-09-19Use common way to detect dpdk featureMichael Polenchuk6-9/+8
Change-Id: I55a3c10f275079b11b7456b28a2c846cb33c204a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-18[docs] Fix build warnings, minor alignmentsAlexandru Avadanii6-66/+92
- adopt NOTE tags; - switch some NOTE tags to WARNING; - use ``markup`` for all paths; Change-Id: If1bda281fd5cbef0b94110b59e02f41c443b0fb9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-18Make docker isolation chain go firstMichael Polenchuk1-1/+5
Restart docker service to refresh FORWARD chain and insert docker related rules on top. Change-Id: I971840f5979636c4ea8ae4d66a82982c24aa5f66 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-18[nosdn-noha] Meet EPA testcases requirements - pt2Stamatis Katsaounis2-0/+11
JIRA: FUEL-385 After successfully merging patch https://gerrit.opnfv.org/gerrit/#/c/61417/ a user can deploy os-nosdn-nofeature-noha scenario with numa topologies on compute nodes. In order to be able to run the EPA testcases, there are still some requirements (see [1]): - Testcases expect compute nodes to have hugepages enabled - Testcases expect compute nodes to have cgroup-tools package installed - Testcases expect to have NUMATopologyFilter added to enabled_filters in /etc/nova/nova.conf of the controller node This patch tries to meet the above requirements. First, it installs the cgroup-tools package on compute nodes. Secondly, it overrides the default enabled_filters of openstack nova salt package by appending NUMATopologyFilter in the end (see [2], [3]). Reference links: [1] https://docs.google.com/document/d/1sT63M6fnurn4rgYTiUd8ILuXORtx0oHA8Qe-nPeCr2Y/edit [2] https://github.com/salt-formulas/salt-formula-nova/blob/master/README.rst#custom-scheduler-filters [3] https://github.com/salt-formulas/salt-formula-nova/blob/master/metadata/service/control/single.yml#L20 Change-Id: I24eb86c53574c80ceb33ecd1bfcb9ef2727d4263 Signed-off-by: Stamatis Katsaounis <mokats@intracom-telecom.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-13[ha] Get OVS 2.9 & DPDK 17.11 from UCA repoMichael Polenchuk3-8/+1
* to be compatible with HWE kernel * make neutron balancing to RR back * turn off glance v1 api support (doesn't relevant for now) Change-Id: I916aae10f523be339c20de32218ce03c245afe72 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-12[docker] Relax verify check for docker pullAlexandru Avadanii2-2/+3
JIRA: FUEL-383 Change-Id: I9203aa8d20def5b78d261f8c6847ddc576f0feb7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-12Merge "[docs] Update documentation on scenarios for MS6"Alexandru Avadanii13-14/+246
2018-09-12Merge "[cleanup] FN VMs: Fold user-data templates"Alexandru Avadanii8-33/+11
2018-09-12[docs] Update documentation on scenarios for MS6Cristina Pauna13-14/+246
Added/updated the scenario files for the scenarios we support in Gambia Change-Id: Ib463e3122999e0cf554599fb8637c20cf77b825d Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
2018-09-11[cleanup] Move default storage dir to /var/libAlexandru Avadanii3-5/+8
Since we switched to dockerized Salt master and mounting the full contents of the current git repo inside cfg01's /root/fuel dir, exposing temporary deploy artifacts should be avoided, i.e. the default temporary storage location (configurable via '-S' deploy arg) should be moved outside the git repo. JIRA: FUEL-383 Change-Id: I32f7197b018fd853867de42f5618650ac9022dc9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-11[cleanup] FN VMs: Fold user-data templatesAlexandru Avadanii8-33/+11
While at it, retire obsolete MAAS_IP global variable and let mas01 VM get a DHCP address from virsh-managed mcpcontrol network. Change-Id: Ifd85dbcab10894a5d0d675d37f0c35f09776d9b4 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-11Update OpenDaylight version to FluorineMichael Polenchuk1-3/+3
Change-Id: Ie8ec7c94b2831dce88bde39c7fe219faaad21c5e Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-10Merge "[nosdn-noha] Meet EPA testcases requirements (NUMA)"Alexandru Avadanii5-8/+92
2018-09-10Merge "[submodule] Bump Pharos for maas:machines sync"Alexandru Avadanii4-35/+8
2018-09-10[nosdn-noha] Meet EPA testcases requirements (NUMA)Dimitrios Markou5-8/+92
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-10[docker] Add MCP_DOCKER_TAG env varAlexandru Avadanii4-4/+7
Allow skipping docker pull for verify jobs by setting the new env var to 'verify'. JIRA: FUEL-383 Change-Id: If8e2f66b5ccdac5c3911eeabfc2ba9c0eba61093 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-09[ovn-ha] ctl: neutron: Add msg cluster pillarAlexandru Avadanii1-0/+9
`system.neutron.control.cluster`, unlike `system.neutron.control.openvswitch.cluster` does not provide neutron:server:message_queue:members pillar data, letting it default to the wrong values (single rabbit instance on the same node). This led to neutron.conf on ctl nodes using: `transport_url=rabbit://openstack:***@172.16.10.35:5672//openstack` instead of `transport_url=rabbit://openstack:***@172.16.10.28:5672,...//openstack` Change-Id: Iad4b709d555b2bafafeb75fdecb831f7d4f5a504 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-07Merge "Update docs to new format"Alexandru Avadanii7-0/+61
2018-09-07[odl] Create parent directories for dhcp configMichael Polenchuk1-1/+5
Change-Id: I7d16bcd42a059817d7a4e6b06490e03001354f4f Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-07Merge "[opendaylight] Support built-in DHCP service"Michael Polenchuk3-5/+34
2018-09-06[submodule] Bump Pharos for maas:machines syncAlexandru Avadanii4-35/+8
Drop duplicate maas:machines definitions which could cause conflicts in rare corner cases. Slightly refactor j2 template expansion to make `conf.virtual.nodes` available during first stage. Change-Id: I04d56e346b12c6eb97da5c0c0ab1e3446e5fc1b8 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-06[dpdk] Check whether public bridge existsMichael Polenchuk1-1/+1
Change-Id: I5aad512b5761deaa30522b6939bf245ecb1ec681 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-06Update docs to new formatCristina Pauna7-0/+61
Change-Id: I023b7f47245691fe7377e53ca0bda15098c2978a Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
2018-09-05Merge "[ha] Fix ovn-ha scenario"Guillermo Herrero1-0/+2
2018-09-05[ha] Fix ovn-ha scenarioGuillermo Herrero1-0/+2
openstack/control.yml -redefine database host ip inherited from system.neutron.control.cluster Change-Id: Ic8e61c61c7ebb17f31e0c53f8d9e3a013f8a3e9e Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-09-05[opendaylight] Support built-in DHCP serviceMichael Polenchuk3-5/+34
Change-Id: I448aa7f076e2c2d641a5326947852b3333728460 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-05Merge "[noha] Set MTU on tenant/private dpdk interface"Michael Polenchuk5-3/+6
2018-09-04Merge "[scenario] Factor out common nodes, states"Alexandru Avadanii14-127/+22
2018-09-04[noha] Set MTU on tenant/private dpdk interfaceMichael Polenchuk5-3/+6
Enable jumbo frames on tenant/private interface as well so that an instance can get the DHCP response from gateway node. Change-Id: I9407fa67e9e0cdbe50335e4430748b0e45ba841a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-03Merge "[docker] Fix untagged mgmt by default"Alexandru Avadanii1-0/+4
2018-09-03[odl/dpdk] Make dedicated public network schemeMichael Polenchuk2-4/+28
In order to avoid TCP connection checksum issue (i.e. TX offloading on ovs bridges) add linux bridge connected with ovs public bridge. Change-Id: I4d266dd92756d5326dfa3d74fe2f376b26415812 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-09-02[docker] Fix untagged mgmt by defaultAlexandru Avadanii1-0/+4
JIRA: FUEL-383 Change-Id: Ie635965cff3538d6e786f2b76fa4d175d1be1773 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-02[scenario] Factor out common nodes, statesAlexandru Avadanii14-127/+22
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-09-01[docker] Cleanup, minor fixes, formula bumpAlexandru Avadanii12-183/+57
* ship prebuilt salt master conf for better readability: - enable x509.sign_remote_certificate (for prx VCP nodes); * refactor Salt master CA handling: - preinstall `salt_minion_dependency_packages` and `salt_minion_reclass_dependencies` inside docker image; - persistent /etc/pki; - run salt.minion on cfg01 to generate master keys; * bump container formulas to 1 Sep 2018 versions or newer: - inject date into Docker makefile, forcing a fresh fetch of all salt formulas from upstream git repos; * workaround broken salt-formula-designate's meta/sphinx.yml: - the DEB package version of salt-formula-designate uses `cmd.shell` to query dpkg on the minion, while the git repo version still uses `cmd.run`, running into parsing issues; - temporarily disable sphinx metadata generation for designate until upstream git repo syncs with the DEB version; * upstream: salt-formula-salt AArch64 salt.control.virt support: - retire salt-formula-salt git submodule and related patches; * skip installing reclass distro package (already installed via pip inside the container); * limit initial pillar_refresh call to nodes on jumphost; * remove unused salt-formula-nova git submodule; JIRA: FUEL-383 Change-Id: I883b825e556f887a5e31f8a43676dcd8ece6dfde Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-09-01[AArch64] vcp: Fix up vcp_nodes awk query conflictAlexandru Avadanii1-1/+1
JIRA: FUEL-404 Change-Id: I12acc90cdb17ecc090a993e1be41d13ad81dbb9d Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-31[docker] Cleanup hosts file on redeployAlexandru Avadanii1-1/+1
JIRA: FUEL-383 Change-Id: Ib01e78951403fbec2e0f588ae5a577bcbad1bd75 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-31[docker] Use distro docker-compose if not brokenAlexandru Avadanii1-9/+14
While at it, use explicit `docker-compose pull` call to maintain backwards compatibility with older docker-compose (1.8.0 on aarch64). JIRA: FUEL-383 Change-Id: I0f6ac4fb59c0a286ac99a1a0dc4484d00f3837fe Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-31[noha] Align MTU settingsMichael Polenchuk6-5/+20
* shift MTU from public bridge to physical interface * add neutron related settings Change-Id: Ia57d1ca7976968d6e7ee23f58a0abae1a1a256c0 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-08-30[AArch64] salt.control.virt supportAlexandru Avadanii5-14/+193
Salt relies on a limiting libvirt_domain j2 template to generate the XML it passes to libvirt for salt.control managed virtual machines. For AArch64, we need to set up 3 XML nodes in a non-default way: 1. UEFI firmware (AAVMF) should be enabled by passing a pflash loader; 2. CPU mode should be 'host-passthrough'; 3. QEMU machine type should be 'virt'; To allow configuring the above using pillar data: - virtng module: implement functionality similar to upstream changes: * 219b84a512 virt module: Allow NVRAM unlinking on DOM undefine in develop, not in 2018.2; * 9cace9adb9 Add support to virt for libvirt loader in develop, not in 2018.2; - virtng module: extend it with: * pass virt machine type to vm; * pass cpu_mode to vm; JIRA: ARMBAND-404 Change-Id: Ib2123e7170991b3dfbdb42bd1a2baa5a4360b200 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-29Add noifupdown for all br-floatingAlexandru Avadanii5-2/+6
Since we reboot all nodes, applying the network configuration via Salt before reboot is pointless and creates a race condition with OVS. While at it, add `--ignore-errors` to ifup call for OVS bridge to prevent a race condition during linux.network state apply. Change-Id: I22fe0afaffecd7b850a6b77d7b810ed296bfc9ca Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[salt-formulas] Add & enable armband formulaGuillermo Herrero10-2/+107
AArch64 specific formula, mostly tweaking nova conf / installing virtualization layer prerequisites: - install qemu-efi; - install vgabios; - fix missing link for vgabios binary blob; - nova conf: cpu_model=cortex-a57 (only for virtual deploys); - nova conf: virt_type=qemu (only for virtual deploys); - nova compute conf: virt_type=qemu (only for virtual deploys); - nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet; [1] https://github.com/openstack/nova/commit/f0f0953 Change-Id: I40515bdbd941850b103a86d51b347cc8610f5741 Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[deploy.sh] Cleanup deploy arguments, rework -ffAlexandru Avadanii1-15/+13
* refactor & extend `-f` deploy argument; * retire INFRA_CREATION_ONLY env var, duplicated by NO_DEPLOY_ENVIRONMENT; * `-F` and `-e` deploy arguments are now equivalent; JIRA: FUEL-383 Change-Id: Ifc1527fa1e7d7486d1b7600772e2c5de34b1e52c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[submodule] Cleanup: Retire scripts sub & patchesAlexandru Avadanii3-72/+0
Salt bootstrap scripts are no longer used directly, so it is now safe to retire the whole git submodule and its related patches. JIRA: FUEL-383 Change-Id: I1fbdfe4fbd4930bfb3c999a3a68033d12565682b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[docker] Switch to containerized Salt MasterAlexandru Avadanii47-369/+277
* 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-29[docker] Add docker-compose definitionsAlexandru Avadanii5-2/+147
Add configuration items for bringing up the Salt master Docker container using docker-compose: - mount <storage dir>/hosts as /etc/hosts - mount <storage dir>/salt as /etc/salt: * semi-persistent generated Salt information; - mount <storage dir>/nodes as /srv/salt/reclass/nodes: * semi-persistent generated reclass node data storage; - mount Fuel@OPNFV git repo in /root/fuel; - mount all other previously rsynced artifacts; - hook container to 3 networks/bridges: mcpcontrol, PXE/admin and management: * container IP addresses are managed by Docker, so no DHCP is used; - override upstream entrypoint.sh by mounting our own version on top; * run-time patch Salt to fix certain init system interactions due to 'Tini' looking like Upstart but behaving a bit differently; * work around directory traversal issues in Salt/reclass by using extensive `cp` (to be later mitigated at container build time); * overwrite reclass.system with our own version (patched), later to fetched pre-patched during container build; * overwrite salt-formulas with our patched versions; * create missing links for salt-formulas-* packages (e.g. gnocchi) which are not available as git repos upstream; - add mcp.rsa.pub to 'ubuntu' user's authorized_keys for SSH login to master node to remain backwards compatible; - mount configuration files for semi-persistent state preservation at container destroy/rebuild (using '-f' deploy argument); JIRA: FUEL-383 Change-Id: Ie17e578a7ebeb071b1c0e0a49ad58ffa6bbc89bb Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[lib.sh] Add veth pair handling supportAlexandru Avadanii1-2/+10
Upcoming docker integration requires special care for network interfaces Docker will hook to, so virsh networks can be mixed with Docker networks. We'll use veth pair(s) to hook together the Docker network(s) to their counterpart virsh-managed Linux bridge(s). JIRA: FUEL-383 Change-Id: I1a714dc8be73e79539d85bacac311d1ed05cc18d Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-29[jump vnet] Workaround MTU set race conditionAlexandru Avadanii1-2/+4
Older libvirt (1.x, 2.x, even older 3.x) try to enforce their own MTU (1500), overriding it back to 1500 after the udev rule finished. Delay link modification with 1 second and extend its patten to also include libvirt's own tap interfaces (<network name>-nic). Change-Id: I3050c11de7f376df02cbf203e9106b61c560683f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-27[jump vnet] Fix udev rule event for older libvirtAlexandru Avadanii1-1/+1
Older libvirt seems to raise 'change' events instead of 'add', so the MTU bump of the libvirt managed tap interfaces was not properly applied. Change-Id: Ie1a4f1c4f235ad4f83bf9ee218a40dcedc1ce914 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>