canonical / canonical/cc-builder

fix custom shells when apt package gathering is disabled

Open
#9 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.