Tags: AlexTalker/iml-agent
Tags
ZFS MMP support (#314) * add debug when pool is not importable during device scan * debug * create secondary VolumeNode using information from the primary during UpdateManagedTargetMounts * Revert "Prevent testing with ZFS" This reverts commit b34e5d5fd93205073d5136395206ad47dc93fdac. * fix get_or_create return to just take first tuple element * export between updating primary and secondary MTMs * refactor device scan zfs code with a view to using data store * update tests * store read/write methods * add tests for reading and writing from/to store * fixed bug in writing to store * key on uid of pool when writing to store * revert debug changes * another bug fix in write to store * remove step'pacemaker_ha_operation' flags from import methods * pep8 compliance * remove duplicate LOCAL_CLUSTER_SETUP variable expansion * attempt exporting pools before test_creation_conf_params * ensure pools are exported before update_conf_params test * Export zpools after adding hosts, and after formatting or stopping targets * always export zpools before exiting cleanup_zfs_pools, fix syntax error * don't do double check for unavailable, add logging for reading and writing from/to store * fixed bug with the change in clean_zfs_devices * now we are trying to keep pools exported between jobs to improve dataset visibility across different hosts, import before and export after RegisterTargetJob * wait for volumes and volume nodes to be created after cleaning zpools * just choose best effort when exporting zpools during testmuchconf_params * remove clean_zpools with tests, should not call when agents running * debug : list imported zpools during get_usable_volumes * fix the following issues: update_conf_params will always fail because we have no secondary mount and Format expects a secondary, print debug of mounted zpools during get_usable_volumes on only the 4 managed servers (not vm9) * add checks to verify export of pools between tests * fix bug due to typo * refactor to not attempt import if state indicates unavailable * pin iml-common package versions to 1.1 * improved error handling on store actions * bug fix and more brutal clearing of unresponsive zpools * await reboot of nodes * retry import to verify if that's a bug, don't raise if store doesn't exist yet when writing, use zfs_device.available flag when trying to add pool * fix confusing typo * tidy up * make dataset major:minor unique * add datasets to blockdevices when read from store * bugfix for keyerror * tidy up * stop and start agents when cleaning zfs datasets in order to avoid pool import races * Move iml-common requirement out of requirements.dev * add python toolz package dependency * refactor using toolz compose * enable multimountprotection/multihost when creating zpools * remove workaround for ZoL bug #3708 fixed in zfs>0.7 * do not dd underlying disk if zpool cannot be imported when cleaning zfs devices between tests, attempt to force destroy zpools instead and fail if not possible * wipe signatures after destroying pools during clean * move wipe_signatures to base class and only do on zpool import failure * fix bug with zfs destroy command * wipe disk on all hosts in case pool is imported on the first * wipe disk on correct device path * see if labelclear in addition to destroy clears pool * see if labelclear instead of wipefs clears pool * unit tests fix and avoid storing off-line or corrupted pool data * fix potential bug within manage_targets.mount_target where import_target is called incorrectly with pacemaker flag, fix unit tests * attempt to unmount targets (again) just before zfs cleanup * fix test_target job_scheduler tests to take into account changes in FormatTargetJob steps * remove debug logging of imported zpools to fix sim tests * set hostid in efs cluster_setup * remove unnecessary wipe method * temporarily skip failover_mgs test to get a pass * skip corosync_reverse_dependencies in sim tests to land #244 * remove some non-essential changes from patch to help debug sim failures * remove use of force flag in cleanup_zfs commands under normal operation * fix test list mistake made in merge conflict resolution * Add missing semicolon. * fixup.
Create needed repos during host deployment (#142) * Add extra argument to mock It looks like we need to add an extra argument to mock_run to get our unit tests passing again. Signed-off-by: Joe Grund <joe.grund@intel.com> * Create needed repos during host deployment Have the agent deployment mechanism create the required repos for installing the agent's dependencies instead of requiring that the storage servers have these repos pre-configured. This requires LU-9776 to refer to the client RPM as patchless-lustre-client and as such we are using the Copr lustre-client repository temporarily. If LU-9776 is not accepted by the Lustre team, we will have to refactor this support into separate repos for the lustre server and client nodes, unfortunately increasing the complexity for us. For testing with Vagrant, we need to prefer IPv4 over IPv6 in DNS results since the cluster won't likely have IPv6. A good client should automatically fall-back from an unusable IPv6 AAAA result to an IPv4 A result but not all clients are good. So given that the Vagrant nodes could have IPv6 configuration but not IPv6 routing, just prefer A results over AAAA. Since we are installing the EPEL repo, we don't really need to then also check for it. Arguably, the installation of it should be conditional on it not being present already. Use build.whamcloud.com name due to conflicts with proxy configuration when running on internal networks. Need to add repos for EFS in cluster_setup. Signed-off-by: Brian J. Murrell <brian.murrell@intel.com> * Parameterize repos Signed-off-by: Brian J. Murrell <brian.murrell@intel.com> * Use dnf on the storage servers Since yum seems to be a bit broken with regard to selecting the proper kernel. https://bugzilla.redhat.com/show_bug.cgi?id=1480065 Signed-off-by: Brian J. Murrell <brian.murrell@intel.com> * update command mock to use more args Signed-off-by: Joe Grund <joe.grund@intel.com>