mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +00:00
Address review comments.
This commit is contained in:
parent
f358402623
commit
e7a9f30936
@ -964,6 +964,7 @@ __EOF__
|
|||||||
kube::test::get_object_assert 'job pi' "{{$job_parallelism_field}}" '2'
|
kube::test::get_object_assert 'job pi' "{{$job_parallelism_field}}" '2'
|
||||||
# Clean-up
|
# Clean-up
|
||||||
kubectl delete job/pi "${kube_flags[@]}"
|
kubectl delete job/pi "${kube_flags[@]}"
|
||||||
|
# TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
# ### Scale a deployment
|
# ### Scale a deployment
|
||||||
# kubectl create -f examples/extensions/deployment.yaml "${kube_flags[@]}"
|
# kubectl create -f examples/extensions/deployment.yaml "${kube_flags[@]}"
|
||||||
# # Command
|
# # Command
|
||||||
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||||||
|
|
||||||
package extensions
|
package extensions
|
||||||
|
|
||||||
// TODO(madhusudancs): Fix this when Scale group issues are resolved.
|
// TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
// import (
|
// import (
|
||||||
// "fmt"
|
// "fmt"
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ type DeploymentSpec struct {
|
|||||||
// Defaults to 0 (pod will be considered available as soon as it is ready)
|
// Defaults to 0 (pod will be considered available as soon as it is ready)
|
||||||
MinReadySeconds int `json:"minReadySeconds,omitempty"`
|
MinReadySeconds int `json:"minReadySeconds,omitempty"`
|
||||||
|
|
||||||
// The number of old ReplicationControllers to retain to allow rollback.
|
// The number of old ReplicaSets to retain to allow rollback.
|
||||||
// This is a pointer to distinguish between explicit zero and not specified.
|
// This is a pointer to distinguish between explicit zero and not specified.
|
||||||
RevisionHistoryLimit *int `json:"revisionHistoryLimit,omitempty"`
|
RevisionHistoryLimit *int `json:"revisionHistoryLimit,omitempty"`
|
||||||
|
|
||||||
|
@ -199,7 +199,7 @@ type ThirdPartyResourceData struct {
|
|||||||
Data []byte `json:"data,omitempty"`
|
Data []byte `json:"data,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deployment enables declarative updates for Pods and ReplicationControllers.
|
// Deployment enables declarative updates for Pods and ReplicaSets.
|
||||||
type Deployment struct {
|
type Deployment struct {
|
||||||
unversioned.TypeMeta `json:",inline"`
|
unversioned.TypeMeta `json:",inline"`
|
||||||
// Standard object metadata.
|
// Standard object metadata.
|
||||||
@ -218,7 +218,7 @@ type DeploymentSpec struct {
|
|||||||
// zero and not specified. Defaults to 1.
|
// zero and not specified. Defaults to 1.
|
||||||
Replicas *int32 `json:"replicas,omitempty"`
|
Replicas *int32 `json:"replicas,omitempty"`
|
||||||
|
|
||||||
// Label selector for pods. Existing ReplicationControllers whose pods are
|
// Label selector for pods. Existing ReplicaSets whose pods are
|
||||||
// selected by this will be the ones affected by this deployment.
|
// selected by this will be the ones affected by this deployment.
|
||||||
Selector *LabelSelector `json:"selector,omitempty"`
|
Selector *LabelSelector `json:"selector,omitempty"`
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ type DeploymentSpec struct {
|
|||||||
// Defaults to 0 (pod will be considered available as soon as it is ready)
|
// Defaults to 0 (pod will be considered available as soon as it is ready)
|
||||||
MinReadySeconds int32 `json:"minReadySeconds,omitempty"`
|
MinReadySeconds int32 `json:"minReadySeconds,omitempty"`
|
||||||
|
|
||||||
// The number of old ReplicationControllers to retain to allow rollback.
|
// The number of old ReplicaSets to retain to allow rollback.
|
||||||
// This is a pointer to distinguish between explicit zero and not specified.
|
// This is a pointer to distinguish between explicit zero and not specified.
|
||||||
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`
|
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ func (DaemonSetUpdateStrategy) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_Deployment = map[string]string{
|
var map_Deployment = map[string]string{
|
||||||
"": "Deployment enables declarative updates for Pods and ReplicationControllers.",
|
"": "Deployment enables declarative updates for Pods and ReplicaSets.",
|
||||||
"metadata": "Standard object metadata.",
|
"metadata": "Standard object metadata.",
|
||||||
"spec": "Specification of the desired behavior of the Deployment.",
|
"spec": "Specification of the desired behavior of the Deployment.",
|
||||||
"status": "Most recently observed status of the Deployment.",
|
"status": "Most recently observed status of the Deployment.",
|
||||||
@ -181,11 +181,11 @@ func (DeploymentRollback) SwaggerDoc() map[string]string {
|
|||||||
var map_DeploymentSpec = map[string]string{
|
var map_DeploymentSpec = map[string]string{
|
||||||
"": "DeploymentSpec is the specification of the desired behavior of the Deployment.",
|
"": "DeploymentSpec is the specification of the desired behavior of the Deployment.",
|
||||||
"replicas": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.",
|
"replicas": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.",
|
||||||
"selector": "Label selector for pods. Existing ReplicationControllers whose pods are selected by this will be the ones affected by this deployment.",
|
"selector": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.",
|
||||||
"template": "Template describes the pods that will be created.",
|
"template": "Template describes the pods that will be created.",
|
||||||
"strategy": "The deployment strategy to use to replace existing pods with new ones.",
|
"strategy": "The deployment strategy to use to replace existing pods with new ones.",
|
||||||
"minReadySeconds": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)",
|
"minReadySeconds": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)",
|
||||||
"revisionHistoryLimit": "The number of old ReplicationControllers to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.",
|
"revisionHistoryLimit": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.",
|
||||||
"paused": "Indicates that the deployment is paused and will not be processed by the deployment controller.",
|
"paused": "Indicates that the deployment is paused and will not be processed by the deployment controller.",
|
||||||
"rollbackTo": "The config this deployment is rolling back to. Will be cleared after rollback is done.",
|
"rollbackTo": "The config this deployment is rolling back to. Will be cleared after rollback is done.",
|
||||||
}
|
}
|
||||||
|
@ -125,6 +125,7 @@ __custom_func() {
|
|||||||
* persistentvolumeclaims (aka 'pvc')
|
* persistentvolumeclaims (aka 'pvc')
|
||||||
* quota
|
* quota
|
||||||
* resourcequotas (aka 'quota')
|
* resourcequotas (aka 'quota')
|
||||||
|
* replicasets (aka 'rs')
|
||||||
* replicationcontrollers (aka 'rc')
|
* replicationcontrollers (aka 'rc')
|
||||||
* secrets
|
* secrets
|
||||||
* serviceaccounts
|
* serviceaccounts
|
||||||
|
@ -1607,12 +1607,16 @@ func (dd *DeploymentDescriber) Describe(namespace, name string) (string, error)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
selector, err := unversioned.LabelSelectorAsSelector(d.Spec.Selector)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
return tabbedString(func(out io.Writer) error {
|
return tabbedString(func(out io.Writer) error {
|
||||||
fmt.Fprintf(out, "Name:\t%s\n", d.ObjectMeta.Name)
|
fmt.Fprintf(out, "Name:\t%s\n", d.ObjectMeta.Name)
|
||||||
fmt.Fprintf(out, "Namespace:\t%s\n", d.ObjectMeta.Namespace)
|
fmt.Fprintf(out, "Namespace:\t%s\n", d.ObjectMeta.Namespace)
|
||||||
fmt.Fprintf(out, "CreationTimestamp:\t%s\n", d.CreationTimestamp.Time.Format(time.RFC1123Z))
|
fmt.Fprintf(out, "CreationTimestamp:\t%s\n", d.CreationTimestamp.Time.Format(time.RFC1123Z))
|
||||||
fmt.Fprintf(out, "Labels:\t%s\n", labels.FormatLabels(d.Labels))
|
fmt.Fprintf(out, "Labels:\t%s\n", labels.FormatLabels(d.Labels))
|
||||||
fmt.Fprintf(out, "Selector:\t%s\n", d.Spec.Selector)
|
fmt.Fprintf(out, "Selector:\t%s\n", selector)
|
||||||
fmt.Fprintf(out, "Replicas:\t%d updated | %d total | %d available | %d unavailable\n", d.Status.UpdatedReplicas, d.Spec.Replicas, d.Status.AvailableReplicas, d.Status.UnavailableReplicas)
|
fmt.Fprintf(out, "Replicas:\t%d updated | %d total | %d available | %d unavailable\n", d.Status.UpdatedReplicas, d.Spec.Replicas, d.Status.AvailableReplicas, d.Status.UnavailableReplicas)
|
||||||
fmt.Fprintf(out, "StrategyType:\t%s\n", d.Spec.Strategy.Type)
|
fmt.Fprintf(out, "StrategyType:\t%s\n", d.Spec.Strategy.Type)
|
||||||
fmt.Fprintf(out, "MinReadySeconds:\t%s\n", d.Spec.MinReadySeconds)
|
fmt.Fprintf(out, "MinReadySeconds:\t%s\n", d.Spec.MinReadySeconds)
|
||||||
|
@ -58,7 +58,7 @@ type DeploymentHistoryViewer struct {
|
|||||||
c clientset.Interface
|
c clientset.Interface
|
||||||
}
|
}
|
||||||
|
|
||||||
// History returns a revision-to-RC map as the revision history of a deployment
|
// History returns a revision-to-replicaset map as the revision history of a deployment
|
||||||
func (h *DeploymentHistoryViewer) History(namespace, name string) (HistoryInfo, error) {
|
func (h *DeploymentHistoryViewer) History(namespace, name string) (HistoryInfo, error) {
|
||||||
historyInfo := HistoryInfo{
|
historyInfo := HistoryInfo{
|
||||||
RevisionToTemplate: make(map[int64]*api.PodTemplateSpec),
|
RevisionToTemplate: make(map[int64]*api.PodTemplateSpec),
|
||||||
@ -67,22 +67,22 @@ func (h *DeploymentHistoryViewer) History(namespace, name string) (HistoryInfo,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return historyInfo, fmt.Errorf("failed to retrieve deployment %s: %v", name, err)
|
return historyInfo, fmt.Errorf("failed to retrieve deployment %s: %v", name, err)
|
||||||
}
|
}
|
||||||
_, allOldRCs, err := deploymentutil.GetOldReplicaSets(*deployment, h.c)
|
_, allOldRSs, err := deploymentutil.GetOldReplicaSets(*deployment, h.c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return historyInfo, fmt.Errorf("failed to retrieve old RCs from deployment %s: %v", name, err)
|
return historyInfo, fmt.Errorf("failed to retrieve old replica sets from deployment %s: %v", name, err)
|
||||||
}
|
}
|
||||||
newRC, err := deploymentutil.GetNewReplicaSet(*deployment, h.c)
|
newRS, err := deploymentutil.GetNewReplicaSet(*deployment, h.c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return historyInfo, fmt.Errorf("failed to retrieve new RC from deployment %s: %v", name, err)
|
return historyInfo, fmt.Errorf("failed to retrieve new replica set from deployment %s: %v", name, err)
|
||||||
}
|
}
|
||||||
allRCs := append(allOldRCs, newRC)
|
allRSs := append(allOldRSs, newRS)
|
||||||
for _, rc := range allRCs {
|
for _, rs := range allRSs {
|
||||||
v, err := deploymentutil.Revision(rc)
|
v, err := deploymentutil.Revision(rs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
historyInfo.RevisionToTemplate[v] = rc.Spec.Template
|
historyInfo.RevisionToTemplate[v] = rs.Spec.Template
|
||||||
changeCause := getChangeCause(rc)
|
changeCause := getChangeCause(rs)
|
||||||
if historyInfo.RevisionToTemplate[v].Annotations == nil {
|
if historyInfo.RevisionToTemplate[v].Annotations == nil {
|
||||||
historyInfo.RevisionToTemplate[v].Annotations = make(map[string]string)
|
historyInfo.RevisionToTemplate[v].Annotations = make(map[string]string)
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ func ScalerFor(kind unversioned.GroupKind, c client.Interface) (Scaler, error) {
|
|||||||
return &ReplicaSetScaler{c.Extensions()}, nil
|
return &ReplicaSetScaler{c.Extensions()}, nil
|
||||||
case extensions.Kind("Job"):
|
case extensions.Kind("Job"):
|
||||||
return &JobScaler{c.Extensions()}, nil
|
return &JobScaler{c.Extensions()}, nil
|
||||||
// TODO(madhusudancs): Fix this when Scale group issues are resolved.
|
// TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
// case extensions.Kind("Deployment"):
|
// case extensions.Kind("Deployment"):
|
||||||
// return &DeploymentScaler{c.Extensions()}, nil
|
// return &DeploymentScaler{c.Extensions()}, nil
|
||||||
}
|
}
|
||||||
@ -328,7 +328,7 @@ func (precondition *ScalePrecondition) ValidateDeployment(deployment *extensions
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(madhusudancs): Fix this when Scale group issues are resolved.
|
// TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
// type DeploymentScaler struct {
|
// type DeploymentScaler struct {
|
||||||
// c client.ExtensionsInterface
|
// c client.ExtensionsInterface
|
||||||
// }
|
// }
|
||||||
|
@ -488,7 +488,7 @@ func TestValidateJob(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(madhusudancs): Fix this when Scale group issues are resolved.
|
// TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
|
|
||||||
// type ErrorScales struct {
|
// type ErrorScales struct {
|
||||||
// testclient.FakeScales
|
// testclient.FakeScales
|
||||||
|
@ -624,7 +624,7 @@ func (m *Master) getExtensionResources(c *Config) map[string]rest.Storage {
|
|||||||
deploymentStorage := deploymentetcd.NewStorage(dbClient("deployments"), storageDecorator)
|
deploymentStorage := deploymentetcd.NewStorage(dbClient("deployments"), storageDecorator)
|
||||||
storage["deployments"] = deploymentStorage.Deployment
|
storage["deployments"] = deploymentStorage.Deployment
|
||||||
storage["deployments/status"] = deploymentStorage.Status
|
storage["deployments/status"] = deploymentStorage.Status
|
||||||
// TODO(madhusudancs): Install scale when Scale group issues are fixed.
|
// TODO(madhusudancs): Install scale when Scale group issues are fixed (see issue #18528).
|
||||||
// storage["deployments/scale"] = deploymentStorage.Scale
|
// storage["deployments/scale"] = deploymentStorage.Scale
|
||||||
storage["deployments/rollback"] = deploymentStorage.Rollback
|
storage["deployments/rollback"] = deploymentStorage.Rollback
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ type ScaleREST struct {
|
|||||||
registry *deployment.Registry
|
registry *deployment.Registry
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(madhusudancs): Fix this when Scale group issues are resolved.
|
// TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
|
|
||||||
// // ScaleREST implements Patcher
|
// // ScaleREST implements Patcher
|
||||||
// var _ = rest.Patcher(&ScaleREST{})
|
// var _ = rest.Patcher(&ScaleREST{})
|
||||||
|
@ -179,7 +179,7 @@ func TestWatch(t *testing.T) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(madhusudancs): Fix this when Scale group issues are resolved.
|
// TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
|
|
||||||
// func validNewScale() *extensions.Scale {
|
// func validNewScale() *extensions.Scale {
|
||||||
// return &extensions.Scale{
|
// return &extensions.Scale{
|
||||||
|
@ -55,7 +55,7 @@ func GetOldReplicaSets(deployment extensions.Deployment, c clientset.Interface)
|
|||||||
|
|
||||||
// GetOldReplicaSetsFromLists returns two sets of old replica sets targeted by the given Deployment; get PodList and ReplicaSetList with input functions.
|
// GetOldReplicaSetsFromLists returns two sets of old replica sets targeted by the given Deployment; get PodList and ReplicaSetList with input functions.
|
||||||
// Note that the first set of old replica sets doesn't include the ones with no pods, and the second set of old replica sets include all old replica sets.
|
// Note that the first set of old replica sets doesn't include the ones with no pods, and the second set of old replica sets include all old replica sets.
|
||||||
func GetOldReplicaSetsFromLists(deployment extensions.Deployment, c clientset.Interface, getPodList func(string, api.ListOptions) (*api.PodList, error), getRcList func(string, api.ListOptions) ([]extensions.ReplicaSet, error)) ([]*extensions.ReplicaSet, []*extensions.ReplicaSet, error) {
|
func GetOldReplicaSetsFromLists(deployment extensions.Deployment, c clientset.Interface, getPodList func(string, api.ListOptions) (*api.PodList, error), getRSList func(string, api.ListOptions) ([]extensions.ReplicaSet, error)) ([]*extensions.ReplicaSet, []*extensions.ReplicaSet, error) {
|
||||||
namespace := deployment.ObjectMeta.Namespace
|
namespace := deployment.ObjectMeta.Namespace
|
||||||
selector, err := unversioned.LabelSelectorAsSelector(deployment.Spec.Selector)
|
selector, err := unversioned.LabelSelectorAsSelector(deployment.Spec.Selector)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -72,7 +72,7 @@ func GetOldReplicaSetsFromLists(deployment extensions.Deployment, c clientset.In
|
|||||||
// TODO: Right now we list all replica sets and then filter. We should add an API for this.
|
// TODO: Right now we list all replica sets and then filter. We should add an API for this.
|
||||||
oldRSs := map[string]extensions.ReplicaSet{}
|
oldRSs := map[string]extensions.ReplicaSet{}
|
||||||
allOldRSs := map[string]extensions.ReplicaSet{}
|
allOldRSs := map[string]extensions.ReplicaSet{}
|
||||||
rsList, err := getRcList(namespace, options)
|
rsList, err := getRSList(namespace, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("error listing replica sets: %v", err)
|
return nil, nil, fmt.Errorf("error listing replica sets: %v", err)
|
||||||
}
|
}
|
||||||
@ -119,14 +119,14 @@ func GetNewReplicaSet(deployment extensions.Deployment, c clientset.Interface) (
|
|||||||
|
|
||||||
// GetNewReplicaSetFromList returns a replica set that matches the intent of the given deployment; get ReplicaSetList with the input function.
|
// GetNewReplicaSetFromList returns a replica set that matches the intent of the given deployment; get ReplicaSetList with the input function.
|
||||||
// Returns nil if the new replica set doesnt exist yet.
|
// Returns nil if the new replica set doesnt exist yet.
|
||||||
func GetNewReplicaSetFromList(deployment extensions.Deployment, c clientset.Interface, getRcList func(string, api.ListOptions) ([]extensions.ReplicaSet, error)) (*extensions.ReplicaSet, error) {
|
func GetNewReplicaSetFromList(deployment extensions.Deployment, c clientset.Interface, getRSList func(string, api.ListOptions) ([]extensions.ReplicaSet, error)) (*extensions.ReplicaSet, error) {
|
||||||
namespace := deployment.ObjectMeta.Namespace
|
namespace := deployment.ObjectMeta.Namespace
|
||||||
selector, err := unversioned.LabelSelectorAsSelector(deployment.Spec.Selector)
|
selector, err := unversioned.LabelSelectorAsSelector(deployment.Spec.Selector)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to convert LabelSelector to Selector: %v", err)
|
return nil, fmt.Errorf("failed to convert LabelSelector to Selector: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
rsList, err := getRcList(namespace, api.ListOptions{LabelSelector: selector})
|
rsList, err := getRSList(namespace, api.ListOptions{LabelSelector: selector})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error listing ReplicaSets: %v", err)
|
return nil, fmt.Errorf("error listing ReplicaSets: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -81,9 +81,7 @@ func CloneSelectorAndAddLabel(selector *unversioned.LabelSelector, labelKey stri
|
|||||||
newMExps[i].Operator = me.Operator
|
newMExps[i].Operator = me.Operator
|
||||||
if me.Values != nil {
|
if me.Values != nil {
|
||||||
newMExps[i].Values = make([]string, len(me.Values))
|
newMExps[i].Values = make([]string, len(me.Values))
|
||||||
for j, val := range me.Values {
|
copy(newMExps[i].Values, me.Values)
|
||||||
newMExps[i].Values[j] = val
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
newMExps[i].Values = nil
|
newMExps[i].Values = nil
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ var _ = Describe("Horizontal pod autoscaling (scale resource: CPU) [Serial] [Slo
|
|||||||
titleUp := "Should scale from 1 pod to 3 pods and from 3 to 5"
|
titleUp := "Should scale from 1 pod to 3 pods and from 3 to 5"
|
||||||
titleDown := "Should scale from 5 pods to 3 pods and from 3 to 1"
|
titleDown := "Should scale from 5 pods to 3 pods and from 3 to 1"
|
||||||
|
|
||||||
// TODO(madhusudancs): Fix this when Scale group issues are resolved.
|
// TODO(madhusudancs): Fix this when Scale group issues are resolved (see issue #18528).
|
||||||
// Describe("Deployment [Feature:Deployment]", func() {
|
// Describe("Deployment [Feature:Deployment]", func() {
|
||||||
// // CPU tests via deployments
|
// // CPU tests via deployments
|
||||||
// It(titleUp, func() {
|
// It(titleUp, func() {
|
||||||
|
Loading…
Reference in New Issue
Block a user