Skip to content

Failure to make os feature for specified os  #353

@tatsuhirochiba

Description

@tatsuhirochiba

Description

Crawler can not make os feature for specified os image, that is because os_utils.py expects to get os name and os version simultaneously. Crawler retrieves os related info from distribution dependent file (such as /etc/lsb-release and /etc/os-release), but distribution dependent file does not often contain mandatory info that we expect. Especially in debian testing & unstable version (i.e. debian/buster/sid), os version info is missing.

How to Reproduce

We can reproduce it by using tomcat:9.0 and debian:latest. tomcat:9.0 builds on top of debian unstable release, and debian:latest builds on top of debian stable release.

  • tomcat:9.0 (VERSION_ID does not exist)
root@host:~# docker run --entrypoint /bin/bash -it tomcat:9.0

root@19161a41c6d0:/usr/local/tomcat# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux buster/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
  • debian:latest (VERSION_ID exists)
root@host:~# docker run -it debian:latest

root@a52168c9ac1a:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Log Output

Debugging Commands Output

Output of docker version:

(paste your output here)

Output of docker info:

(paste your output here)

Output of python --version:

(paste your output here)

Output of pip freeze:

(paste your output here)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions