Add missing xinetd/rsync container for Swift

Swift object replication relies on the rsync server, which is run by
xinetd. This patch adds the missing container and configuration. Note
that xinetd needs bind to a privileged port (873) and has to be started
as root therefore.

Change-Id: I7655c9dd116c0130035d8a2fae81148171ae6448
This commit is contained in:
Christian Schwede 2017-06-06 16:12:09 +02:00
parent 61fdeb67a0
commit 891b6c7d4c
1 changed files with 21 additions and 1 deletions

View File

@ -73,7 +73,7 @@ outputs:
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: swift
puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config
puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config,rsync::server
step_config: *step_config
config_image: &swift_proxy_image
list_join:
@ -110,6 +110,8 @@ outputs:
- path: /var/log/swift
owner: swift:swift
recurse: true
/var/lib/kolla/config_files/swift_xinetd_rsync.json:
command: /usr/sbin/xinetd -dontfork
docker_config:
step_3:
# The puppet config sets this up but we don't have a way to mount the named
@ -340,6 +342,24 @@ outputs:
- /dev:/dev
- /var/log/containers/swift:/var/log/swift
environment: *kolla_env
swift_xinetd_rsync:
image: *swift_object_image
net: host
user: root
restart: always
privileged: true
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}
-
- /var/lib/kolla/config_files/swift_xinetd_rsync.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/swift/etc:/etc
- /run:/run
- /srv/node:/srv/node
- /dev:/dev
- /var/log/containers/swift:/var/log/swift
environment: *kolla_env
host_prep_tasks:
- name: create persistent directories
file: