本文整理匯總了Golang中github.com/giantswarm/yochu/systemd.SystemdClient.Start方法的典型用法代碼示例。如果您正苦於以下問題:Golang SystemdClient.Start方法的具體用法?Golang SystemdClient.Start怎麽用?Golang SystemdClient.Start使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/giantswarm/yochu/systemd.SystemdClient
的用法示例。
在下文中一共展示了SystemdClient.Start方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Setup
func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, subnet, dockerSubnet, gateway string, useDockerRules bool) error {
vLogger("\n# call iptables.Setup()")
if err := setupNetfilter(fsc); err != nil {
return maskAny(err)
}
if err := setupRules(fsc, subnet, dockerSubnet, gateway, useDockerRules); err != nil {
return maskAny(err)
}
if err := setupService(fsc); err != nil {
return maskAny(err)
}
if err := sc.Reload(); err != nil {
return maskAny(err)
}
for _, s := range services {
if err := sc.Start(s); err != nil {
return maskAny(err)
}
}
return nil
}
示例2: 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
}
示例3: 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
}
示例4: Setup
func Setup(fsClient *fs.FsClient, systemdClient *systemd.SystemdClient) error {
vLogger("\n# call ip6tables.Setup()")
if err := setupRules(fsClient); err != nil {
return maskAny(err)
}
if err := setupService(fsClient); err != nil {
return maskAny(err)
}
if err := systemdClient.Reload(); err != nil {
return maskAny(err)
}
for _, s := range services {
if err := systemdClient.Start(s); err != nil {
return maskAny(err)
}
}
return nil
}
示例5: 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
}
示例6: 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
}
示例7: 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
}