Skip to content

Commit

Permalink
Address comment
Browse files Browse the repository at this point in the history
Signed-off-by: Yun-Tang Hsu <hsuy@vmware.com>
  • Loading branch information
Yun-Tang Hsu committed Sep 23, 2022
1 parent 69344da commit 7b1213f
Show file tree
Hide file tree
Showing 22 changed files with 809 additions and 558 deletions.
6 changes: 0 additions & 6 deletions build/charts/theia/templates/theia-manager/clusterrole.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,4 @@ rules:
- apiGroups: ["crd.theia.antrea.io"]
resources: ["networkpolicyrecommendations"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [ "" ]
resources: [ "pods" ]
verbs: [ "list"]
- apiGroups: [ "" ]
resources: [ "services", "secrets" ]
verbs: [ "get" ]
{{- end }}
22 changes: 1 addition & 21 deletions cmd/theia-manager/theia-manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
"antrea.io/antrea/pkg/log"
"antrea.io/antrea/pkg/signals"
"antrea.io/antrea/pkg/util/cipher"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/klog/v2"

Expand Down Expand Up @@ -53,16 +52,9 @@ func run(o *Options) error {
if err != nil {
return fmt.Errorf("error when generating CRD client: %v", err)
}
k8sClient, err := createK8sClient()
if err != nil {
return fmt.Errorf("error when creating K8s client: %v", err)
}
crdInformerFactory := crdinformers.NewSharedInformerFactory(crdClient, informerDefaultResync)
npRecommendationInformer := crdInformerFactory.Crd().V1alpha1().NetworkPolicyRecommendations()
npRecoController, err := networkpolicyrecommendation.NewNPRecommendationController(crdClient, k8sClient, npRecommendationInformer)
if err != nil {
return fmt.Errorf("error when creating networkPolicyRecommendation controller: %v", err)
}
npRecoController := networkpolicyrecommendation.NewNPRecommendationController(crdClient, npRecommendationInformer)
cipherSuites, err := cipher.GenerateCipherSuitesList(o.config.APIServer.TLSCipherSuites)
if err != nil {
return fmt.Errorf("error when generating Cipher Suite list: %v", err)
Expand All @@ -84,15 +76,3 @@ func run(o *Options) error {
klog.InfoS("Stopping theia manager")
return nil
}

func createK8sClient() (kubernetes.Interface, error) {
config, err := rest.InClusterConfig()
if err != nil {
return nil, err
}
k8sClient, err := kubernetes.NewForConfig(config)
if err != nil {
return nil, err
}
return k8sClient, nil
}
46 changes: 43 additions & 3 deletions pkg/apis/crd/v1alpha1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

const (
NPRecommendationStateNew string = "NEW"
NPRecommendationStateScheduled string = "SCHEDULED"
NPRecommendationStateRunning string = "RUNNING"
NPRecommendationStateCompleted string = "COMPLETED"
NPRecommendationStateFailed string = "FAILED"
)

// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

Expand All @@ -38,8 +46,8 @@ type NetworkPolicyRecommendationSpec struct {
JobType string `json:"jobType,omitempty"`
Limit int `json:"limit,omitempty"`
PolicyType string `json:"policyType,omitempty"`
StartTime metav1.Time `json:"startTime,omitempty"`
EndTime metav1.Time `json:"endTime,omitempty"`
StartInterval metav1.Time `json:"startInterval,omitempty"`
EndInterval metav1.Time `json:"endInterval,omitempty"`
NSAllowList []string `json:"nsAllowList,omitempty"`
ExcludeLabels bool `json:"excludeLabels,omitempty"`
ToServices bool `json:"toServices,omitempty"`
Expand All @@ -51,7 +59,14 @@ type NetworkPolicyRecommendationSpec struct {
}

type NetworkPolicyRecommendationStatus struct {
State string `json:"state,omitempty"`
State string `json:"state,omitempty"`
SparkApplication string `json:"sparkApplication,omitempty"`
CompletedStages int `json:"completedStages,omitempty"`
TotalStages int `json:"totalStages,omitempty"`
RecommendedNP *RecommendedNetworkPolicy `json:"recommendedNetworkPolicy,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
StartTime metav1.Time `json:"startTime,omitempty"`
EndTime metav1.Time `json:"endTime,omitempty"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
Expand All @@ -61,3 +76,28 @@ type NetworkPolicyRecommendationList struct {
metav1.ListMeta `json:"metadata,omitempty"`
Items []NetworkPolicyRecommendation `json:"items"`
}

// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

type RecommendedNetworkPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

Spec RecommendedNetworkPolicySpec `json:"spec,omitempty"`
}

type RecommendedNetworkPolicySpec struct {
Id string `json:"id,omitempty"`
Type string `json:"resultType,omitempty"`
TimeCreated metav1.Time `json:"timeCreated,omitempty"`
Yamls string `json:"yamls,omitempty"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

type RecommendedNetworkPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RecommendedNetworkPolicy `json:"items"`
}
90 changes: 87 additions & 3 deletions pkg/apis/crd/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 11 additions & 9 deletions pkg/apis/intelligence/v1alpha1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ type NetworkPolicyRecommendation struct {
Type string `json:"jobType,omitempty"`
Limit int `json:"limit,omitempty"`
PolicyType string `json:"policyType,omitempty"`
IntervalStart metav1.Time `json:"intervalStart,omitempty"`
IntervalEnd metav1.Time `json:"intervalEnd,omitempty"`
StartInterval metav1.Time `json:"startInterval,omitempty"`
EndInterval metav1.Time `json:"endInterval,omitempty"`
NSAllowList []string `json:"nsAllowList,omitempty"`
ExcludeLabels bool `json:"excludeLabels,omitempty"`
ToServices bool `json:"toServices,omitempty"`
Expand All @@ -51,13 +51,15 @@ type NetworkPolicyRecommendation struct {
}

type NetworkPolicyRecommendationStatus struct {
State string `json:"state,omitempty"`
SparkApplication string `json:"sparkApplication,omitempty"`
CompletedStages int `json:"completedStages,omitempty"`
TotalStages int `json:"totalStages,omitempty"`
RecommendedNetworkPolicy string `json:"recommendedNetworkPolicy,omitempty"`
ErrorCode string `json:"errorCode,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
State string `json:"state,omitempty"`
SparkApplication string `json:"sparkApplication,omitempty"`
CompletedStages int `json:"completedStages,omitempty"`
TotalStages int `json:"totalStages,omitempty"`
RecommendedNetworkPolicy string `json:"recommendedNetworkPolicy,omitempty"`
ErrorCode string `json:"errorCode,omitempty"`
ErrorMsg string `json:"errorMsg,omitempty"`
StartTime metav1.Time `json:"startTime,omitempty"`
EndTime metav1.Time `json:"endTime,omitempty"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
Expand Down
8 changes: 5 additions & 3 deletions pkg/apis/intelligence/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 7b1213f

Please sign in to comment.