linode / linode/linode-cli

[Bug]: TypeError: Got unexpected keyword argument 'request_checksum_calculation'

Open
#769 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
442
Forks
159
Avg merge
7d 21h
Merged PRs (30d)
8

Description

### CLI Version

linode-cli v5.57.0 Built from spec version 4.198.0

### Command

linode-cli obj ls

### Output

```
Traceback (most recent call last):
File "/home/user/.local/bin/linode-cli", line 8, in
sys.exit(main())
File "/home/user/.local/lib/python3.9/site-packages/linodecli/__init__.py", line 248, in main
plugins.invoke(parsed.command, plugin_args, context)
File "/home/user/.local/lib/python3.9/site-packages/linodecli/plugins/plugins.py", line 149, in invoke
plugin.call(args, context)
File "/home/user/.local/lib/python3.9/site-packages/linodecli/plugins/obj/__init__.py", line 423, in call
COMMAND_MAP[parsed.command](
File "/home/user/.local/lib/python3.9/site-packages/linodecli/plugins/obj/list.py", line 51, in list_objects_or_buckets
client = get_client()
File "/home/user/.local/lib/python3.9/site-packages/linodecli/plugins/obj/__init__.py", line 419, in get_client
return _get_boto_client(current_cluster, access_key, secret_key)
File "/home/user/.local/lib/python3.9/site-packages/linodecli/plugins/obj/__init__.py", line 451, in _get_boto_client
config=Config(
File "/home/user/.local/lib/python3.9/site-packages/botocore/config.py", line 275, in __init__
self._user_provided_options = self._record_user_provided_options(
File "/home/user/.local/lib/python3.9/site-packages/botocore/config.py", line 308, in _record_user_provided_options
raise TypeError(f"Got unexpected keyword argument '{key}'")
TypeError: Got unexpected keyword argument 'request_checksum_calculation'
```

### Expected Behavior

Given that I have no buckets yet, I was expecting to see some kind of empty list (maybe in a fancy tui frame) with an exit status of 0.

### Actual Behavior

The above stack trace, with an exit status of 1.

### Steps to Reproduce

At the moment, all I have to do is run `linode-cli obj ls` to reproduce it, but I don't know what state it is contingent on (e.g. would it stop erroring out if I create a bucket? is there a linode api deployment that adds/removes a this request checksum thing? etc).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at linodecli/plugins/obj/__init__.py, especially _get_boto_client, and trace its call from list_objects_or_buckets in plugins/obj/list.py. Reproduce `linode-cli obj ls` and inspect the botocore Config options involved in the traceback. Done means the command handles an empty bucket list without a TypeError and exits successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, cloud
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.