|
9 | 9 | "runtime" |
10 | 10 | "strings" |
11 | 11 |
|
12 | | - "github.com/Azure/AKSFlexNode/pkg/utils" |
13 | | - "github.com/Azure/AKSFlexNode/pkg/utils/utilio" |
14 | 12 | "github.com/sirupsen/logrus" |
15 | 13 | ) |
16 | 14 |
|
@@ -153,25 +151,9 @@ func setupLogFileWriter(logDir string) (io.Writer, error) { |
153 | 151 |
|
154 | 152 | logFilePath := filepath.Join(logDir, "aks-flex-node.log") |
155 | 153 |
|
156 | | - // Create the log file if it doesn't exist |
157 | | - if err := createLogFileIfNotExists(logFilePath); err != nil { |
158 | | - return nil, fmt.Errorf("failed to create log file '%s': %w", logFilePath, err) |
159 | | - } |
160 | | - |
161 | | - // Try to open log file for writing, handle permission issues |
162 | | - file, err := os.OpenFile(logFilePath, os.O_WRONLY|os.O_APPEND, 0666) |
| 154 | + // Open log file for appending, creating it with 0600 if it doesn't exist |
| 155 | + file, err := os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600) //#nosec G304 - logFilePath is from trusted agent config |
163 | 156 | if err != nil { |
164 | | - // If it's a permission error and we're not running as root, try to fix permissions |
165 | | - if os.IsPermission(err) { |
166 | | - // Try to fix permissions using system command |
167 | | - if fixErr := utils.RunSystemCommand("chmod", "666", logFilePath); fixErr == nil { |
168 | | - // Retry opening the file after fixing permissions |
169 | | - file, err = os.OpenFile(logFilePath, os.O_WRONLY|os.O_APPEND, 0666) |
170 | | - if err == nil { |
171 | | - return file, nil |
172 | | - } |
173 | | - } |
174 | | - } |
175 | 157 | return nil, fmt.Errorf("failed to open log file '%s': %w", logFilePath, err) |
176 | 158 | } |
177 | 159 |
|
@@ -207,45 +189,6 @@ func setupLogFile(logger *logrus.Logger, logDir string) error { |
207 | 189 | return nil |
208 | 190 | } |
209 | 191 |
|
210 | | -// createLogFileIfNotExists creates a log file using appropriate method based on path privileges |
211 | | -func createLogFileIfNotExists(logFilePath string) error { |
212 | | - // Check if file already exists |
213 | | - if utils.FileExists(logFilePath) { |
214 | | - return nil |
215 | | - } |
216 | | - |
217 | | - // For systemd services, try direct file creation first since the service |
218 | | - // should have the correct user/group and the log directory should already exist |
219 | | - if isRunningUnderSystemd() { |
220 | | - // Try direct file creation with appropriate permissions |
221 | | - file, err := os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY, 0644) |
222 | | - if err == nil { |
223 | | - _ = file.Close() |
224 | | - return nil |
225 | | - } |
226 | | - // If direct creation fails, fall through to the system method |
227 | | - fmt.Printf("Warning: Direct log file creation failed (%v), trying system method...\n", err) |
228 | | - } |
229 | | - |
230 | | - // Use WriteFileAtomicSystem to create an empty log file with proper permissions |
231 | | - if err := utilio.WriteFile(logFilePath, []byte{}, 0644); err != nil { |
232 | | - return err |
233 | | - } |
234 | | - |
235 | | - // Ensure proper ownership for the current user after file creation |
236 | | - // Skip this for systemd services as they should already have correct ownership |
237 | | - if !isRunningUnderSystemd() { |
238 | | - currentUser := os.Getenv("USER") |
239 | | - if currentUser != "" { |
240 | | - if err := utils.RunSystemCommand("chown", currentUser+":"+currentUser, logFilePath); err != nil { |
241 | | - fmt.Printf("Warning: Failed to change ownership of %s to %s: %v\n", logFilePath, currentUser, err) |
242 | | - } |
243 | | - } |
244 | | - } |
245 | | - |
246 | | - return nil |
247 | | -} |
248 | | - |
249 | 192 | // GetLoggerFromContext retrieves the logger from context |
250 | 193 | func GetLoggerFromContext(ctx context.Context) *logrus.Logger { |
251 | 194 | if logger, ok := ctx.Value(loggerContextKey).(*logrus.Logger); ok { |
|
0 commit comments