• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang fs.FsClient类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/giantswarm/yochu/fs.FsClient的典型用法代码示例。如果您正苦于以下问题:Golang FsClient类的具体用法?Golang FsClient怎么用?Golang FsClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了FsClient类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: Teardown

func Teardown(fsc *fs.FsClient, sc *systemd.SystemdClient, distributionPath string, stopDaemon bool) error {
	vLogger("\n# call rkt.Teardown()")

	for _, u := range units {
		exists, err := sc.Exists(u)
		if err != nil {
			return maskAny(err)
		}

		if !exists || !stopDaemon {
			continue
		}

		if err := sc.Stop(u); err != nil {
			return maskAny(err)
		}

		if err := fsc.Remove(rktSystemdPath + u); err != nil {
			return maskAny(err)
		}
	}

	// reload unit files, that is, `systemctl daemon-reload`
	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if err := fsc.Remove(distributionPath + "/rkt"); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:33,代码来源:rkt.go


示例2: Teardown

func Teardown(fsc *fs.FsClient, sc *systemd.SystemdClient) error {
	vLogger("\n# call iptables.Teardown()")

	for _, s := range services {
		exists, err := sc.Exists(s)
		if err != nil {
			return maskAny(err)
		}

		if !exists {
			continue
		}

		if err := sc.Stop(s); err != nil {
			return maskAny(err)
		}
	}

	for _, p := range paths {
		if err := fsc.Remove(p); err != nil {
			return maskAny(err)
		}
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:30,代码来源:iptables.go


示例3: Teardown

func Teardown(fsc *fs.FsClient, sc *systemd.SystemdClient, distributionPath, overlayWorkdir, overlayMountPoint string) error {
	vLogger("\n# call overlay.Teardown()")

	exists, err := sc.Exists(overlayMount)
	if err != nil {
		return maskAny(err)
	}

	if exists {
		if err := sc.Stop(overlayMount); err != nil {
			return maskAny(err)
		}
	}

	if err := fsc.Remove(overlayMountPath); err != nil && !fs.IsNotExist(err) {
		return maskAny(err)
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if err := fsc.Remove(overlayWorkdir); err != nil && !fs.IsNotExist(err) {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:28,代码来源:overlay.go


示例4: Teardown

func Teardown(fsc *fs.FsClient, sc *systemd.SystemdClient, stopDaemon bool) error {
	vLogger("\n# call docker.Teardown()")

	for _, s := range services {
		exists, err := sc.Exists(s)
		if err != nil {
			return maskAny(err)
		}

		if !exists || !stopDaemon {
			continue
		}

		if err := sc.Stop(s); err != nil {
			return maskAny(err)
		}
	}

	for _, p := range paths {
		if err := fsc.Remove(p); err != nil {
			return maskAny(err)
		}
	}

	// reload unit files, that is, `systemctl daemon-reload`
	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:31,代码来源:docker.go


示例5: createRktGarbageService

func createRktGarbageService(fsc *fs.FsClient, useOverlay bool) error {
	opts := rktOptions{
		UseOverlay: useOverlay,
	}

	b, err := templates.Render(rktGarbageServiceTemplate, opts)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(rktSystemdPath+rktGarbageServiceName, b.Bytes(), unitFileMode); err != nil {
		return maskAny(err)
	}

	rktGarbageTimer, err := templates.Asset(rktGarbageTimerTemplate)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(rktSystemdPath+rktGarbageTimerName, rktGarbageTimer, unitFileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:25,代码来源:rkt.go


示例6: Teardown

func Teardown(fsc *fs.FsClient, distributionPath string) error {
	vLogger("\n# call distribution.Teardown()")

	if err := fsc.Remove(distributionPath); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:9,代码来源:distribution.go


示例7: Setup

func Setup(fsc *fs.FsClient, distributionPath string) error {
	vLogger("\n# call distribution.Setup()")

	if err := fsc.MkdirAll(distributionPath, fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:9,代码来源:distribution.go


示例8: setupRules

func setupRules(fsc *fs.FsClient, subnet, dockerSubnet, gateway string, useDockerRules bool) error {
	rulesBytes, err := RenderRulesFromTemplate(subnet, dockerSubnet, gateway, useDockerRules)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(rulesPath, rulesBytes, fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:12,代码来源:iptables.go


示例9: setupRules

func setupRules(fsClient *fs.FsClient) error {
	rulesBytes, err := RenderRulesFromTemplate()
	if err != nil {
		return maskAny(err)
	}

	if err := fsClient.Write(rulesPath, rulesBytes, fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:12,代码来源:ip6tables.go


示例10: setupService

func setupService(fsc *fs.FsClient) error {
	iptablesService, err := templates.Asset(serviceTemplate)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(servicePath, iptablesService, fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:12,代码来源:iptables.go


示例11: setupNetfilter

func setupNetfilter(fsc *fs.FsClient) error {
	netfilterService, err := templates.Asset(netfilterTemplate)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(netfilterPath, netfilterService, fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:12,代码来源:iptables.go


示例12: Setup

func Setup(fsc *fs.FsClient, fc fetchclient.FetchClient, distributionPath, k8sVersion string) error {
	vLogger("\n# call k8s.Setup()")

	k8sRaw, err := fc.Get("k8s/" + k8sVersion + "/kubectl")
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(distributionPath+"/kubectl", k8sRaw, fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:14,代码来源:k8s.go


示例13: createFleetService

func createFleetService(fsc *fs.FsClient, useOverlay bool) error {
	opts := fleetOptions{
		UseOverlay: useOverlay,
	}

	b, err := templates.Render(fleetServiceTemplate, opts)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(fleetServicePath, b.Bytes(), fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:16,代码来源:fleet.go


示例14: Teardown

func Teardown(fsc *fs.FsClient, sc *systemd.SystemdClient, distributionPath string, stopDaemon bool) error {
	vLogger("\n# call fleet.Teardown()")

	exists, err := sc.Exists(fleetServiceName)
	if err != nil {
		return maskAny(err)
	}

	if exists && stopDaemon {
		if err := sc.Stop(fleetServiceName); err != nil {
			return maskAny(err)
		}
	}

	if err := fsc.Remove(distributionPath + "/fleet"); err != nil {
		return maskAny(err)
	}

	if err := fsc.Remove(distributionPath + "/fleetd"); err != nil {
		return maskAny(err)
	}

	if err := fsc.Remove(distributionPath + "/fleetctl"); err != nil {
		return maskAny(err)
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:32,代码来源:fleet.go


示例15: Setup

func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, fc fetchclient.FetchClient, distributionPath, etcdVersion string, startDaemon bool, useOverlay bool) error {
	vLogger("\n# call etcd.Setup()")

	etcdRaw, err := fc.Get("etcd/" + etcdVersion + "/etcd")
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(distributionPath+"/etcd2", etcdRaw, fileMode); err != nil {
		return maskAny(err)
	}

	etcdctlRaw, err := fc.Get("etcd/" + etcdVersion + "/etcdctl")
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(distributionPath+"/etcdctl", etcdctlRaw, fileMode); err != nil {
		return maskAny(err)
	}

	err = createEtcdService(fsc, useOverlay)
	if err != nil {
		return maskAny(err)
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if startDaemon {
		if err := sc.Start(etcdServiceName); err != nil {
			return maskAny(err)
		}
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:38,代码来源:etcd.go


示例16: createDockerService

func createDockerService(fsc *fs.FsClient, dockerVersion string, privateRegistry []string, useIPTables bool, useOverlay bool) error {
	opts := dockerOptions{
		PrivateRegistry: privateRegistry,
		StorageEngine:   getStorageEngine(dockerFolder),
		UseIPTables:     useIPTables,
		UseOverlay:      useOverlay,
		DockerExecArgs:  make([]string, 0),
	}

	options := addVersionSpecificArguments(&opts, dockerVersion)
	opts = *options

	b, err := templates.Render(serviceTemplate, opts)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(servicePath, b.Bytes(), fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:23,代码来源:docker.go


示例17: Setup

func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, fc fetchclient.FetchClient, distributionPath, rktVersion string, startDaemon, useOverlay bool) error {
	vLogger("\n# call rkt.Setup()")

	rktRaw, err := fc.Get("rkt/" + rktVersion + "/rkt")
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(distributionPath+"/rkt", rktRaw, binaryFileMode); err != nil {
		return maskAny(err)
	}

	err = createRktGarbageService(fsc, useOverlay)
	if err != nil {
		return maskAny(err)
	}

	err = createRktMetadataService(fsc, useOverlay)
	if err != nil {
		return maskAny(err)
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if startDaemon {
		if err := sc.Start(rktGarbageTimerName); err != nil {
			return maskAny(err)
		}
		if err := sc.Start(rktMetadataServiceName); err != nil {
			return maskAny(err)
		}
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:37,代码来源:rkt.go


示例18: Setup

func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, distributionPath, overlayWorkdir, overlayMountPoint string) error {
	vLogger("\n# call overlay.Setup()")

	if err := fsc.MkdirAll(overlayWorkdir, fileMode); err != nil {
		return maskAny(err)
	}

	opts := struct {
		OverlayUpperdir string
		OverlayWorkdir  string
		MountPoint      string
	}{
		distributionPath,
		overlayWorkdir,
		overlayMountPoint,
	}

	b, err := templates.Render(overlayMountTemplate, opts)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(overlayMountPath, b.Bytes(), fileMode); err != nil {
		return maskAny(err)
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if err := sc.Start(overlayMount); err != nil {
		return maskAny(err)
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:36,代码来源:overlay.go


示例19: Setup

func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, fc fetchclient.FetchClient, distributionPath, fleetVersion string, startDaemon bool, useOverlay bool) error {
	vLogger("\n# call fleet.Setup()")

	fleetdRaw, err := fc.Get("fleet/" + fleetVersion + "/fleetd")
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(distributionPath+"/fleet", fleetdRaw, fileMode); err != nil {
		return maskAny(err)
	}

	if err := fsc.Symlink(distributionPath+"/fleet", distributionPath+"/fleetd"); err != nil {
		return maskAny(err)
	}

	fleetctlRaw, err := fc.Get("fleet/" + fleetVersion + "/fleetctl")
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(distributionPath+"/fleetctl", fleetctlRaw, fileMode); err != nil {
		return maskAny(err)
	}

	err = createFleetService(fsc, useOverlay)
	if err != nil {
		return maskAny(err)
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if startDaemon {
		if err := sc.Start(fleetServiceName); err != nil {
			return maskAny(err)
		}
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:42,代码来源:fleet.go


示例20: Setup

func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, fc fetchclient.FetchClient, distributionPath, dockerVersion string, privateRegistry []string, useIPTables, restartDaemon bool, useOverlay bool) error {
	vLogger("\n# call docker.Setup()")

	// This is the version where Docker split into multiple binaries.
	dockerMultipleBinariesVersion, _ := semver.NewVersion("1.11.0")

	semverDockerVersion, err := semver.NewVersion(dockerVersion)
	if err != nil {
		return maskAny(err)
	}

	dockerBinariesToGetAndWrite := []string{}
	if semverDockerVersion.LessThan(*dockerMultipleBinariesVersion) {
		dockerBinariesToGetAndWrite = []string{"docker"}
	} else {
		dockerBinariesToGetAndWrite = []string{
			"docker",
			"docker-containerd",
			"docker-containerd-ctr",
			"docker-containerd-shim",
			"docker-runc",
		}
	}

	for _, dockerBinaryName := range dockerBinariesToGetAndWrite {
		dockerRaw, err := fc.Get("docker/" + dockerVersion + "/" + dockerBinaryName)
		if err != nil {
			return maskAny(err)
		}

		if err := fsc.Write(distributionPath+"/"+dockerBinaryName, dockerRaw, fileMode); err != nil {
			return maskAny(err)
		}
	}

	err = createDockerService(fsc, dockerVersion, privateRegistry, useIPTables, useOverlay)
	if err != nil {
		return maskAny(err)
	}

	dockerTcpSocket, err := templates.Asset(socketTemplate)
	if err != nil {
		return maskAny(err)
	}

	// write docker-tcp.socket unit to host
	if err := fsc.Write(socketPath, dockerTcpSocket, fileMode); err != nil {
		return maskAny(err)
	}

	// reload unit files, that is, `systemctl daemon-reload`
	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if restartDaemon {
		// start docker-tcp.socket unit
		if err := sc.Start(socketName); err != nil {
			return maskAny(err)
		}

		// start docker.service unit
		if err := sc.Start(serviceName); err != nil {
			// If there is a dependency error, we just log it. This only happens in case
			// the provisioner is restarted. Then systemd throws an error when starting
			// docker, even though the only dependency (docker-tcp.socket) does not
			// fail.
			if systemd.IsJobDependency(err) {
				vLogger(err.Error())
			} else {
				return maskAny(err)
			}
		}
	}

	return nil
}
开发者ID:giantswarm,项目名称:yochu,代码行数:77,代码来源:docker.go



注:本文中的github.com/giantswarm/yochu/fs.FsClient类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang systemd.SystemdClient类代码示例发布时间:2022-05-23
下一篇:
Golang launchers.Launcher类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap