tripleo-heat-templates/docker
Michele Baldessari b5eeeab73e Disable xinetd class when creating swift-storage puppet configuration
Due to missing puppet invocation with --detailed-exitcodes we ignored
a large amount of puppet errors during deploy. Swift storage fails
during the puppet_config step with the following error:

Debug: /Stage[main]/Swift::Storage::Object/Swift::Storage::Generic[object]/Package[swift-object]: Not tagged with file, file_line, concat, augeas, cron, swif t_proxy_config, swift_config, swift_container_config, swift_container_sync_realms_config, swift_account_config, swift_object_config, swift_object_expirer_con fig, rsync::server
Debug: /Stage[main]/Swift::Storage::Object/Swift::Storage::Generic[object]/Package[swift-object]: Resource is being skipped, unscheduling all events
Debug: Executing: '/usr/bin/systemctl is-active xinetd'
Debug: Executing: '/usr/bin/systemctl is-enabled xinetd'
Debug: Executing: '/usr/bin/systemctl unmask xinetd'
Debug: Executing: '/usr/bin/systemctl start xinetd'
Debug: Runing journalctl command to get logs for systemd start failure: journalctl -n 50 --since '5 minutes ago' -u xinetd --no-pager
Debug: Executing: 'journalctl -n 50 --since '5 minutes ago' -u xinetd --no-pager'
Error: Systemd start for xinetd failed!

The problem is that by using the rsync::server tag we end up including
the xinetd class automatically which will try to start a service inside
a container. By nooping the xinetd class, we're able avoid systemctl
calls and have a successfuly deployment. The resulting swift_rsync
container seems to work correctly:

[root@overcloud-controller-0 ~]# docker exec -it swift_rsync /bin/bash -c "ps -axuwf"
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        10  0.0  0.0  47444  1624 pts/1    Rs+  18:16   0:00 ps -axuwf
root         1  0.0  0.0    188     4 ?        Ss   17:27   0:00 /usr/local/bin/dumb-init /bin/bash /usr/local/bin/kolla_start
root         6  0.0  0.0  11036   924 ?        Ss   17:27   0:00 /usr/bin/rsync --daemon --no-detach --config=/etc/rsyncd.conf

[root@overcloud-controller-0 ~]# docker logs swift_rsync 2>&1|tail -n4
INFO:__main__:Deleting /etc/rsyncd.conf
INFO:__main__:Copying /var/lib/kolla/config_files/src/etc/rsyncd.conf to /etc/rsyncd.conf
INFO:__main__:Writing out command to execute
Running command: '/usr/bin/rsync --daemon --no-detach --config=/etc/rsyncd.conf'

Change-Id: I5e43e8fd61e002d2acc56a7de52e6aae64ab60be
Closes-Bug: #1723463
2017-10-17 17:10:54 +02:00
..
services Disable xinetd class when creating swift-storage puppet configuration 2017-10-17 17:10:54 +02:00
README-containers.md Replace outdated instruction with link to upstream doc 2017-07-10 16:32:58 +02:00
docker-puppet.py Merge "Take all mounted config_volumes into account" 2017-10-13 10:10:01 +00:00
docker-toool Merge "Add detach to docker-toool" 2017-06-30 03:52:38 +00:00