Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: remove docker vfs workaround , fix yum task (#11) #12

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

rptaylor
Copy link
Collaborator

@rptaylor rptaylor commented Jun 14, 2023

continue #11

ltalirz and others added 4 commits June 14, 2023 15:08
* ci: remove docker vfs workaround

it appears to be no longer needed

* use molecule action

* fix role name

* fix role name

* fix yum packages
@ltalirz
Copy link
Contributor

ltalirz commented Jun 14, 2023

cheers, I see you figured out how to change the image

The error is now

  TASK [cvmfs_contrib.cvmfs_client : CVMFS check setup] **************************
  fatal: [instance]: FAILED! => {"changed": false, "cmd": ["/usr/bin/cvmfs_config", "chksetup"], "delta": "0:00:04.997400", "end": "2023-06-14 22:16:39.123837", "msg": "non-zero return code", "rc": 2, "start": "2023-06-14 22:16:34.126437", "stderr": "", "stderr_lines": [], "stdout": "Warning: autofs service is not running\nError: no public keys in /etc/cvmfs/keys\nError: required parameter CVMFS_SERVER_URL undefined for soft.computecanada.ca", "stdout_lines": ["Warning: autofs service is not running", "Error: no public keys in /etc/cvmfs/keys", "Error: required parameter CVMFS_SERVER_URL undefined for soft.computecanada.ca"]}`

@rptaylor
Copy link
Collaborator Author

@ltalirz yes but I'm still very confused about what is actually running. There is distro: [centos8] in ci.yml (EOL next year, should be Alma or Rocky) but I didn't change that. I changed the geerlingguy image in molecule.yml to Rocky 8 but that doesn't seem to be doing anything. And the runner OS shown in https://github.com/cvmfs-contrib/ansible-cvmfs-client/actions/runs/5272700911/jobs/9535275302?pr=12 is still Ubuntu. What is the OS of the actual container that the CI is running in?

@rptaylor
Copy link
Collaborator Author

@ltalirz I added some debug info in https://github.com/cvmfs-contrib/ansible-cvmfs-client/actions/runs/5272761999/jobs/9535402541?pr=12 to definitely confirm the right packages are installed, and the config also looks correct.
I think the only conclusion can be that autofs/FUSE/CVMFS are not working in the docker container so the CI will not work this way. There are various special considerations required to run CVMFS in a container but I am not very familiar with that. Was the VFS thing a workaround for FUSE/autofs in a container?

@ltalirz
Copy link
Contributor

ltalirz commented Jun 14, 2023

@ltalirz yes but I'm still very confused about what is actually running. There is distro: [centos8] in ci.yml (EOL next year, should be Alma or Rocky) but I didn't change that. I changed the geerlingguy image in molecule.yml to Rocky 8 but that doesn't seem to be doing anything. And the runner OS shown in https://github.com/cvmfs-contrib/ansible-cvmfs-client/actions/runs/5272700911/jobs/9535275302?pr=12 is still Ubuntu. What is the OS of the actual container that the CI is running in?

It is definitely running in rocky linux now

2023-06-14T22:28:01.0666298Z PLAY [Create] ******************************************************************
2023-06-14T22:28:01.0669599Z 
2023-06-14T22:28:01.0673462Z TASK [Set async_dir for HOME env] **********************************************
2023-06-14T22:28:01.1922065Z �[32mok: [localhost]�[0m
2023-06-14T22:28:01.1922261Z 
2023-06-14T22:28:01.1922424Z TASK [Log into a Docker registry] **********************************************
2023-06-14T22:28:01.2730494Z �[36mskipping: [localhost] => (item=None) �[0m
2023-06-14T22:28:01.2734822Z �[36mskipping: [localhost]�[0m
2023-06-14T22:28:01.2738826Z 
2023-06-14T22:28:01.2743078Z TASK [Check presence of custom Dockerfiles] ************************************
2023-06-14T22:28:01.7627337Z �[32mok: [localhost] => (item={'command': '', 'image': 'geerlingguy/docker-rockylinux8-ansible:latest', 'name': 'instance', 'pre_build_image': True, 'privileged': True, 'volumes': ['/sys/fs/cgroup:/sys/fs/cgroup:ro']})�[0m
2023-06-14T22:28:01.7627754Z 
2023-06-14T22:28:01.7627917Z TASK [Create Dockerfiles from image names] *************************************
2023-06-14T22:28:01.9171902Z �[36mskipping: [localhost] => (item={'command': '', 'image': 'geerlingguy/docker-rockylinux8-ansible:latest', 'name': 'instance', 'pre_build_image': True, 'privileged': True, 'volumes': ['/sys/fs/cgroup:/sys/fs/cgroup:ro']})�[0m
2023-06-14T22:28:01.9178018Z �[36mskipping: [localhost]�[0m
2023-06-14T22:28:01.9183261Z 
2023-06-14T22:28:01.9188332Z TASK [Synchronization the context] *********************************************
2023-06-14T22:28:02.0041267Z �[36mskipping: [localhost] => (item={'command': '', 'image': 'geerlingguy/docker-rockylinux8-ansible:latest', 'name': 'instance', 'pre_build_image': True, 'privileged': True, 'volumes': ['/sys/fs/cgroup:/sys/fs/cgroup:ro']})�[0m
2023-06-14T22:28:02.0045231Z �[36mskipping: [localhost]�[0m
2023-06-14T22:28:02.0057836Z 
2023-06-14T22:28:02.0061669Z TASK [Discover local Docker images] ********************************************
2023-06-14T22:28:02.8187910Z �[32mok: [localhost] => (item={'changed': False, 'skipped': True, 'skip_reason': 'Conditional result was False', 'item': {'command': '', 'image': 'geerlingguy/docker-rockylinux8-ansible:latest', 'name': 'instance', 'pre_build_image': True, 'privileged': True, 'volumes': ['/sys/fs/cgroup:/sys/fs/cgroup:ro']}, 'ansible_loop_var': 'item', 'i': 0, 'ansible_index_var': 'i'})�[0m
2023-06-14T22:28:02.8189991Z 
2023-06-14T22:28:02.8193692Z TASK [Build an Ansible compatible image (new)] *********************************
2023-06-14T22:28:02.9346630Z �[36mskipping: [localhost] => (item=molecule_local/geerlingguy/docker-rockylinux8-ansible:latest)�[0m
2023-06-14T22:28:02.9353143Z �[36mskipping: [localhost]�[0m
2023-06-14T22:28:02.9371505Z 
2023-06-14T22:28:02.9377139Z TASK [Create docker network(s)] ************************************************
2023-06-14T22:28:02.9707436Z �[36mskipping: [localhost]�[0m
2023-06-14T22:28:02.9718162Z 
2023-06-14T22:28:02.9722414Z TASK [Determine the CMD directives] ********************************************
2023-06-14T22:28:03.1071191Z �[32mok: [localhost] => (item={'command': '', 'image': 'geerlingguy/docker-rockylinux8-ansible:latest', 'name': 'instance', 'pre_build_image': True, 'privileged': True, 'volumes': ['/sys/fs/cgroup:/sys/fs/cgroup:ro']})�[0m
2023-06-14T22:28:03.1076127Z 
2023-06-14T22:28:03.1082878Z TASK [Create molecule instance(s)] *********************************************
2023-06-14T22:28:04.1946904Z �[33mchanged: [localhost] => (item=instance)�[0m
2023-06-14T22:28:04.1952754Z 
2023-06-14T22:28:04.1959287Z TASK [Wait for instance(s) creation to complete] *******************************
2023-06-14T22:28:25.6683437Z �[1;30mFAILED - RETRYING: [localhost]: Wait for instance(s) creation to complete (300 retries left).�[0m
2023-06-14T22:28:25.6691176Z �[1;30mFAILED - RETRYING: [localhost]: Wait for instance(s) creation to complete (299 retries left).�[0m
2023-06-14T22:28:25.6697275Z �[1;30mFAILED - RETRYING: [localhost]: Wait for instance(s) creation to complete (298 retries left).�[0m
2023-06-14T22:28:25.6703172Z �[1;30mFAILED - RETRYING: [localhost]: Wait for instance(s) creation to complete (297 retries left).�[0m
2023-06-14T22:28:25.6710285Z �[33mchanged: [localhost] => (item={'failed': 0, 'started': 1, 'finished': 0, 'ansible_job_id': '418950918395.135', 'results_file': '/github/home/.ansible_async/418950918395.135', 'changed': True, 'item': {'command': '', 'image': 'geerlingguy/docker-rockylinux8-ansible:latest', 'name': 'instance', 'pre_build_image': True, 'privileged': True, 'volumes': ['/sys/fs/cgroup:/sys/fs/cgroup:ro']}, 'ansible_loop_var': 'item'})�[0m

@rptaylor rptaylor marked this pull request as draft June 14, 2023 23:11
@ltalirz
Copy link
Contributor

ltalirz commented Jun 14, 2023

@ltalirz I added some debug info in https://github.com/cvmfs-contrib/ansible-cvmfs-client/actions/runs/5272761999/jobs/9535402541?pr=12 to definitely confirm the right packages are installed, and the config also looks correct. I think the only conclusion can be that autofs/FUSE/CVMFS are not working in the docker container so the CI will not work this way. There are various special considerations required to run CVMFS in a container but I am not very familiar with that. Was the VFS thing a workaround for FUSE/autofs in a container?

I'll need to look back into this some time, I don't have time now unfortunately.

Besides the autofs service there are some other errors - these are not relevant?

  • Error: no public keys in /etc/cvmfs/keys
  • Error: required parameter CVMFS_SERVER_URL undefined for soft.computecanada.ca

@rptaylor
Copy link
Collaborator Author

@ltalirz sorry for the mess, I closed the other PR so I could work on this branch but I don't think CVMFS is functional at all in the container.

Yes I believe it's a red herring ; I think any repository that we try to access would not be mountable because autofs/FUSE is not working; if you try one that has keys/URLs provided directly in the config package (e.g. atlas.cern.ch or the config repo itself cvmfs-config.cern.ch) as opposed to getting the keys/URLs via the config repo there will probably be a different error that more directly indicates the real problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants