spurin/diveintoansible-lab

portal | 2021/03/14 10:09:21 [emerg] 72#72: io_setup() failed (38: Function not implemented)

Closed this issue · 14 comments

Hii James,
I am facing issues while running docker-compose up.

(base) rohitraj@Rohits-MacBook-Air diveintoansible-lab % docker-compose up
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Starting ubuntu-c ... done
Starting centos3 ... done
Starting ubuntu1 ... done
Starting centos1 ... done
Starting docker ... done
Starting centos2 ... done
Starting ubuntu2 ... done
Starting ubuntu3 ... done
Starting portal ... done
Attaching to centos3, centos2, ubuntu1, ubuntu3, docker, centos1, ubuntu-c, ubuntu2, portal
portal | 2021/03/14 10:09:21 [emerg] 72#72: io_setup() failed (38: Function not implemented)
docker exited with code 1

Details regarding docker and docker-compose version
(base) rohitraj@Rohits-MacBook-Air ~ % docker --version
Docker version 20.10.3, build 48d30b5
(base) rohitraj@Rohits-MacBook-Air ~ % docker-compose --version
docker-compose version 1.28.2, build 67630359
(base) rohitraj@Rohits-MacBook-Air ~ % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e4f572cf10f6 spurin/diveintoansible:portal "/docker-entrypoint.…" 8 minutes ago Up 4 minutes 0.0.0.0:1000->80/tcp portal
ccd46ef78678 spurin/diveintoansible:centos "/usr/lib/systemd/sy…" 8 minutes ago Up 4 minutes 0.0.0.0:2226->22/tcp, 0.0.0.0:7686->7681/tcp centos2
76b87ad5babf spurin/diveintoansible:ubuntu "/lib/systemd/systemd" 8 minutes ago Up 4 minutes 0.0.0.0:2224->22/tcp, 0.0.0.0:7684->7681/tcp ubuntu3
1b4af57350b8 spurin/diveintoansible:ubuntu "/lib/systemd/systemd" 8 minutes ago Up 4 minutes 0.0.0.0:2222->22/tcp, 0.0.0.0:7682->7681/tcp ubuntu1
8f700ae3f960 spurin/diveintoansible:centos "/usr/lib/systemd/sy…" 8 minutes ago Up 4 minutes 0.0.0.0:2225->22/tcp, 0.0.0.0:7685->7681/tcp centos1
e1027e4870ad spurin/diveintoansible:ubuntu "/lib/systemd/systemd" 8 minutes ago Up 4 minutes 0.0.0.0:2223->22/tcp, 0.0.0.0:7683->7681/tcp ubuntu2
8fad1784bd43 spurin/diveintoansible:centos "/usr/lib/systemd/sy…" 8 minutes ago Up 4 minutes 0.0.0.0:2227->22/tcp, 0.0.0.0:7687->7681/tcp centos3
68bd6d92d6f2 spurin/diveintoansible:ansible "/lib/systemd/systemd" 8 minutes ago Up 4 minutes 0.0.0.0:7681->7681/tcp, 0.0.0.0:2221->22/tcp ubuntu-c
(base) rohitraj@Rohits-MacBook-Air ~ %

Kindly help.
Thanks

(base) rohitraj@Rohits-MacBook-Air diveintoansible-lab % pwd
/Users/rohitraj/diveintoansible-lab
(base) rohitraj@Rohits-MacBook-Air diveintoansible-lab % cat .env

sshd ports

UBUNTUC_PORT_SSHD=2221
UBUNTU1_PORT_SSHD=2222
UBUNTU2_PORT_SSHD=2223
UBUNTU3_PORT_SSHD=2224
CENTOS1_PORT_SSHD=2225
CENTOS2_PORT_SSHD=2226
CENTOS3_PORT_SSHD=2227

ttyd (web terminal) ports

UBUNTUC_PORT_TTYD=7681
UBUNTU1_PORT_TTYD=7682
UBUNTU2_PORT_TTYD=7683
UBUNTU3_PORT_TTYD=7684
CENTOS1_PORT_TTYD=7685
CENTOS2_PORT_TTYD=7686
CENTOS3_PORT_TTYD=7687

Shared config volume

CONFIG=/Users/rohitraj/diveintoansible-lab/config

Shared home directories

ANSIBLE_HOME=/Users/rohitraj/diveintoansible-lab/ansible_home
(base) rohitraj@Rohits-MacBook-Air diveintoansible-lab %

Hi Rohit,

What is the make/model of your MacBook Air?

It's m1 mac.

Hi @something-ai-hash,

Bad news and Good News. The bad news I'm afraid is that at present, I don't have images for the ARM M1 Architecture of the new macs and at present, I don't have an ARM M1 system. Last week someone came to me with the same issue and unsuccessfully I've been trying to get a hire system from Scaleaway.

The Good news, I've just this moment managed to put an order in for the hire of one with macminivault and when they complete my order, I'll get on this system and will try and build out the images for Mac M1. I am very hopeful that this should be okay.

Will keep this issue open and will update so that you can test accordingly.

Best Regards

James Spurin

Hii James,

As I am seeing issues in my terminal,but after trying docker-compose rm and then docker-compose up it starts working.
It is still showing issues in terminal but it is working on localhost:1000 so I am continuing my course.If I will face any issue in any module you taught I will update here.
Thanks for your prompt response.

Thanks @something-ai-hash,

It's very interesting to hear that it's working in some respect without intervention. Possibly, Docker Desktop for Mac M1 is doing some kind of auto emulation with x86 images as it runs. My Mac M1 order is pending at the moment but as soon as it goes through I'll get on and see if I can recreate the issue.

Kind Regards

James

@something-ai-hash I have access to my M1 Mac

Just tried it out and got the same error message as you -

administrator@static diveintoansible-lab % docker-compose up
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Creating network "diveinto.io" with the default driver
Creating ubuntu1  ... done
Creating ubuntu3  ... done
Creating ubuntu-c ... done
Creating docker   ... done
Creating centos1  ... done
Creating centos3  ... done
Creating ubuntu2  ... done
Creating centos2  ... done
Creating portal   ... done
Attaching to centos3, ubuntu-c, ubuntu3, ubuntu1, ubuntu2, centos1, docker, centos2, portal
portal      | 2021/03/15 20:22:00 [emerg] 73#73: io_setup() failed (38: Function not implemented)
docker exited with code 1

Will keep you posted on findings.

Hi @something-ai-hash,

I've created new images as release candidates at present for both the docker image and the portal image. They follow the same principle as the existing images but have been named accordingly with -rc (release candidate) in the name, i.e. 'spurin/diveintoansible-rc:portal'

There is a branch off the diveintoansible-lab at the following - https://github.com/spurin/diveintoansible-lab/tree/release-candidate

If you're able to checkout this branch, or replace the existing docker-compose.yaml file with the one from here the lab should hopefully now run for you without any issues or warnings :-)

The other images, seem to be working absolutely fine through Apple's Rosetta2 layer which is quite incredible and a testimony to Apple!

Please let me know how you get on with this bit. I will also see about using this window whilst I have the system to fully make all of the other images arm at the same time and then we can see how that works out as well.

Hii James,

After checking out on release-candidate branch the updated docker-compose file is working fine without warning.
Thanks for your all effort.
Yes the other images is working fine too with warnings with the help Apple's Rosetta layer which is also very interesting.
Thanks @spurin

Awesome, thanks @something-ai-hash,

I will be getting a release candidate out soon for native arm images and will update this thread when it's ready

Yes this will be very helpful for all users who will use arm based processors for your course.
Thanks @spurin

Pleasure, and some further news on this @something-ai-hash, arm images are now ready for testing for all of them. I've also at the same time taken the opportunity to bump the ansible version to the newest release in both arm/x86 :-)

If you pull the latest update, or again, copy the docker-compose.yaml file you should be good to go. Looks good for me so far -

ubuntu-c login: ansible
Password: 
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 4.19.121-linuxkit aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

ansible@ubuntu-c:~$ uname -m
aarch64

ansible@ubuntu-c:~$ ansible --version
ansible 2.10.7
  config file = None
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

ansible@ubuntu-c:~$ pip3 freeze | grep ansible
ansible==3.1.0
ansible-base==2.10.7

Would appreciate hearing how you get on.

Thanks!

@spurin I was having the exact same issue with my M1 Mac mini. I have switched to the release candidate and all is well. Thank you for getting on the fix so quickly!

Epic @SpyderMYK,

@something-ai-hash, this also applies to you too. As you're both now using these newer images you'll be doing the course with the very latest version of Ansible. Whilst I don't forsee any issues, if anything crops up I'd be very grateful if you can let me know.

Many Thanks

James