Qarik-Group / concourse-tutorial

Learn to use https://concourse-ci.org with this linear sequence of tutorials. Learn each concept that builds on the previous concept.
870 stars 552 forks source link

Hello World tutorial errors with base resource type not found: docker-image #243

Closed chibby0ne closed 3 years ago

chibby0ne commented 3 years ago

As the title suggests, the Hello World tutorial fails.

Steps to reproduce:

  1. Start concourse using docker-compose.
$ wget https://raw.githubusercontent.com/starkandwayne/concourse-tutorial/master/docker-compose.yml
$ docker-compose up -d
  1. Execute the Hello World task and have the error:
$ git clone https://github.com/starkandwayne/concourse-tutorial.git
$ cd concourse-tutorial/tutorials/basic/task-hello-world
$ fly -t tutorial execute -c task_hello_world.yml
executing build 1 at http://127.0.0.1:8080/builds/1
initializing
create resource config: base resource type not found: docker-image
create resource config: base resource type not found: docker-image
errored

The task contents is:

---
platform: linux

image_resource:
  type: docker-image
  source: {repository: busybox}

run:
  path: echo
  args: [hello world]

Software versions: Arch Linux Docker version 20.10.6, build 370c28948e docker-compose version 1.29.2, build unknown Fly version: 7.3.1

chibby0ne commented 3 years ago

I've also tried it with the image_resource.type: registry-image and I get a similar error of:

create resource config: base resource type not found: registry-image
adamcadaver commented 3 years ago

I believe this is because you are running on an arch architecture not x86_64 as described here: https://github.com/docker/for-mac/issues/5547

According to that ticket you should be able to replace change your docker-compose.yml to

  concourse:
    image: rdclda/concourse
    command: quickstart
    privileged: true
    depends_on: [concourse-db]
    ports: ["8080:8080"]
    environment:
      - CONCOURSE_POSTGRES_HOST=concourse-db
      - CONCOURSE_POSTGRES_USER=concourse_user
      - CONCOURSE_POSTGRES_PASSWORD=concourse_pass
      - CONCOURSE_POSTGRES_DATABASE=concourse
      - CONCOURSE_EXTERNAL_URL
      - CONCOURSE_ADD_LOCAL_USER=admin:admin
      - CONCOURSE_MAIN_TEAM_LOCAL_USER=admin

But I tried that and I didn't work :(

chibby0ne commented 3 years ago

I believe this is because you are running on an arch architecture not x86_64 as described here: docker/for-mac#5547

@adamcadaver I didn't specify the architecture but I was running the hello world tutorial in a x86_64 :disappointed:

olemaiwald commented 3 years ago

Experiencing the same issue on M1 Mac, x86 MBP as well as Fedora VM.

When trying to work around by pulling code from a git repo I get the following error:


create resource config: base resource type not found: git
create resource config: base resource type not found: git
errored```
brother commented 3 years ago

Spending my evenings with this. It's a steep learning curve going through this tutorial =)

Linux janmayen 5.10.0-7-amd64 #1 SMP Debian 5.10.40-1 (2021-05-28) x86_64 GNU/Linux Docker version 20.10.7, build f0df350 docker-compose version 1.25.0, build unknown

drnic commented 3 years ago

I suggest raising this issue with concourse core team who might be able to help diagnose + fix. Sorry I can't help.

brother commented 3 years ago

@drnic is ofc corrent. I tried the docker-compose.yml from the concourse ci quick start and it shows exactly the same behavior.

brother commented 3 years ago

sounds like a good start: https://github.com/concourse/concourse/issues/7237

brother commented 3 years ago

I changed my cmdline in grub to include systemd.unified_cgroup_hierarchy=0 and then the problem seems to be circumvented.

brother commented 3 years ago

Try switching to containerd as the worker's runtime CONCOURSE_RUNTIME: containerd.

You're getting base resource type not found because the worker failed to come up.

So the docker-compose.yml for the guide need an update.

norman-abramovitz commented 3 years ago

This concourse issue resolved this issue. Closing this issue