- Bug Report
container.yml
version: '2'
settings:
conductor_base: centos:7
services:
ansible.play_container:
from: "play:8_jre_security"
roles:
- play_container
ports:
- "9000:9000"
user: play
command: ['app/xxx/docker-entrypoint.sh']
registries: {}
OS / ENVIRONMENT
Ansible Container, version 0.9.2
Linux, 3.10.0-327.13.1.el7.x86_64, #1
<https://github.com/ansible/ansible-container/pull/1> SMP Mon Feb 29
13:22:02 EST 2016, x86_64
2.7.5 (default, May 3 2017, 07:55:04)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-14)] /usr/bin/python
Client:
Version: 1.13.0
API version: 1.25
Go version: go1.7.3
Git commit: 49bf474
Built: Tue Jan 17 09:55:28 2017
OS/Arch: linux/amd64
Server:
Version: 1.13.0
API version: 1.25 (minimum version 1.12)
Go version: go1.7.3
Git commit: 49bf474
Built: Tue Jan 17 09:55:28 2017
OS/Arch: linux/amd64
Experimental: false
##### SUMMARY
<!--- Explain the problem briefly -->
##### STEPS TO REPRODUCE
Ran this Sudo ansible-container --debug build
##### EXPECTED RESULTS
Image should be ran successfully
##### ACTUAL RESULTS
[mt801t@d1xvoaxa0027 ansible_container_dotcom]$ sudo ansible-container --debug
build 2017-11-28T06:09:06.656722 The
default type is [container.config]
caller_file=/usr/lib/python2.7/site-packages/container/config.py
caller_func=_resolve_defaults caller_line=189 config=<class
'ruamel.yaml.comments.CommentedMap'> defaults=<type '_ordereddict.ordereddict'>
2017-11-28T06:09:06.658424 Getting environment variables... [container.config]
caller_file=/usr/lib/python2.7/site-packages/container/config.py
caller_func=_get_environment_variables caller_line=205
2017-11-28T06:09:06.659909 Read environment variables [container.config]
caller_file=/usr/lib/python2.7/site-packages/container/config.py
caller_func=_get_environment_variables caller_line=210 env_vars={}
2017-11-28T06:09:06.661276 Resolved template variables [container.config]
caller_file=/usr/lib/python2.7/site-packages/container/config.py
caller_func=_resolve_defaults caller_line=194 template_vars={}
2017-11-28T06:09:06.662599 Parsed config [container.config]
caller_file=/usr/lib/python2.7/site-packages/container/config.py
caller_func=set_env caller_line=148 config={"version": "2", "settings":
{"conductor_base": "centos:7", "pwd":
"/home/mt801t/ansiconplay/ansible-containers/ansible_container_dotcom"},
"services": {"ansible.play_container": {"from": "play:8_jre_security", "roles":
["play_container"], "ports": ["9000:9000"], "user": "play", "command":
["app/XXXX/node/app/docker-entrypoint.sh"]}}, "registries": {}, "defaults": {}}
2017-11-28T06:09:06.663789 Loading engine capabilities
[container.utils.loader]
caller_file=/usr/lib/python2.7/site-packages/container/utils/loader.py
caller_func=load_engine caller_line=14 capabilities=['BUILD', 'RUN']
engine=docker
2017-11-28T06:09:06.694960 Setting Docker client timeout to 60
[container.docker.engine]
caller_file=/usr/lib/python2.7/site-packages/container/docker/engine.py
caller_func=get_timeout caller_line=122
2017-11-28T06:09:06.717323 Call: Engine.build_conductor_image
[container.docker.engine]
args=('/home/mt801t/ansiconplay/ansible-containers/ansible_container_dotcom',
'centos:7')
caller_file=/usr/lib/python2.7/site-packages/container/docker/engine.py
caller_func=Engine.build_conductor_image caller_line=23 kwargs={'environment':
[], 'cache': True}
2017-11-28T06:09:06.719354 Using temporary directory
[container.utils.temp]
caller_file=/usr/lib/python2.7/site-packages/container/utils/temp.py
caller_func=__enter__ caller_line=17 path=/tmp/tmpbicqNr
2017-11-28T06:09:06.720552 Building Docker Engine context...
[container.docker.engine]
caller_file=/usr/lib/python2.7/site-packages/container/docker/engine.py
caller_func=build_conductor_image caller_line=963
2017-11-28T06:09:06.781581 Rendered Jinja Template: [container.utils]
body=FROM centos:7
ENV ANSIBLE_CONTAINER=1
RUN yum update -y && \
yum install -y epel-release && \
yum install -y make gcc git python-devel curl rsync libffi-devel
openssl-devel && \
# yum remove -y python-chardet && \
yum clean all
RUN (curl https://bootstrap.pypa.io/get-pip.py | python - --no-cache-dir ) && \
mkdir -p /etc/ansible/roles /_ansible/src && \
(curl https://get.docker.com/builds/Linux/x86_64/docker-17.04.0-ce.tgz \
| tar -zxC /usr/local/bin/ --strip-components=1 docker/docker )
# The COPY here will break cache if the version of Ansible Container changed
COPY /container-src /_ansible/container
RUN cd /_ansible && \
pip install --no-cache-dir -r
container/conductor-build/conductor-requirements.txt && \
PYTHONPATH=. LC_ALL="en_US.UTF-8" python container/conductor-build/setup.py
develop -v -N && \
ansible-galaxy install -p /etc/ansible/roles -r
container/conductor-build/conductor-requirements.yml
# Removing python-chardet removed yum-utils, and now that we're done
pip-installing things,
# we'll put it back.
#RUN yum install -y yum-utils && \
# yum clean all
caller_file=/usr/lib/python2.7/site-packages/container/utils/__init__.py
caller_func=jinja_render_to_temp caller_line=83
2017-11-28T06:09:06.792258 Rendered Jinja Template: [container.utils]
body=FROM ansible/container-conductor-centos-7:0.9.2
VOLUME /usr
# The COPY here will break cache if the requirements or ansible.cfg has changed
COPY /build-src /_ansible/build
RUN ( test -f /_ansible/build/ansible-requirements.txt && pip install
--no-cache-dir -r /_ansible/build/ansible-requirements.txt || true ) && \
( test -f /_ansible/build/requirements.yml && ansible-galaxy install -p
/etc/ansible/roles -r /_ansible/build/requirements.yml || true ) && \
( test -f /_ansible/build/ansible.cfg && cp /_ansible/build/ansible.cfg
/etc/ansible/ansible.cfg || true)
caller_file=/usr/lib/python2.7/site-packages/container/utils/__init__.py
caller_func=jinja_render_to_temp caller_line=83
2017-11-28T06:09:06.794049 Context manifest:
[container.docker.engine]
caller_file=/usr/lib/python2.7/site-packages/container/docker/engine.py
caller_func=build_conductor_image caller_line=1030
2017-11-28T06:09:06.794325 tarball item: build-src/ansible.cfg (144 bytes)
[container.docker.engine] bytes=144 file=build-src/ansible.cfg
2017-11-28T06:09:06.794590 tarball item: build-src/ansible-requirements.txt
(130 bytes) [container.docker.engine] bytes=130
file=build-src/ansible-requirements.txt
2017-11-28T06:09:06.794889 tarball item: build-src/requirements.yml (32 bytes)
[container.docker.engine] bytes=32 file=build-src/requirements.yml
2017-11-28T06:09:06.795153 tarball item: build-src/.touch (0 bytes)
[container.docker.engine] bytes=0 file=build-src/.touch
2017-11-28T06:09:06.795414 tarball item: contrib/get-pip.py (1595409 bytes)
[container.docker.engine] bytes=1595409 file=contrib/get-pip.py
2017-11-28T06:09:06.795729 tarball item: container-src (0 bytes)
[container.docker.engine] bytes=0L file=container-src
2017-11-28T06:09:06.796001 tarball item: container-src/__init__.py (947 bytes)
[container.docker.engine] bytes=947 file=container-src/__init__.py
2017-11-28T06:09:06.796262 tarball item: container-src/cli.py (22794 bytes)
[container.docker.engine] bytes=22794 file=container-src/cli.py
2017-11-28T06:09:06.796541 tarball item: container-src/config.py (15653 bytes)
[container.docker.engine] bytes=15653 file=container-src/config.py
2017-11-28T06:09:06.796841 tarball item: container-src/core.py (42745 bytes)
[container.docker.engine] bytes=42745 file=container-src/core.py
2017-11-28T06:09:06.797106 tarball item: container-src/engine.py (6740 bytes)
[container.docker.engine] bytes=6740 file=container-src/engine.py
2017-11-28T06:09:06.797367 tarball item: container-src/exceptions.py (2158
bytes) [container.docker.engine] bytes=2158 file=container-src/exceptions.py
2017-11-28T06:09:06.797630 tarball item: container-src/docker (0 bytes)
[container.docker.engine] bytes=0L file=container-src/docker
2017-11-28T06:09:06.797928 tarball item: container-src/docker/__init__.py (205
bytes) [container.docker.engine] bytes=205 file=container-src/docker/__init__.py
2017-11-28T06:09:06.798189 tarball item: container-src/docker/config.py (2393
bytes) [container.docker.engine] bytes=2393 file=container-src/docker/config.py
2017-11-28T06:09:06.798452 tarball item: container-src/docker/deploy.py (248
bytes) [container.docker.engine] bytes=248 file=container-src/docker/deploy.py
2017-11-28T06:09:06.798751 tarball item: container-src/docker/engine.py (49646
bytes) [container.docker.engine] bytes=49646 file=container-src/docker/engine.py
2017-11-28T06:09:06.799019 tarball item: container-src/docker/importer.py
(24838 bytes) [container.docker.engine] bytes=24838
file=container-src/docker/importer.py
2017-11-28T06:09:06.799284 tarball item: container-src/docker/secrets.py (5255
bytes) [container.docker.engine] bytes=5255 file=container-src/docker/secrets.py
2017-11-28T06:09:06.799547 tarball item: container-src/docker/files (0 bytes)
[container.docker.engine] bytes=0L file=container-src/docker/files
2017-11-28T06:09:06.799833 tarball item:
container-src/docker/files/conductor-requirements.txt (273 bytes)
[container.docker.engine] bytes=273
file=container-src/docker/files/conductor-requirements.txt
2017-11-28T06:09:06.800097 tarball item:
container-src/docker/files/conductor-requirements.yml (60 bytes)
[container.docker.engine] bytes=60
file=container-src/docker/files/conductor-requirements.yml
2017-11-28T06:09:06.800360 tarball item: container-src/docker/files/get-pip.py
(1595409 bytes) [container.docker.engine] bytes=1595409
file=container-src/docker/files/get-pip.py
2017-11-28T06:09:06.800622 tarball item: container-src/docker/files/setup.py
(4628 bytes) [container.docker.engine] bytes=4628
file=container-src/docker/files/setup.py
2017-11-28T06:09:06.800908 tarball item: container-src/docker/files/get-pip.pyc
(1593358 bytes) [container.docker.engine] bytes=1593358
file=container-src/docker/files/get-pip.pyc
2017-11-28T06:09:06.801173 tarball item: container-src/docker/files/setup.pyc
(6039 bytes) [container.docker.engine] bytes=6039
file=container-src/docker/files/setup.pyc
2017-11-28T06:09:06.801436 tarball item: container-src/docker/templates (0
bytes) [container.docker.engine] bytes=0L file=container-src/docker/templates
2017-11-28T06:09:06.801741 tarball item:
container-src/docker/templates/conductor-local-dockerfile.j2 (674 bytes)
[container.docker.engine] bytes=674
file=container-src/docker/templates/conductor-local-dockerfile.j2
2017-11-28T06:09:06.802009 tarball item:
container-src/docker/templates/conductor-src-dockerfile.j2 (3020 bytes)
[container.docker.engine] bytes=3020
file=container-src/docker/templates/conductor-src-dockerfile.j2
2017-11-28T06:09:06.802270 tarball item: container-src/docker/__init__.pyc (327
bytes) [container.docker.engine] bytes=327
file=container-src/docker/__init__.pyc
2017-11-28T06:09:06.802533 tarball item: container-src/docker/config.pyc (2354
bytes) [container.docker.engine] bytes=2354 file=container-src/docker/config.pyc
2017-11-28T06:09:06.802829 tarball item: container-src/docker/deploy.pyc (325
bytes) [container.docker.engine] bytes=325 file=container-src/docker/deploy.pyc
2017-11-28T06:09:06.803093 tarball item: container-src/docker/engine.pyc (39509
bytes) [container.docker.engine] bytes=39509
file=container-src/docker/engine.pyc
2017-11-28T06:09:06.803356 tarball item: container-src/docker/importer.pyc
(20674 bytes) [container.docker.engine] bytes=20674
file=container-src/docker/importer.pyc
2017-11-28T06:09:06.803651 tarball item: container-src/docker/secrets.pyc (5093
bytes) [container.docker.engine] bytes=5093
file=container-src/docker/secrets.pyc
2017-11-28T06:09:06.803938 tarball item: container-src/k8s (0 bytes)
[container.docker.engine] bytes=0L file=container-src/k8s
2017-11-28T06:09:06.804200 tarball item: container-src/k8s/__init__.py (196
bytes) [container.docker.engine] bytes=196 file=container-src/k8s/__init__.py
2017-11-28T06:09:06.804462 tarball item: container-src/k8s/base_config.py (932
bytes) [container.docker.engine] bytes=932 file=container-src/k8s/base_config.py
2017-11-28T06:09:06.804763 tarball item: container-src/k8s/base_deploy.py
(34216 bytes) [container.docker.engine] bytes=34216
file=container-src/k8s/base_deploy.py
2017-11-28T06:09:06.805030 tarball item: container-src/k8s/base_engine.py
(10144 bytes) [container.docker.engine] bytes=10144
file=container-src/k8s/base_engine.py
2017-11-28T06:09:06.805292 tarball item: container-src/k8s/config.py (660
bytes) [container.docker.engine] bytes=660 file=container-src/k8s/config.py
2017-11-28T06:09:06.805552 tarball item: container-src/k8s/deploy.py (1720
bytes) [container.docker.engine] bytes=1720 file=container-src/k8s/deploy.py
2017-11-28T06:09:06.805940 tarball item: container-src/k8s/engine.py (1276
bytes) [container.docker.engine] bytes=1276 file=container-src/k8s/engine.py
2017-11-28T06:09:06.806232 tarball item: container-src/k8s/__init__.pyc (324
bytes) [container.docker.engine] bytes=324 file=container-src/k8s/__init__.pyc
2017-11-28T06:09:06.806496 tarball item: container-src/k8s/base_config.pyc
(1357 bytes) [container.docker.engine] bytes=1357
file=container-src/k8s/base_config.pyc
2017-11-28T06:09:06.806864 tarball item: container-src/k8s/base_deploy.pyc
(23623 bytes) [container.docker.engine] bytes=23623
file=container-src/k8s/base_deploy.pyc
2017-11-28T06:09:06.807142 tarball item: container-src/k8s/base_engine.pyc
(8659 bytes) [container.docker.engine] bytes=8659
file=container-src/k8s/base_engine.pyc
2017-11-28T06:09:06.807406 tarball item: container-src/k8s/config.pyc (1255
bytes) [container.docker.engine] bytes=1255 file=container-src/k8s/config.pyc
2017-11-28T06:09:06.807689 tarball item: container-src/k8s/deploy.pyc (1961
bytes) [container.docker.engine] bytes=1961 file=container-src/k8s/deploy.pyc
2017-11-28T06:09:06.807955 tarball item: container-src/k8s/engine.pyc (1919
bytes) [container.docker.engine] bytes=1919 file=container-src/k8s/engine.pyc
2017-11-28T06:09:06.808217 tarball item: container-src/openshift (0 bytes)
[container.docker.engine] bytes=0L file=container-src/openshift
2017-11-28T06:09:06.808479 tarball item: container-src/openshift/__init__.py
(196 bytes) [container.docker.engine] bytes=196
file=container-src/openshift/__init__.py
2017-11-28T06:09:06.808761 tarball item: container-src/openshift/config.py (427
bytes) [container.docker.engine] bytes=427
file=container-src/openshift/config.py
2017-11-28T06:09:06.809025 tarball item: container-src/openshift/deploy.py
(6241 bytes) [container.docker.engine] bytes=6241
file=container-src/openshift/deploy.py
2017-11-28T06:09:06.809285 tarball item: container-src/openshift/engine.py
(2207 bytes) [container.docker.engine] bytes=2207
file=container-src/openshift/engine.py
2017-11-28T06:09:06.809565 tarball item: container-src/openshift/__init__.pyc
(330 bytes) [container.docker.engine] bytes=330
file=container-src/openshift/__init__.pyc
2017-11-28T06:09:06.809848 tarball item: container-src/openshift/config.pyc
(1033 bytes) [container.docker.engine] bytes=1033
file=container-src/openshift/config.pyc
2017-11-28T06:09:06.810110 tarball item: container-src/openshift/deploy.pyc
(5210 bytes) [container.docker.engine] bytes=5210
file=container-src/openshift/deploy.pyc
2017-11-28T06:09:06.810370 tarball item: container-src/openshift/engine.pyc
(2634 bytes) [container.docker.engine] bytes=2634
file=container-src/openshift/engine.pyc
2017-11-28T06:09:06.810632 tarball item: container-src/utils (0 bytes)
[container.docker.engine] bytes=0L file=container-src/utils
2017-11-28T06:09:06.810939 tarball item: container-src/utils/__init__.py (11391
bytes) [container.docker.engine] bytes=11391
file=container-src/utils/__init__.py
2017-11-28T06:09:06.811201 tarball item: container-src/utils/_text.py (12304
bytes) [container.docker.engine] bytes=12304 file=container-src/utils/_text.py
2017-11-28T06:09:06.811463 tarball item: container-src/utils/galaxy.py (8120
bytes) [container.docker.engine] bytes=8120 file=container-src/utils/galaxy.py
2017-11-28T06:09:06.811744 tarball item: container-src/utils/loader.py (906
bytes) [container.docker.engine] bytes=906 file=container-src/utils/loader.py
2017-11-28T06:09:06.812006 tarball item: container-src/utils/logmux.py (1313
bytes) [container.docker.engine] bytes=1313 file=container-src/utils/logmux.py
2017-11-28T06:09:06.812274 tarball item: container-src/utils/ordereddict.py
(678 bytes) [container.docker.engine] bytes=678
file=container-src/utils/ordereddict.py
2017-11-28T06:09:06.812536 tarball item: container-src/utils/temp.py (698
bytes) [container.docker.engine] bytes=698 file=container-src/utils/temp.py
2017-11-28T06:09:06.812816 tarball item: container-src/utils/visibility.py
(3329 bytes) [container.docker.engine] bytes=3329
file=container-src/utils/visibility.py
2017-11-28T06:09:06.813078 tarball item: container-src/utils/__init__.pyc
(11603 bytes) [container.docker.engine] bytes=11603
file=container-src/utils/__init__.pyc
2017-11-28T06:09:06.813339 tarball item: container-src/utils/_text.pyc (8796
bytes) [container.docker.engine] bytes=8796 file=container-src/utils/_text.pyc
2017-11-28T06:09:06.813608 tarball item: container-src/utils/galaxy.pyc (7803
bytes) [container.docker.engine] bytes=7803 file=container-src/utils/galaxy.pyc
2017-11-28T06:09:06.814067 tarball item: container-src/utils/loader.pyc (1170
bytes) [container.docker.engine] bytes=1170 file=container-src/utils/loader.pyc
2017-11-28T06:09:06.814446 tarball item: container-src/utils/logmux.pyc (2559
bytes) [container.docker.engine] bytes=2559 file=container-src/utils/logmux.pyc
2017-11-28T06:09:06.814745 tarball item: container-src/utils/ordereddict.pyc
(915 bytes) [container.docker.engine] bytes=915
file=container-src/utils/ordereddict.pyc
2017-11-28T06:09:06.815011 tarball item: container-src/utils/temp.pyc (1358
bytes) [container.docker.engine] bytes=1358 file=container-src/utils/temp.pyc
2017-11-28T06:09:06.815273 tarball item: container-src/utils/visibility.pyc
(4148 bytes) [container.docker.engine] bytes=4148
file=container-src/utils/visibility.pyc
2017-11-28T06:09:06.815564 tarball item: container-src/templates (0 bytes)
[container.docker.engine] bytes=0L file=container-src/templates
2017-11-28T06:09:06.815848 tarball item:
container-src/templates/ansible-container-inventory.py (1230 bytes)
[container.docker.engine] bytes=1230
file=container-src/templates/ansible-container-inventory.py
2017-11-28T06:09:06.816111 tarball item:
container-src/templates/ansible-dockerfile.j2 (1194 bytes)
[container.docker.engine] bytes=1194
file=container-src/templates/ansible-dockerfile.j2
2017-11-28T06:09:06.816391 tarball item: container-src/templates/ansible.cfg
(41 bytes) [container.docker.engine] bytes=41
file=container-src/templates/ansible.cfg
2017-11-28T06:09:06.816694 tarball item: container-src/templates/builder.sh
(620 bytes) [container.docker.engine] bytes=620
file=container-src/templates/builder.sh
2017-11-28T06:09:06.816961 tarball item:
container-src/templates/compose_versioned.j2.yml (237 bytes)
[container.docker.engine] bytes=237
file=container-src/templates/compose_versioned.j2.yml
2017-11-28T06:09:06.817222 tarball item: container-src/templates/hosts.j2 (90
bytes) [container.docker.engine] bytes=90 file=container-src/templates/hosts.j2
2017-11-28T06:09:06.817483 tarball item:
container-src/templates/install-docker-compose.j2.yml (712 bytes)
[container.docker.engine] bytes=712
file=container-src/templates/install-docker-compose.j2.yml
2017-11-28T06:09:06.817776 tarball item:
container-src/templates/restart-docker-compose.j2.yml (75 bytes)
[container.docker.engine] bytes=75
file=container-src/templates/restart-docker-compose.j2.yml
2017-11-28T06:09:06.818042 tarball item:
container-src/templates/run-docker-compose.j2.yml (75 bytes)
[container.docker.engine] bytes=75
file=container-src/templates/run-docker-compose.j2.yml
2017-11-28T06:09:06.818303 tarball item:
container-src/templates/stop-docker-compose.j2.yml (75 bytes)
[container.docker.engine] bytes=75
file=container-src/templates/stop-docker-compose.j2.yml
2017-11-28T06:09:06.818732 tarball item:
container-src/templates/wait_on_host.py (2365 bytes) [container.docker.engine]
bytes=2365 file=container-src/templates/wait_on_host.py
2017-11-28T06:09:06.819004 tarball item: container-src/templates/init (0 bytes)
[container.docker.engine] bytes=0L file=container-src/templates/init
2017-11-28T06:09:06.819267 tarball item:
container-src/templates/init/ansible-requirements.j2.txt (131 bytes)
[container.docker.engine] bytes=131
file=container-src/templates/init/ansible-requirements.j2.txt
2017-11-28T06:09:06.819532 tarball item:
container-src/templates/init/ansible.j2.cfg (145 bytes)
[container.docker.engine] bytes=145
file=container-src/templates/init/ansible.j2.cfg
2017-11-28T06:09:06.819815 tarball item:
container-src/templates/init/container.j2.yml (2514 bytes)
[container.docker.engine] bytes=2514
file=container-src/templates/init/container.j2.yml
2017-11-28T06:09:06.820078 tarball item:
container-src/templates/init/meta.j2.yml (1231 bytes) [container.docker.engine]
bytes=1231 file=container-src/templates/init/meta.j2.yml
2017-11-28T06:09:06.820340 tarball item:
container-src/templates/init/requirements.j2.yml (299 bytes)
[container.docker.engine] bytes=299
file=container-src/templates/init/requirements.j2.yml
2017-11-28T06:09:06.820601 tarball item: container-src/templates/role (0 bytes)
[container.docker.engine] bytes=0L file=container-src/templates/role
2017-11-28T06:09:06.820886 tarball item:
container-src/templates/role/.travis.j2.yml (540 bytes)
[container.docker.engine] bytes=540
file=container-src/templates/role/.travis.j2.yml
2017-11-28T06:09:06.821149 tarball item:
container-src/templates/role/README.j2.md (1287 bytes)
[container.docker.engine] bytes=1287
file=container-src/templates/role/README.j2.md
2017-11-28T06:09:06.821410 tarball item: container-src/templates/role/defaults
(0 bytes) [container.docker.engine] bytes=0L
file=container-src/templates/role/defaults
2017-11-28T06:09:06.821712 tarball item:
container-src/templates/role/defaults/main.j2.yml (55 bytes)
[container.docker.engine] bytes=55
file=container-src/templates/role/defaults/main.j2.yml
2017-11-28T06:09:06.821977 tarball item: container-src/templates/role/meta (0
bytes) [container.docker.engine] bytes=0L file=container-src/templates/role/meta
2017-11-28T06:09:06.822241 tarball item:
container-src/templates/role/meta/main.j2.yml (3220 bytes)
[container.docker.engine] bytes=3220
file=container-src/templates/role/meta/main.j2.yml
2017-11-28T06:09:06.822503 tarball item: container-src/templates/role/test (0
bytes) [container.docker.engine] bytes=0L file=container-src/templates/role/test
2017-11-28T06:09:06.822826 tarball item:
container-src/templates/role/test/test.j2.yml (81 bytes)
[container.docker.engine] bytes=81
file=container-src/templates/role/test/test.j2.yml
2017-11-28T06:09:06.823089 tarball item:
container-src/templates/ansible-container-inventory.pyc (2032 bytes)
[container.docker.engine] bytes=2032
file=container-src/templates/ansible-container-inventory.pyc
2017-11-28T06:09:06.823351 tarball item:
container-src/templates/wait_on_host.pyc (2483 bytes) [container.docker.engine]
bytes=2483 file=container-src/templates/wait_on_host.pyc
2017-11-28T06:09:06.823614 tarball item: container-src/__init__.pyc (1391
bytes) [container.docker.engine] bytes=1391 file=container-src/__init__.pyc
2017-11-28T06:09:06.823899 tarball item: container-src/cli.pyc (17783 bytes)
[container.docker.engine] bytes=17783 file=container-src/cli.pyc
2017-11-28T06:09:06.824160 tarball item: container-src/config.pyc (14813 bytes)
[container.docker.engine] bytes=14813 file=container-src/config.pyc
2017-11-28T06:09:06.824512 tarball item: container-src/core.pyc (30177 bytes)
[container.docker.engine] bytes=30177 file=container-src/core.pyc
2017-11-28T06:09:06.824998 tarball item: container-src/engine.pyc (10545 bytes)
[container.docker.engine] bytes=10545 file=container-src/engine.pyc
2017-11-28T06:09:06.825478 tarball item: container-src/exceptions.pyc (5654
bytes) [container.docker.engine] bytes=5654 file=container-src/exceptions.pyc
2017-11-28T06:09:06.826045 tarball item: container-src/conductor-build/setup.py
(4628 bytes) [container.docker.engine] bytes=4628
file=container-src/conductor-build/setup.py
2017-11-28T06:09:06.826352 tarball item:
container-src/conductor-build/conductor-requirements.txt (273 bytes)
[container.docker.engine] bytes=273
file=container-src/conductor-build/conductor-requirements.txt
2017-11-28T06:09:06.826654 tarball item:
container-src/conductor-build/conductor-requirements.yml (60 bytes)
[container.docker.engine] bytes=60
file=container-src/conductor-build/conductor-requirements.yml
2017-11-28T06:09:06.826979 tarball item: Dockerfile (1137 bytes)
[container.docker.engine] bytes=1137 file=Dockerfile
2017-11-28T06:09:06.827242 tarball item: build-src/ansible.cfg (144 bytes)
[container.docker.engine] bytes=144 file=build-src/ansible.cfg
2017-11-28T06:09:06.827503 tarball item: build-src/ansible-requirements.txt
(130 bytes) [container.docker.engine] bytes=130
file=build-src/ansible-requirements.txt
2017-11-28T06:09:06.827786 tarball item: build-src/requirements.yml (32 bytes)
[container.docker.engine] bytes=32 file=build-src/requirements.yml
2017-11-28T06:09:06.828052 tarball item: build-src/.touch (0 bytes)
[container.docker.engine] bytes=0 file=build-src/.touch
2017-11-28T06:09:06.828313 tarball item: Dockerfile (576 bytes)
[container.docker.engine] bytes=576 file=Dockerfile
2017-11-28T06:09:06.829561 Starting Docker build of Ansible Container Conductor
image (please be patient)... [container.docker.engine]
caller_file=/usr/lib/python2.7/site-packages/container/docker/engine.py
caller_func=build_conductor_image caller_line=1038
Step 1/4 : FROM ansible/container-conductor-centos-7:0.9.2
---> 1bf3a8c4cd78
Step 2/4 : VOLUME /usr
---> Using cache
---> e691ecc19085
Step 3/4 : COPY /build-src /_ansible/build
---> Using cache
---> 4d8ce1dd40e6
Step 4/4 : RUN ( test -f /_ansible/build/ansible-requirements.txt && pip
install --no-cache-dir -r /_ansible/build/ansible-requirements.txt || true ) &&
( test -f /_ansible/build/requirements.yml && ansible-galaxy install -p
/etc/ansible/roles -r /_ansible/build/requirements.yml || true ) && ( test
-f /_ansible/build/ansible.cfg && cp /_ansible/build/ansible.cfg
/etc/ansible/ansible.cfg || true)
---> Using cache
---> 41df66ff4fc9
Successfully built 41df66ff4fc9
2017-11-28T06:09:06.943194 Cleaning up temporary directory
[container.utils.temp]
caller_file=/usr/lib/python2.7/site-packages/container/utils/temp.py
caller_func=__exit__ caller_line=22 path=/tmp/tmpbicqNr
2017-11-28T06:09:06.956971 Config settings [container.core]
caller_file=/usr/lib/python2.7/site-packages/container/core.py
caller_func=hostcmd_build caller_line=191 conf=<class
'container.docker.config.AnsibleContainerConfig'>
config=<container.docker.config.AnsibleContainerConfig object at 0x137f190>
rawsettings={"conductor_base": "centos:7", "pwd":
"/home/mt801t/ansiconplay/ansible-containers/ansible_container_dotcom"}
settings={"conductor_base": "centos:7", "pwd":
"/home/mt801t/ansiconplay/ansible-containers/ansible_container_dotcom"}
2017-11-28T06:09:06.958684 Call: Engine.run_conductor
[container.docker.engine] args=('build', {'services':
ordereddict([('ansible.play_container', ordereddict([('from',
'play:8_jre_security'), ('roles', ['play_container']), ('ports',
['9000:9000']), ('user', 'play'), ('command',
['app/XXXX/node/app/docker-entrypoint.sh'])]))]), 'version': '2', 'registries':
ordereddict([]), 'defaults': ordereddict([]), 'settings':
ordereddict([('conductor_base', 'centos:7'), ('pwd',
'/home/mt801t/ansiconplay/ansible-containers/ansible_container_dotcom')])},
'/home/mt801t/ansiconplay/ansible-containers/ansible_container_dotcom',
{'with_volumes': [], 'config_vars': ordereddict([]), 'conductor_cache': True,
'local_python': False, 'with_variables': [], 'selinux': True, 'purge_last':
True, 'cache': True, 'volume_driver': None, 'devel': False, 'src_mount_path':
None, 'roles_path': [], 'subcommand': 'build', 'ansible_options': u'',
'flatten': False, 'container_cache': True, 'debug': True, 'services_to_build':
None, 'save_conductor_container': False})
caller_file=/usr/lib/python2.7/site-packages/container/docker/engine.py
caller_func=Engine.run_conductor caller_line=23 kwargs={}
2017-11-28T06:09:06.985381 Docker run:
[container.docker.engine]
caller_file=/usr/lib/python2.7/site-packages/container/docker/engine.py
caller_func=run_conductor caller_line=435
image=u'sha256:41df66ff4fc93869d454434e197cd2b25e01d362ec3e771b024f8869f61869c8'
params={'name': u'ansible_container_dotcom_conductor', 'cap_add':
['SYS_ADMIN'], 'environment': {'DOCKER_HOST': 'unix:///var/run/docker.sock',
'ANSIBLE_ROLES_PATH': '/src/roles:/etc/ansible/roles'}, 'working_dir': '/src',
'command': ['conductor', 'build', '--project-name', 'ansible_container_dotcom',
'--engine', 'docker', '--params',
u'eyJ3aXRoX3ZvbHVtZXMiOiBbXSwgImNvbmZpZ192YXJzIjoge30sICJjb25kdWN0b3JfY2FjaGUiOiB0cnVlLCAibG9jYWxfcHl0aG9uIjogZmFsc2UsICJ3aXRoX3ZhcmlhYmxlcyI6IFtdLCAic2VsaW51eCI6IHRydWUsICJwdXJnZV9sYXN0IjogdHJ1ZSwgImNhY2hlIjogdHJ1ZSwgInZvbHVtZV9kcml2ZXIiOiBudWxsLCAiZGV2ZWwiOiBmYWxzZSwgInNyY19tb3VudF9wYXRoIjogbnVsbCwgInJvbGVzX3BhdGgiOiBbXSwgInN1YmNvbW1hbmQiOiAiYnVpbGQiLCAiYW5zaWJsZV9vcHRpb25zIjogIiIsICJmbGF0dGVuIjogZmFsc2UsICJjb250YWluZXJfY2FjaGUiOiB0cnVlLCAiZGVidWciOiB0cnVlLCAic2VydmljZXNfdG9fYnVpbGQiOiBudWxsLCAic2F2ZV9jb25kdWN0b3JfY29udGFpbmVyIjogZmFsc2V9',
'--config',
u'eyJzZXJ2aWNlcyI6IFtbImFuc2libGUucGxheV9jb250YWluZXIiLCB7ImZyb20iOiAicGxheTo4X2pyZV9zZWN1cml0eSIsICJyb2xlcyI6IFsicGxheV9jb250YWluZXIiXSwgInBvcnRzIjogWyI5MDAwOjkwMDAiXSwgInVzZXIiOiAicGxheSIsICJjb21tYW5kIjogWyJhcHAvbmZsb3R0L25vZGUvYXBwL2RvY2tlci1lbnRyeXBvaW50LnNoIl19XV0sICJzZXR0aW5ncyI6IFtbImNvbmR1Y3Rvcl9iYXNlIiwgImNlbnRvczo3Il0sIFsicHdkIiwgIi9ob21lL210ODAxdC9hbnNpY29ucGxheS9hbnNpYmxlLWNvbnRhaW5lcnMvYW5zaWJsZV9jb250YWluZXJfZG90Y29tIl1dLCAidmVyc2lvbiI6ICIyIiwgImRlZmF1bHRzIjogW10sICJyZWdpc3RyaWVzIjogW119',
'--encoding', 'b64json'], 'user': 'root', 'volumes': {'/var/run/docker.sock':
{'bind': '/var/run/docker.sock', 'mode': 'rw'},
'ansible_container_dotcom_secrets': {'bind': '/run/secrets', 'mode': 'rw'},
'/home/mt801t/ansiconplay/ansible-containers/ansible_container_dotcom':
{'bind': '/src', 'mode': 'ro'}, '/home/mt801t/.docker/config.json': {'bind':
'/home/mt801t/.docker/config.json', 'mode': 'rw'}}, 'detach': True,
'privileged': True}
Parsing conductor CLI args.
2017-11-28T06:09:10.818425 Processing defaults section... [container.config]
caller_file=/_ansible/container/config.py caller_func=_process_defaults
caller_line=384
2017-11-28T06:09:10.822351 Processing section... [container.config]
caller_file=/_ansible/container/config.py
caller_func=_process_top_level_sections caller_line=393 section=volumes
2017-11-28T06:09:10.826032 Processing section... [container.config]
caller_file=/_ansible/container/config.py
caller_func=_process_top_level_sections caller_line=393 section=registries
2017-11-28T06:09:10.829730 Processing section... [container.config]
caller_file=/_ansible/container/config.py
caller_func=_process_top_level_sections caller_line=393 section=secrets
2017-11-28T06:09:10.833298 Processing service... [container.config]
caller_file=/_ansible/container/config.py caller_func=_process_services
caller_line=399 service=u'ansible.play_container' service_data={u'command':
[u'app/XXXXX/node/app/docker-entrypoint.sh'], u'from': u'play:8_jre_security',
u'ports': [u'9000:9000'], u'roles': [u'play_container'], u'user': u'play'}
2017-11-28T06:09:10.846329 Rendering service keys from defaults
[container.config] caller_file=/_ansible/container/config.py
caller_func=_process_services caller_line=422 defaults={}
service=u'ansible.play_container'
2017-11-28T06:09:10.855171 Starting Ansible Container Conductor: build
[container.cli] caller_file=/_ansible/container/cli.py
caller_func=conductor_commandline caller_line=398
services={"ansible.play_container": {"from": "play:8_jre_security", "ports":
["9000:9000"], "user": "play", "command":
["app/XXXX/node/app/docker-entrypoint.sh"], "roles": ["play_container"],
"defaults": {}}}
2017-11-28T06:09:10.859569 Loading engine capabilities
[container.utils.loader] caller_file=/_ansible/container/utils/loader.py
caller_func=load_engine caller_line=14 capabilities=['BUILD'] engine=docker
2017-11-28T06:09:10.888783 2017-11-28T06:09:10.888783 Dockerâ„¢ daemon
integration engine loaded. Build starting. [container.core]
caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
caller_line=707 project=ansible_container_dotcom
2017-11-28T06:09:10.893077 Services to build [container.core]
caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
caller_line=709 services_to_build=[u'ansible.play_container']
2017-11-28T06:09:10.896808 Building service... [container.core]
caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
caller_line=714 project=ansible_container_dotcom
service=u'ansible.play_container'
2017-11-28T06:09:10.909225 Setting Docker client timeout to 60
[container.docker.engine] caller_file=/_ansible/container/docker/engine.py
caller_func=get_timeout caller_line=123
2017-11-28T06:09:10.920022 Base fingerprint hash =
a06208538109c4665dbbfc757b34d3453aba43c7bf3500e7ca61d36f835115fc
[container.core] caller_file=/_ansible/container/core.py
caller_func=conductorcmd_build caller_line=730
hash=a06208538109c4665dbbfc757b34d3453aba43c7bf3500e7ca61d36f835115fc
service=u'ansible.play_container'
2017-11-28T06:09:11.177361 Still trying to keep cache. [container.core]
caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
caller_line=745 service=u'ansible.play_container'
2017-11-28T06:09:11.225256 Cache busted! No layer found [container.core]
caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
caller_line=760
fingerprint=b7dffb8719ef91e1c3f14d030ea2a2e2179a2b99917eea3a516e5718a0d0ba7d
service=u'ansible.play_container'
2017-11-28T06:09:11.242711 Call: Engine.run_container
[container.docker.engine]
args=(u'sha256:7874cf8bb3b1950195a9463e3b0b36e1b8d7d5f72500dec7753bb03a73404c9e',
u'ansible.play_container') caller_file=/_ansible/container/docker/engine.py
caller_func=Engine.run_container caller_line=14 kwargs={'name':
u'ansible_container_dotcom_ansible.play_container', 'environment': {'PATH':
'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/_usr/sbin:/_usr/bin:/_usr/local/sbin:/_usr/local/bin',
'CPATH': '/usr/include:/usr/local/include:/_usr/include:/_usr/local/include',
'ANSIBLE_CONTAINER': 1, 'LD_LIBRARY_PATH':
'/usr/lib:/usr/lib64:/_usr/lib:/_usr/lib64:/_usr/local/lib'}, 'working_dir':
'/', 'command': 'sh -c "while true; do sleep 1; done"', 'user': 'root',
'volumes':
{u'31942a45f64cd607c04f5427fc708d4e9c0dc3ef69a8df75b5bb9cb2f5145348': {'bind':
'/_usr', 'mode': 'ro'}}, 'entrypoint': [], 'privileged': True}
2017-11-28T06:09:11.247794 Removing keys
[container.docker.engine] caller_file=/_ansible/container/docker/engine.py
caller_func=run_kwargs_for_service caller_line=244 keys=['from', 'defaults',
u'roles', 'links']
2017-11-28T06:09:11.251921 Running container in docker
[container.docker.engine] caller_file=/_ansible/container/docker/engine.py
caller_func=run_container caller_line=268
image=u'sha256:7874cf8bb3b1950195a9463e3b0b36e1b8d7d5f72500dec7753bb03a73404c9e'
params={"ports": {"9000": ["9000"]}, "user": "root", "command": "sh -c \"while
true; do sleep 1; done\"", "name":
"ansible_container_dotcom_ansible.play_container", "environment": {"PATH":
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/_usr/sbin:/_usr/bin:/_usr/local/sbin:/_usr/local/bin",
"CPATH": "/usr/include:/usr/local/include:/_usr/include:/_usr/local/include",
"ANSIBLE_CONTAINER": 1, "LD_LIBRARY_PATH":
"/usr/lib:/usr/lib64:/_usr/lib:/_usr/lib64:/_usr/local/lib"}, "working_dir":
"/", "volumes":
{"31942a45f64cd607c04f5427fc708d4e9c0dc3ef69a8df75b5bb9cb2f5145348": {"bind":
"/_usr", "mode": "ro"}}, "entrypoint": [], "privileged": true}
2017-11-28T06:09:11.459253 Container running [container.core]
caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
caller_line=824
id=u'eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d'
2017-11-28T06:09:11.466450 writing playbook to /tmp/tmpXAGeVC/playbook.yml
[container.core] caller_file=/_ansible/container/core.py
caller_func=run_playbook caller_line=570
2017-11-28T06:09:11.469883 playbook [container.core]
caller_file=/_ansible/container/core.py caller_func=run_playbook
caller_line=571 playbook=[{'hosts': u'ansible.play_container', 'roles':
['play_container'], 'vars': {}}]
2017-11-28T06:09:11.483822 Running Ansible Playbook [container.core]
caller_file=/_ansible/container/core.py caller_func=run_playbook
caller_line=640 command=ansible-playbook -vvvv -i /tmp/tmpXAGeVC/hosts -c
docker /tmp/tmpXAGeVC/playbook.yml cwd=/src
ansible-playbook 2.5.0
config file = /src/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules',
u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible-playbook
python version = 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623
(Red Hat 4.8.5-16)]
Using /src/ansible.cfg as config file
setting up inventory plugins
Parsed /tmp/tmpXAGeVC/hosts inventory source with ini plugin
Loading callback plugin default of type stdout, v2.0 from
/usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
PLAYBOOK: playbook.yml *********************************************************
1 plays in /tmp/tmpXAGeVC/playbook.yml
PLAY [ansible.play_container] **************************************************
TASK [Gathering Facts] *********************************************************
Using module file
/usr/lib/python2.7/site-packages/ansible/modules/system/setup.py
<eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d> ESTABLISH
DOCKER CONNECTION FOR USER: root
<eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d> EXEC
['/usr/local/bin/docker', 'exec', '-i',
u'eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d',
u'/bin/sh', '-c', u"/bin/sh -c 'echo ~ && sleep 0'"]
<eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d> EXEC
['/usr/local/bin/docker', 'exec', '-i',
u'eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d',
u'/bin/sh', '-c', u'/bin/sh -c \'( umask 77 && mkdir -p "` echo
/root/.ansible/tmp/ansible-tmp-1511849353.73-237188192462843 `" && echo
ansible-tmp-1511849353.73-237188192462843="` echo
/root/.ansible/tmp/ansible-tmp-1511849353.73-237188192462843 `" ) && sleep 0\'']
<eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d> PUT
/tmp/tmpIVRQK0 TO
/root/.ansible/tmp/ansible-tmp-1511849353.73-237188192462843/setup.py
<eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d> EXEC
['/usr/local/bin/docker', 'exec', '-i',
u'eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d',
u'/bin/sh', '-c', u"/bin/sh -c 'chmod u+x
/root/.ansible/tmp/ansible-tmp-1511849353.73-237188192462843/
/root/.ansible/tmp/ansible-tmp-1511849353.73-237188192462843/setup.py && sleep
0'"]
<eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d> EXEC
['/usr/local/bin/docker', 'exec', '-i',
u'eec247b02ef4bd612cfd3213978898242af5c030f14a6524fb65c89b6f0a650d',
u'/bin/sh', '-c', u'/bin/sh -c \'/_usr/bin/python
/root/.ansible/tmp/ansible-tmp-1511849353.73-237188192462843/setup.py; rm -rf
"/root/.ansible/tmp/ansible-tmp-1511849353.73-237188192462843/" > /dev/null
2>&1 && sleep 0\'']
fatal: [ansible.play_container]: FAILED! => {
"changed": false,
"module_stderr": "/_usr/bin/python: relocation error:
/_usr/lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not
defined in file ld-linux-x86-64.so.2 with link time reference\n",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 0
}
to retry, use: --limit @/tmp/tmpXAGeVC/playbook.retry
PLAY RECAP *********************************************************************
ansible.play_container : ok=0 changed=0 unreachable=0 failed=1
2017-11-28T06:09:14.110001 Error applying role! [container.core]
caller_file=/_ansible/container/core.py caller_func=apply_role_to_container
caller_line=699 engine=<container.docker.engine.Engine object at
0x7fbcfd43ce90> exit_code=2 playbook=[{'hosts': u'ansible.play_container',
'roles': ['play_container'], 'vars': {}}]
2017-11-28T06:09:14.115105 Playbook run finished. [container.core]
caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
caller_line=831 exit_code=2
Traceback (most recent call last):
File "/usr/bin/conductor", line 11, in <module>
load_entry_point('ansible-container', 'console_scripts', 'conductor')()
File "/_ansible/container/__init__.py", line 19, in __wrapped__
return fn(*args, **kwargs)
File "/_ansible/container/cli.py", line 406, in conductor_commandline
**params)
File "/_ansible/container/__init__.py", line 19, in __wrapped__
return fn(*args, **kwargs)
File "/_ansible/container/core.py", line 833, in conductorcmd_build
raise RuntimeError('Build failed.')
RuntimeError: Build failed.
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib64/python2.7/threading.py", line 812, in __bootstrap_inner
self.run()
File "/usr/lib64/python2.7/threading.py", line 765, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/site-packages/container/utils/logmux.py", line 40,
in produce
for message in iterator:
File "/usr/lib/python2.7/site-packages/docker/api/client.py", line 339, in
_multiplexed_response_stream_helper
header = response.raw.read(STREAM_HEADER_SIZE_BYTES)
File "/usr/lib/python2.7/site-packages/urllib3/response.py", line 231, in read
raise ProtocolError('Connection broken: %r' % e, e)
ProtocolError: ('Connection broken: IncompleteRead(0 bytes read)',
IncompleteRead(0 bytes read))
2017-11-28T06:09:14.275052 Could not connect to container host. Check your
docker config [container.cli]
caller_file=/usr/lib/python2.7/site-packages/container/cli.py
caller_func=__call__ caller_line=328
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/d4f69003-a9e0-43be-8d02-7330e6c94ea2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.