Skip to content
This repository was archived by the owner on Mar 23, 2019. It is now read-only.
This repository was archived by the owner on Mar 23, 2019. It is now read-only.

linux spec user: unable to find user root: no matching entries in passwd file #400

@dougbtv

Description

@dougbtv
ISSUE TYPE
  • Bug Report
container.yml
defaults:
  PROXY_DOMAIN: "toad.tld"
  PROXY_LOG_LEVEL: "DEBUG"
version: '2'
services:
  # fails with "root user not found" (or some such.)
  proxy:
    image: traefik
    command: --web --docker --docker.domain={{ PROXY_DOMAIN }} --docker.exposedbydefault=false --logLevel={{ PROXY_LOG_LEVEL }}
    user: traefik
    ports:
      - "80:80"
      - "8080:8080"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /dev/null:/traefik.toml
  jenkins_master:
    image: centos:centos7
    # build:
    #   context: ./dockerfiles
    #   dockerfile: centos7_base
    # container_name: jenkins_master
    entrypoint: /sbin/init
    privileged: true
    # depends_on:
    #   - proxy
    # security_opt:
    #   - seccomp:unconfined
    volumes:
      - /run
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
      - ./:/opt/toad
      - ./container_data/jenkins/data:/var/lib/jenkins/userContent
      - ./container_data/jenkins/log:/var/log/jenkins
      - ./container_data/jenkins/jobs:/etc/jenkins_jobs
    labels:
      - "traefik.enable=true"
      - "traefik.backend=jenkins_master"
      - "traefik.frontend.rule=Host:jenkins.{{ PROXY_DOMAIN }}"
      - "traefik.port=8080"
    expose:
      - "8080"
main.yml
- hosts: all
  gather_facts: false
- hosts: jenkins_master
  vars_files:
    - "../vars/main.yml"
    - ./vars/toad_vars.yml
  tags:
    - jenkins_master
  vars:
    sudo_defaults:
      - defaults: '!requiretty'
  tasks: 
    - name: Do things
      shell: >
        echo foo
OS / ENVIRONMENT
Ansible Container, version 0.3.0-pre
Linux, demoans, 3.10.0-514.el7.x86_64, #1 SMP Tue Nov 22 16:42:41 UTC 2016, x86_64
2.7.5 (default, Nov  6 2016, 00:28:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] /bin/python
No DOCKER_HOST environment variable found. Assuming UNIX socket at /var/run/docker.sock
{u'Architecture': u'x86_64',
 u'BridgeNfIp6tables': False,
 u'BridgeNfIptables': False,
 u'CPUSet': True,
 u'CPUShares': True,
 u'CgroupDriver': u'systemd',
 u'ClusterAdvertise': u'',
 u'ClusterStore': u'',
 u'Containers': 8,
 u'ContainersPaused': 0,
 u'ContainersRunning': 1,
 u'ContainersStopped': 7,
 u'CpuCfsPeriod': True,
 u'CpuCfsQuota': True,
 u'Debug': False,
 u'DefaultRuntime': u'docker-runc',
 u'DockerRootDir': u'/var/lib/docker',
 u'Driver': u'devicemapper',
 u'DriverStatus': [[u'Pool Name', u'docker-253:1-800-pool'],
                   [u'Pool Blocksize', u'65.54 kB'],
                   [u'Base Device Size', u'10.74 GB'],
                   [u'Backing Filesystem', u'xfs'],
                   [u'Data file', u'/dev/loop0'],
                   [u'Metadata file', u'/dev/loop1'],
                   [u'Data Space Used', u'1.658 GB'],
                   [u'Data Space Total', u'107.4 GB'],
                   [u'Data Space Available', u'4.556 GB'],
                   [u'Metadata Space Used', u'2.818 MB'],
                   [u'Metadata Space Total', u'2.147 GB'],
                   [u'Metadata Space Available', u'2.145 GB'],
                   [u'Thin Pool Minimum Free Space', u'10.74 GB'],
                   [u'Udev Sync Supported', u'true'],
                   [u'Deferred Removal Enabled', u'false'],
                   [u'Deferred Deletion Enabled', u'false'],
                   [u'Deferred Deleted Device Count', u'0'],
                   [u'Data loop file',
                    u'/var/lib/docker/devicemapper/devicemapper/data'],
                   [u'Metadata loop file',
                    u'/var/lib/docker/devicemapper/devicemapper/metadata'],
                   [u'Library Version', u'1.02.135-RHEL7 (2016-11-16)']],
 u'ExecutionDriver': u'',
 u'ExperimentalBuild': False,
 u'HttpProxy': u'',
 u'HttpsProxy': u'',
 u'ID': u'R3Q7:5GXS:UT6E:422K:WJDP:Z5LK:BQOA:PFN7:JBXH:OUCQ:KXWM:DJON',
 u'IPv4Forwarding': True,
 u'Images': 5,
 u'IndexServerAddress': u'https://index.docker.io/v1/',
 u'IndexServerName': u'docker.io',
 u'KernelMemory': True,
 u'KernelVersion': u'3.10.0-514.el7.x86_64',
 u'Labels': None,
 u'LiveRestoreEnabled': False,
 u'LoggingDriver': u'journald',
 u'MemTotal': 3974926336,
 u'MemoryLimit': True,
 u'NCPU': 4,
 u'NEventsListener': 0,
 u'NFd': 26,
 u'NGoroutines': 37,
 u'Name': u'demoans',
 u'NoProxy': u'',
 u'OSType': u'linux',
 u'OomKillDisable': True,
 u'OperatingSystem': u'CentOS Linux 7 (Core)',
 u'PkgVersion': u'docker-common-1.12.6-11.el7.centos.x86_64',
 u'Plugins': {u'Authorization': None,
              u'Network': [u'null', u'host', u'bridge', u'overlay'],
              u'Volume': [u'local']},
 u'Registries': [{u'Name': u'docker.io', u'Secure': True}],
 u'RegistryConfig': {u'IndexConfigs': {u'docker.io': {u'Mirrors': None,
                                                      u'Name': u'docker.io',
                                                      u'Official': True,
                                                      u'Secure': True}},
                     u'InsecureRegistryCIDRs': [u'127.0.0.0/8'],
                     u'Mirrors': None},
 u'Runtimes': {u'docker-runc': {u'path': u'/usr/libexec/docker/docker-runc-current'},
               u'runc': {u'path': u'docker-runc'}},
 u'SecurityOptions': [u'seccomp', u'selinux'],
 u'ServerVersion': u'1.12.6',
 u'SwapLimit': True,
 u'Swarm': {u'Cluster': {u'CreatedAt': u'0001-01-01T00:00:00Z',
                         u'ID': u'',
                         u'Spec': {u'CAConfig': {},
                                   u'Dispatcher': {},
                                   u'Orchestration': {},
                                   u'Raft': {},
                                   u'TaskDefaults': {}},
                         u'UpdatedAt': u'0001-01-01T00:00:00Z',
                         u'Version': {}},
            u'ControlAvailable': False,
            u'Error': u'',
            u'LocalNodeState': u'inactive',
            u'Managers': 0,
            u'NodeAddr': u'',
            u'NodeID': u'',
            u'Nodes': 0,
            u'RemoteManagers': None},
 u'SystemStatus': None,
 u'SystemTime': u'2017-03-16T20:00:16.349858786Z'}
{u'ApiVersion': u'1.24',
 u'Arch': u'amd64',
 u'BuildTime': u'2017-03-07T09:23:34.785530776+00:00',
 u'GitCommit': u'96d83a5/1.12.6',
 u'GoVersion': u'go1.7.4',
 u'KernelVersion': u'3.10.0-514.el7.x86_64',
 u'Os': u'linux',
 u'PkgVersion': u'docker-common-1.12.6-11.el7.centos.x86_64',
 u'Version': u'1.12.6'}
SUMMARY

When running a container that is supposed to be run from a downloaded image (e.g. not one managed by this ansible-container project) it happens to fail with this error:

ERROR: for proxy  Cannot start service proxy: linux spec user: unable to find user root: no matching entries in passwd file
Execution failed with <class 'compose.project.ProjectError'>

In this case the image specifically is traefik and likely uses alpine linux.

The container.yml is borrowed from a working docker-compose.yml (with docker-compose, as you'd guess).

STEPS TO REPRODUCE
ansible-container build
EXPECTED RESULTS

No error.

ACTUAL RESULTS
ERROR: for proxy  Cannot start service proxy: linux spec user: unable to find user root: no matching entries in passwd file
Execution failed with <class 'compose.project.ProjectError'>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions