{ "info": { "author": "DMTF, https://www.dmtf.org/standards/feedback", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Topic :: Communications" ], "description": "# Redfish Tackebox\n\nCopyright 2019 DMTF. All rights reserved.\n\n## About\n\nRedfish Tacklebox contains a set of Python utilities to perform common management operations with a Redfish service.\nThe utilities can be used as part of larger management applications, or be used as standalone command line tools.\n\n## Installation\n\n`pip install redfish_utilities`\n\n\n### Building from Source\n\n```\npython setup.py sdist --formats=zip\ncd dist\npip install redfish_utilities-x.x.x.zip\n```\n\n\n## Requirements\n\nExternal modules:\n* redfish: https://pypi.python.org/pypi/redfish\n\nYou may install the external modules by running:\n\n`pip install -r requirements.txt`\n\n\n## Utilities\n\n\n### Sensor List\n\n```\nusage: rf_sensor_list.py [-h] --user USER --password PASSWORD --rhost RHOST\n\nA tool to walk a Redfish service and list sensor info\n\nrequired arguments:\n --user USER, -u USER The user name for authentication\n --password PASSWORD, -p PASSWORD\n The password for authentication\n --rhost RHOST, -r RHOST\n The address of the Redfish service (with scheme)\n\noptional arguments:\n -h, --help show this help message and exit\n```\n\nExample: `rf_sensor_list.py -u root -p root -r https://192.168.1.100`\n\nThe tool will log into the service specified by the *rhost* argument using the credentials provided by the *user* and *password* arguments.\nIt then traverses the Chassis Collection for the Service, and reads their respective Power and Thermal Resources.\nUsing the information from those resources, it will build a sensor table and print the information collected.\n\n\n### System Inventory\n\n```\nusage: rf_sys_inventory.py [-h] --user USER --password PASSWORD --rhost RHOST\n [--details] [--noabsent]\n\nA tool to walk a Redfish service and list component information\n\nrequired arguments:\n --user USER, -u USER The user name for authentication\n --password PASSWORD, -p PASSWORD\n The password for authentication\n --rhost RHOST, -r RHOST\n The address of the Redfish service (with scheme)\n\noptional arguments:\n -h, --help show this help message and exit\n --details, -details Indicates if the full details of each component should\n be shown\n --noabsent, -noabsent\n Indicates if absent devices should be skipped\n```\n\nExample: `rf_sys_inventory.py -u root -p root -r https://192.168.1.100 -details`\n\nThe tool will log into the service specified by the *rhost* argument using the credentials provided by the *user* and *password* arguments.\nIt then traverses the Chassis Collection for the Service, and collects component information for Processors, Memory, Drives, PCIeDevices, NetworkAdapters, and StorageControllers.\nUsing the information collected, it will build an inventory table and print the information.\n\n\n### Power/Reset\n\n```\nusage: rf_power_reset.py [-h] --user USER --password PASSWORD --rhost RHOST\n [--system SYSTEM] [--type TYPE]\n\nA tool to perform a power/reset operation of a system\n\nrequired arguments:\n --user USER, -u USER The user name for authentication\n --password PASSWORD, -p PASSWORD\n The password for authentication\n --rhost RHOST, -r RHOST\n The address of the Redfish service (with scheme)\n\noptional arguments:\n -h, --help show this help message and exit\n --system SYSTEM, -s SYSTEM\n The ID of the system perform the operation\n --type TYPE, -t TYPE The type of power/reset operation to perform\n```\n\nExample: `rf_power_reset.py -u root -p root -r https://192.168.1.100 -t GracefulRestart`\n\nThe tool will log into the service specified by the *rhost* argument using the credentials provided by the *user* and *password* arguments.\nIt then traverses the System Collection for the Service to find the matching system specified by the *system* argument.\nIt will perform the Reset action with the specified reset type from the *type* argument.\n* If *system* is not specified, and if the Service has exactly one system, it will perform the operation on the one system.\n* If *type* is not specified, it will attempt a GracefulRestart.\n\n\n### Boot Override\n\n```\nusage: rf_boot_override.py [-h] --user USER --password PASSWORD --rhost RHOST\n [--system SYSTEM] [--target TARGET] [--uefi UEFI]\n [--reset]\n\nA tool to perform a one time boot override of a system\n\nrequired arguments:\n --user USER, -u USER The user name for authentication\n --password PASSWORD, -p PASSWORD\n The password for authentication\n --rhost RHOST, -r RHOST\n The address of the Redfish service (with scheme)\n\noptional arguments:\n -h, --help show this help message and exit\n --system SYSTEM, -s SYSTEM\n The ID of the system to set\n --target TARGET, -t TARGET\n The target boot device; if not provided the tool will\n display the current boot settings\n --uefi UEFI, -uefi UEFI\n If target is 'UefiTarget', the UEFI Device Path of the\n device to boot. If target is 'UefiBootNext', the UEFI\n Boot Option string of the device to boot.\n --reset, -reset Signifies that the system is reset after the boot\n override is set\n```\n\nExample: `rf_boot_override.py -u root -p root -r https://192.168.1.100 -t Pxe -reset`\n\nThe tool will log into the service specified by the *rhost* argument using the credentials provided by the *user* and *password* arguments.\nIt then traverses the System Collection for the Service to find the matching system specified by the *system* argument.\n* If *system* is not specified, and if the Service has exactly one system, it will perform the operation on the one system.\n\nThe tool will then perform an operation on the Boot object within the matching system.\n* If *target* is specified, it will update the Boot object to set the boot override to be *target*.\n * If *reset* is provided, it will reset the system after updating the Boot object.\n* If *target* is not specified, it will display the current boot override settings for the system.\n\n\n### Accounts\n\n```\nusage: rf_accounts.py [-h] --user USER --password PASSWORD --rhost RHOST\n [--add name password role] [--delete DELETE]\n [--setname old_name new_name]\n [--setpassword name new_password]\n [--setrole name new_role] [--enable ENABLE]\n [--disable DISABLE] [--unlock UNLOCK]\n\nA tool to manage user accounts on a Redfish service\n\nrequired arguments:\n --user USER, -u USER The user name for authentication\n --password PASSWORD, -p PASSWORD\n The password for authentication\n --rhost RHOST, -r RHOST\n The address of the Redfish service (with scheme)\n\noptional arguments:\n -h, --help show this help message and exit\n --add name password role, -add name password role\n Adds a new user account\n --delete DELETE, -delete DELETE\n Deletes a user account with the given name\n --setname old_name new_name, -setname old_name new_name\n Sets a user account to a new name\n --setpassword name new_password, -setpassword name new_password\n Sets a user account to a new password\n --setrole name new_role, -setrole name new_role\n Sets a user account to a new role\n --enable ENABLE, -enable ENABLE\n Enables a user account with the given name\n --disable DISABLE, -disable DISABLE\n Disabled a user account with the given name\n --unlock UNLOCK, -unlock UNLOCK\n Unlocks a user account with the given name\n```\n\nThe tool will log into the service specified by the *rhost* argument using the credentials provided by the *user* and *password* arguments.\nBased on the parameters, it will display, add, delete, or modify user accounts.\n* The *add* argument is used to create a new user account\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -add new_name new_password new_role`\n* The *delete* argument is used to delete a user account based on the given user name\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -delete user_to_delete`\n* The *setname* argument is used to change the name of a user account\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -setname user_to_change new_name`\n* The *setpassword* argument is used to change the password of a user account\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -setpassword user_to_change new_password`\n* The *setrole* argument is used to change the role of a user account\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -setrole user_to_change new_role`\n* The *enable* argument is used to enable a user account\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -enable user_to_change`\n* The *disable* argument is used to disable a user account\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -disable user_to_change`\n* The *unlock* argument is used to unlock a user account\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100 -unlock user_to_change`\n* If none of the above arguments are given, a table of the user accounts is provided\n * Example: `rf_accounts.py -u root -p root -r https://192.168.1.100`\n\n\n### Update\n\n```\nusage: rf_update.py [-h] --user USER --password PASSWORD --rhost RHOST --image\n IMAGE [--target TARGET]\n\nA tool to perform an update with a Redfish service\n\nrequired arguments:\n --user USER, -u USER The user name for authentication\n --password PASSWORD, -p PASSWORD\n The password for authentication\n --rhost RHOST, -r RHOST\n The address of the Redfish service (with scheme)\n --image IMAGE, -i IMAGE\n The URI or filepath of the image\n\noptional arguments:\n -h, --help show this help message and exit\n --target TARGET, -t TARGET\n The target resource to apply the image\n```\n\nExample: `rf_update.py -u root -p root -r https://192.168.1.100 -i image.bin`\n\nThe tool will log into the service specified by the *rhost* argument using the credentials provided by the *user* and *password* arguments.\nIt then builds a request payload to perform a Simple Update action against the Update Service using the image specified by the *image* argument.\nThe optional *target* argument is used in the request if attempting to update a particular system, device, manager, or other resource.\nOnce the Simple Update is requested, it monitors the progress of the update, and displays response messages reported by the service about the update once complete.\n\n\n## Release Process\n\n1. Update `CHANGELOG.md` with the list of changes since the last release\n2. Update `setup.py` to reflect the new version\n3. Push changes to Github and create a new release\n4. Push the new tool version to pypi.org\n * `python setup.py sdist`\n * `twine upload dist/*`", "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/DMTF/Redfish-Tacklebox", "keywords": "Redfish", "license": "BSD 3-clause \"New\" or \"Revised License\"", "maintainer": "", "maintainer_email": "", "name": "redfish-utilities", "package_url": "https://pypi.org/project/redfish-utilities/", "platform": "", "project_url": "https://pypi.org/project/redfish-utilities/", "project_urls": { "Homepage": "https://github.com/DMTF/Redfish-Tacklebox" }, "release_url": "https://pypi.org/project/redfish-utilities/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "Redfish Utilities", "version": "1.0.1" }, "last_serial": 5689322, "releases": { "0.5.0": [ { "comment_text": "", "digests": { "md5": "7453e6795ed45b01bee819d6bccaebba", "sha256": "8736e7e574f1933fc581b99f813a01aa48fbf6af81317f51a64696694a98bb99" }, "downloads": -1, "filename": "redfish_utilities-0.5.0.tar.gz", "has_sig": false, "md5_digest": "7453e6795ed45b01bee819d6bccaebba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4572, "upload_time": "2019-05-28T17:16:19", "url": "https://files.pythonhosted.org/packages/f2/1a/f838e89729b76aecce0a75be4adb388b338721f2899036f8d0e757611e7c/redfish_utilities-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "c5870d86432ca67c4f673b9f0314a804", "sha256": "7c02c75ef33a5465825bc244d22fb722349d534201132382ec378d8f9fefebd1" }, "downloads": -1, "filename": "redfish_utilities-0.6.0.tar.gz", "has_sig": false, "md5_digest": "c5870d86432ca67c4f673b9f0314a804", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6836, "upload_time": "2019-05-31T12:45:12", "url": "https://files.pythonhosted.org/packages/8f/4a/3027741c4da8ef589ccff5c6f6006bf2691aec633e10ad95c0baf34bd7a9/redfish_utilities-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "c4bc0421e4a496b8ae665b74b6a69f79", "sha256": "fc17fe17514c69f2d1fb190eed33579aff4d136886a1a8f4dea61c81bed9f2f9" }, "downloads": -1, "filename": "redfish_utilities-0.7.0.tar.gz", "has_sig": false, "md5_digest": "c4bc0421e4a496b8ae665b74b6a69f79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7904, "upload_time": "2019-06-07T12:15:48", "url": "https://files.pythonhosted.org/packages/8a/2e/398bb0c72f61b569974b35482092fc714e4f3508a73e4f821c5c899077de/redfish_utilities-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "72f6fa82797c5d2708f0e130a382aaa3", "sha256": "41c83bc729488520b0a605ac57a15af4ad16243cac61c8e3b8d1202acee25043" }, "downloads": -1, "filename": "redfish_utilities-0.8.0.tar.gz", "has_sig": false, "md5_digest": "72f6fa82797c5d2708f0e130a382aaa3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10986, "upload_time": "2019-06-21T13:47:09", "url": "https://files.pythonhosted.org/packages/1d/7d/1ad93530a13d156cfefb7a5589680e3767c12ae943caf154cb19773a3655/redfish_utilities-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "fd90b98e1c8b4107ffb9639e6c8a7ffe", "sha256": "63fdc83e138681b1f21b2cfd876af6c59637ffae0c334de3e4259d452fc41734" }, "downloads": -1, "filename": "redfish_utilities-0.9.0.tar.gz", "has_sig": false, "md5_digest": "fd90b98e1c8b4107ffb9639e6c8a7ffe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13222, "upload_time": "2019-06-28T12:15:02", "url": "https://files.pythonhosted.org/packages/5f/f4/c0323509090d7139b8f1de29ba6cc4e99e233770465b457259479454b19a/redfish_utilities-0.9.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "d50f8ff64ab857c0b79ccf0f392e797f", "sha256": "6187953dbaadd648219a264b3862a1c9e176938745bf9cf77a864703c4a41fee" }, "downloads": -1, "filename": "redfish_utilities-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d50f8ff64ab857c0b79ccf0f392e797f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17972, "upload_time": "2019-07-12T12:46:29", "url": "https://files.pythonhosted.org/packages/33/5d/8291d61faddaecbfbfb7680cb33c55e4f7d46a2e7b8f3b488822aab2d562/redfish_utilities-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "52b0844783e71336e01d44b8cedb9ce0", "sha256": "1b52bde304d087829756eacd4c2280cee6313c5c47702597d484cac2db99ddd8" }, "downloads": -1, "filename": "redfish_utilities-1.0.1.tar.gz", "has_sig": false, "md5_digest": "52b0844783e71336e01d44b8cedb9ce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17898, "upload_time": "2019-08-16T20:06:52", "url": "https://files.pythonhosted.org/packages/da/9b/49726b8ddcdf718324671eadff503e99ee537393028fbdfd2a9b393eb9a5/redfish_utilities-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "52b0844783e71336e01d44b8cedb9ce0", "sha256": "1b52bde304d087829756eacd4c2280cee6313c5c47702597d484cac2db99ddd8" }, "downloads": -1, "filename": "redfish_utilities-1.0.1.tar.gz", "has_sig": false, "md5_digest": "52b0844783e71336e01d44b8cedb9ce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17898, "upload_time": "2019-08-16T20:06:52", "url": "https://files.pythonhosted.org/packages/da/9b/49726b8ddcdf718324671eadff503e99ee537393028fbdfd2a9b393eb9a5/redfish_utilities-1.0.1.tar.gz" } ] }