Skip to content

[action] [PR:9452] Fix wrong bool argument parsing in upgrade_image.py script#9455

Merged
yejianquan merged 1 commit intosonic-net:202305from
mssonicbld:cherry/202305/9452
Aug 16, 2023
Merged

[action] [PR:9452] Fix wrong bool argument parsing in upgrade_image.py script#9455
yejianquan merged 1 commit intosonic-net:202305from
mssonicbld:cherry/202305/9452

Conversation

@mssonicbld
Copy link
Copy Markdown
Collaborator

Description of PR

Summary:
Fixes # (issue)

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Back port request

  • 201911
  • 202012
  • 202205

Approach

What is the motivation for this PR?

The upgrade_image.py script defined some bool type arguments. However, "action" is not specified while defining these arguments.

The result is that if user pass in arguments like below, the argument will be still be evaluated to True as python by default casting string "False" to bool value True.

./upgrade_image.py --enable-fips Flase

How did you do it?

The fix is to take advantage of setuptools.distutils.util.strtobool.

With tool, any values like below passed in to this type of arguments would be evaluated to integer 0:

"n", "no", "No", "NO", "False", "false", "FALSE", "FaLsE", ...

Any argument value like below would be evaluated to integer 1:

"y", "yes", "Yes", "YES", "True", "true", "TRUE", "TrUe", ...

How did you verify/test it?

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

…#9452)

Approach
What is the motivation for this PR?
The upgrade_image.py script defined some bool type arguments. However, "action" is not specified while defining these arguments.

The result is that if user pass in arguments like below, the argument will be still be evaluated to True as python by default casting string "False" to bool value True.

./upgrade_image.py --enable-fips Flase
How did you do it?
The fix is to take advantage of setuptools.distutils.util.strtobool.

With tool, any values like below passed in to this type of arguments would be evaluated to integer 0:

"n", "no", "No", "NO", "False", "false", "FALSE", "FaLsE", ...
Any argument value like below would be evaluated to integer 1:

"y", "yes", "Yes", "YES", "True", "true", "TRUE", "TrUe", ...

Signed-off-by: Xin Wang <xiwang5@microsoft.com>

co-authorized by: jianquanye@microsoft.com
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

Original PR: #9452

Copy link
Copy Markdown
Collaborator

@yejianquan yejianquan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@yejianquan yejianquan merged commit 80a5ab1 into sonic-net:202305 Aug 16, 2023
@mssonicbld mssonicbld deleted the cherry/202305/9452 branch February 4, 2024 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants