{"push_id":1852727538,"size":4,"distinct_size":1,"ref":"refs/heads/extras-centos7.3-x86_64","head":"d242602981bdc726c90c29c8b74b2e8bfaf4a62f","before":"214f4986b013f823cd5029343d481c30857cd9e2","commits":[{"sha":"2f788b9f6f4df6aafca37a42465422e425bed068","author":{"name":"Tom Nabarro","email":"9835cf78b2fadc55d85984719c92916e06ddc434@hotmail.com"},"message":"Use global locks to protect against zpool import-export sequence interruption (#78)\n\n* HYD-7280 Use global locks to stop zpool import-export sequence interruption\r\n\r\nZpools can be imported and exported from other processes (which don't\r\nhave knowledge of thread level locks) and interrupt the import-export\r\nsequences of IML. In order to avoid these race conditions,\r\nglobal/file locks should be implemented which provide protection from\r\nthese interruptions effective between different processes, not just\r\nbetween threads in the same process.\r\n\r\nImplementing these global locks within the IML code will protect\r\nagainst situation where pacemaker calls chroma-agent from a different\r\nprocess than the chroma-agent daemon (and therefore not aware of any\r\nlocks being held). In that situation, global locks set from IML code\r\nwill be detectable by any process running on the same host.\r\n\r\nThis patch is only the first stage of the work and mimics old\r\nbehaviour by appending pid to lockfile dir, thus making locks\r\nspecific to process. This stage replaces thread specific Locks\r\nwith file locks.\r\n\r\n  - create necessary temporary directory during ZfsDevice.__init__\r\n    (this patch appends the process ID to the directory name)\r\n  - create lock object during ZfsDevice.__init__\r\n  - acquire and release lock file on lock_pool and unlock_pool\r\n    respectively\r\n  - if lock cannot be acquired, keep trying with a minute timeout\r\n  - make locks reentrant by applying reference counting per thread\r\n    and lock object combination, only unlock when reference count\r\n    is 0, increment reference count after lock has been acquired or\r\n    if thread is already locking\r\n  - update and improve relevant unit tests\r\n\r\nChange-Id: I2fb19617d40312b0b090683e09c120c4ddfe1aac\r\n\r\n* Revert \"Revert SSI testing to all ldiskfs\"\r\n\r\nThis reverts commit c30a2f3800941f4c74086ef00ae4da7d6adae543.\r\n\r\nChange-Id: I3ef46cc516773a1f4383fc00799a64f6003a5bd8\r\nSigned-off-by: Kelsey Prantis <kelsey.prantis@intel.com\r\n\r\n* rebase and remove tags changes\r\n\r\nChange-Id: I703ecfe2b29f37552e8a77b158f23d18b70177b3\r\nSigned-off-by: Tom Nabarro <tom.nabarro@intel.com>\r\n\r\n* add RA logging to chroma-agent.log to Target\r\n\r\nChange-Id: Ia9098360f3ef9f91b7bda690457155d179d05e43\r\nSigned-off-by: Tom Nabarro <tom.nabarro@intel.com>\r\n\r\n* correct typo in Target resource agent\r\n\r\nChange-Id: Ia3de8adaa4351c2ab2e55c40c20ba29389cd3321\r\n\r\n* add capability to break Lockfiles if owner pid doesn't exist\r\n\r\n* updated unit tests to reflect patch changes\r\n\r\nChange-Id: Ia1cb6aeddb73848b79ca22cc1a7ef83f94c06daf\r\n\r\n* Improve the robustness of the current zpool import-export lock protection\r\n\r\n  - Add terminate_driver methods to BlockDevice base class (abstract) and\r\n    concrete implementation in BlockDeviceZfs\r\n  - Add agent_daemon_teardown_functions that are called before\r\n    agent daemon terminates (not cli?)\r\n  - Add terminate_block_device_drivers method to\r\n    agent_daemon_teardown_functions which calls terminate_driver\r\n    on each BlockDevice subclass\r\n\r\n* add missing agent_teardown_functions.py file\r\n\r\n* correct agent_teardown_functions.py comments\r\n\r\n* changes addressing comments by jgrund\r\n\r\n* additional logging on zpool lock acquire failure\r\n\r\n* additional logging\r\n\r\n* add additional tests to cover zpool lock functionality, make path concatenation portable\r\n\r\n* improve test coverage of BlockDeviceZfs.terminate_driver() and handle case where LinkLockFiles are found in ZPOOL_LOCK_DIR","distinct":false,"url":"https://api.github.com/repos/intel-hpdd/intel-manager-for-lustre/commits/2f788b9f6f4df6aafca37a42465422e425bed068"},{"sha":"04210e7cfbf8f2f18d370618ede2754d97864369","author":{"name":"Tom Nabarro","email":"9835cf78b2fadc55d85984719c92916e06ddc434@hotmail.com"},"message":"add file permissions check to pre-commit (#115)","distinct":false,"url":"https://api.github.com/repos/intel-hpdd/intel-manager-for-lustre/commits/04210e7cfbf8f2f18d370618ede2754d97864369"},{"sha":"915b2d0117c5b0251000a5fc0e4489fc1f35b568","author":{"name":"Joe Grund","email":"5ff5b1f50393b80f9be9c229b235a80524323ccc@intel.com"},"message":"Temporarily disable test_mdt0_undeletable (#129)\n\nTemporarily Disable `test_mdt0_undeletable` until LU-9725\r\nis fixed upstream. \r\n\r\nI have added #128 to track re-enabling this test once upstream bug is fixed and verfied.","distinct":false,"url":"https://api.github.com/repos/intel-hpdd/intel-manager-for-lustre/commits/915b2d0117c5b0251000a5fc0e4489fc1f35b568"},{"sha":"d242602981bdc726c90c29c8b74b2e8bfaf4a62f","author":{"name":"Joe Grund","email":"5ff5b1f50393b80f9be9c229b235a80524323ccc@intel.com"},"message":"Merge branch 'master' into extras-centos7.3-x86_64","distinct":true,"url":"https://api.github.com/repos/intel-hpdd/intel-manager-for-lustre/commits/d242602981bdc726c90c29c8b74b2e8bfaf4a62f"}]}
{"actor":{"display_login":"jgrund"}}