{ "info": { "author": "Cameron Simpson", "author_email": "cs@zip.com.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "MegaCLI access kit.\n===================\n\nMany IBM xSeries servers come with LSI Logic MegaRAID RAID controllers, under the name IBM ServerRAID. These controllers are also used by Dell as Dell PowerEdge RAID Controller (PERC).\n\nThese can be accessed during the machine boot process via the BIOS screens using a conventional BIOS-like text interface or a ghastly and painful to use GUI interface. However, either of these requires the machine OS to be down.\n\nThe RAID adapters can also be accessed while the machine OS is up.\nFor Linux, IBM offer a set of command line tools named MegaCLI_, which are installed in /opt/MegaRAID.\nUnfortunately, their MegaCLI executable is both fiddly to invoke and in its reporting mode, produces a barely human readable report which is quite hostlie to machine parsing.\nI would surmise that someone was told to dump the adapter data in text form, and did so with an ad hoc report; it is pages long and arduous to inspect by eye.\n\nThe situation was sufficiently painful that I wrote this module which runs a couple of the report modes and parses their output. It is deliberately python 2.4 compatible so that it can run on RHEL 5 systems.\n\nReport Mode\n-----------\n\nThe \"report\" mode then dumps a short summary report of relevant information which can be eyeballed immediately; RAID configuration and issues are immediately apparent. Here is an example output (the \"+\" tracing lines are on stderr, and recite the underlying MegaCLI commands used)::\n\n # mcli report\n + exec py26+ -m cs.app.megacli report\n + exec /opt/MegaRAID/MegaCli/MegaCli64 -CfgDsply -aAll\n + exec /opt/MegaRAID/MegaCli/MegaCli64 -PDlist -aAll\n Adapter 0 IBM ServeRAID-MR10i SAS/SATA Controller serial# Pnnnnnnnnn\n Virtual Drive 0\n 2 drives, size = 278.464GB, raid = Primary-1, Secondary-0, RAID Level Qualifier-0\n physical drive enc252.devid8 [252:0]\n physical drive enc252.devid7 [252:1]\n 4 drives:\n enc252.devid7 [252:1]: VD 0, DG None: 42D0628 279.396 GB, Online, Spun Up\n enc252.devid8 [252:0]: VD 0, DG None: 81Y9671 279.396 GB, Online, Spun Up\n enc252.devid2 [252:2]: VD None, DG None: 42D0628 279.396 GB, Unconfigured(good), Spun Up\n enc252.devid3 [252:3]: VD None, DG None: 42D0628 279.396 GB, Unconfigured(good), Spun Up\n\nStatus Mode\n-----------\n\nThe \"status\" mode recites the RAID status in a series of terse one line summaries; we use its output in our nagios monitoring. Here is an example output (the \"+\" tracing lines are on stderr, and recite the underlying MegaCLI commands used)::\n\n # mcli status\n + exec py26+ -m cs.app.megacli status\n + exec /opt/MegaRAID/MegaCli/MegaCli64 -CfgDsply -aAll\n + exec /opt/MegaRAID/MegaCli/MegaCli64 -PDlist -aAll\n OK A0\n\nLocate Mode\n-----------\n\nThe \"locate\" mode prints a MegaCLI command line which can be used to activate or deactivate the location LED on a specific drive. Here is an example output::\n\n # mcli locate 252:4\n /opt/MegaRAID/MegaCli/MegaCli64 -PdLocate -start -physdrv[252:4] -a0\n\n # mcli locate 252:4 stop\n /opt/MegaRAID/MegaCli/MegaCli64 -PdLocate -stop -physdrv[252:4] -a0\n\nNew_RAID Mode\n-------------\nThe \"new_raid\" mode prints a MegaCLI command line which can be used to instruct the adapter to assemble a new RAID set.\n\nMegaCLI class\n-------------\n\nThe module provides a MegaCLI class which embodies the parsed information from the MegaCLI reporting modes.\nThis can be imported and used for special needs.\n\n.. _MegaCLI: http://www-947.ibm.com/support/entry/portal/docdisplay?lndocid=migr-5082327", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/cameron_simpson/css/commits/all", "keywords": "python2,python3", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "cs.app.megacli", "package_url": "https://pypi.org/project/cs.app.megacli/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cs.app.megacli/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/cameron_simpson/css/commits/all" }, "release_url": "https://pypi.org/project/cs.app.megacli/20160310/", "requires_dist": null, "requires_python": null, "summary": "command line tool to inspect and manipulate LSI MegaRAID adapters, such as used in IBM ServerRAID systems and Dell PowerEdge RAID Controller (PERC)", "version": "20160310" }, "last_serial": 1998418, "releases": { "20150118.5": [ { "comment_text": "", "digests": { "md5": "5797b43c91de9f5fbb813c71ce202792", "sha256": "f320f6f26f033e80ba596119d02081a83009f0307e80ab13c1a3657790f5447d" }, "downloads": -1, "filename": "cs.app.megacli-20150118.5.tar.gz", "has_sig": false, "md5_digest": "5797b43c91de9f5fbb813c71ce202792", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7060, "upload_time": "2015-01-18T06:30:26", "url": "https://files.pythonhosted.org/packages/d8/5c/15ee56ecbd8c4edf3b94f4772aadf3be35616a950a59de105e71274def3c/cs.app.megacli-20150118.5.tar.gz" } ], "20150801": [ { "comment_text": "", "digests": { "md5": "2aa2ce327c48031c61771b00f68596b2", "sha256": "b3418f50e3f7379ceb2b274126d4789803729177df360b4cd96f9c70571958d8" }, "downloads": -1, "filename": "cs.app.megacli-20150801.tar.gz", "has_sig": false, "md5_digest": "2aa2ce327c48031c61771b00f68596b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7443, "upload_time": "2015-08-01T11:01:47", "url": "https://files.pythonhosted.org/packages/32/b2/f43c6cf7380d016106c8e625686e04f567be6475ad88ec75ff000fdd5987/cs.app.megacli-20150801.tar.gz" } ], "20150801.1": [ { "comment_text": "", "digests": { "md5": "f2696594e01a0b77a1bfc0244e4c33b1", "sha256": "96917c6f8669b9d739703dd9ebe6d960ebe6534fde54cdacabe745d9b0a1091f" }, "downloads": -1, "filename": "cs.app.megacli-20150801.1.tar.gz", "has_sig": false, "md5_digest": "f2696594e01a0b77a1bfc0244e4c33b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7626, "upload_time": "2015-08-01T11:11:22", "url": "https://files.pythonhosted.org/packages/4d/10/b95157af7c19bd8f900078ad55e4827025be3e914295c4b0e9536f740099/cs.app.megacli-20150801.1.tar.gz" } ], "20160225": [ { "comment_text": "", "digests": { "md5": "6ebd972468af19842973eec2bdbb0323", "sha256": "b65041b5fbad33913994faac2f195ff35df9faad272dd6480b6ac00c8074022e" }, "downloads": -1, "filename": "cs.app.megacli-20160225.tar.gz", "has_sig": false, "md5_digest": "6ebd972468af19842973eec2bdbb0323", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7776, "upload_time": "2016-02-25T07:25:52", "url": "https://files.pythonhosted.org/packages/f0/e0/cee85eb33c64b89a9f056c0b8a6b75d2bde89e3a9123f44aa88e39ad7cc7/cs.app.megacli-20160225.tar.gz" } ], "20160226": [ { "comment_text": "", "digests": { "md5": "909a35c0ff3a6c030a14e2797baae195", "sha256": "b353a50a8f02d8fec335d25c1f5fc713a342c857390f83baf6ed6ead6d113388" }, "downloads": -1, "filename": "cs.app.megacli-20160226.tar.gz", "has_sig": false, "md5_digest": "909a35c0ff3a6c030a14e2797baae195", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7784, "upload_time": "2016-02-26T00:05:35", "url": "https://files.pythonhosted.org/packages/64/58/0a2d2fddf23c4e3410f88465bb6afc93349ae34d3e2e9cfedbad72859da3/cs.app.megacli-20160226.tar.gz" } ], "20160310": [ { "comment_text": "", "digests": { "md5": "45c181d355922404d589a1ed8d3712d5", "sha256": "d86a6b2aea608f5774d0bd14e87651eedabf927a45ee66055453fbcf3ee8d4d1" }, "downloads": -1, "filename": "cs.app.megacli-20160310.tar.gz", "has_sig": false, "md5_digest": "45c181d355922404d589a1ed8d3712d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7774, "upload_time": "2016-03-10T00:47:17", "url": "https://files.pythonhosted.org/packages/ca/87/fb46296aa3a879eb75bce35d323ffa78fa14123d281c7703688134fe5ec0/cs.app.megacli-20160310.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "45c181d355922404d589a1ed8d3712d5", "sha256": "d86a6b2aea608f5774d0bd14e87651eedabf927a45ee66055453fbcf3ee8d4d1" }, "downloads": -1, "filename": "cs.app.megacli-20160310.tar.gz", "has_sig": false, "md5_digest": "45c181d355922404d589a1ed8d3712d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7774, "upload_time": "2016-03-10T00:47:17", "url": "https://files.pythonhosted.org/packages/ca/87/fb46296aa3a879eb75bce35d323ffa78fa14123d281c7703688134fe5ec0/cs.app.megacli-20160310.tar.gz" } ] }