Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package redfishtool for openSUSE:Factory checked in at 2023-08-31 13:46:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/redfishtool (Old) and /work/SRC/openSUSE:Factory/.redfishtool.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "redfishtool" Thu Aug 31 13:46:14 2023 rev:6 rq:1108202 version:1.1.8 Changes: -------- --- /work/SRC/openSUSE:Factory/redfishtool/redfishtool.changes 2023-07-11 15:57:14.785151519 +0200 +++ /work/SRC/openSUSE:Factory/.redfishtool.new.1766/redfishtool.changes 2023-08-31 13:52:19.178380803 +0200 @@ -1,0 +2,13 @@ +Sun Aug 27 12:23:51 UTC 2023 - Martin Hauke <mar...@gmx.de> + +- Update to version 1.1.8 + * Corrected matching logic to return the matched resource if + found. +- Update to version 1.1.7 + * Added workaround to specify the 'BootSourceOverrideMode' + property when modifying the boot override properties even if + the mode is not changing. +- Update to version 1.1.6 + * Minor spelling fixes + +------------------------------------------------------------------- Old: ---- redfishtool-1.1.5.tar.gz New: ---- redfishtool-1.1.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ redfishtool.spec ++++++ --- /var/tmp/diff_new_pack.CUGahq/_old 2023-08-31 13:52:20.142415260 +0200 +++ /var/tmp/diff_new_pack.CUGahq/_new 2023-08-31 13:52:20.146415404 +0200 @@ -2,7 +2,7 @@ # spec file for package redfishtool # # Copyright (c) 2023 SUSE LLC -# Copyright (c) 2020-2021, Martin Hauke <mar...@gmx.de> +# Copyright (c) 2020-2023, Martin Hauke <mar...@gmx.de> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ Name: redfishtool -Version: 1.1.5 +Version: 1.1.8 Release: 0 Summary: A CLI tool for accessing the Redfish API License: BSD-3-Clause @@ -28,7 +28,7 @@ BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: python3-setuptools -Requires: python3-dateutils +Requires: python3-dateutil Requires: python3-requests BuildArch: noarch ++++++ redfishtool-1.1.5.tar.gz -> redfishtool-1.1.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/.github/workflows/release.yml new/Redfishtool-1.1.8/.github/workflows/release.yml --- old/Redfishtool-1.1.5/.github/workflows/release.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/Redfishtool-1.1.8/.github/workflows/release.yml 2023-08-16 22:27:39.000000000 +0200 @@ -0,0 +1,102 @@ +name: Release and Publish +on: + workflow_dispatch: + inputs: + version: + description: 'Version number' + required: true + changes_1: + description: 'Change entry' + required: true + changes_2: + description: 'Change entry' + required: false + changes_3: + description: 'Change entry' + required: false + changes_4: + description: 'Change entry' + required: false + changes_5: + description: 'Change entry' + required: false + changes_6: + description: 'Change entry' + required: false + changes_7: + description: 'Change entry' + required: false + changes_8: + description: 'Change entry' + required: false +jobs: + release_build: + name: Build the release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + token: ${{secrets.GITHUB_TOKEN}} + - name: Build the changelog text + run: | + echo 'CHANGES<<EOF' >> $GITHUB_ENV + echo "## [${{github.event.inputs.version}}] - $(date +'%Y-%m-%d')" >> $GITHUB_ENV + echo "- ${{github.event.inputs.changes_1}}" >> $GITHUB_ENV + if [[ -n "${{github.event.inputs.changes_2}}" ]]; then echo "- ${{github.event.inputs.changes_2}}" >> $GITHUB_ENV; fi + if [[ -n "${{github.event.inputs.changes_3}}" ]]; then echo "- ${{github.event.inputs.changes_3}}" >> $GITHUB_ENV; fi + if [[ -n "${{github.event.inputs.changes_4}}" ]]; then echo "- ${{github.event.inputs.changes_4}}" >> $GITHUB_ENV; fi + if [[ -n "${{github.event.inputs.changes_5}}" ]]; then echo "- ${{github.event.inputs.changes_5}}" >> $GITHUB_ENV; fi + if [[ -n "${{github.event.inputs.changes_6}}" ]]; then echo "- ${{github.event.inputs.changes_6}}" >> $GITHUB_ENV; fi + if [[ -n "${{github.event.inputs.changes_7}}" ]]; then echo "- ${{github.event.inputs.changes_7}}" >> $GITHUB_ENV; fi + if [[ -n "${{github.event.inputs.changes_8}}" ]]; then echo "- ${{github.event.inputs.changes_8}}" >> $GITHUB_ENV; fi + echo "" >> $GITHUB_ENV + echo 'EOF' >> $GITHUB_ENV + - name: Update version numbers + run: | + sed -i -E 's/ version=.+,/ version='\'${{github.event.inputs.version}}\'',/' setup.py + sed -i -E 's/ self\.version=".+"/ self.version="'${{github.event.inputs.version}}'"/' redfishtoollib/redfishtoolTransport.py + sed -i -E 's/ self\.releaseDate=".+"/ self.releaseDate="'$(date +'%m\/%d\/%Y')'"/' redfishtoollib/redfishtoolTransport.py + - name: Update the changelog + run: | + ex CHANGELOG.md <<eof + 3 insert + $CHANGES + . + xit + eof + - name: Commit and push the updates + run: | + git config user.name "GitHub Release Workflow" + git config user.email "<>" + git add CHANGELOG.md setup.py redfishtoollib/redfishtoolTransport.py + git commit -s -m "${{github.event.inputs.version}} versioning" + git push origin main + - name: Make the release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + with: + tag_name: ${{github.event.inputs.version}} + release_name: ${{github.event.inputs.version}} + body: | + Changes since last release: + + ${{env.CHANGES}} + draft: false + prerelease: false + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish to pypi + env: + TWINE_USERNAME: ${{secrets.PYPI_USERNAME}} + TWINE_PASSWORD: ${{secrets.PYPI_PASSWORD}} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/CHANGELOG.md new/Redfishtool-1.1.8/CHANGELOG.md --- old/Redfishtool-1.1.5/CHANGELOG.md 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/CHANGELOG.md 2023-08-16 22:27:39.000000000 +0200 @@ -1,5 +1,11 @@ # Change Log +## [1.1.7] - 2023-06-30 +- Added workaround to specify the 'BootSourceOverrideMode' property when modifying the boot override properties even if the mode is not changing + +## [1.1.6] - 2022-06-20 +- Minor spelling fixes + ## [1.1.5] - 2021-03-02 - Added --no-proxy option - Fixed missing documentation to show PowerCycle is a valid reset option diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/CONTRIBUTING.md new/Redfishtool-1.1.8/CONTRIBUTING.md --- old/Redfishtool-1.1.5/CONTRIBUTING.md 1970-01-01 01:00:00.000000000 +0100 +++ new/Redfishtool-1.1.8/CONTRIBUTING.md 2023-08-16 22:27:39.000000000 +0200 @@ -0,0 +1,64 @@ +# Contributing + +## Overview + +This repository is maintained by the [DMTF](https://www.dmtf.org/ "https://www.dmtf.org/"). All contributions are reviewed and approved by members of the organization. + +## Submitting Issues + +Bugs, feature requests, and questions are all submitted in the "Issues" section for the project. DMTF members are responsible for triaging and addressing issues. + +## Contribution Process + +1. Fork the repository. +2. Make and commit changes. +3. Make a pull request. + +All contributions must adhere to the BSD 3-Clause License described in the LICENSE.md file, and the [Developer Certificate of Origin](#developer-certificate-of-origin). + +Pull requests are reviewed and approved by DMTF members. + +## Developer Certificate of Origin + +All contributions must adhere to the [Developer Certificate of Origin (DCO)](http://developercertificate.org "http://developercertificate.org"). + +The DCO is an attestation attached to every contribution made by every developer. In the commit message of the contribution, the developer adds a "Signed-off-by" statement and thereby agrees to the DCO. This can be added by using the `--signoff` parameter with `git commit`. + +Full text of the DCO: + +``` +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. +``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/README.md new/Redfishtool-1.1.8/README.md --- old/Redfishtool-1.1.5/README.md 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/README.md 2023-08-16 22:27:39.000000000 +0200 @@ -28,10 +28,10 @@ ## Why redfishtool? 1. ***redfishtool*** was originally written during the development of the Redfish specification to help find ambiguities in the spec. -1. ***redfishtool*** is now also being used to test inter-operability between redfish service implementations. +1. ***redfishtool*** is now also being used to test interoperability between redfish service implementations. 1. In addition, ***redfishtool*** provides an example implementation for how a client can execute common server management functions like inventory; power-on/off/reset; setting power limits, indicator LEDs, and AssetTags, and searching a multi-node redfish service to find a specific node (with specific UUID, redfish Id, etc). redfishtool follows strict rules of interoperability. To support this goal, liberal comments are added throughout code to explain why each step is being executed. 1. As described above, it makes it easy to use the Redfish API from a BASH script, or as an easy-to-use interactive CLI -- but WITHOUIT creating a 'new API'. All (rather most) of the responses from ***redfishtool*** are Redfish-defined responses. The properties and resources are defined in the redfish spec. ***redfishtool*** is just a tool to access the Redfish API-not a new interface itself. - * The execption is that a 'list' operation was added for all collections to display the key properties for each of the members--rather than just the URIs to the members. + * The exception is that a 'list' operation was added for all collections to display the key properties for each of the members--rather than just the URIs to the members. ## Installation @@ -140,7 +140,7 @@ hello -- redfishtool hello world subcommand for dev testing about -- display version and other information about this version of redfishtool versions -- get redfishProtocol versions supported by rhost: GET ^/redfish - root | serviceRoot -- get serviceRoot resouce: GET ^/redfish/v1/ + root | serviceRoot -- get serviceRoot resource: GET ^/redfish/v1/ Systems -- operations on Computer Systems in the /Systems collection Chassis -- operations on Chassis in the /Chassis collection Managers -- operations on Managers in the /Managers collection @@ -600,11 +600,8 @@ ## Release Process -1. Update `CHANGELOG.md` with the list of changes since the last release -2. Update the `self.version` and `self.releaseDate` variables in `redfishtool/redfishtoolTransport.py` to reflect the new tool version -3. Update setup.py to reflect the new tool version -4. Push changes to Github -5. Create a new release in Github -6. Push the new tool version to pypi.org - * `python setup.py sdist` - * `twine upload dist/*` +1. Go to the "Actions" page +2. Select the "Release and Publish" workflow +3. Click "Run workflow" +4. Fill out the form +5. Click "Run workflow" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtool.py new/Redfishtool-1.1.8/redfishtool.py --- old/Redfishtool-1.1.5/redfishtool.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtool.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,7 +1,7 @@ #!/usr/bin/python # Copyright Notice: # Copyright 2016, 2020 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: redfishtool.py # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/AccountService.py new/Redfishtool-1.1.8/redfishtoollib/AccountService.py --- old/Redfishtool-1.1.5/redfishtoollib/AccountService.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/AccountService.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: AccountService.py # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/Chassis.py new/Redfishtool-1.1.8/redfishtoollib/Chassis.py --- old/Redfishtool-1.1.5/redfishtoollib/Chassis.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/Chassis.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: Chassis.py # @@ -575,7 +575,7 @@ powerLimitData["LimitException"]=exceptionVal includeException=True - # check if there is an optional 4th arg <correctionTime> in miliseconds + # check if there is an optional 4th arg <correctionTime> in milliseconds includeCorrectionTime=False if (sc.argnum > 3 ): correctionPattern="(^([1-9][0-9]{,6})$)" # 1-999999 ms diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/Managers.py new/Redfishtool-1.1.8/redfishtoollib/Managers.py --- old/Redfishtool-1.1.5/redfishtoollib/Managers.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/Managers.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: Managers.py # @@ -323,7 +323,7 @@ #now read remote service to find out if specified resetType is one of the allowable values for this rhost rc,r,j,d=op.get(sc,op,rft,prop="Actions") if(rc != 0): - print("Error, cant read Actions properties from remote service") + print("Error, can't read Actions properties from remote service") return(8,None,False,None) if( (j is True) and ("Actions" in d) and ("#Manager.Reset" in d["Actions"])): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/ServiceRoot.py new/Redfishtool-1.1.8/redfishtoollib/ServiceRoot.py --- old/Redfishtool-1.1.5/redfishtoollib/ServiceRoot.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/ServiceRoot.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: ServiceRoot.py # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/SessionService.py new/Redfishtool-1.1.8/redfishtoollib/SessionService.py --- old/Redfishtool-1.1.5/redfishtoollib/SessionService.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/SessionService.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: SessionService.py # @@ -361,7 +361,7 @@ # get the Sessions collection rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=sessionsLink, prop=prop) if(rc != 0): - rft.printErr("Error: logout: cant read sessions collection") + rft.printErr("Error: logout: can't read sessions collection") return(6,None,False,None) # now search for 2nd level resource and return path2,rc,r,j,d=rft.getLevel2ResourceById(rft,r,d) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/Systems.py new/Redfishtool-1.1.8/redfishtoollib/Systems.py --- old/Redfishtool-1.1.5/redfishtoollib/Systems.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/Systems.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: Systems.py # @@ -383,7 +383,7 @@ #now read remote service to find out if specified resetType is one of the allowable values for this rhost rc,r,j,d=op.get(sc,op,rft,prop="Actions") if(rc != 0): - print("Error, cant read Actions properties from remote service") + print("Error, can't read Actions properties from remote service") return(8,None,False,None) if( (j is True) and ("Actions" in d) and ("#ComputerSystem.Reset" in d["Actions"])): @@ -531,11 +531,11 @@ return(8,None,False,None) #now read target, - # we will need to check that the properteis we are patching are there, and chk for etag hdr + # we will need to check that the properties we are patching are there, and chk for etag hdr # and to see if the value specified is one of the allowable values for this rhost rc,r,j,d=op.get(sc,op,rft,prop="Boot") if(rc != 0): - print("Error, cant read boot properties from remote service") + print("Error, can't read boot properties from remote service") return(8,None,False,None) # verify that they have a BootSourceOverrideEnabled prop @@ -584,7 +584,13 @@ return(8,None,False,None) #form the patch data - patchData={"Boot": {"BootSourceOverrideEnabled": enabledVal, "BootSourceOverrideTarget": targetVal } } + + # Get the value of "BootSourceOverrideTarget" property and pass it in the patch request. + # Some HW vendors need this property to be passed explicitly. + if "BootSourceOverrideMode" in d["Boot"]: + patchData={"Boot": {"BootSourceOverrideEnabled": enabledVal, "BootSourceOverrideTarget": targetVal, "BootSourceOverrideMode": d["Boot"]["BootSourceOverrideMode"] } } + else: + patchData={"Boot": {"BootSourceOverrideEnabled": enabledVal, "BootSourceOverrideTarget": targetVal } } #call the generic patch command to send the patch. This takes care of etag support rc,r,j,d=rft.patchResource(rft, r, patchData) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/__init__.py new/Redfishtool-1.1.8/redfishtoollib/__init__.py --- old/Redfishtool-1.1.5/redfishtoollib/__init__.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/__init__.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md from .redfishtoolMain import main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/raw.py new/Redfishtool-1.1.8/redfishtoollib/raw.py --- old/Redfishtool-1.1.5/redfishtoollib/raw.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/raw.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: rawMain.py # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/redfishtoolMain.py new/Redfishtool-1.1.8/redfishtoollib/redfishtoolMain.py --- old/Redfishtool-1.1.5/redfishtoollib/redfishtoolMain.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/redfishtoolMain.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: redfishtool.py Main # @@ -98,7 +98,7 @@ print(" hello -- redfishtool hello world subcommand for dev testing") print(" about -- display version and other information about this version of {}".format(rft.program)) print(" versions -- get redfishProtocol versions supported by rhost: GET ^/redfish") - print(" root | serviceRoot -- get serviceRoot resouce: GET ^/redfish/v1/") + print(" root | serviceRoot -- get serviceRoot resource: GET ^/redfish/v1/") print(" Systems -- operations on Computer Systems in the /Systems collection ") print(" Chassis -- operations on Chassis in the /Chassis collection") print(" Managers -- operations on Managers in the /Managers collection") @@ -377,7 +377,7 @@ rft.printVerbose(5,"Main: options parsed. Now lookup subcommand and execute it") - # instansiate the SubCmd object, and run the specified subcommand + # instantiate the SubCmd object, and run the specified subcommand #rfCmds=RfSubCmds() #rc=rfCmds.runSubCmd(rft) rc,r,j,d=runSubCmd(rft) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/redfishtoollib/redfishtoolTransport.py new/Redfishtool-1.1.8/redfishtoollib/redfishtoolTransport.py --- old/Redfishtool-1.1.5/redfishtoollib/redfishtoolTransport.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/redfishtoollib/redfishtoolTransport.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,6 +1,6 @@ # Copyright Notice: # Copyright 2016 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: redfishtoolTransport.py # @@ -60,8 +60,8 @@ def __init__(self): # constant parameters-- these dont change and are not updated self.program="redfishtool" # program name (in case we want to change it) - self.version="1.1.5" # this redfishtool version - self.releaseDate="03/02/2021" # release date for this version of redfishtool + self.version="1.1.7" # this redfishtool version + self.releaseDate="06/30/2023" # release date for this version of redfishtool self.downloadFrom="https://github.com/DMTF/Redfishtool" # where to find redfishtool self.magic="12345" # used for debug to test for a known parameter in this object self.UNAUTHENTICATED_API=1 # unauthenticated API that doesn't send credentials in body data @@ -260,23 +260,23 @@ rft.printStatus(3,r=r,authMsg=None) except requests.exceptions.ConnectTimeout: - # connect timeout occured. try again w/o sleeping since a timeout already occured - rft.printVerbose(5,"Tranport: connectTimeout, try again") + # connect timeout occurred. try again w/o sleeping since a timeout already occurred + rft.printVerbose(5,"Transport: connectTimeout, try again") pass except (socket.error): # this exception needed as requests is not catching socket timeouts # especially "connection refused" eg web server not started # issue: https://github.com/kennethreitz/requests/issues/1236 # Nothing timed out. this is a connect error. So wait and retry - rft.printVerbose(5,"Tranport: socket.error, wait and try again") + rft.printVerbose(5,"Transport: socket.error, wait and try again") time.sleep(rft.waitTime) except (requests.exceptions.ReadTimeout): - # read timeout occured. This shouldn't happen, so fail it + # read timeout occurred. This shouldn't happen, so fail it rft.printErr("Transport: Fatal timeout waiting for response from rhost") return(5) except (requests.exceptions.ConnectionError): # eg DNS error, connection refused. wait and try again - rft.printVerbose(5,"Tranport: ConnectionError, wait and try again") + rft.printVerbose(5,"Transport: ConnectionError, wait and try again") time.sleep(rft.waitTime) except requests.exceptions.RequestException as e: # otherl requests exceptions. return with error @@ -294,7 +294,7 @@ if not success: # retries were exceeded w/o success - rft.printErr("Transport: Cant connect to remote redfish service. Aborting command") + rft.printErr("Transport: Can't connect to remote redfish service. Aborting command") if( (r is not None) and ( r.status_code >= 400 )): rft.printStatusErr4xx(r.status_code) else: @@ -341,7 +341,7 @@ rft.printErr(" between {} and remote service".format(rft.program),noprog=True) # second, calculate the version to use if the user specifies a specific version number eg -P v2 - else: # user explicitely specified a version to use. Check if service supports it + else: # user explicitly specified a version to use. Check if service supports it if rft.protocolVer in rft.supportedVersions: if rft.protocolVer in serviceSupportedVersions: rfVer=rft.protocolVer @@ -502,23 +502,23 @@ except requests.exceptions.ConnectTimeout: # connect timeout occured. try again w/o sleeping since a timeout already occured - rft.printVerbose(5,"Tranport: connectTimeout, try again") + rft.printVerbose(5,"Transport: connectTimeout, try again") return(5,r,False,None) except (socket.error): # this exception needed as requests is not catching socket timeouts # especially "connection refused" eg web server not started # issue: https://github.com/kennethreitz/requests/issues/1236 # Nothing timed out. this is a connect error. So wait and retry - rft.printVerbose(5,"Tranport: socket.error, wait and try again") + rft.printVerbose(5,"Transport: socket.error, wait and try again") time.sleep(rft.waitTime) return(5,r,False,None) except (requests.exceptions.ReadTimeout): - # read timeout occured. This shouldn't happen, so fail it + # read timeout occurred. This shouldn't happen, so fail it rft.printErr("Transport: Fatal timeout waiting for response from rhost") return(5,r,False,None) except (requests.exceptions.ConnectionError): # eg DNS error, connection refused. wait and try again - rft.printVerbose(5,"Tranport: ConnectionError, wait and try again") + rft.printVerbose(5,"Transport: ConnectionError, wait and try again") time.sleep(rft.waitTime) return(5,r,False,None) except requests.exceptions.RequestException as e: @@ -1008,7 +1008,7 @@ elif(rft.gotMatchOptn): baseUrl=r.url - matchedPath=None + matchedPath,matchedRc,matchedR,matchedJ,matchedD=None,1,None,False,None matches=0 for i in range (0,numOfLinks): if( '@odata.id' not in coll['Members'][i] ): @@ -1019,13 +1019,13 @@ rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', baseUrl, relPath=path) if(rc==0): # if matchProp found if( d[rft.matchProp] == rft.matchValue ): - matchedPath=path + matchedPath,matchedRc,matchedR,matchedJ,matchedD=path,rc,r,j,d matches +=1 if( matches > 1 ): rft.printErr("Error: getPathBy --Id or --Match option: failed: found multiple matches.") return(None,1,None,False,None) if(rft.firstOptn): - return(matchedPath,rc,r,j,d) + return(matchedPath,matchedRc,matchedR,matchedJ,matchedD) else: rft.printVerbose(4,"Transport:getPathBy:Match: failed match: matchProp={}, matchValue={}, readValue={}".format(rft.matchProp,rft.matchValue,d[rft.matchProp])) pass @@ -1035,7 +1035,7 @@ #after looping over all members in the array, #if here, if we got a match, return the path. If not, then no match was found. return none if( matches > 0 ): - return(matchedPath,rc,r,j,d) + return(matchedPath,matchedRc,matchedR,matchedJ,matchedD) else: rft.printErr("Error: getPathBy --Id or --Match option: no match found in collection") return(None,1,None,False,None) @@ -1208,7 +1208,7 @@ #where in this case, the getEtag header will have double quotes embedded in it else: getEtag=None - #patchHeaders={ "content-type": "application/json"} --dont need to specifiy this now + #patchHeaders={ "content-type": "application/json"} --dont need to specify this now patchHeaders=None # ideally, we should verify that the property to be patched is supported in the get response @@ -1218,7 +1218,7 @@ # send patch to rhost rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'PATCH', r.url, headersInput=patchHeaders, reqData=reqPatchData) - # if response was good but no data retured (status_Code=204), then do another GET to get the response + # if response was good but no data returned (status_Code=204), then do another GET to get the response if(rc==0): if(r.status_code==204): #no data returned, get the response # if the getResponseAfterPatch was set False, dont get a response diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/scripts/redfishtool new/Redfishtool-1.1.8/scripts/redfishtool --- old/Redfishtool-1.1.5/scripts/redfishtool 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/scripts/redfishtool 2023-08-16 22:27:39.000000000 +0200 @@ -1,7 +1,7 @@ #!/usr/bin/python # Copyright Notice: # Copyright 2016, 2020 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: scripts/redfishtool # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/scripts/redfishtool.py new/Redfishtool-1.1.8/scripts/redfishtool.py --- old/Redfishtool-1.1.5/scripts/redfishtool.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/scripts/redfishtool.py 2023-08-16 22:27:39.000000000 +0200 @@ -1,7 +1,7 @@ #!/usr/bin/python # Copyright Notice: # Copyright 2016, 2020 DMTF. All rights reserved. -# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/master/LICENSE.md +# License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/Redfishtool/blob/main/LICENSE.md # redfishtool: scripts/redfishtool.py # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Redfishtool-1.1.5/setup.py new/Redfishtool-1.1.8/setup.py --- old/Redfishtool-1.1.5/setup.py 2021-03-02 16:46:48.000000000 +0100 +++ new/Redfishtool-1.1.8/setup.py 2023-08-16 22:27:39.000000000 +0200 @@ -6,7 +6,7 @@ long_description = f.read() setup(name='redfishtool', - version='1.1.5', + version='1.1.7', description='Redfishtool package and command-line client', long_description=long_description, long_description_content_type='text/markdown',