{ "info": { "author": "Jeff White", "author_email": "44498114+jeffwhite530@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "d2yabt (Yet Another Bundle Tool) is used to analyze [DC/OS diagnostic bundles](https://support.d2iq.com/s/article/Create-a-DC-OS-Diagnostic-bundle), [DC/OS service diagnostic bundles](https://support.d2iq.com/s/article/create-service-diag-bundle), and [Konvoy diagnostic bundles](https://docs.d2iq.com/ksphere/konvoy/latest/troubleshooting/generate-diagnostic-bundle). It performs many of the same functions as [Andrey Dyatlov's](https://github.com/adyatlov) [bun](https://github.com/adyatlov/bun/releases) and [Dustin Nemes'](https://github.com/some-things) [dcosqj](https://github.com/some-things/dcosjq). Essentially it does two things:\n\n1. Decompresses the bundle and the files within it\n2. Reads JSON and log files to find common problems and warns about them\n\n*d2yabt is neither supported nor endorsed by [D2iQ](https://d2iq.com).*\n\n### To install\nd2yabt is on PyPI so install it via pip:\n```\npip3 install d2yabt\n```\n\nYou could use the Docker image if you prefer:\n```\ndocker run --rm -it -v path/to/bundle:/mnt/bundle jwhitemeso/d2yabt:latest bash\n```\n\n### To run\nd2yabt's executable is `yabt`. Run it with a bundle as the argument and d2yabt will extract the bundle to the current working directory and move the bundle file to the current directory:\n```\nyabt path/to/bundle.zip\n```\n\nd2yabt can also be used on an extracted bundle. Either give it the path to the bundle directory as an argument or cd into it and run yabt with no arguments:\n```\ncd path/to/bundle\nyabt\n```\n\nNote that pip will install d2yabt to wherever your user base is set to. You'll need to add its bin directory to your PATH:\n```\nexport PATH=\"$PATH:$(python3 -m site --user-base)/bin\"\n```\n\n### Manual install (via git)\nFirst, you'll need to install d2yabt's dependencies:\n```\npip3 install pandas\n```\n\nNext, clone the repo:\n```\ngit clone git@github.com:jeffwhite530/d2yabt.git\n```\n\nFinally, adjust PYTHONPATH so Python can find the library. Assuming d2yabt is in your home directory, run it like so:\n```\nPYTHONPATH=$PYTHONPATH:~/d2yabt/lib ~/d2yabt/bin/yabt path/to/bundle.zip\n```\n\n### To add checks\n\nd2yabt was designed to be easy to extended and have a simple to understand architecture. Each supported bundle type is broken into its own namespace:\n```\nDC/OS --> d2yabt.dcos\nService --> d2yabt.service\nKonvoy --> d2yabt.konvoy\n```\n\nEach of those has a \"check\" library where health checks are defined. These map to the following files:\n```\nd2yabt.dcos.check --> lib/d2yabt/dcos/check.py\nd2yabt.service.check --> lib/d2yabt/service/check.py\nd2yabt.konvoy.check --> lib/d2yabt/konvoy/check.py\n```\n\nTo add a check, add a function to the appropriate check.py file. Have that function do anything you want (search a log file, parse a JSON/YAML file, etc.). Then simply add a call to that function in bin/yabt in the section labeled '# Health checks'.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jeffwhite530/d2yabt", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "d2yabt", "package_url": "https://pypi.org/project/d2yabt/", "platform": "", "project_url": "https://pypi.org/project/d2yabt/", "project_urls": { "Homepage": "https://github.com/jeffwhite530/d2yabt" }, "release_url": "https://pypi.org/project/d2yabt/1.0.4/", "requires_dist": [ "pandas" ], "requires_python": ">=3.6", "summary": "A diagnostic bundle analyzer for D2iQ products", "version": "1.0.4" }, "last_serial": 5923929, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "932c030c795143da5c549e32f310650a", "sha256": "e936da815e780167758f5fbf1fe4dbd95189b3f9097b9baf26e0cddff9366dfc" }, "downloads": -1, "filename": "d2yabt-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "932c030c795143da5c549e32f310650a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15105, "upload_time": "2019-09-11T13:21:00", "url": "https://files.pythonhosted.org/packages/78/c4/319f7db601d729056deb36f35669de2e356257896b9d190147dfa9444712/d2yabt-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de3c618235b6bc4ead5dd74a01a028a7", "sha256": "5dd326dbaf192f2f67cdc4539153b7de1b9659d4621b44e504cc13c8490793b0" }, "downloads": -1, "filename": "d2yabt-1.0.2.tar.gz", "has_sig": false, "md5_digest": "de3c618235b6bc4ead5dd74a01a028a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11168, "upload_time": "2019-09-11T13:21:02", "url": "https://files.pythonhosted.org/packages/fb/a3/f17b16992c1224b23b2c4bc4bc7ed771544dd69923f1f040608568d7920d/d2yabt-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "a2e1acec02e92f17f1c05be1286bee98", "sha256": "7e16e3f1a491cf8a95a65d0ea3336730b435d11fa3de92e20638dc56bfa2605e" }, "downloads": -1, "filename": "d2yabt-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a2e1acec02e92f17f1c05be1286bee98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15457, "upload_time": "2019-09-11T22:45:42", "url": "https://files.pythonhosted.org/packages/80/f2/9f254e15f570d8d81a5acc4e8e9abf368ae8fc166501c514c6e26adc5a3e/d2yabt-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b9d7f39a7b4ce726df413d3d1eeabf30", "sha256": "56c518417169af45876f1108d99a6b99f5381fff7462c1a55da606d638d6e46c" }, "downloads": -1, "filename": "d2yabt-1.0.3.tar.gz", "has_sig": false, "md5_digest": "b9d7f39a7b4ce726df413d3d1eeabf30", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11460, "upload_time": "2019-09-11T22:45:44", "url": "https://files.pythonhosted.org/packages/96/fb/7cc379cea91096cf3048d86f7e768501ba194e078541733092d692bca6f0/d2yabt-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "35d91e9273969af829688dedd383e303", "sha256": "86d172e6757bb486e78d4a1ae3158fd5c9f6df79e9bbf6037c605798b68fa423" }, "downloads": -1, "filename": "d2yabt-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "35d91e9273969af829688dedd383e303", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15693, "upload_time": "2019-10-03T15:05:24", "url": "https://files.pythonhosted.org/packages/40/82/2b3a53f2cf823bc6b582c5a88eb9de510e71cddd6cbcb6b0f1faa3c83a3c/d2yabt-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9267785e7953d284c87ee84f034f7660", "sha256": "28780be89d39c7348314cfb6a77bb4d223f9adca943ae00382573ce614ad095e" }, "downloads": -1, "filename": "d2yabt-1.0.4.tar.gz", "has_sig": false, "md5_digest": "9267785e7953d284c87ee84f034f7660", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11698, "upload_time": "2019-10-03T15:05:26", "url": "https://files.pythonhosted.org/packages/3c/16/bce8da9d4da4777d1e8c3f4e42620099317b37ca2dd466099ff6c7d6f357/d2yabt-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "35d91e9273969af829688dedd383e303", "sha256": "86d172e6757bb486e78d4a1ae3158fd5c9f6df79e9bbf6037c605798b68fa423" }, "downloads": -1, "filename": "d2yabt-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "35d91e9273969af829688dedd383e303", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15693, "upload_time": "2019-10-03T15:05:24", "url": "https://files.pythonhosted.org/packages/40/82/2b3a53f2cf823bc6b582c5a88eb9de510e71cddd6cbcb6b0f1faa3c83a3c/d2yabt-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9267785e7953d284c87ee84f034f7660", "sha256": "28780be89d39c7348314cfb6a77bb4d223f9adca943ae00382573ce614ad095e" }, "downloads": -1, "filename": "d2yabt-1.0.4.tar.gz", "has_sig": false, "md5_digest": "9267785e7953d284c87ee84f034f7660", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11698, "upload_time": "2019-10-03T15:05:26", "url": "https://files.pythonhosted.org/packages/3c/16/bce8da9d4da4777d1e8c3f4e42620099317b37ca2dd466099ff6c7d6f357/d2yabt-1.0.4.tar.gz" } ] }