Allow set tty for containers

This change adds support to comfigure tty,
it was enabled by default but a recent patch
removed it. Some services such as Karaf in opendaylight
requires a TTY during startup.

Closes-Bug: #1806662
Change-Id: Ia4335523b727d0e45505cbb1efb40ccf04c27db7
(cherry picked from commit 846c15d8e1)
This commit is contained in:
Eduardo Gonzalez 2018-12-05 10:04:52 +01:00
parent fcc4b5d0e1
commit 7b4b526480
6 changed files with 20 additions and 2 deletions

View File

@ -172,6 +172,12 @@ options:
- running
- exited
- paused
tty:
description:
- Allocate TTY to container
required: False
default: False
type: bool
author: Sam Yaple
'''
@ -589,6 +595,7 @@ class DockerWorker(object):
'image': self.params.get('image'),
'name': self.params.get('name'),
'volumes': volumes,
'tty': self.params.get('tty'),
}
def create_container(self):
@ -771,7 +778,8 @@ def generate_module():
tls_key=dict(required=False, type='str'),
tls_cacert=dict(required=False, type='str'),
volumes=dict(required=False, type='list'),
volumes_from=dict(required=False, type='list')
volumes_from=dict(required=False, type='list'),
tty=dict(required=False, type='bool', default=False),
)
required_if = [
['action', 'pull_image', ['image']],

View File

@ -13,6 +13,7 @@ opendaylight_services:
- "{{ node_config_directory }}/opendaylight/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro"
- "kolla_logs:/var/log/kolla/"
tty: True
####################
# Docker

View File

@ -10,6 +10,7 @@
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
privileged: "{{ service.privileged | default(False) }}"
tty: "{{ service.tty }}"
when:
- action != "config"
- service.enabled | bool

View File

@ -168,6 +168,7 @@
image: "{{ item.value.image }}"
privileged: "{{ item.value.privileged | default(False) }}"
volumes: "{{ item.value.volumes }}"
tty: "{{ item.value.tty }}"
register: check_opendaylight_containers
when:
- action != "config"

View File

@ -0,0 +1,5 @@
---
features:
- |
Added new parameter in kolla_docker to support configuring
TTY in containers, value is False by default

View File

@ -83,7 +83,8 @@ class ModuleArgsTest(base.BaseTestCase):
tls_key=dict(required=False, type='str'),
tls_cacert=dict(required=False, type='str'),
volumes=dict(required=False, type='list'),
volumes_from=dict(required=False, type='list')
volumes_from=dict(required=False, type='list'),
tty=dict(required=False, type='bool', default=False),
)
required_if = [
['action', 'pull_image', ['image']],
@ -131,6 +132,7 @@ FAKE_DATA = {
'image': 'myregistrydomain.com:5000/ubuntu:16.04',
'name': 'test_container',
'volumes': None,
'tty': False,
},
'images': [