aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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>
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
2018-08-16[noha] Parameterize network configurationAlexandru Avadanii13-59/+108
- odl01: Use a bridge for br-ctl to allow tagged mgmt; - ctl01: Use bridges for br-ctl, br-ext; - ctl01: Use mtu 1500 since jumbo frames seems to break nova cell discovery; JIRA: FUEL-382 Change-Id: I9bf48711930cac77a089e4d7b7ba98924dd161ee Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-16Fix barbican integration on compute nodesDelia Popescu5-3/+4
Locally overwriting barbican_integration_enable on compute nodes does not work. Set barbican_integration_enable to true by default. Disable barbican_integration at openstack_control side. While at it, enable barbican on ha scenarios too. JIRA: FUNCTEST-981 Change-Id: I3c8df5d4078f73f32f3605dec5a7a365fa386019 Signed-off-by: Delia Popescu <delia.popescu@enea.com>
2018-08-15Turn off default apache portsMichael Polenchuk6-3/+14
Change-Id: I0377615ff19e39aca74b90d2ff7e7b2cd5cd6ccb Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2018-08-14Merge "[states] virtual control plane: dist_upgrade=True"Alexandru Avadanii1-1/+1
2018-08-14Merge "[jump] Enable jumbo frames for vnet devices"Alexandru Avadanii2-0/+8
2018-08-13[jump] Enable jumbo frames for vnet devicesAlexandru Avadanii2-0/+8
By default, vnet devices have a MTU of 1500 on the host side, causing issue with larger packets traversing the bridges between guest VMs when guest VMs have jumbo frames enabled. JIRA: FUEL-336 JIRA: FUEL-367 JIRA: FUEL-382 [1] http://linuxaleph.blogspot.com/2013/01/ how-to-network-jumbo-frames-to-kvm-guest.html [2] https://packetpushers.net/udev/ Change-Id: I941ac9cf764e3b3fa2d6463be5363b5459775f29 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-13[reclass] Set banner_company_name: OPNFVAlexandru Avadanii1-0/+2
Change-Id: I493fd49cb2b4bcd976873cd9297de3f90a74acf1 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-13[states] virtual control plane: dist_upgrade=TrueAlexandru Avadanii1-1/+1
Change-Id: I9c5c6cf564245d497d5916cc7f902ac277105bc6 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>