sous-chefs / docker

Development repository for the docker cookbook
https://supermarket.chef.io/cookbooks/docker
Apache License 2.0
1.35k stars 794 forks source link

Wrong source list generation for Debian 11 #1207

Closed zabudskyi closed 2 years ago

zabudskyi commented 2 years ago

:speaking_head: Foreword

Thank for taking the time to fill this bug report fully. Without it we may not be able to fix the bug, and the issue may be closed without resolution.

:ghost: Brief Description

Wrong source list generation for Debian 11

:pancakes: Cookbook version

10.1.2

:woman_cook: Chef-Infra Version

17.7.2.

:tophat: Platform details

Debian 11

Steps To Reproduce

Add cookbook to run list

:police_car: Expected behavior

Valid apt source list generated

:heavy_plus_sign: Additional context

It looks like there is no valid definition for Debian 11 https://github.com/sous-chefs/docker/blob/main/libraries/docker_installation_package.rb#L38-L46

E: Malformed entry 1 in list file /etc/apt/sources.list.d/Docker.list (Component)

 cat /etc/apt/sources.list.d/Docker.list
deb      [arch=amd64] https://download.docker.com/linux/debian stable

It should be

deb      [arch=amd64] https://download.docker.com/linux/debian bullseye stable
ramereth commented 2 years ago

@zabudskyi please feel free to create a PR which fixes this!

zabudskyi commented 2 years ago

@ramereth I created PR, but tests fail could you please check what can be wrong?

zabudskyi commented 2 years ago

@ramereth it is not fixed

Synchronizing cookbooks:
  - apt (7.4.0)
  - chef-client (12.3.4)
  - chef_client_updater (3.12.2)
  - cron (7.0.3)
  - docker (10.1.6)
  - generic16 (2.0.1)
  - influxdata (0.1.0)
  - influxdata_client (0.1.0)
  - logrotate (2.3.0)
  - ntp (3.12.0)
  - slack_handler (1.0.0)
      * file[/etc/apt/sources.list.d/Docker.list] action create
          - create new file /etc/apt/sources.list.d/Docker.list
          - update content in file /etc/apt/sources.list.d/Docker.list from none to ba9ef9
          --- /etc/apt/sources.list.d/Docker.list       2022-01-10 08:55:26.804564630 +0000
          +++ /etc/apt/sources.list.d/.chef-Docker20220110-2122593-6gz7cv.list  2022-01-10 08:55:26.804564630 +0000
          @@ -1 +1,2 @@
          +deb      [arch=amd64] https://download.docker.com/linux/debian stable
          - change mode from '' to '0644'
          - change owner from '' to 'root'
          - change group from '' to 'root'
Generated at 2022-01-10 08:55:27 +0000
Mixlib::ShellOut::ShellCommandFailed: docker_service[default] (data::cron_jobs line 122) had an error: Mixlib::ShellOut::ShellCommandFailed: docker_installation_package[default] (/var/chef/cache/cookbooks/docker/libraries/docker_service.rb line 62) had an error: Mixlib::ShellOut::ShellCommandFailed: apt_package[docker-ce] (/var/chef/cache/cookbooks/docker/libraries/docker_installation_package.rb line 146) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '100'
---- Begin output of ["apt-cache", "policy", "docker-ce"] ----
STDOUT: 
STDERR: E: Malformed entry 1 in list file /etc/apt/sources.list.d/Docker.list (Component)
E: The list of sources could not be read.
---- End output of ["apt-cache", "policy", "docker-ce"] ----
Ran ["apt-cache", "policy", "docker-ce"] returned 100
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/mixlib-shellout-3.2.5/lib/mixlib/shellout.rb:300:in `invalid!'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/mixlib-shellout-3.2.5/lib/mixlib/shellout.rb:287:in `error!'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/mixlib-shellout-3.2.5/lib/mixlib/shellout/helper.rb:130:in `shell_out_compacted!'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/mixlib-shellout-3.2.5/lib/mixlib/shellout/helper.rb:54:in `shell_out!'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/deb.rb:114:in `run_noninteractive'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/apt.rb:180:in `resolve_package_versions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/apt.rb:239:in `package_data_for'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/apt.rb:55:in `block in package_data'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/apt.rb:61:in `block in get_current_versions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/apt.rb:60:in `map'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/apt.rb:60:in `get_current_versions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider/package/apt.rb:40:in `load_current_resource'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider.rb:225:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:600:in `block in run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:627:in `with_umask'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:599:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:74:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `block in run_all_actions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `each'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `run_all_actions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:132:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/resource_list.rb:96:in `block in execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:114:in `call_iterator_block'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:103:in `iterate'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:54:in `each_with_index'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/resource_list.rb:94:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/3.0.0/forwardable.rb:238:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:130:in `converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider.rb:302:in `compile_and_converge_action'
(eval):2:in `action_create'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider.rb:242:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:600:in `block in run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:627:in `with_umask'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:599:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:74:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `block in run_all_actions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `each'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `run_all_actions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:132:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/resource_list.rb:96:in `block in execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:114:in `call_iterator_block'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:103:in `iterate'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:54:in `each_with_index'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/resource_list.rb:94:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/3.0.0/forwardable.rb:238:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:130:in `converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider.rb:302:in `compile_and_converge_action'
(eval):2:in `action_create'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/provider.rb:242:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:600:in `block in run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:627:in `with_umask'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource.rb:599:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:74:in `run_action'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `block in run_all_actions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `each'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:108:in `run_all_actions'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:132:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/resource_list.rb:96:in `block in execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:114:in `call_iterator_block'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:103:in `iterate'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/stepable_iterator.rb:54:in `each_with_index'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/resource_collection/resource_list.rb:94:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/3.0.0/forwardable.rb:238:in `execute_each_resource'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/runner.rb:130:in `converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/client.rb:686:in `block in converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/client.rb:681:in `catch'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/client.rb:681:in `converge'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/client.rb:705:in `converge_and_save'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/client.rb:285:in `run'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/application.rb:305:in `run_with_graceful_exit_option'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/application.rb:281:in `block in run_chef_client'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/local_mode.rb:42:in `with_server_connectivity'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/application.rb:264:in `run_chef_client'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/application/base.rb:352:in `run_application'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-17.7.29/lib/chef/application.rb:67:in `run'
/opt/chef/embedded/lib/ruby/gems/3.0.0/gems/chef-bin-17.7.29/bin/chef-client:25:in `<top (required)>'
/usr/bin/chef-client:160:in `load'
/usr/bin/chef-client:160:in `<main>'
ramereth commented 2 years ago

@zabudskyi I cannot replicate this on my end. Can you please run the following commands on your host?

ohai platform_version
ohai platform
zabudskyi commented 2 years ago

@ramereth

:~$ ohai platform_version
[
  "11"
]
:~$ ohai platform
[
  "debian"
]
ramereth commented 2 years ago

I am at a loss as to what is going on here :(

zabudskyi commented 2 years ago

It is not clean install. It was debian 8 or 9 initially. Probably something is left from older versions. Or ohai output is the only source of truth?

ramereth commented 2 years ago

Something must be triggering the ohai data to not return something correctly.