@@ -88,16 +88,40 @@ public static void initSplunk() throws Exception {
8888 startCluster (builder );
8989
9090 splunk .start ();
91- splunk .execInContainer ("if ! sudo grep -q 'minFreeSpace' /opt/splunk/etc/system/local/server.conf; then " +
92- "sudo chmod a+w /opt/splunk/etc/system/local/server.conf; " +
93- "sudo echo \" # disk usage processor settings\" >> /opt/splunk/etc/system/local/server.conf; " +
94- "sudo echo \" [diskUsage]\" >> /opt/splunk/etc/system/local/server.conf; " +
95- "sudo echo \" minFreeSpace = 50\" >> /opt/splunk/etc/system/local/server.conf; " +
96- "sudo echo \" pollingFrequency = 100000\" >> /opt/splunk/etc/system/local/server.conf; " +
97- "sudo echo \" pollingTimerFrequency = 10\" >> /opt/splunk/etc/system/local/server.conf; " +
98- "sudo chmod 600 /opt/splunk/etc/system/local/server.conf; " +
99- "sudo /opt/splunk/bin/splunk restart; " +
100- "fi" );
91+
92+ // Clean up any existing dispatch files from previous runs
93+ logger .info ("Cleaning up Splunk dispatch directory..." );
94+ try {
95+ splunk .execInContainer ("sudo" , "rm" , "-rf" , "/opt/splunk/var/run/splunk/dispatch/*" );
96+ } catch (Exception e ) {
97+ logger .warn ("Could not clean dispatch directory (may not exist yet): " + e .getMessage ());
98+ }
99+
100+ // Configure Splunk to use minimal disk space for tests
101+ logger .info ("Configuring Splunk disk usage settings..." );
102+ splunk .execInContainer ("sudo" , "chmod" , "a+w" , "/opt/splunk/etc/system/local/server.conf" );
103+
104+ // Remove any existing [diskUsage] section
105+ splunk .execInContainer ("sudo" , "sed" , "-i" , "/\\ [diskUsage\\ ]/,/^$/d" , "/opt/splunk/etc/system/local/server.conf" );
106+
107+ // Add new [diskUsage] section with minimal requirements
108+ splunk .execInContainer ("sudo" , "sh" , "-c" ,
109+ "echo '' >> /opt/splunk/etc/system/local/server.conf && " +
110+ "echo '# disk usage processor settings for testing' >> /opt/splunk/etc/system/local/server.conf && " +
111+ "echo '[diskUsage]' >> /opt/splunk/etc/system/local/server.conf && " +
112+ "echo 'minFreeSpace = 50' >> /opt/splunk/etc/system/local/server.conf && " +
113+ "echo 'pollingFrequency = 100000' >> /opt/splunk/etc/system/local/server.conf && " +
114+ "echo 'pollingTimerFrequency = 10' >> /opt/splunk/etc/system/local/server.conf" );
115+
116+ splunk .execInContainer ("sudo" , "chmod" , "600" , "/opt/splunk/etc/system/local/server.conf" );
117+
118+ // Restart Splunk to apply changes
119+ logger .info ("Restarting Splunk to apply disk usage settings..." );
120+ splunk .execInContainer ("sudo" , "/opt/splunk/bin/splunk" , "restart" );
121+
122+ // Wait for Splunk to fully restart
123+ Thread .sleep (15000 );
124+ logger .info ("Splunk restarted with minimal disk usage requirements" );
101125
102126 String hostname = splunk .getHost ();
103127 Integer port = splunk .getFirstMappedPort ();
0 commit comments