This changes the data partition name to something more appropriate. We chose ephemeral to make it very clear that the disk should not be used for application data. Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
108 lines
3.1 KiB
Go
108 lines
3.1 KiB
Go
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package installer
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/suite"
|
|
"github.com/talos-systems/talos/pkg/userdata"
|
|
"gopkg.in/yaml.v2"
|
|
)
|
|
|
|
type validateSuite struct {
|
|
suite.Suite
|
|
}
|
|
|
|
func TestValidateSuite(t *testing.T) {
|
|
suite.Run(t, new(validateSuite))
|
|
}
|
|
|
|
func (suite *validateSuite) TestVerifyDevice() {
|
|
// Start off with success and then remove bits
|
|
data := &userdata.UserData{}
|
|
err := yaml.Unmarshal([]byte(testConfig), data)
|
|
suite.Require().NoError(err)
|
|
|
|
suite.Require().NoError(VerifyBootDevice(data))
|
|
suite.Require().NoError(VerifyDataDevice(data))
|
|
|
|
// No impact because we can infer all data from the data device and
|
|
// defaults.
|
|
data.Install.Boot = nil
|
|
suite.Require().NoError(VerifyBootDevice(data))
|
|
data.Install.Ephemeral = &userdata.InstallDevice{
|
|
Device: "/dev/sda",
|
|
}
|
|
suite.Require().NoError(VerifyDataDevice(data))
|
|
}
|
|
|
|
// TODO we should move this to a well defined location
|
|
// Copied from userdata_test.go
|
|
const testConfig = `version: "1"
|
|
security:
|
|
os:
|
|
ca:
|
|
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
|
|
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0=
|
|
identity:
|
|
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
|
|
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0=
|
|
kubernetes:
|
|
ca:
|
|
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
|
|
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0=
|
|
sa:
|
|
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
|
|
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0=
|
|
frontproxy:
|
|
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
|
|
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0=
|
|
etcd:
|
|
crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
|
|
key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0=
|
|
networking:
|
|
os: {}
|
|
kubernetes: {}
|
|
services:
|
|
init:
|
|
cni: flannel
|
|
kubeadm:
|
|
certificateKey: 'test'
|
|
configuration: |
|
|
apiVersion: kubeadm.k8s.io/v1beta1
|
|
kind: InitConfiguration
|
|
localAPIEndpoint:
|
|
bindPort: 6443
|
|
bootstrapTokens:
|
|
- token: '1qbsj9.3oz5hsk6grdfp98b'
|
|
ttl: 0s
|
|
---
|
|
apiVersion: kubeadm.k8s.io/v1beta1
|
|
kind: ClusterConfiguration
|
|
clusterName: test
|
|
kubernetesVersion: v1.16.0-alpha.3
|
|
---
|
|
apiVersion: kubeproxy.config.k8s.io/v1alpha1
|
|
kind: KubeProxyConfiguration
|
|
mode: ipvs
|
|
ipvs:
|
|
scheduler: lc
|
|
trustd:
|
|
username: 'test'
|
|
password: 'test'
|
|
endpoints: [ "1.2.3.4" ]
|
|
certSANs: []
|
|
install:
|
|
wipe: true
|
|
force: true
|
|
boot:
|
|
device: /dev/sda
|
|
size: 1024000000
|
|
ephemeral:
|
|
device: /dev/sda
|
|
size: 1024000000
|
|
`
|