Skip to content

Commit 62de18d

Browse files
(MAINT) fix to allow almlinux to run hostname
1 parent 85b2f05 commit 62de18d

File tree

1 file changed

+68
-39
lines changed

1 file changed

+68
-39
lines changed

.github/workflows/test-install-matrix.yaml

Lines changed: 68 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,74 @@ jobs:
211211
echo "=== New Docker transport inventory.yaml ==="
212212
cat ./inventory.yaml
213213
echo ::endgroup::
214+
- name: Prepare containers for Bolt tasks
215+
run: |
216+
echo ::group::prepare_containers
217+
for container in $(docker ps --format "{{.Names}}" | grep -v NAMES); do
218+
echo "=== Preparing container: $container ==="
219+
220+
# Install required packages for Amazon Linux 2023
221+
echo "Installing required packages:"
222+
docker exec $container yum update -y || echo "yum update failed"
223+
docker exec $container yum install -y \
224+
curl \
225+
wget \
226+
ca-certificates \
227+
hostname \
228+
procps-ng \
229+
util-linux \
230+
systemd \
231+
openssh-server \
232+
openssh-clients \
233+
tar \
234+
gzip \
235+
which \
236+
net-tools || echo "Package installation failed"
237+
238+
# Ensure hostname command works
239+
echo "Testing hostname command:"
240+
docker exec $container hostname || echo "hostname command failed"
241+
docker exec $container hostname -f || echo "hostname -f command failed"
242+
243+
# Ensure /tmp directory exists and has correct permissions
244+
echo "Creating and setting permissions for /tmp directory:"
245+
docker exec $container mkdir -p /tmp
246+
docker exec $container chmod 1777 /tmp
247+
docker exec $container ls -ld /tmp
248+
249+
# Ensure /var/tmp exists with correct permissions
250+
echo "Creating and setting permissions for /var/tmp directory:"
251+
docker exec $container mkdir -p /var/tmp
252+
docker exec $container chmod 1777 /var/tmp
253+
docker exec $container ls -ld /var/tmp
254+
255+
# Create a test file to verify write permissions
256+
echo "Testing write permissions:"
257+
docker exec $container touch /var/tmp/test_write_permissions || echo "Failed to create test file"
258+
docker exec $container rm -f /var/tmp/test_write_permissions || echo "Failed to remove test file"
259+
260+
# Ensure other required directories exist
261+
echo "Creating other required directories:"
262+
docker exec $container mkdir -p /var/log
263+
docker exec $container mkdir -p /etc/puppetlabs
264+
docker exec $container mkdir -p /opt/puppetlabs
265+
266+
# Set up proper hostname resolution
267+
echo "Setting up hostname resolution:"
268+
container_hostname=$(docker exec $container hostname)
269+
docker exec $container bash -c "echo '127.0.0.1 $container_hostname' >> /etc/hosts"
270+
271+
# Check available disk space
272+
echo "Disk space check:"
273+
docker exec $container df -h /var/tmp || echo "Cannot check disk space"
274+
275+
# Test basic commands that PE installer might need
276+
echo "Testing basic commands:"
277+
docker exec $container which curl || echo "curl not found"
278+
docker exec $container which tar || echo "tar not found"
279+
docker exec $container which systemctl || echo "systemctl not found"
280+
done
281+
echo ::endgroup::
214282
- name: Debug container setup
215283
run: |
216284
echo ::group::debug_container_setup
@@ -326,45 +394,6 @@ jobs:
326394
done || echo "Password authentication failed"
327395
done
328396
echo ::endgroup::
329-
- name: Prepare containers for Bolt tasks
330-
run: |
331-
echo ::group::prepare_containers
332-
for container in $(docker ps --format "{{.Names}}" | grep -v NAMES); do
333-
echo "=== Preparing container: $container ==="
334-
335-
# Install required packages
336-
echo "Installing required packages:"
337-
docker exec $container apt-get update || echo "apt-get update failed"
338-
docker exec $container apt-get install -y curl wget ca-certificates || echo "Package installation failed"
339-
340-
# Ensure /tmp directory exists and has correct permissions
341-
echo "Creating and setting permissions for /tmp directory:"
342-
docker exec $container mkdir -p /tmp
343-
docker exec $container chmod 1777 /tmp
344-
docker exec $container ls -ld /tmp
345-
346-
# Ensure /var/tmp exists with correct permissions
347-
echo "Creating and setting permissions for /var/tmp directory:"
348-
docker exec $container mkdir -p /var/tmp
349-
docker exec $container chmod 1777 /var/tmp
350-
docker exec $container ls -ld /var/tmp
351-
352-
# Create a test file to verify write permissions
353-
echo "Testing write permissions:"
354-
docker exec $container touch /var/tmp/test_write_permissions || echo "Failed to create test file"
355-
docker exec $container rm -f /var/tmp/test_write_permissions || echo "Failed to remove test file"
356-
357-
# Ensure other required directories exist
358-
echo "Creating other required directories:"
359-
docker exec $container mkdir -p /var/log
360-
docker exec $container mkdir -p /etc/puppetlabs
361-
docker exec $container mkdir -p /opt/puppetlabs
362-
363-
# Check available disk space
364-
echo "Disk space check:"
365-
docker exec $container df -h /var/tmp || echo "Cannot check disk space"
366-
done
367-
echo ::endgroup::
368397
- name: Install PE on test cluster
369398
timeout-minutes: 120
370399
run: |

0 commit comments

Comments
 (0)