You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by zr...@apache.org on 2021/04/21 19:00:23 UTC

[trafficcontrol] branch master updated: Legacy Server Defaults Monitor to True (#5771)

This is an automated email from the ASF dual-hosted git repository.

zrhoffman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new b0cb1e0  Legacy Server Defaults Monitor to True (#5771)
b0cb1e0 is described below

commit b0cb1e036ead1ee856f741c0f2a3ea4d2c9651a4
Author: mattjackson220 <33...@users.noreply.github.com>
AuthorDate: Wed Apr 21 13:00:08 2021 -0600

    Legacy Server Defaults Monitor to True (#5771)
    
    * Legacy Server Defaults Monitor to True
    
    * updated changelog
    
    * fixed test
---
 CHANGELOG.md              |  1 +
 lib/go-tc/servers.go      | 12 ++++++++++--
 lib/go-tc/servers_test.go |  6 +++---
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0024019..1bf4f6c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -55,6 +55,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
 - [#5695](https://github.com/apache/trafficcontrol/issues/5695) - Ensure vitals are calculated only against monitored interfaces
 - [#5724](https://github.com/apache/trafficcontrol/issues/5724) - Set XMPPID to hostname if the server had none, don't error on server update when XMPPID is empty
 - [#5744](https://github.com/apache/trafficcontrol/issues/5744) - Sort TM Delivery Service States page by DS name
+- Fixed server creation through legacy API versions to default `monitor` to `true`.
 
 ### Changed
 - Updated the Traffic Ops Python client to 3.0
diff --git a/lib/go-tc/servers.go b/lib/go-tc/servers.go
index 79d7cd7..a7ebd2b 100644
--- a/lib/go-tc/servers.go
+++ b/lib/go-tc/servers.go
@@ -185,8 +185,8 @@ type LegacyInterfaceDetails struct {
 }
 
 // ToInterfaces converts a LegacyInterfaceDetails to a slice of
-// ServerInterfaceInfo structures. No interfaces will be marked for monitoring,
-// and it will generate service addresses according to the passed indicators
+// ServerInterfaceInfo structures. Only one interface is expected and will be marked for monitoring.
+// It will generate service addresses according to the passed indicators
 // for each address family.
 func (lid *LegacyInterfaceDetails) ToInterfaces(ipv4IsService, ipv6IsService bool) ([]ServerInterfaceInfo, error) {
 	var iface ServerInterfaceInfo
@@ -201,6 +201,10 @@ func (lid *LegacyInterfaceDetails) ToInterfaces(ipv4IsService, ipv6IsService boo
 	}
 	iface.Name = *lid.InterfaceName
 
+	// default to true since there should only be one interface from legacy API versions
+	// if Monitor is false on all interfaces, then TM will see the server as unhealthy
+	iface.Monitor = true
+
 	var ips []ServerIPAddress
 	if lid.IPAddress != nil && *lid.IPAddress != "" {
 		if lid.IPGateway != nil && *lid.IPGateway == "" {
@@ -268,6 +272,10 @@ func (lid *LegacyInterfaceDetails) ToInterfacesV4(ipv4IsService, ipv6IsService b
 	}
 	iface.Name = *lid.InterfaceName
 
+	// default to true since there should only be one interface from legacy API versions
+	// if Monitor is false on all interfaces, then TM will see the server as unhealthy
+	iface.Monitor = true
+
 	var ips []ServerIPAddress
 	if lid.IPAddress != nil && *lid.IPAddress != "" {
 		if lid.IPGateway != nil && *lid.IPGateway == "" {
diff --git a/lib/go-tc/servers_test.go b/lib/go-tc/servers_test.go
index 2d53f93..cb17e52 100644
--- a/lib/go-tc/servers_test.go
+++ b/lib/go-tc/servers_test.go
@@ -54,7 +54,7 @@ func ExampleLegacyInterfaceDetails_ToInterfaces() {
 			fmt.Printf("\taddr=%s, gateway=%s, service address=%t\n", ip.Address, *ip.Gateway, ip.ServiceAddress)
 		}
 	}
-	// Output: name=test, monitor=false
+	// Output: name=test, monitor=true
 	// 	addr=1.2.3.4/30, gateway=4.3.2.1, service address=true
 	// 	addr=::14/64, gateway=::15, service address=false
 	//
@@ -1124,8 +1124,8 @@ func TestServerNullableV2_Upgrade(t *testing.T) {
 			t.Errorf("Incorrect Interface MTU after upgrade; want: %d, got: %d", *nullable.InterfaceMtu, *inf.MTU)
 		}
 
-		if inf.Monitor {
-			t.Error("Incorrect Interface Monitor after upgrade; want: false, got: true")
+		if !inf.Monitor {
+			t.Error("Incorrect Interface Monitor after upgrade; want: true, got: false")
 		}
 
 		if inf.MaxBandwidth != nil {