canonical / canonical/cc-builder
fix custom shells when apt package gathering is disabled
- Dominant language
- Python
- Stars
- 11
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
```
python src/cli.py generate -f -v --disable-apt
Initializing all not-cloud-init modules
Apt config disabled
Gathering data for each not-cloud-init module
Gathering SnapConfig
Found 22 installed snaps
Gathering SSHConfig
Could not determine root login status
Could not determine password authentication status
Found 2 ssh-import-id entries
Found 7 ssh keys in authorized_keys file
Found 7 public keys
Gathering UserConfig
User 'a-dubs' is in the sudo group
Found shell: zsh
User has zsh as shell, so adding zsh to list of packages.
Traceback (most recent call last):
File "/home/a-dubs/work/not-cloud-init/src/cli.py", line 150, in
cli(obj={})
File "/home/a-dubs/.virtualenvs/not-cloud-init-ljrn/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/home/a-dubs/.virtualenvs/not-cloud-init-ljrn/lib/python3.10/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/home/a-dubs/.virtualenvs/not-cloud-init-ljrn/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/a-dubs/.virtualenvs/not-cloud-init-ljrn/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/a-dubs/.virtualenvs/not-cloud-init-ljrn/lib/python3.10/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/home/a-dubs/.virtualenvs/not-cloud-init-ljrn/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/a-dubs/work/not-cloud-init/src/cli.py", line 139, in generate
create_cloud_init_config(
File "/home/a-dubs/work/not-cloud-init/src/generator.py", line 82, in create_cloud_init_config
cloud_config["packages"].append("zsh")
KeyError: 'packages'
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the generate entry point in src/cli.py, then inspect src/generator.py around line 82 where the traceback appends zsh to cloud_config["packages"]. Reproduce the failure with python src/cli.py generate -f -v --disable-apt and verify that a custom shell is handled successfully when apt package gathering is disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100