cilium

Форк
0
/
etcnfsconfcheck.go 
50 строк · 1.0 Кб
1
// SPDX-License-Identifier: Apache-2.0
2
// Copyright Authors of Cilium
3

4
package main
5

6
import (
7
	"fmt"
8
	"os"
9

10
	"gopkg.in/ini.v1"
11
)
12

13
// An etcdNFSConfCheck checks /etc/nfs.conf.
14
type etcNFSConfCheck struct{}
15

16
func (etcNFSConfCheck) Name() string {
17
	return "/etc/nfs.conf"
18
}
19

20
func (etcNFSConfCheck) Run() (checkResult, string) {
21
	data, err := os.ReadFile("/etc/nfs.conf")
22
	switch {
23
	case os.IsNotExist(err):
24
		return checkError, "/etc/nfs.conf does not exist"
25
	case err != nil:
26
		return checkFailed, err.Error()
27
	}
28

29
	var nfsConf struct {
30
		NFSD struct {
31
			TCP string `ini:"tcp"`
32
		} `ini:"nfsd"`
33
	}
34
	if err := ini.MapTo(&nfsConf, data); err != nil {
35
		return checkError, err.Error()
36
	}
37

38
	switch {
39
	case nfsConf.NFSD.TCP == "":
40
		return checkError, `nfsd.tcp is not set, want "y"`
41
	case nfsConf.NFSD.TCP != "y":
42
		return checkError, fmt.Sprintf(`nfsd.tcp is %q, want "y"`, nfsConf.NFSD.TCP)
43
	}
44

45
	return checkOK, `nfsd.tcp is "y"`
46
}
47

48
func (etcNFSConfCheck) Hint() string {
49
	return `Ensure that /etc/nfs.conf includes "[nfsd]\ntcp=y\n".`
50
}
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.