summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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-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
ent; 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> 2018-08-25[build.sh] Fix quotes, missing deb arch for repoAlexandru Avadanii2-4/+4 JIRA: FUEL-383 Change-Id: Ie4374d44993bd738b90e9b6e357014d0c5657da0 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-25[build.sh] Use pipenv run instead of shellAlexandru Avadanii1-4/+4 JIRA: FUEL-383 Change-Id: Ia1b58f9e7eefd9f3efc4b5241ec496c545ccee25 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-24[build.sh] Add local python bin dir to PATHAlexandru Avadanii1-0/+2 JIRA: FUEL-383 Change-Id: I5596ed6139317d72fceae3af89e71181aefbd6a3 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-24[build.sh] Enable push, minor fixesAlexandru Avadanii1-2/+9 * default to enable pushing to public docker registry; * fix prerequisites path; * fix unknown terminal in Jenkins jobs; JIRA: FUEL-383 Change-Id: Ie27dfbca6965c218475060da390a82921799b044 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-24[noha] Get OVS 2.9 & DPDK 17.11 from UCA repoMichael Polenchuk2-12/+9 Align all noha scenarios to install OVS 2.9 which doesn't drop packets on bridge with netdev datapath type at initial stage. Change-Id: Iab204828ac7acefcb26647cdbc27805871904f2c Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> 2018-08-23Merge changes from topic 'docker-build'Alexandru Avadanii9-4/+251 * changes: [docker build] Install OpenSSH server [submodule] Add docker-salt-formulas, ci/build.sh [deploy.sh] Install Docker if not present [jump req] Add build/deploy specific requirements 2018-08-23[docker build] Install OpenSSH serverAlexandru Avadanii2-1/+64 While at it, create the 'ubuntu' user with passwordless sudo and preinstall salt-formula-gnocchi (missing git repo workaround), as well as various useful packages (e.g. net-tools). JIRA: FUEL-383 Change-Id: I5902c37110331acfd3fd4fccb92104de7b5ece6b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-23Merge "[odl/dpdk] Set pubilic bridge datapath_type=netdev"Alexandru Avadanii1-0/+3 2018-08-23Merge "[patch] AArch64: reclass system arch tweaks"Alexandru Avadanii3-0/+115 2018-08-23[odl/dpdk] Set pubilic bridge datapath_type=netdevMichael Polenchuk1-0/+3 In order to handle floating IPs related flows properly the public bridge requires netdev datapath type to be set explicitly in DPDK mode since OpenDaylight only manages patches between integration bridge and the public one. Change-Id: I868747dc501e9124cbecd4eb1234f74e8edd4edf Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> 2018-08-22Merge ".gitignore refresh, fold common expressions"Alexandru Avadanii2-8/+2 2018-08-22[patch] AArch64: reclass system arch tweaksAlexandru Avadanii3-0/+115 Armband has been carrying a few arch-enablement patches that are required for the default reclass system classes to work as expected on AArch64 systems. Change-Id: I1f96c062eb3f9dcabb8513aadd1ea41be4fbc098 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-22[odl/dpdk] Use untagged iface for tenant networkMichael Polenchuk1-1/+1 Change-Id: Id35d4cbee9b4ce0a7b78e2935b03c2def68bc123 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> 2018-08-21.gitignore refresh, fold common expressionsAlexandru Avadanii2-8/+2 Change-Id: I5346ee523b40f1a249394d59dbbe4d3d85c692cb Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-21[submodule] Add docker-salt-formulas, ci/build.shAlexandru Avadanii4-0/+161 - add new git submodule pointing to upstream docker build scripts; - add patch extending Docker tags with an '-(arch)' suffix, aligning with OPNFV tagging requiremnts; - add <ci/build.sh> wrapper for starting Docker builds; - install build-specific distro package requirements, as well as pip-managed packages (e.g. pipenv); JIRA: FUEL-383 Change-Id: Id4fc886206d7eaf7e6d02810380f2391609ba405 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-21[deploy.sh] Install Docker if not presentAlexandru Avadanii2-0/+12 JIRA: FUEL-383 Change-Id: I19d27ca59a3f24d1bd66e39457a6ca267bccce19 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-21[jump req] Add build/deploy specific requirementsAlexandru Avadanii4-4/+15 Add support for different prerequisites depending on the current operation (docker build or cluster deploy). Leverage the new support to pre-install upcoming deps: - python-pip (build); - docker-compose (deploy); JIRA: FUEL-383 Change-Id: Ic3e6062b1943e3584f0b1f80d2e33b8812defced Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-21Merge "[noha] ctl01: Enable jumbo frames"Alexandru Avadanii1-1/+1 2018-08-21Merge "[deploy.sh] Prefix and export more env vars"Alexandru Avadanii1-13/+14 2018-08-21[ha][noha] Add vpp scenario placeholderCristina Pauna26-0/+477 - 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-21Turn off glance signatures verificationMichael Polenchuk4-37/+4 Change-Id: I61ee8e19e783437dce7a9ddd666cd60e9d22a2e1 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> 2018-08-20[noha] dpdk: Skip creating private vlan ifaceAlexandru Avadanii2-2/+8 For DPDK scenarios, the private VLAN Linux interface should not be created, as it interferes with OVS configuration. Change-Id: I7eff6031a7cd5e50296e5d36084d7d50d6f3beae Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-20Define missing interface MTU for ODL nodeMichael Polenchuk1-0/+1 Change-Id: Ib442f98b2601800360bc9b4ec01da892b50e7f1a Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> 2018-08-19[deploy.sh] Prefix and export more env varsAlexandru Avadanii1-13/+14 Upcoming support for containerized Salt Master node requires access to certain variables during j2 interpolation, so also export: - MCP_STORAGE_DIR; - MCP_REPO_ROOT_PATH; JIRA: FUEL-383 Change-Id: I584c0bf8133b5ae6178d97da5b44d345e45a0222 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-17Merge "[AArch64] VCP VMs: Switch back to 4.4.x LTS kernel"Alexandru Avadanii1-1/+0 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-17[noha] ctl01: Enable jumbo framesAlexandru Avadanii1-1/+1 Now that host vnet MTU has been bumped to 9000, we can safely enable jumbo frames in ctl01 VM without breaking nova compute discovery. JIRA: FUEL-336 Change-Id: I30bf333c18f3f0de2ce37fc7ae99df9b99f3a5e9 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-17[scripts] Leverage upstream arm64 bootstrap suppAlexandru Avadanii3-63/+4 bootstrap-salt.sh now has arm64 support [1], so drop our obsoleted workaround. JIRA: ARMBAND-399 [1] https://github.com/saltstack/salt-bootstrap/pull/1251 Change-Id: I8b06520b2c41564ed2eda338e7633ce1637bb866 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2018-08-17Merge "[reclass] Set banner_company_name: OPNFV"Alexandru Avadanii1-0/+2 2018-08-17Merge "[noha] Parameterize network configuration"Alexandru Avadanii13-59/+108 2018-08-16Merge "Fix barbican integration on compute nodes"Alexandru Avadanii5-3/+4