|
|
@ -40,7 +40,7 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "service reg, new node",
|
|
|
|
Name: "service reg, new node",
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web"))
|
|
|
|
testServiceRegistration(t, "web"), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
testServiceHealthEvent(t, "web"),
|
|
|
|
testServiceHealthEvent(t, "web"),
|
|
|
@ -51,11 +51,11 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "service reg, existing node",
|
|
|
|
Name: "service reg, existing node",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db"))
|
|
|
|
testServiceRegistration(t, "db"), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web"))
|
|
|
|
testServiceRegistration(t, "web"), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// Should only publish new service
|
|
|
|
// Should only publish new service
|
|
|
@ -67,11 +67,11 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "service dereg, existing node",
|
|
|
|
Name: "service dereg, existing node",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -88,10 +88,10 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Name: "node dereg",
|
|
|
|
Name: "node dereg",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "db")); err != nil {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web")); err != nil {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -109,7 +109,7 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Name: "connect native reg, new node",
|
|
|
|
Name: "connect native reg, new node",
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regConnectNative))
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regConnectNative), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see both a regular service health event as well as a connect
|
|
|
|
// We should see both a regular service health event as well as a connect
|
|
|
@ -122,10 +122,10 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Name: "connect native reg, existing node",
|
|
|
|
Name: "connect native reg, existing node",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "db"))
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "db"), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regConnectNative))
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regConnectNative), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see both a regular service health event as well as a connect
|
|
|
|
// We should see both a regular service health event as well as a connect
|
|
|
@ -143,11 +143,11 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Name: "connect native dereg, existing node",
|
|
|
|
Name: "connect native dereg, existing node",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "db")); err != nil {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regConnectNative))
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regConnectNative), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
return s.deleteServiceTxn(tx, tx.Index, "node1", "web", nil)
|
|
|
|
return s.deleteServiceTxn(tx, tx.Index, "node1", "web", nil)
|
|
|
@ -162,10 +162,10 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Name: "connect sidecar reg, new node",
|
|
|
|
Name: "connect sidecar reg, new node",
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web")); err != nil {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regSidecar))
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false, testServiceRegistration(t, "web", regSidecar), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see both a regular service health event for the web service
|
|
|
|
// We should see both a regular service health event for the web service
|
|
|
@ -180,15 +180,15 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "connect sidecar reg, existing node",
|
|
|
|
Name: "connect sidecar reg, existing node",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web"))
|
|
|
|
testServiceRegistration(t, "web"), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar))
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see both a regular service health event for the proxy
|
|
|
|
// We should see both a regular service health event for the proxy
|
|
|
@ -202,15 +202,15 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "connect sidecar dereg, existing node",
|
|
|
|
Name: "connect sidecar dereg, existing node",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar))
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Delete only the sidecar
|
|
|
|
// Delete only the sidecar
|
|
|
@ -227,20 +227,20 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "connect sidecar mutate svc",
|
|
|
|
Name: "connect sidecar mutate svc",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar))
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Change port of the target service instance
|
|
|
|
// Change port of the target service instance
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regMutatePort))
|
|
|
|
testServiceRegistration(t, "web", regMutatePort), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see the service topic update but not connect since proxy
|
|
|
|
// We should see the service topic update but not connect since proxy
|
|
|
@ -258,20 +258,20 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "connect sidecar mutate sidecar",
|
|
|
|
Name: "connect sidecar mutate sidecar",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar))
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Change port of the sidecar service instance
|
|
|
|
// Change port of the sidecar service instance
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regMutatePort))
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regMutatePort), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see the proxy service topic update and a connect update
|
|
|
|
// We should see the proxy service topic update and a connect update
|
|
|
@ -295,24 +295,24 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Name: "connect sidecar rename service",
|
|
|
|
Name: "connect sidecar rename service",
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar))
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Change service name but not ID, update proxy too
|
|
|
|
// Change service name but not ID, update proxy too
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regRenameService)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regRenameService), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regRenameService))
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regRenameService), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see events to deregister the old service instance and the
|
|
|
|
// We should see events to deregister the old service instance and the
|
|
|
@ -353,25 +353,25 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
// Register a web_changed service
|
|
|
|
// Register a web_changed service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web_changed")); err != nil {
|
|
|
|
testServiceRegistration(t, "web_changed"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// And a sidecar initially for web, will be moved to target web_changed
|
|
|
|
// And a sidecar initially for web, will be moved to target web_changed
|
|
|
|
// in Mutate.
|
|
|
|
// in Mutate.
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar))
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Change only the destination service of the proxy without a service
|
|
|
|
// Change only the destination service of the proxy without a service
|
|
|
|
// rename or deleting and recreating the proxy. This is far fetched but
|
|
|
|
// rename or deleting and recreating the proxy. This is far fetched but
|
|
|
|
// still valid.
|
|
|
|
// still valid.
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regRenameService))
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regRenameService), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should only see service health events for the sidecar service
|
|
|
|
// We should only see service health events for the sidecar service
|
|
|
@ -405,17 +405,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -423,7 +423,7 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Change only the node meta.
|
|
|
|
// Change only the node meta.
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
return s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testNodeRegistration(t, regNodeMeta))
|
|
|
|
testNodeRegistration(t, regNodeMeta), false)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
WantEvents: []stream.Event{
|
|
|
|
// We should see updates for all services and a connect update for the
|
|
|
|
// We should see updates for all services and a connect update for the
|
|
|
@ -463,17 +463,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -485,17 +485,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
// services registered afterwards.
|
|
|
|
// services registered afterwards.
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db", regRenameNode)); err != nil {
|
|
|
|
testServiceRegistration(t, "db", regRenameNode), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regRenameNode)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regRenameNode), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regRenameNode)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regRenameNode), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -540,17 +540,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -558,7 +558,7 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Change only the node-level check status
|
|
|
|
// Change only the node-level check status
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regNodeCheckFail)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regNodeCheckFail), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -600,17 +600,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -618,7 +618,7 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
Mutate: func(s *Store, tx *txn) error {
|
|
|
|
// Change the service-level check status
|
|
|
|
// Change the service-level check status
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regServiceCheckFail)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regServiceCheckFail), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also change the service-level check status for the proxy. This is
|
|
|
|
// Also change the service-level check status for the proxy. This is
|
|
|
@ -626,7 +626,7 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
// - the proxies check would get updated at roughly the same time as the
|
|
|
|
// - the proxies check would get updated at roughly the same time as the
|
|
|
|
// target service check updates.
|
|
|
|
// target service check updates.
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regServiceCheckFail)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regServiceCheckFail), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -663,17 +663,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -717,17 +717,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
Setup: func(s *Store, tx *txn) error {
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
@ -777,19 +777,19 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
|
|
// Register a db service
|
|
|
|
// Register a db service
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "db")); err != nil {
|
|
|
|
testServiceRegistration(t, "db"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Node2
|
|
|
|
// Node2
|
|
|
|
// Also a web
|
|
|
|
// Also a web
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regNode2)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regNode2), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// With a connect sidecar
|
|
|
|
// With a connect sidecar
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regNode2)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar, regNode2), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -808,17 +808,17 @@ func TestServiceHealthEventsFromChanges(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
|
|
// Register those on node1
|
|
|
|
// Register those on node1
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web")); err != nil {
|
|
|
|
testServiceRegistration(t, "web"), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "web", regSidecar)); err != nil {
|
|
|
|
testServiceRegistration(t, "web", regSidecar), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// And for good measure, add a new connect-native service to node2
|
|
|
|
// And for good measure, add a new connect-native service to node2
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
if err := s.ensureRegistrationTxn(tx, tx.Index, false,
|
|
|
|
testServiceRegistration(t, "api", regConnectNative, regNode2)); err != nil {
|
|
|
|
testServiceRegistration(t, "api", regConnectNative, regNode2), false); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|