{"action":"created","issue":{"url":"https://api.github.com/repos/libstorage/libstoragemgmt/issues/103","repository_url":"https://api.github.com/repos/libstorage/libstoragemgmt","labels_url":"https://api.github.com/repos/libstorage/libstoragemgmt/issues/103/labels{/name}","comments_url":"https://api.github.com/repos/libstorage/libstoragemgmt/issues/103/comments","events_url":"https://api.github.com/repos/libstorage/libstoragemgmt/issues/103/events","html_url":"https://github.com/libstorage/libstoragemgmt/pull/103","id":144746674,"number":103,"title":"python3 compatibility changes","user":{"login":"tasleson","id":2520480,"avatar_url":"https://avatars.githubusercontent.com/u/2520480?v=3","gravatar_id":"","url":"https://api.github.com/users/tasleson","html_url":"https://github.com/tasleson","followers_url":"https://api.github.com/users/tasleson/followers","following_url":"https://api.github.com/users/tasleson/following{/other_user}","gists_url":"https://api.github.com/users/tasleson/gists{/gist_id}","starred_url":"https://api.github.com/users/tasleson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tasleson/subscriptions","organizations_url":"https://api.github.com/users/tasleson/orgs","repos_url":"https://api.github.com/users/tasleson/repos","events_url":"https://api.github.com/users/tasleson/events{/privacy}","received_events_url":"https://api.github.com/users/tasleson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/libstorage/libstoragemgmt/milestones/3","html_url":"https://github.com/libstorage/libstoragemgmt/milestones/1.4","labels_url":"https://api.github.com/repos/libstorage/libstoragemgmt/milestones/3/labels","id":1701701,"number":3,"title":"1.4","description":"Planed features:\r\n * Add `lsm.Client.disk_ident_led_on` for plugin.\r\n * Change simc plugin to use sqlite which could share the same state file with sim plugin.\r\n * Change layout of c_binding to group function by resources/classes/structure.\r\n * Support SMART.\r\n * Support NVMe.\r\n * Spin down local disk.\r\n * Python 3 support.","creator":{"login":"tasleson","id":2520480,"avatar_url":"https://avatars.githubusercontent.com/u/2520480?v=3","gravatar_id":"","url":"https://api.github.com/users/tasleson","html_url":"https://github.com/tasleson","followers_url":"https://api.github.com/users/tasleson/followers","following_url":"https://api.github.com/users/tasleson/following{/other_user}","gists_url":"https://api.github.com/users/tasleson/gists{/gist_id}","starred_url":"https://api.github.com/users/tasleson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tasleson/subscriptions","organizations_url":"https://api.github.com/users/tasleson/orgs","repos_url":"https://api.github.com/users/tasleson/repos","events_url":"https://api.github.com/users/tasleson/events{/privacy}","received_events_url":"https://api.github.com/users/tasleson/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":7,"state":"open","created_at":"2016-04-12T15:48:05Z","updated_at":"2016-09-30T11:43:56Z","due_on":"2016-12-01T00:00:00Z","closed_at":null},"comments":71,"created_at":"2016-03-30T23:21:23Z","updated_at":"2016-10-20T08:09:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/libstorage/libstoragemgmt/pulls/103","html_url":"https://github.com/libstorage/libstoragemgmt/pull/103","diff_url":"https://github.com/libstorage/libstoragemgmt/pull/103.diff","patch_url":"https://github.com/libstorage/libstoragemgmt/pull/103.patch"},"body":"This is a pretty invasive change and it's ~~not~~ mostly complete.  These changes should allow the code to run on both python2 & python3.  List of items that need to be resolved (help appreciated):\r\n\r\n1. ~~`check_const.pl` needs to be updated to support the py3 change (commented out at the moment)~~\r\n2. ~~`argparse` is a mess, see commit 75f82010fc426bce5f76223f7522b8343ccccfe0 for details~~ Removed with rebased code and things are working\r\n3. `simarray.py` has a bug with `sim_pool['free_space']` (we have a workaround in place, need to get to root cause).\r\n4. ~~More work on smis plugin in error paths to ensure error paths are same from lmiwbem~~\r\n\r\nMissing packages for Travis CI:\r\n1. ~~python3-lmiwbem~~ Mitigated by supporting pywbem too\r\n2. ~~python-future~~ This requirement has been removed\r\n\r\n~~In addition we need to figure out how to handle `#!/bin/env python2` vs. using  `#!/bin/env python3` in those python files that have it.   Originally we used  `#!/bin/env python` and that raised an issue when packaging on rpm based distros as they want the files to be specific to a python version.  However, in this case if the code can and does work for both I don't see why we couldn't change back to being less specific.  That would make packaging a lot easier, otherwise we need to edit files during packaging.~~\r\n\r\n~~From a pure packaging standpoint we are going to need to prevent people from installing a python2 and python3 version of the same package if the package supplies a file in common, eg. lsmcli or one of the plugins.~~ We are following packaging rules for the platform.\r\n\r\nThe following plugins are tested and passing with py2 & py3\r\n* simc/sim (automated)\r\n* nstor (automated)\r\n* targetd (automated)\r\n* ontap (automated, added 10/18)\r\n* smispy (automated, Note: lmi-wbem not working with SSL)\r\n* hpsa (automated, **not** always available at this point in time)\r\n\r\nNeed to be tested\r\n* megaraid\r\n"},"comment":{"url":"https://api.github.com/repos/libstorage/libstoragemgmt/issues/comments/255037873","html_url":"https://github.com/libstorage/libstoragemgmt/pull/103#issuecomment-255037873","issue_url":"https://api.github.com/repos/libstorage/libstoragemgmt/issues/103","id":255037873,"user":{"login":"cathay4t","id":934948,"avatar_url":"https://avatars.githubusercontent.com/u/934948?v=3","gravatar_id":"","url":"https://api.github.com/users/cathay4t","html_url":"https://github.com/cathay4t","followers_url":"https://api.github.com/users/cathay4t/followers","following_url":"https://api.github.com/users/cathay4t/following{/other_user}","gists_url":"https://api.github.com/users/cathay4t/gists{/gist_id}","starred_url":"https://api.github.com/users/cathay4t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cathay4t/subscriptions","organizations_url":"https://api.github.com/users/cathay4t/orgs","repos_url":"https://api.github.com/users/cathay4t/repos","events_url":"https://api.github.com/users/cathay4t/events{/privacy}","received_events_url":"https://api.github.com/users/cathay4t/received_events","type":"User","site_admin":false},"created_at":"2016-10-20T08:09:20Z","updated_at":"2016-10-20T08:09:20Z","body":"MegaRAID plugin in python3 and python2 mode are both OK. Merged"}}
{"actor":{"display_login":"cathay4t"}}