aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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>
2018-08-13[reclass] noifupdown for cluster nodes PXE/adminAlexandru Avadanii6-0/+6
Instead of applying PXE/admin static IPs via Salt right away, delay the transition from DHCP until after node reboot to avoid duplicate IPs and networking issues during deployment. Change-Id: I8a12d78a6b42edc9bcf9eb9ebc9590e2af5ec52c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-10[noha] Add mas01 reclass inheritanceAlexandru Avadanii11-7/+66
While at it, move openstack_version param to the common include dir. JIRA: FUEL-382 Change-Id: I5e7ebb18a95672f066126d3afd28f13395a3149f Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-09[IDF] infra VMs: Allow trunking mgmt networkAlexandru Avadanii4-2/+30
Due to design limitations in idf.net_config, for a hybrid POD we need to trunk certain network segments for the VMs running on the jumpserver, including mgmt network going to cfg01, mas01. Add mgmt VLAN support for cfg01, mas01 gated by a flag in IDF: idf.fuel.jumphost.trunks.mgmt: True JIRA: FUEL-338 Change-Id: I6903f9b70e5f8a88618bce28e21c7c0631a05065 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2018-08-09Update Salt version to 2017.7Michael Polenchuk4-7/+7
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-09[ha] Fix openstack_ha ovn setupGuillermo Herrero1-1/+2
Fix targeting for neutron.compute sls for ovn computes, avoiding interaction with ovs dpdk scenarios. JIRA: FUEL-329 Change-Id: Iffb07f6f0d4dc8071437adf59d4cd6982113b998 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
2018-08-08Merge "[maas] Adopt node role from scenario definitions"Alexandru Avadanii1-2/+4