fix(init): move directory creation to kubeadm pre-func (#688)

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This commit is contained in:
Andrey Smirnov 2019-05-28 19:51:38 +03:00 committed by Andrew Rynhard
parent 6cf260c5af
commit 20f4d77d39
2 changed files with 20 additions and 22 deletions

View File

@ -17,6 +17,7 @@ import (
"github.com/containerd/containerd/oci"
criconstants "github.com/containerd/cri/pkg/constants"
specs "github.com/opencontainers/runtime-spec/specs-go"
"github.com/pkg/errors"
"github.com/talos-systems/talos/internal/app/init/pkg/system/conditions"
"github.com/talos-systems/talos/internal/app/init/pkg/system/runner"
"github.com/talos-systems/talos/internal/app/init/pkg/system/runner/containerd"
@ -38,6 +39,24 @@ func (k *Kubeadm) ID(data *userdata.UserData) string {
// PreFunc implements the Service interface.
// nolint: gocyclo
func (k *Kubeadm) PreFunc(ctx context.Context, data *userdata.UserData) (err error) {
requiredMounts := []string{
"/dev/disk/by-path",
"/etc/kubernetes",
"/etc/kubernetes/manifests",
"/run",
"/sys/fs/cgroup",
"/usr/libexec/kubernetes",
"/var/lib/containerd",
"/var/lib/kubelet",
"/var/log/pods",
}
for _, dir := range requiredMounts {
if err = os.MkdirAll(dir, os.ModeDir); err != nil {
return errors.Wrapf(err, "create %s", dir)
}
}
reqs := []*containerd.ImportRequest{
{
Path: "/usr/images/hyperkube.tar",
@ -148,9 +167,7 @@ func (k *Kubeadm) DependsOn(data *userdata.UserData) []string {
// Condition implements the Service interface.
func (k *Kubeadm) Condition(data *userdata.UserData) conditions.Condition {
files := []string{constants.ContainerdAddress}
return conditions.WaitForFilesToExist(files...)
return nil
}
// Runner implements the Service interface.

View File

@ -9,7 +9,6 @@ import (
"fmt"
"io/ioutil"
"net/http"
"os"
"strings"
"time"
@ -40,24 +39,6 @@ func (k *Kubelet) ID(data *userdata.UserData) string {
// PreFunc implements the Service interface.
func (k *Kubelet) PreFunc(ctx context.Context, data *userdata.UserData) error {
requiredMounts := []string{
"/dev/disk/by-path",
"/etc/kubernetes",
"/etc/kubernetes/manifests",
"/run",
"/sys/fs/cgroup",
"/usr/libexec/kubernetes",
"/var/lib/containerd",
"/var/lib/kubelet",
"/var/log/pods",
}
for _, dir := range requiredMounts {
if err := os.MkdirAll(dir, os.ModeDir); err != nil {
return fmt.Errorf("create %s: %s", dir, err.Error())
}
}
return nil
}