@@ -26,36 +26,40 @@ import (
26
26
"k8s.io/kubernetes/pkg/kubemark"
27
27
"k8s.io/kubernetes/test/e2e/framework"
28
28
29
- . "github.com/onsi/gomega"
29
+ "github.com/onsi/gomega"
30
30
)
31
31
32
32
var (
33
33
kubemarkExternalKubeConfig = flag .String (fmt .Sprintf ("%s-%s" , "kubemark-external" , clientcmd .RecommendedConfigPathFlag ), "" , "Path to kubeconfig containing embedded authinfo for external cluster." )
34
34
)
35
35
36
36
func init () {
37
- framework .RegisterProvider ("kubemark" , NewProvider )
37
+ framework .RegisterProvider ("kubemark" , newProvider )
38
38
}
39
39
40
- func NewProvider () (framework.ProviderInterface , error ) {
40
+ func newProvider () (framework.ProviderInterface , error ) {
41
41
// Actual initialization happens when the e2e framework gets constructed.
42
42
return & Provider {}, nil
43
43
}
44
44
45
+ // Provider is a structure to handle Kubemark cluster for e2e testing
45
46
type Provider struct {
46
47
framework.NullProvider
47
48
controller * kubemark.KubemarkController
48
49
closeChannel chan struct {}
49
50
}
50
51
52
+ // ResizeGroup resizes an instance group
51
53
func (p * Provider ) ResizeGroup (group string , size int32 ) error {
52
54
return p .controller .SetNodeGroupSize (group , int (size ))
53
55
}
54
56
57
+ // GetGroupNodes returns a node name for the specified node group
55
58
func (p * Provider ) GetGroupNodes (group string ) ([]string , error ) {
56
59
return p .controller .GetNodeNamesForNodeGroup (group )
57
60
}
58
61
62
+ // FrameworkBeforeEach prepares clients, configurations etc. for e2e testing
59
63
func (p * Provider ) FrameworkBeforeEach (f * framework.Framework ) {
60
64
if * kubemarkExternalKubeConfig != "" && p .controller == nil {
61
65
externalConfig , err := clientcmd .BuildConfigFromFlags ("" , * kubemarkExternalKubeConfig )
@@ -73,11 +77,12 @@ func (p *Provider) FrameworkBeforeEach(f *framework.Framework) {
73
77
p .controller , err = kubemark .NewKubemarkController (externalClient , externalInformerFactory , f .ClientSet , kubemarkNodeInformer )
74
78
framework .ExpectNoError (err )
75
79
externalInformerFactory .Start (p .closeChannel )
76
- Expect (p .controller .WaitForCacheSync (p .closeChannel )).To (BeTrue ())
80
+ gomega . Expect (p .controller .WaitForCacheSync (p .closeChannel )).To (gomega . BeTrue ())
77
81
go p .controller .Run (p .closeChannel )
78
82
}
79
83
}
80
84
85
+ // FrameworkAfterEach cleans up after e2e testing
81
86
func (p * Provider ) FrameworkAfterEach (f * framework.Framework ) {
82
87
if p .closeChannel != nil {
83
88
close (p .closeChannel )
@@ -86,6 +91,7 @@ func (p *Provider) FrameworkAfterEach(f *framework.Framework) {
86
91
}
87
92
}
88
93
94
+ // GroupSize returns the size of an instance group
89
95
func (p * Provider ) GroupSize (group string ) (int , error ) {
90
96
return p .controller .GetNodeGroupSize (group )
91
97
}
0 commit comments