sous-chefs/etcd

etcd_service_manager_docker launches container with incorrect command

Closed this issue · 2 comments

Cookbook version (4.1.0), Chef-client version (12.15.19)

The etcd_service_manager_docker resource has a bug inside of its :start action. It's passing the value of etcd_daemon_opts.join(' ').strip to the docker container command when, I believe, it should be the value of etcd_cmd.

Busted stuff: https://github.com/chef-cookbooks/etcd/blob/v4.1.0/libraries/etcd_service_manager_docker.rb#L16

Better option: https://github.com/chef-cookbooks/etcd/blob/master/libraries/helpers_service.rb#L8-L10

Actually, now that I look at this a little closer, etcd_cmd will NOT work.

The function etcd_bin points to the binary /usr/bin/etcd (https://github.com/drywheat/etcd/blob/master/libraries/helpers_service.rb#L4-L6) and the CoreOS etcd docker image sets etcd as the ENTRYPOINT (https://github.com/coreos/etcd/blob/v3.0.14/Dockerfile#L6).

Any thoughts here?

tas50 commented

I think I have this fixed with f3c77b0

Feel free to let me know if I'm crazy