@@ -8,16 +8,15 @@ import (
8
8
. "github.com/onsi/gomega"
9
9
)
10
10
11
- var _ = Describe ("kismatic upgrade tests " , func () {
11
+ var _ = Describe ("Upgrade " , func () {
12
12
BeforeEach (func () {
13
13
dir := setupTestWorkingDirWithVersion ("v1.2.2" )
14
14
os .Chdir (dir )
15
15
})
16
-
17
- Describe ("Doing an offline upgrade of a kubernetes cluster" , func () {
16
+ Describe ("Upgrading a cluster using offline mode" , func () {
18
17
Context ("Using a minikube layout" , func () {
19
18
Context ("Using Ubuntu 16.04" , func () {
20
- ItOnAWS ("should result in an upgraded cluster [slow] [upgrade]" , func (aws infrastructureProvisioner ) {
19
+ ItOnAWS ("should be upgraded [slow] [upgrade]" , func (aws infrastructureProvisioner ) {
21
20
WithMiniInfrastructure (Ubuntu1604LTS , aws , func (node NodeDeets , sshKey string ) {
22
21
// Install previous version cluster
23
22
err := installKismaticMini (node , sshKey )
@@ -40,7 +39,7 @@ var _ = Describe("kismatic upgrade tests", func() {
40
39
})
41
40
42
41
Context ("Using CentOS 7" , func () {
43
- ItOnAWS ("should result in an upgraded cluster [slow] [upgrade]" , func (aws infrastructureProvisioner ) {
42
+ ItOnAWS ("should be upgraded [slow] [upgrade]" , func (aws infrastructureProvisioner ) {
44
43
WithMiniInfrastructure (CentOS7 , aws , func (node NodeDeets , sshKey string ) {
45
44
// Install previous version cluster
46
45
err := installKismaticMini (node , sshKey )
@@ -63,5 +62,57 @@ var _ = Describe("kismatic upgrade tests", func() {
63
62
})
64
63
})
65
64
65
+ // This spec will be used for testing non-destructive kismatic features on
66
+ // an upgraded cluster.
67
+ // This spec is open to modification when new assertions have to be made.
68
+ Context ("Using a skunkworks cluster" , func () {
69
+ ItOnAWS ("should result in an upgraded cluster [slow] [upgrade]" , func (aws infrastructureProvisioner ) {
70
+ WithInfrastructureAndDNS (NodeCount {Etcd : 3 , Master : 2 , Worker : 3 , Ingress : 2 , Storage : 2 }, CentOS7 , aws , func (nodes provisionedNodes , sshKey string ) {
71
+ opts := installOptions {allowPackageInstallation : true }
72
+ err := installKismatic (nodes , opts , sshKey )
73
+ FailIfError (err )
74
+
75
+ pwd , err := os .Getwd ()
76
+ FailIfError (err )
77
+ err = extractCurrentKismatic (pwd )
78
+ FailIfError (err )
79
+
80
+ cmd := exec .Command ("./kismatic" , "upgrade" , "offline" , "-f" , "kismatic-testing.yaml" )
81
+ cmd .Stdout = os .Stdout
82
+ cmd .Stderr = os .Stderr
83
+ err = cmd .Run ()
84
+ FailIfError (err )
85
+
86
+ assertClusterVersionIsCurrent ()
87
+
88
+ sub := SubDescribe ("Using an upgraded cluster" )
89
+ defer sub .Check ()
90
+
91
+ sub .It ("should allow adding a new storage volume" , func () error {
92
+ planFile , err := os .Open ("kismatic-testing.yaml" )
93
+ if err != nil {
94
+ return err
95
+ }
96
+ return createVolume (planFile , "test-vol" , 1 , 1 , "" )
97
+ })
98
+
99
+ sub .It ("should allow adding a worker node" , func () error {
100
+ return nil
101
+ })
102
+
103
+ sub .It ("should have an accessible dashboard" , func () error {
104
+ return nil
105
+ })
106
+
107
+ sub .It ("should be able to deploy a workload with ingress" , func () error {
108
+ return nil
109
+ })
110
+
111
+ sub .It ("should not have kube-apiserver systemd service" , func () error {
112
+ return nil
113
+ })
114
+ })
115
+ })
116
+ })
66
117
})
67
118
})
0 commit comments