canonical / canonical/multipass
Add merge how
- Dominant language
- C++
- Stars
- 9.2k
- Forks
- 829
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 45
Description
Currently, when a template with cloud init is used the latter overrides commands in the template.
For example `multipass launch docker --name dckr --cloud-init cloud-config.yaml` where cloud-config.yaml is defined as:
```yaml
#cloud-config
# vim: syntax=yaml
packages:
- acl
```
```sh
multipass shell dckr
systemctl status docker
# no docker installed
```
In order for [cloud config merge](https://cloudinit.readthedocs.io/en/19.3/topics/merging.html) works the header should be specified in both configs.
Please add `merge_how` to the blueprints.
```yaml
merge_how:
- name: list
settings: [append]
- name: dict
settings: [no_replace, recurse_list]
```
Contributor guide
Research direction
The issue names no files or tests. Start by tracing how blueprint cloud-init data is assembled, then compare the generated configuration with the linked cloud-init merge behavior; done when the shown launch command retains the blueprint's Docker setup while also applying cloud-config.yaml.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100