Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changed from 'size' to 'replicas' #271

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions pkg/apis/jaegertracing/v1/jaeger_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,12 @@ type JaegerCommonSpec struct {

// JaegerQuerySpec defines the options to be used when deploying the query
type JaegerQuerySpec struct {
Size int `json:"size"`
// Size represents the number of replicas to create for this service. DEPRECATED, use `Replicas` instead.
Size int `json:"size"`

// Replicas represents the number of replicas to create for this service.
Replicas *int32 `json:"replicas"`

Image string `json:"image"`
Options Options `json:"options"`
JaegerCommonSpec
Expand Down Expand Up @@ -116,15 +121,25 @@ type JaegerAllInOneSpec struct {

// JaegerCollectorSpec defines the options to be used when deploying the collector
type JaegerCollectorSpec struct {
Size int `json:"size"`
// Size represents the number of replicas to create for this service. DEPRECATED, use `Replicas` instead.
Size int `json:"size"`

// Replicas represents the number of replicas to create for this service.
Replicas *int32 `json:"replicas"`

Image string `json:"image"`
Options Options `json:"options"`
JaegerCommonSpec
}

// JaegerIngesterSpec defines the options to be used when deploying the ingester
type JaegerIngesterSpec struct {
Size int `json:"size"`
// Size represents the number of replicas to create for this service. DEPRECATED, use `Replicas` instead.
Size int `json:"size"`

// Replicas represents the number of replicas to create for this service.
Replicas *int32 `json:"replicas"`

Image string `json:"image"`
Options Options `json:"options"`
JaegerCommonSpec
Expand Down
15 changes: 15 additions & 0 deletions pkg/apis/jaegertracing/v1/zz_generated.deepcopy.go

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

13 changes: 9 additions & 4 deletions pkg/deployment/collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,14 @@ type Collector struct {

// NewCollector builds a new Collector struct based on the given spec
func NewCollector(jaeger *v1.Jaeger) *Collector {
if jaeger.Spec.Collector.Size <= 0 {
jaeger.Spec.Collector.Size = 1
if jaeger.Spec.Collector.Replicas == nil || *jaeger.Spec.Collector.Replicas < 0 {
replicaSize := int32(1)
if jaeger.Spec.Collector.Size > 0 {
jaeger.Logger().Warn("The 'size' property for the collector is deprecated. Use 'replicas' instead.")
replicaSize = int32(jaeger.Spec.Collector.Size)
}

jaeger.Spec.Collector.Replicas = &replicaSize
}

if jaeger.Spec.Collector.Image == "" {
Expand All @@ -42,7 +48,6 @@ func (c *Collector) Get() *appsv1.Deployment {

labels := c.labels()
trueVar := true
replicas := int32(c.jaeger.Spec.Collector.Size)

baseCommonSpec := v1.JaegerCommonSpec{
Annotations: map[string]string{
Expand Down Expand Up @@ -98,7 +103,7 @@ func (c *Collector) Get() *appsv1.Deployment {
},
},
Spec: appsv1.DeploymentSpec{
Replicas: &replicas,
Replicas: c.jaeger.Spec.Collector.Replicas,
Selector: &metav1.LabelSelector{
MatchLabels: labels,
},
Expand Down
41 changes: 40 additions & 1 deletion pkg/deployment/collector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,54 @@ func TestNegativeSize(t *testing.T) {
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestNegativeReplicas(t *testing.T) {
size := int32(-1)
jaeger := v1.NewJaeger("TestNegativeReplicas")
jaeger.Spec.Collector.Replicas = &size

collector := NewCollector(jaeger)
dep := collector.Get()
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestDefaultSize(t *testing.T) {
jaeger := v1.NewJaeger("TestDefaultSize")
jaeger.Spec.Collector.Size = 0

collector := NewCollector(jaeger)
dep := collector.Get()
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestReplicaSize(t *testing.T) {
size := int32(0)
jaeger := v1.NewJaeger("TestReplicaSize")
jaeger.Spec.Collector.Replicas = &size

collector := NewCollector(jaeger)
dep := collector.Get()
assert.Equal(t, int32(0), *dep.Spec.Replicas)
}

func TestSize(t *testing.T) {
jaeger := v1.NewJaeger("TestSize")
jaeger.Spec.Collector.Size = 2

collector := NewCollector(jaeger)
dep := collector.Get()
assert.Equal(t, int32(2), *dep.Spec.Replicas)
}

func TestReplicaWinsOverSize(t *testing.T) {
size := int32(3)
jaeger := v1.NewJaeger("TestReplicaWinsOverSize")
jaeger.Spec.Collector.Size = 2
jaeger.Spec.Collector.Replicas = &size

collector := NewCollector(jaeger)
dep := collector.Get()
assert.Equal(t, int32(3), *dep.Spec.Replicas)
}

func TestName(t *testing.T) {
collector := NewCollector(v1.NewJaeger("TestName"))
dep := collector.Get()
Expand Down
13 changes: 9 additions & 4 deletions pkg/deployment/ingester.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,14 @@ type Ingester struct {

// NewIngester builds a new Ingester struct based on the given spec
func NewIngester(jaeger *v1.Jaeger) *Ingester {
if jaeger.Spec.Ingester.Size <= 0 {
jaeger.Spec.Ingester.Size = 1
if jaeger.Spec.Ingester.Replicas == nil || *jaeger.Spec.Ingester.Replicas < 0 {
replicaSize := int32(1)
if jaeger.Spec.Ingester.Size > 0 {
jaeger.Logger().Warn("The 'size' property for the ingester is deprecated. Use 'replicas' instead.")
replicaSize = int32(jaeger.Spec.Ingester.Size)
}

jaeger.Spec.Ingester.Replicas = &replicaSize
}

if jaeger.Spec.Ingester.Image == "" {
Expand All @@ -44,7 +50,6 @@ func (i *Ingester) Get() *appsv1.Deployment {

labels := i.labels()
trueVar := true
replicas := int32(i.jaeger.Spec.Ingester.Size)

baseCommonSpec := v1.JaegerCommonSpec{
Annotations: map[string]string{
Expand Down Expand Up @@ -91,7 +96,7 @@ func (i *Ingester) Get() *appsv1.Deployment {
},
},
Spec: appsv1.DeploymentSpec{
Replicas: &replicas,
Replicas: i.jaeger.Spec.Ingester.Replicas,
Selector: &metav1.LabelSelector{
MatchLabels: labels,
},
Expand Down
41 changes: 40 additions & 1 deletion pkg/deployment/ingester_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,54 @@ func TestIngesterNegativeSize(t *testing.T) {
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestIngesterNegativeReplicas(t *testing.T) {
size := int32(-1)
jaeger := newIngesterJaeger("TestIngesterNegativeReplicas")
jaeger.Spec.Ingester.Replicas = &size

ingester := NewIngester(jaeger)
dep := ingester.Get()
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestIngesterDefaultSize(t *testing.T) {
jaeger := newIngesterJaeger("TestIngesterDefaultSize")
jaeger.Spec.Ingester.Size = 0

ingester := NewIngester(jaeger)
dep := ingester.Get()
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestIngesterReplicaSize(t *testing.T) {
size := int32(0)
jaeger := newIngesterJaeger("TestIngesterReplicaSize")
jaeger.Spec.Ingester.Replicas = &size

ingester := NewIngester(jaeger)
dep := ingester.Get()
assert.Equal(t, int32(0), *dep.Spec.Replicas)
}

func TestIngesterSize(t *testing.T) {
jaeger := newIngesterJaeger("TestIngesterSize")
jaeger.Spec.Ingester.Size = 2

ingester := NewIngester(jaeger)
dep := ingester.Get()
assert.Equal(t, int32(2), *dep.Spec.Replicas)
}

func TestIngesterReplicaWinsOverSize(t *testing.T) {
size := int32(3)
jaeger := newIngesterJaeger("TestIngesterReplicaWinsOverSize")
jaeger.Spec.Ingester.Size = 2
jaeger.Spec.Ingester.Replicas = &size

ingester := NewIngester(jaeger)
dep := ingester.Get()
assert.Equal(t, int32(3), *dep.Spec.Replicas)
}

func TestIngesterName(t *testing.T) {
jaeger := newIngesterJaeger("TestIngesterName")
ingester := NewIngester(jaeger)
Expand Down
13 changes: 9 additions & 4 deletions pkg/deployment/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,14 @@ type Query struct {

// NewQuery builds a new Query struct based on the given spec
func NewQuery(jaeger *v1.Jaeger) *Query {
if jaeger.Spec.Query.Size <= 0 {
jaeger.Spec.Query.Size = 1
if jaeger.Spec.Query.Replicas == nil || *jaeger.Spec.Query.Replicas < 0 {
replicaSize := int32(1)
if jaeger.Spec.Query.Size > 0 {
jaeger.Logger().Warn("The 'size' property for the query is deprecated. Use 'replicas' instead.")
replicaSize = int32(jaeger.Spec.Query.Size)
}

jaeger.Spec.Query.Replicas = &replicaSize
}

if jaeger.Spec.Query.Image == "" {
Expand All @@ -40,7 +46,6 @@ func (q *Query) Get() *appsv1.Deployment {
q.jaeger.Logger().Debug("Assembling a query deployment")
labels := q.labels()
trueVar := true
replicas := int32(q.jaeger.Spec.Query.Size)

baseCommonSpec := v1.JaegerCommonSpec{
Annotations: map[string]string{
Expand Down Expand Up @@ -95,7 +100,7 @@ func (q *Query) Get() *appsv1.Deployment {
},
},
Spec: appsv1.DeploymentSpec{
Replicas: &replicas,
Replicas: q.jaeger.Spec.Query.Replicas,
Selector: &metav1.LabelSelector{
MatchLabels: labels,
},
Expand Down
41 changes: 40 additions & 1 deletion pkg/deployment/query_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,54 @@ func TestQueryNegativeSize(t *testing.T) {
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestQueryNegativeReplicas(t *testing.T) {
size := int32(-1)
jaeger := v1.NewJaeger("TestQueryNegativeReplicas")
jaeger.Spec.Query.Replicas = &size

query := NewQuery(jaeger)
dep := query.Get()
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestQueryDefaultSize(t *testing.T) {
jaeger := v1.NewJaeger("TestQueryDefaultSize")
jaeger.Spec.Query.Size = 0

query := NewQuery(jaeger)
dep := query.Get()
assert.Equal(t, int32(1), *dep.Spec.Replicas)
}

func TestQueryReplicaSize(t *testing.T) {
size := int32(0)
jaeger := v1.NewJaeger("TestQueryReplicaSize")
jaeger.Spec.Query.Replicas = &size

ingester := NewQuery(jaeger)
dep := ingester.Get()
assert.Equal(t, int32(0), *dep.Spec.Replicas)
}

func TestQuerySize(t *testing.T) {
jaeger := v1.NewJaeger("TestQuerySize")
jaeger.Spec.Query.Size = 2

query := NewQuery(jaeger)
dep := query.Get()
assert.Equal(t, int32(2), *dep.Spec.Replicas)
}

func TestQueryReplicaWinsOverSize(t *testing.T) {
size := int32(3)
jaeger := v1.NewJaeger("TestQueryReplicaWinsOverSize")
jaeger.Spec.Query.Size = 2
jaeger.Spec.Query.Replicas = &size

query := NewQuery(jaeger)
dep := query.Get()
assert.Equal(t, int32(3), *dep.Spec.Replicas)
}

func TestDefaultQueryImage(t *testing.T) {
viper.Set("jaeger-query-image", "org/custom-query-image")
viper.Set("jaeger-version", "123")
Expand Down