Cryptograss:Maybelle/deploy logs/26387329

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search

✗ maybelle redeploy failed at block 26,387,329 (2026-11-10 21:54 UTC), in 0m 47s, by JMyles, maybelle-config 3cb94b0de8ed.

Posted by DrivingThatTrain. Taken out before posting: 0 vault values, by exact match, and 0 secret-shaped strings.

Where it stopped

  • Jenkins may fetch from githouse's repositories (the trusted jobs build from them)
fatal: [localhost]: FAILED! => {"changed": false, "cmd": "set -e\nfor name in magenta maybelle-config pickipedia pickipedia-mcp arthel rabbithole; do\n  path=/srv/git/$name.git\n  docker exec -u jenkins jenkins git config --global --get-all safe.directory | grep -qxF \"$path\" && continue\n  docker exec -u jenkins jenkins git config --global --add safe.directory \"$path\"\n  echo \"added $path\"\ndone\n", "delta": "0:00:00.402492", "end": "2026-11-10 21:54:01.149926", "msg": "non-zero return code", "rc": 255, "start": "2026-11-10 21:54:00.747434", "stderr": "error: could not lock config file /

The whole log

PLAY [Provision Jenkins for Cryptograss] ***************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [Install community.docker collection] *************************************
ok: [localhost]

TASK [Find the persistent volume's filesystem] *********************************
ok: [localhost]

TASK [Grow the persistent volume's filesystem to the volume's size] ************
ok: [localhost]

TASK [SSH by key only] *********************************************************

TASK [ssh-keys-only : sshd_config reads its drop-ins first] ********************
ok: [localhost]

TASK [ssh-keys-only : Keys only, no passwords, root by key alone] **************
ok: [localhost]

TASK [ssh-keys-only : sshd takes it up] ****************************************
skipping: [localhost]

TASK [ssh-keys-only : What sshd actually runs with] ****************************
ok: [localhost]

TASK [ssh-keys-only : No password way in] **************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Say in magenta who comes in by SSH, and as which account] ****************

TASK [ssh-announce : Create /etc/magenta and /usr/local/lib/magenta] ***********
ok: [localhost] => (item=/etc/magenta)
ok: [localhost] => (item=/usr/local/lib/magenta)

TASK [ssh-announce : Install the script that tells magenta] ********************
ok: [localhost]

TASK [ssh-announce : Install the login hook] ***********************************
ok: [localhost]

TASK [ssh-announce : Write whose each key is] **********************************
ok: [localhost]

TASK [ssh-announce : Give it magenta's access key] *****************************
ok: [localhost]

TASK [ssh-announce : No access key in the vault, so no announcing] *************
skipping: [localhost]

TASK [ssh-announce : Run the hook as each SSH session opens] *******************
ok: [localhost]

TASK [The recovery log, written to from recovery@hunter and only appended to] ***

TASK [recovery-log : The recovery log's user] **********************************
skipping: [localhost]

TASK [recovery-log : Where the log is kept] ************************************
skipping: [localhost]

TASK [recovery-log : The one thing hunter's key runs here] *********************
skipping: [localhost]

TASK [recovery-log : Its .ssh] *************************************************
skipping: [localhost]

TASK [recovery-log : Hunter's key, which may only append] **********************
skipping: [localhost]

TASK [Deploy maybelle SSH login banner] ****************************************
ok: [localhost]

TASK [Install required packages] ***********************************************
ok: [localhost]

TASK [Create Jenkins home directory] *******************************************
ok: [localhost]

TASK [Copy environment file] ***************************************************
ok: [localhost]

TASK [Create Jenkins Docker build directory] ***********************************
ok: [localhost]

TASK [Copy Dockerfile and build context] ***************************************
ok: [localhost]

TASK [Create blank .bashrc] ****************************************************
changed: [localhost]

TASK [Build Jenkins Docker image] **********************************************
ok: [localhost]

TASK [Create Jenkins Casc Configs directory] ***********************************
ok: [localhost]

TASK [Create Jenkins Docker network] *******************************************
ok: [localhost]

TASK [branches-net, where branch code runs] ************************************
ok: [localhost]

TASK [Copy Jenkins configuration file] *****************************************
ok: [localhost]

TASK [Create Jenkins jobs directory] *******************************************
ok: [localhost]

TASK [Create Jenkins bin directory] ********************************************
ok: [localhost]

TASK [Copy the Configuration as Code reload for the deploy] ********************
ok: [localhost]

TASK [Copy the alarm reporter for Jenkins jobs] ********************************
ok: [localhost]

TASK [Copy Jenkins job definitions] ********************************************
ok: [localhost]

TASK [Create Jenkins scripts directory] ****************************************
ok: [localhost]

TASK [Copy health-check scripts into Jenkins] **********************************
ok: [localhost] => (item=/mnt/HC_Volume_104062902/maybelle-config/maybelle/ansible/../scripts/test-magenta-memory.py)
ok: [localhost] => (item=/mnt/HC_Volume_104062902/maybelle-config/maybelle/ansible/../../delivery-kid/scripts/test-delivery-kid.py)

TASK [Remove retired Jenkins job-DSL files] ************************************
ok: [localhost] => (item=arthel-rsync-status.groovy)
ok: [localhost] => (item=pickipedia-rsync-status.groovy)
ok: [localhost] => (item=backup-pickipedia.groovy)
ok: [localhost] => (item=backup-memory-lane.groovy)
ok: [localhost] => (item=pickipedia-enrich-torrents.groovy)

TASK [Remove retired Jenkins job runtime directories] **************************
ok: [localhost] => (item=arthel-rsync-status)
ok: [localhost] => (item=pickipedia-rsync-status)
ok: [localhost] => (item=backup-pickipedia)
ok: [localhost] => (item=backup-memory-lane)
ok: [localhost] => (item=pickipedia-enrich-torrents)

TASK [Check if log paths are directories (Docker creates dirs for missing mount sources)] ***
ok: [localhost] => (item=/var/log/nfs-backup.log)
ok: [localhost] => (item=/var/log/nfs-deploy.log)
ok: [localhost] => (item=/var/log/pickipedia-backup.log)
ok: [localhost] => (item=/var/log/pickipedia-deploy.log)

TASK [Remove log paths if they are directories] ********************************
skipping: [localhost] => (item={'changed': False, 'stat': {'exists': True, 'path': '/var/log/nfs-backup.log', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 0, 'gid': 0, 'size': 82298, 'inode': 215, 'dev': 2049, 'nlink': 1, 'atime': 1794346599.398355, 'mtime': 1794346599.398355, 'ctime': 1794346599.398355, 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False, 'blocks': 176, 'block_size': 4096, 'device_type': 0, 'readable': True, 'writeable': True, 'executable': False, 'pw_name': 'root', 'gr_name': 'root', 'checksum': '78d140f4ab1f67c549caa68928e2fa1567b8f02e', 'mimetype': 'unknown', 'charset': 'unknown', 'version': '815275292', 'attributes': ['extents'], 'attr_flags': 'e'}, 'invocation': {'module_args': {'path': '/var/log/nfs-backup.log', 'follow': False, 'get_checksum': True, 'get_mime': True, 'get_attributes': True, 'checksum_algorithm': 'sha1'}}, 'failed': False, 'item': '/var/log/nfs-backup.log', 'ansible_loop_var': 'item'}) 
skipping: [localhost] => (item={'changed': False, 'stat': {'exists': True, 'path': '/var/log/nfs-deploy.log', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 0, 'gid': 0, 'size': 2990488501, 'inode': 1245, 'dev': 2049, 'nlink': 1, 'atime': 1794346599.6303568, 'mtime': 1794346599.6303568, 'ctime': 1794346599.6303568, 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False, 'blocks': 5844520, 'block_size': 4096, 'device_type': 0, 'readable': True, 'writeable': True, 'executable': False, 'pw_name': 'root', 'gr_name': 'root', 'checksum': 'eeb428d3c94af1349cfdf8360e1cdda05794d9e8', 'mimetype': 'unknown', 'charset': 'unknown', 'version': '2795823190', 'attributes': ['extents'], 'attr_flags': 'e'}, 'invocation': {'module_args': {'path': '/var/log/nfs-deploy.log', 'follow': False, 'get_checksum': True, 'get_mime': True, 'get_attributes': True, 'checksum_algorithm': 'sha1'}}, 'failed': False, 'item': '/var/log/nfs-deploy.log', 'ansible_loop_var': 'item'}) 
skipping: [localhost] => (item={'changed': False, 'stat': {'exists': True, 'path': '/var/log/pickipedia-backup.log', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 0, 'gid': 0, 'size': 1017375, 'inode': 1846, 'dev': 2049, 'nlink': 1, 'atime': 1794346599.8973587, 'mtime': 1794346599.8973587, 'ctime': 1794346599.8973587, 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False, 'blocks': 2000, 'block_size': 4096, 'device_type': 0, 'readable': True, 'writeable': True, 'executable': False, 'pw_name': 'root', 'gr_name': 'root', 'checksum': '76525e64a3b8f05427404ca90723497474cf528c', 'mimetype': 'unknown', 'charset': 'unknown', 'version': '873719913', 'attributes': ['extents'], 'attr_flags': 'e'}, 'invocation': {'module_args': {'path': '/var/log/pickipedia-backup.log', 'follow': False, 'get_checksum': True, 'get_mime': True, 'get_attributes': True, 'checksum_algorithm': 'sha1'}}, 'failed': False, 'item': '/var/log/pickipedia-backup.log', 'ansible_loop_var': 'item'}) 
skipping: [localhost] => (item={'changed': False, 'stat': {'exists': True, 'path': '/var/log/pickipedia-deploy.log', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 0, 'gid': 0, 'size': 9500752728, 'inode': 2910, 'dev': 2049, 'nlink': 1, 'atime': 1794346600.1413605, 'mtime': 1794346600.1413605, 'ctime': 1794346600.1413605, 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False, 'blocks': 18557664, 'block_size': 4096, 'device_type': 0, 'readable': True, 'writeable': True, 'executable': False, 'pw_name': 'root', 'gr_name': 'root', 'checksum': 'f48e1f21b4cf34e6b8b710ab23d980c6ca96b919', 'mimetype': 'unknown', 'charset': 'unknown', 'version': '1261557222', 'attributes': ['extents'], 'attr_flags': 'e'}, 'invocation': {'module_args': {'path': '/var/log/pickipedia-deploy.log', 'follow': False, 'get_checksum': True, 'get_mime': True, 'get_attributes': True, 'checksum_algorithm': 'sha1'}}, 'failed': False, 'item': '/var/log/pickipedia-deploy.log', 'ansible_loop_var': 'item'}) 
skipping: [localhost]

TASK [Create log files for Jenkins to read] ************************************
changed: [localhost] => (item=/var/log/nfs-backup.log)
changed: [localhost] => (item=/var/log/nfs-deploy.log)
changed: [localhost] => (item=/var/log/pickipedia-backup.log)
changed: [localhost] => (item=/var/log/pickipedia-deploy.log)

TASK [Start Jenkins container] *************************************************
[DEPRECATION WARNING]: The default value "ignore" for image_name_mismatch has 
been deprecated and will change to "recreate" in community.docker 4.0.0. In the
 current situation, this would cause the container to be recreated since the 
current container's image name 
"sha256:1a25d495384118b5d6d53bee0707d64730fa5ed54ee9de85b6636d79ca83f203" does 
not match the desired image name "cryptograss-jenkins:latest". This feature 
will be removed from community.docker in version 4.0.0. Deprecation warnings 
can be disabled by setting deprecation_warnings=False in ansible.cfg.
changed: [localhost]

TASK [Apply pending Jenkins restart before docker-exec tasks] ******************

TASK [Inspect Jenkins container state] *****************************************
ok: [localhost]

TASK [Force-restart Jenkins if not running cleanly] ****************************
skipping: [localhost]

TASK [Wait for Jenkins container to accept docker exec] ************************
ok: [localhost]

TASK [Jenkins may fetch from githouse's repositories (the trusted jobs build from them)] ***
fatal: [localhost]: FAILED! => {"changed": false, "cmd": "set -e\nfor name in magenta maybelle-config pickipedia pickipedia-mcp arthel rabbithole; do\n  path=/srv/git/$name.git\n  docker exec -u jenkins jenkins git config --global --get-all safe.directory | grep -qxF \"$path\" && continue\n  docker exec -u jenkins jenkins git config --global --add safe.directory \"$path\"\n  echo \"added $path\"\ndone\n", "delta": "0:00:00.402492", "end": "2026-11-10 21:54:01.149926", "msg": "non-zero return code", "rc": 255, "start": "2026-11-10 21:54:00.747434", "stderr": "error: could not lock config file /var/jenkins_home/.gitconfig: File exists", "stderr_lines": ["error: could not lock config file /var/jenkins_home/.gitconfig: File exists"], "stdout": "", "stdout_lines": []}

PLAY RECAP *********************************************************************
localhost                  : ok=40   changed=3    unreachable=0    failed=1    skipped=9    rescued=0    ignored=0