如何测试涉及使用分子更改 OS 参数(例如 kernel , ulimit 等)的ansible playbook?

How to test ansible playbook which involves changing OS parameter such as kernel , ulimit etc using molecule?

我正在尝试使用涉及更改内核参数的分子包对我的剧本进行 ansible 测试。但是 docker 不支持更改内核参数。在这种情况下我该如何进行测试(使用 molecule & docker)?

docker 容器只是同一内核中的另一个进程 运行,因此 可能 这样做,但您需要更改 sysctl 配置对于实际主机,这可能会有问题。

如果角色实际上不需要设置 sysctl 参数,我的建议是跳过 sysctl 任务(使用 tags: molecule-notest),或者使用不同的驱动程序,如 vagrant 或 EC2

如果您仍想尝试更改 sysctl。方法如下:

更新您的 molecule.yml 添加 volumescapabilitiesprivileged 变量,如下所示:

...
platforms:
  - name: instance
    image: centos:7
    capabilities:
      - SYS_ADMIN
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:rw
    privileged: true
...

(使用风险自负)