diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b24e6bba9..18f36508d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - [#7055](https://github.com/apache/trafficcontrol/issues/7055) *Traffic Portal* Made `Clear Table Filters` option visible to the user. - [#7024](https://github.com/apache/trafficcontrol/pull/7024) *Traffic Monitor* Added logging for `ipv4Availability` and `ipv6Availability` in TM. - [#7063](https://github.com/apache/trafficcontrol/pull/7063) *Traffic Ops* Added API version 5.0 (IN DEVELOPMENT) -- [#7023](https://github.com/apache/trafficcontrol/pull/7023) *Traffic Ops* Added the `ASN` field in TO Server struct, which provides the ability to query servers by `ASN`. - [#2101](https://github.com/apache/trafficcontrol/issues/2101) *Traffic Portal* Added the ability to tell if a Delivery Service is the target of another steering DS. - [#6033](https://github.com/apache/trafficcontrol/issues/6033) *Traffic Ops, Traffic Portal* Added ability to assign multiple server capabilities to a server. - [#7032](https://github.com/apache/trafficcontrol/issues/7032) *Cache Config* Add t3c-apply flag to use local ATS version for config generation rather than Server package Parameter, to allow managing the ATS OS package via external tools. See 'man t3c-apply' and 'man t3c-generate' for details. diff --git a/cache-config/t3cutil/toreq/clientfuncs.go b/cache-config/t3cutil/toreq/clientfuncs.go index f7a9ca15af..9c5e335ce5 100644 --- a/cache-config/t3cutil/toreq/clientfuncs.go +++ b/cache-config/t3cutil/toreq/clientfuncs.go @@ -169,7 +169,7 @@ func (cl *TOClient) GetServerByHostName(serverHostName string, reqHdr http.Heade if len(toServers.Response) < 1 { return errors.New("getting server name '" + serverHostName + "' from Traffic Ops '" + torequtil.MaybeIPStr(reqInf.RemoteAddr) + "': no servers returned") } - asv, err := serverToLatest(&toServers.Response[0].ServerV40) + asv, err := serverToLatest(&toServers.Response[0]) if err != nil { return errors.New("converting server to latest version: " + err.Error()) } diff --git a/cache-config/t3cutil/toreq/conversions.go b/cache-config/t3cutil/toreq/conversions.go index f480377fbe..7520a0498f 100644 --- a/cache-config/t3cutil/toreq/conversions.go +++ b/cache-config/t3cutil/toreq/conversions.go @@ -36,7 +36,7 @@ import ( func serversToLatest(svs tc.ServersV4Response) ([]atscfg.Server, error) { serversV40 := make([]tc.ServerV40, 0) for _, srv := range svs.Response { - serversV40 = append(serversV40, srv.ServerV40) + serversV40 = append(serversV40, srv) } return atscfg.ToServers(serversV40), nil } @@ -222,7 +222,7 @@ func (cl *TOClient) GetServersCompat(opts toclient.RequestOptions) (tc.ServersV4 if err != nil { return tc.ServersV4Response{}, reqInf, errors.New("converting server from possible legacy format: " + err.Error()) } - resp.Response = append(resp.Response, tc.ServerV41{ServerV40: newSv}) + resp.Response = append(resp.Response, newSv) } return resp, reqInf, nil } diff --git a/docs/source/api/v4/deliveryservices_id_servers.rst b/docs/source/api/v4/deliveryservices_id_servers.rst index bb8c9676fa..69a64377f8 100644 --- a/docs/source/api/v4/deliveryservices_id_servers.rst +++ b/docs/source/api/v4/deliveryservices_id_servers.rst @@ -40,9 +40,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. - - .. versionadded:: 4.1 :cachegroup: A string that is the :ref:`name of the Cache Group ` to which the server belongs :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belongs :cdnId: An integral, unique identifier the CDN to which the server belongs @@ -145,7 +142,6 @@ Response Structure "type": "EDGE", "typeId": 11, "updPending": false, - "asns": [1,2], "interfaces": [{ "ipAddresses": [ { diff --git a/docs/source/api/v4/deliveryservices_id_servers_eligible.rst b/docs/source/api/v4/deliveryservices_id_servers_eligible.rst index 20fdb73511..903b661aba 100644 --- a/docs/source/api/v4/deliveryservices_id_servers_eligible.rst +++ b/docs/source/api/v4/deliveryservices_id_servers_eligible.rst @@ -46,9 +46,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. - - .. versionadded:: 4.1 :cachegroup: A string which is the :ref:`Name of the Cache Group ` to which the server belongs :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belongs :cdnId: An integral, unique identifier the CDN to which the server belongs @@ -143,7 +140,6 @@ Response Structure "type": "EDGE", "typeId": 11, "updPending": false, - "asns": [1,2], "interfaces": [{ "ipAddresses": [ { diff --git a/docs/source/api/v4/servers.rst b/docs/source/api/v4/servers.rst index 313a00bf15..9580d3f8b0 100644 --- a/docs/source/api/v4/servers.rst +++ b/docs/source/api/v4/servers.rst @@ -69,10 +69,6 @@ Request Structure | | | the first page is 1. If ``offset`` was defined, this query parameter has no effect. ``limit`` must be defined to | | | | make use of ``page``. | +----------------+----------+-------------------------------------------------------------------------------------------------------------------+ - | asn | no | Return only the servers that have a cachegroup matching the provided ASN. | - | | | | - | | | .. versionadded:: 4.1 | - +----------------+----------+-------------------------------------------------------------------------------------------------------------------+ .. code-block:: http @@ -86,9 +82,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. - - .. versionadded:: 4.1 :cachegroup: A string that is the :ref:`name of the Cache Group ` to which the server belongs :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belongs :cdnId: The integral, unique identifier of the CDN to which the server belongs @@ -233,10 +226,6 @@ Response Structure "routerHostName": "", "routerPortName": "" } - ], - "asns": [ - 1, - 2 ] }], "summary": { diff --git a/docs/source/api/v4/servers_id.rst b/docs/source/api/v4/servers_id.rst index df366f36c8..881323b709 100644 --- a/docs/source/api/v4/servers_id.rst +++ b/docs/source/api/v4/servers_id.rst @@ -160,9 +160,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. - - .. versionadded:: 4.1 :cachegroup: A string that is the :ref:`name of the Cache Group ` to which the server belongs :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belongs :cdnId: The integral, unique identifier of the CDN to which the server belongs @@ -265,7 +262,6 @@ Response Structure } ], "response": { - "asns": [1,2], "cachegroup": "CDN_in_a_Box_Mid", "cachegroupId": 6, "cdnId": 2, @@ -359,9 +355,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. - - .. versionadded:: 4.1 :cachegroup: A string that is the :ref:`name of the Cache Group ` to which the server belonged :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belonged :cdnId: The integral, unique identifier of the CDN to which the server belonged @@ -460,7 +453,6 @@ Response Structure } ], "response": { - "asns": [1,2], "cachegroup": "CDN_in_a_Box_Mid", "cachegroupId": 6, "cdnId": 2, diff --git a/docs/source/api/v5/deliveryservices_id_servers.rst b/docs/source/api/v5/deliveryservices_id_servers.rst index a2e82abae5..02e578982a 100644 --- a/docs/source/api/v5/deliveryservices_id_servers.rst +++ b/docs/source/api/v5/deliveryservices_id_servers.rst @@ -40,7 +40,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. :cachegroup: A string that is the :ref:`name of the Cache Group ` to which the server belongs :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belongs :cdnId: An integral, unique identifier the CDN to which the server belongs @@ -143,7 +142,6 @@ Response Structure "type": "EDGE", "typeId": 11, "updPending": false, - "asns": [1,2], "interfaces": [{ "ipAddresses": [ { diff --git a/docs/source/api/v5/deliveryservices_id_servers_eligible.rst b/docs/source/api/v5/deliveryservices_id_servers_eligible.rst index b0c04f0550..f51c34f946 100644 --- a/docs/source/api/v5/deliveryservices_id_servers_eligible.rst +++ b/docs/source/api/v5/deliveryservices_id_servers_eligible.rst @@ -46,7 +46,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. :cachegroup: A string which is the :ref:`Name of the Cache Group ` to which the server belongs :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belongs :cdnId: An integral, unique identifier the CDN to which the server belongs @@ -141,7 +140,6 @@ Response Structure "type": "EDGE", "typeId": 11, "updPending": false, - "asns": [1,2], "interfaces": [{ "ipAddresses": [ { diff --git a/docs/source/api/v5/servers_id.rst b/docs/source/api/v5/servers_id.rst index cfd25dd80b..712b1fb209 100644 --- a/docs/source/api/v5/servers_id.rst +++ b/docs/source/api/v5/servers_id.rst @@ -160,7 +160,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. :cachegroup: A string that is the :ref:`name of the Cache Group ` to which the server belongs :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belongs :cdnId: The integral, unique identifier of the CDN to which the server belongs @@ -263,7 +262,6 @@ Response Structure } ], "response": { - "asns": [1,2], "cachegroup": "CDN_in_a_Box_Mid", "cachegroupId": 6, "cdnId": 2, @@ -357,7 +355,6 @@ Request Structure Response Structure ------------------ -:asns: The :abbr:`ASN (Autonomous System Number)` associated with the cachegroups of the current server. :cachegroup: A string that is the :ref:`name of the Cache Group ` to which the server belonged :cachegroupId: An integer that is the :ref:`ID of the Cache Group ` to which the server belonged :cdnId: The integral, unique identifier of the CDN to which the server belonged @@ -456,7 +453,6 @@ Response Structure } ], "response": { - "asns": [1,2], "cachegroup": "CDN_in_a_Box_Mid", "cachegroupId": 6, "cdnId": 2, diff --git a/infrastructure/cdn-in-a-box/enroller/enroller.go b/infrastructure/cdn-in-a-box/enroller/enroller.go index f8b61407ce..0633ab51bb 100644 --- a/infrastructure/cdn-in-a-box/enroller/enroller.go +++ b/infrastructure/cdn-in-a-box/enroller/enroller.go @@ -757,7 +757,7 @@ func enrollServer(toSession *session, r io.Reader) error { return err } - alerts, _, err := toSession.CreateServer(tc.ServerV4{ServerV40: s}, client.RequestOptions{}) + alerts, _, err := toSession.CreateServer(s, client.RequestOptions{}) if err != nil { err = fmt.Errorf("error creating Server: %v - alerts: %+v", err, alerts.Alerts) log.Infoln(err) diff --git a/lib/go-tc/deliveryservice_servers.go b/lib/go-tc/deliveryservice_servers.go index 25b5ce2096..7f1d1a1570 100644 --- a/lib/go-tc/deliveryservice_servers.go +++ b/lib/go-tc/deliveryservice_servers.go @@ -189,12 +189,6 @@ type DSServerResponseV30 struct { // DSServerV4 contains information for a V4.x Delivery Service Server. type DSServerV4 struct { - DSServerV40 - ASNs []int64 `json:"asns"` -} - -// DSServerV40 contains information for a V4.0 Delivery Service Server. -type DSServerV40 struct { DSServerBaseV4 ServerInterfaces *[]ServerInterfaceInfoV40 `json:"interfaces" db:"interfaces"` } @@ -202,13 +196,6 @@ type DSServerV40 struct { // DSServerResponseV40 is the type of a response from Traffic Ops to a request // for servers assigned to a Delivery Service - in API version 4.0. type DSServerResponseV40 struct { - Response []DSServerV40 `json:"response"` - Alerts -} - -// DSServerResponseV41 is the type of a response from Traffic Ops to a request -// for servers assigned to a Delivery Service - in API version 4.1. -type DSServerResponseV41 struct { Response []DSServerV4 `json:"response"` Alerts } @@ -216,7 +203,7 @@ type DSServerResponseV41 struct { // DSServerResponseV4 is the type of a response from Traffic Ops to a request // for servers assigned to a Delivery Service - in the latest minor version of // API version 4. -type DSServerResponseV4 = DSServerResponseV41 +type DSServerResponseV4 = DSServerResponseV40 // ToDSServerBaseV4 upgrades the DSServerBase to the structure used by the // latest minor version of version 4 of Traffic Ops's API. diff --git a/lib/go-tc/servers.go b/lib/go-tc/servers.go index 8ef5f24e91..2f435cdb3f 100644 --- a/lib/go-tc/servers.go +++ b/lib/go-tc/servers.go @@ -34,7 +34,7 @@ import ( // ServersV4Response is the format of a response to a GET request for API v4.x /servers. type ServersV4Response struct { - Response []ServerV41 `json:"response"` + Response []ServerV40 `json:"response"` Summary struct { Count uint64 `json:"count"` } `json:"summary"` @@ -1019,12 +1019,6 @@ func UpdateServerPropertiesV40(profileNames []string, properties CommonServerPro } } -// ServerV41 is the representation of a Server in version 4.1 of the Traffic Ops API. -type ServerV41 struct { - ServerV40 - ASNs []int64 `json:"asns"` -} - // ServerV40 is the representation of a Server in version 4.0 of the Traffic Ops API. type ServerV40 struct { Cachegroup *string `json:"cachegroup" db:"cachegroup"` @@ -1072,7 +1066,7 @@ type ServerV40 struct { // ServerV4 is the representation of a Server in the latest minor version of // version 4 of the Traffic Ops API. -type ServerV4 = ServerV41 +type ServerV4 = ServerV40 // ServerV30 is the representation of a Server in version 3 of the Traffic Ops API. type ServerV30 struct { diff --git a/traffic_monitor/towrap/towrap.go b/traffic_monitor/towrap/towrap.go index 48f0f66cd3..c24ea22fc3 100644 --- a/traffic_monitor/towrap/towrap.go +++ b/traffic_monitor/towrap/towrap.go @@ -587,7 +587,7 @@ func (s TrafficOpsSessionThreadsafe) fetchServerByHostname(hostName string) (tc. for i, srv := range resp.Response { num = i if srv.CDNName != nil && srv.HostName != nil && *srv.HostName == hostName { - server = srv.ServerV40 + server = srv found = true break } diff --git a/traffic_ops/testing/api/v4/servers_test.go b/traffic_ops/testing/api/v4/servers_test.go index 61857b5ec2..42809430a8 100644 --- a/traffic_ops/testing/api/v4/servers_test.go +++ b/traffic_ops/testing/api/v4/servers_test.go @@ -33,12 +33,11 @@ import ( ) func TestServers(t *testing.T) { - WithObjs(t, []TCObj{CDNs, Types, Tenants, Users, Parameters, Profiles, Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, Topologies, ServiceCategories, DeliveryServices, DeliveryServiceServerAssignments, ASN}, func() { + WithObjs(t, []TCObj{CDNs, Types, Tenants, Users, Parameters, Profiles, Statuses, Divisions, Regions, PhysLocations, CacheGroups, Servers, Topologies, ServiceCategories, DeliveryServices, DeliveryServiceServerAssignments}, func() { currentTime := time.Now().UTC().Add(-15 * time.Second) currentTimeRFC := currentTime.Format(time.RFC1123) tomorrow := currentTime.AddDate(0, 0, 1).Format(time.RFC1123) - setupCacheGroupWithASN(t) methodTests := utils.V4TestCase{ "GET": { "NOT MODIFIED when NO CHANGES made": { @@ -46,11 +45,6 @@ func TestServers(t *testing.T) { RequestOpts: client.RequestOptions{Header: http.Header{rfc.IfModifiedSince: {tomorrow}}}, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusNotModified)), }, - "OK when CORRECT ASN parameter": { - ClientSession: TOSession, - RequestOpts: client.RequestOptions{QueryParameters: url.Values{"asn": {"1111"}}}, - Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), utils.ResponseLengthGreaterOrEqual(1)), - }, "OK when VALID HOSTNAME parameter": { ClientSession: TOSession, RequestOpts: client.RequestOptions{QueryParameters: url.Values{"hostName": {"atlanta-edge-01"}}}, @@ -63,17 +57,6 @@ func TestServers(t *testing.T) { Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), utils.ResponseLengthGreaterOrEqual(1), validateServerFields(map[string]interface{}{"CachegroupID": GetCacheGroupId(t, "cachegroup1")()})), }, - "OK when VALID ASN parameter": { - ClientSession: TOSession, - RequestOpts: client.RequestOptions{QueryParameters: url.Values{"asn": {"1111"}}}, - Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), utils.ResponseLengthGreaterOrEqual(1), - validateServerFields(map[string]interface{}{"Cachegroup": "topology-mid-cg-01"})), - }, - "EMPTY RESPONSE when INVALID ASN parameter": { - ClientSession: TOSession, - RequestOpts: client.RequestOptions{QueryParameters: url.Values{"asn": {"5555"}}}, - Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), utils.ResponseHasLength(0)), - }, "OK when VALID CACHEGROUPNAME parameter": { ClientSession: TOSession, RequestOpts: client.RequestOptions{QueryParameters: url.Values{"cachegroupName": {"topology-mid-cg-01"}}}, @@ -400,35 +383,10 @@ func TestServers(t *testing.T) { }) } -func setupCacheGroupWithASN(t *testing.T) { - // Add a new asn for one of the cachegroups - cgResp, _, err := TOSession.GetCacheGroups(client.RequestOptions{QueryParameters: url.Values{"name": {"topology-mid-cg-01"}}}) - if err != nil { - t.Fatalf("couldn't get cachegroups: %v", err) - } - if len(cgResp.Response) != 1 { - t.Fatalf("expected 1 cachegroup, but got %d", len(cgResp.Response)) - } - if cgResp.Response[0].ID == nil { - t.Fatalf("ID of cachegroup is nil") - } - - asn := tc.ASN{ - ASN: 1111, - Cachegroup: "topology-mid-cg-01", - CachegroupID: *cgResp.Response[0].ID, - } - - _, _, err = TOSession.CreateASN(asn, client.NewRequestOptions()) - if err != nil { - t.Fatalf("couldn't create ASN: %v", err) - } -} - func validateServerFields(expectedResp map[string]interface{}) utils.CkReqFunc { return func(t *testing.T, _ toclientlib.ReqInf, resp interface{}, _ tc.Alerts, _ error) { assert.RequireNotNil(t, resp, "Expected response to not be nil.") - serverResp := resp.([]tc.ServerV41) + serverResp := resp.([]tc.ServerV40) for field, expected := range expectedResp { for _, server := range serverResp { switch field { @@ -501,7 +459,7 @@ func validateServerFieldsForUpdate(hostname string, expectedResp map[string]inte func validateExpectedServers(expectedHostnames []string) utils.CkReqFunc { return func(t *testing.T, _ toclientlib.ReqInf, resp interface{}, _ tc.Alerts, _ error) { assert.RequireNotNil(t, resp, "Expected response to not be nil.") - serverResp := resp.([]tc.ServerV41) + serverResp := resp.([]tc.ServerV40) var notInResponse []string serverMap := make(map[string]struct{}) for _, server := range serverResp { @@ -520,7 +478,7 @@ func validateExpectedServers(expectedHostnames []string) utils.CkReqFunc { func validateServerTypeIsNotMid() utils.CkReqFunc { return func(t *testing.T, _ toclientlib.ReqInf, resp interface{}, _ tc.Alerts, _ error) { assert.RequireNotNil(t, resp, "Expected response to not be nil.") - serverResp := resp.([]tc.ServerV41) + serverResp := resp.([]tc.ServerV40) for _, server := range serverResp { assert.RequireNotNil(t, server.HostName, "Expected server host name to not be nil.") assert.NotEqual(t, server.Type, tc.CacheTypeMid.String(), "Expected to find no %s-typed servers but found server %s", tc.CacheTypeMid, *server.HostName) @@ -531,7 +489,7 @@ func validateServerTypeIsNotMid() utils.CkReqFunc { func validateServerPagination(paginationParam string) utils.CkReqFunc { return func(t *testing.T, _ toclientlib.ReqInf, resp interface{}, _ tc.Alerts, _ error) { assert.RequireNotNil(t, resp, "Expected response to not be nil.") - paginationResp := resp.([]tc.ServerV41) + paginationResp := resp.([]tc.ServerV40) opts := client.NewRequestOptions() opts.QueryParameters.Set("orderby", "id") respBase, _, err := TOSession.GetServers(opts) @@ -597,16 +555,16 @@ func UpdateTestServerStatusLastUpdated(t *testing.T) { assert.RequireNoError(t, err, "Cannot get Server by hostname '%s': %v - alerts %+v", hostName, err, resp.Alerts) assert.RequireGreaterOrEqual(t, len(resp.Response), 1, "Expected at least one server to exist by hostname '%s'", hostName) assert.RequireNotNil(t, resp.Response[0].StatusLastUpdated, "Traffic Ops returned a representation for a server with null or undefined Status Last Updated time") - originalServer := resp.Response[0].ServerV40 + originalServer := resp.Response[0] // Perform an update with no changes to status - alerts, _, err := TOSession.UpdateServer(*originalServer.ID, tc.ServerV4{ServerV40: originalServer}, client.RequestOptions{}) + alerts, _, err := TOSession.UpdateServer(*originalServer.ID, originalServer, client.RequestOptions{}) assert.RequireNoError(t, err, "Cannot UPDATE Server by ID %d (hostname '%s'): %v - alerts: %+v", *originalServer.ID, hostName, err, alerts) resp, _, err = TOSession.GetServers(opts) assert.RequireNoError(t, err, "Cannot get Server by hostname '%s': %v - alerts %+v", hostName, err, resp.Alerts) assert.RequireGreaterOrEqual(t, len(resp.Response), 1, "Expected at least one server to exist by hostname '%s'", hostName) - respServer := resp.Response[0].ServerV40 + respServer := resp.Response[0] assert.RequireNotNil(t, respServer.StatusLastUpdated, "Traffic Ops returned a representation for a server with null or undefined Status Last Updated time") assert.Equal(t, *originalServer.StatusLastUpdated, *respServer.StatusLastUpdated, "Since status didnt change, no change in 'StatusLastUpdated' time was expected. "+ "old value: %v, new value: %v", *originalServer.StatusLastUpdated, *respServer.StatusLastUpdated) @@ -615,13 +573,13 @@ func UpdateTestServerStatusLastUpdated(t *testing.T) { newStatusID := GetStatusID(t, "ONLINE")() originalServer.StatusID = &newStatusID - alerts, _, err = TOSession.UpdateServer(*originalServer.ID, tc.ServerV4{ServerV40: originalServer}, client.RequestOptions{}) + alerts, _, err = TOSession.UpdateServer(*originalServer.ID, originalServer, client.RequestOptions{}) assert.RequireNoError(t, err, "Cannot UPDATE Server by ID %d (hostname '%s'): %v - alerts: %+v", *originalServer.ID, hostName, err, alerts) resp, _, err = TOSession.GetServers(opts) assert.RequireNoError(t, err, "Cannot get Server by hostname '%s': %v - alerts %+v", hostName, err, resp.Alerts) assert.RequireGreaterOrEqual(t, len(resp.Response), 1, "Expected at least one server to exist by hostname '%s'", hostName) - respServer = resp.Response[0].ServerV40 + respServer = resp.Response[0] assert.RequireNotNil(t, respServer.StatusLastUpdated, "Traffic Ops returned a representation for a server with null or undefined Status Last Updated time") assert.NotEqual(t, *originalServer.StatusLastUpdated, *respServer.StatusLastUpdated, "Since status changed, expected 'StatusLastUpdated' to change. "+ "old value: %v, new value: %v", *originalServer.StatusLastUpdated, *respServer.StatusLastUpdated) @@ -669,7 +627,7 @@ func UpdateDSGetServerDSID(t *testing.T) { func CreateTestServers(t *testing.T) { for _, server := range testData.Servers { - resp, _, err := TOSession.CreateServer(tc.ServerV4{ServerV40: server}, client.RequestOptions{}) + resp, _, err := TOSession.CreateServer(server, client.RequestOptions{}) assert.RequireNoError(t, err, "Could not create server '%s': %v - alerts: %+v", *server.HostName, err, resp.Alerts) } } diff --git a/traffic_ops/traffic_ops_golang/dbhelpers/db_helpers.go b/traffic_ops/traffic_ops_golang/dbhelpers/db_helpers.go index 10c5ff7fb0..f93131ab96 100644 --- a/traffic_ops/traffic_ops_golang/dbhelpers/db_helpers.go +++ b/traffic_ops/traffic_ops_golang/dbhelpers/db_helpers.go @@ -2029,7 +2029,7 @@ WHERE server.id = $2;` } // GetCommonServerPropertiesFromV4 converts ServerV40 to CommonServerProperties struct. -func GetCommonServerPropertiesFromV4(s tc.ServerV41, tx *sql.Tx) (tc.CommonServerProperties, error) { +func GetCommonServerPropertiesFromV4(s tc.ServerV40, tx *sql.Tx) (tc.CommonServerProperties, error) { var id int var desc string if len(s.ProfileNames) == 0 { diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/eligible.go b/traffic_ops/traffic_ops_golang/deliveryservice/eligible.go index 33e2efb9ab..d863aa423b 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/eligible.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/eligible.go @@ -96,15 +96,6 @@ func GetServersEligible(w http.ResponseWriter, r *http.Request) { api.WriteResp(w, r, v3ServerList) return } - if inf.Version.Major == 4 && inf.Version.Minor < 1 { - v40ServerList := []tc.DSServerV40{} - for _, s := range servers { - sV40 := s.DSServerV40 - v40ServerList = append(v40ServerList, sV40) - } - api.WriteResp(w, r, v40ServerList) - return - } api.WriteResp(w, r, servers) } @@ -156,8 +147,7 @@ t.name as server_type, s.type as server_type_id, s.config_update_time > s.config_apply_time AS upd_pending, ARRAY(select ssc.server_capability from server_server_capability ssc where ssc.server = s.id order by ssc.server_capability) as server_capabilities, -ARRAY(select drc.required_capability from deliveryservices_required_capability drc where drc.deliveryservice_id = (select v from ds_id) order by drc.required_capability) as deliveryservice_capabilities, -(SELECT ARRAY_AGG(asn) AS asns FROM asn a WHERE a.cachegroup = s.cachegroup) AS asns +ARRAY(select drc.required_capability from deliveryservices_required_capability drc where drc.deliveryservice_id = (select v from ds_id) order by drc.required_capability) as deliveryservice_capabilities ` idRows, err := tx.Query(fmt.Sprintf(queryFormatString, "", queryWhereClause), dsID) if err != nil { @@ -219,7 +209,6 @@ ARRAY(select drc.required_capability from deliveryservices_required_capability d &s.UpdPending, pq.Array(&s.ServerCapabilities), pq.Array(&s.DeliveryServiceCapabilities), - pq.Array(&s.ASNs), ) if err != nil { return nil, errors.New("scanning delivery service eligible servers: " + err.Error()) diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/eligible_test.go b/traffic_ops/traffic_ops_golang/deliveryservice/eligible_test.go index c0692959df..cda71eae68 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/eligible_test.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/eligible_test.go @@ -84,9 +84,7 @@ func TestGetEligibleServers(t *testing.T) { "server_type_id", "upd_pending", "server_capabilities", - "deliveryservice_capabilities", - "asns", - } + "deliveryservice_capabilities"} eligbleRows := sqlmock.NewRows(cols) for _, s := range testServers { @@ -122,7 +120,6 @@ func TestGetEligibleServers(t *testing.T) { s.UpdPending, []byte(`{""}`), []byte(`{""}`), - []byte(`{1,2}`), ) } mock.ExpectQuery("SELECT s.id ,").WillReturnRows(eligbleRows) diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/keys_test.go b/traffic_ops/traffic_ops_golang/deliveryservice/keys_test.go index a0678f082c..1c285a1e85 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/keys_test.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/keys_test.go @@ -2260,7 +2260,7 @@ func TestVerifyAndEncodeCertificateSelfSignedX509v1(t *testing.T) { certChain, certPrivateKey, unknownAuth, _, err := verifyCertKeyPair(SelfSignedX509v1Certificate, SelfSignedX509v1PrivateKey, "", true) if err != nil { - t.Fatalf("unexpected result: the x509v1 cert/key pair is valid and should have passed validation") + t.Fatalf("unexpected result: the x509v1 cert/key pair is valid and should have passed validation: %v", err) } if !unknownAuth { @@ -2286,7 +2286,7 @@ func TestVerifyAndEncodeCertificateSelfSignedNoSkiAkiCertKeyPair(t *testing.T) { certChain, certPrivateKey, unknownAuth, _, err := verifyCertKeyPair(SelfSignedNOSKIAKIRSACertificate, SelfSignedNOSKIAKIRSAPrivateKey, "", true) if err != nil { - t.Fatalf("unexpected result: a certificate verification error should have occured") + t.Fatalf("unexpected result: a certificate verification error should have occured: %v", err) } if !unknownAuth { @@ -2312,7 +2312,7 @@ func TestVerifyAndEncodeCertificateSelfSignedCertKeyPair(t *testing.T) { certChain, certPrivateKey, unknownAuth, _, err := verifyCertKeyPair(SelfSignedRSACertificate, SelfSignedRSAPrivateKey, "", true) if err != nil { - t.Fatalf("unexpected result, a certificate verification error should have occured") + t.Fatalf("unexpected result, a certificate verification error should have occured: %v", err) } if !unknownAuth { diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go index f7f31fd21d..06720c3f3d 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go @@ -724,15 +724,6 @@ func GetReadAssigned(w http.ResponseWriter, r *http.Request) { api.WriteAlertsObj(w, r, http.StatusOK, alerts, v3ServerList) return } - if inf.Version.Major == 4 && inf.Version.Minor < 1 { - v40ServerList := []tc.DSServerV40{} - for _, s := range servers { - sV40 := s.DSServerV40 - v40ServerList = append(v40ServerList, sV40) - } - api.WriteAlertsObj(w, r, http.StatusOK, alerts, v40ServerList) - return - } api.WriteAlertsObj(w, r, http.StatusOK, alerts, servers) } @@ -766,8 +757,7 @@ s.status as status_id, s.tcp_port, t.name as server_type, s.type as server_type_id, -s.config_update_time > s.config_apply_time AS upd_pending, -(SELECT ARRAY_AGG(asn) AS asns FROM asn a WHERE a.cachegroup = s.cachegroup) AS asns +s.config_update_time > s.config_apply_time AS upd_pending ` queryFormatString := ` @@ -842,7 +832,6 @@ WHERE s.id in (select server from deliveryservice_server where deliveryservice = &s.Type, &s.TypeID, &s.UpdPending, - pq.Array(&s.ASNs), ) if err != nil { return nil, errors.New("error scanning dss rows: " + err.Error()) diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers_test.go b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers_test.go index aa6f4ec409..eed56f1613 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers_test.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers_test.go @@ -115,9 +115,7 @@ func TestReadServers(t *testing.T) { "tcp_port", "server_type", "server_type_id", - "upd_pending", - "asns", - } + "upd_pending"} rows := sqlmock.NewRows(cols) @@ -152,7 +150,6 @@ func TestReadServers(t *testing.T) { s.Type, s.TypeID, s.UpdPending, - []byte(`{1,2}`), ) } diff --git a/traffic_ops/traffic_ops_golang/routing/routes.go b/traffic_ops/traffic_ops_golang/routing/routes.go index d70de9e2a9..a19457bd2e 100644 --- a/traffic_ops/traffic_ops_golang/routing/routes.go +++ b/traffic_ops/traffic_ops_golang/routing/routes.go @@ -531,8 +531,6 @@ func Routes(d ServerData) ([]Route, http.Handler, error) { * 4.x API */ - // GET servers - {Version: api.Version{Major: 4, Minor: 1}, Method: http.MethodGet, Path: `servers/?$`, Handler: server.Read, RequiredPrivLevel: auth.PrivLevelReadOnly, RequiredPermissions: []string{"SERVER:READ", "DELIVERY-SERVICE:READ", "CDN:READ", "PHYSICAL-LOCATION:READ", "CACHE-GROUP:READ", "TYPE:READ", "PROFILE:READ"}, Authenticated: Authenticated, Middlewares: nil, ID: 47219592853}, // Assign Multiple Server Capabilities {Version: api.Version{Major: 4, Minor: 1}, Method: http.MethodPut, Path: `multiple_server_capabilities/?$`, Handler: server.AssignMultipleServerCapabilities, RequiredPrivLevel: auth.PrivLevelOperations, RequiredPermissions: []string{"SERVER:UPDATE", "SERVER:READ", "SERVER-CAPABILITY:READ"}, Authenticated: Authenticated, Middlewares: nil, ID: 40792419258}, diff --git a/traffic_ops/traffic_ops_golang/server/servers.go b/traffic_ops/traffic_ops_golang/server/servers.go index 4cd372f3d0..f1a827a278 100644 --- a/traffic_ops/traffic_ops_golang/server/servers.go +++ b/traffic_ops/traffic_ops_golang/server/servers.go @@ -152,8 +152,7 @@ SELECT s.config_apply_time, s.xmpp_id, s.xmpp_passwd, - s.status_last_updated, - (SELECT ARRAY_AGG(asn) AS asns FROM asn a WHERE a.cachegroup = s.cachegroup) AS asns + s.status_last_updated ` + serversFromAndJoin const selectIDQuery = ` @@ -689,7 +688,7 @@ func Read(w http.ResponseWriter, r *http.Request) { return } - servers := []tc.ServerV41{} + servers := []tc.ServerV40{} var serverCount uint64 cfg, e := api.GetConfig(r.Context()) useIMS := false @@ -705,7 +704,7 @@ func Read(w http.ResponseWriter, r *http.Request) { } if errCode == http.StatusNotModified { w.WriteHeader(errCode) - api.WriteResp(w, r, []tc.ServerV41{}) + api.WriteResp(w, r, []tc.ServerV40{}) return } if userErr != nil || sysErr != nil { @@ -719,7 +718,7 @@ func Read(w http.ResponseWriter, r *http.Request) { } v40Servers := make([]tc.ServerV40, 0) for _, server := range servers { - v40Servers = append(v40Servers, server.ServerV40) + v40Servers = append(v40Servers, server) } api.WriteRespWithSummary(w, r, v40Servers, serverCount) return @@ -768,7 +767,7 @@ func getServerCount(tx *sqlx.Tx, query string, queryValues map[string]interface{ return serverCount, nil } -func getServers(h http.Header, params map[string]string, tx *sqlx.Tx, user *auth.CurrentUser, useIMS bool, version api.Version) ([]tc.ServerV41, uint64, error, error, int, *time.Time) { +func getServers(h http.Header, params map[string]string, tx *sqlx.Tx, user *auth.CurrentUser, useIMS bool, version api.Version) ([]tc.ServerV40, uint64, error, error, int, *time.Time) { var maxTime time.Time var runSecond bool // Query Parameters to Database Query column mappings @@ -795,12 +794,6 @@ func getServers(h http.Header, params map[string]string, tx *sqlx.Tx, user *auth } if version.Major >= 4 { - if version.Minor >= 1 { - queryParamsToSQLCols["asn"] = dbhelpers.WhereColumnInfo{ - Column: "a.asn", - Checker: api.IsInt, - } - } queryParamsToSQLCols["profileName"] = dbhelpers.WhereColumnInfo{ Column: "sp.profile_name", Checker: nil, @@ -868,14 +861,6 @@ func getServers(h http.Header, params map[string]string, tx *sqlx.Tx, user *auth queryString = selectQuery countQueryString = serverCountQuery if version.Major >= 4 { - if version.Minor >= 1 { - if _, ok := params["asn"]; ok { - queryString = selectQuery + ` -JOIN asn a ON s.cachegroup = a.cachegroup` - countQueryString = serverCountQuery + ` -JOIN asn a ON s.cachegroup = a.cachegroup` - } - } if _, ok := params["profileName"]; ok { queryString = queryString + ` JOIN server_profile sp ON s.id = sp.server` @@ -896,7 +881,7 @@ JOIN server_profile sp ON s.id = sp.server` return nil, 0, nil, fmt.Errorf("failed to get servers count: %v", err), http.StatusInternalServerError, nil } - serversList := []tc.ServerV41{} + serversList := []tc.ServerV40{} if useIMS { runSecond, maxTime = ims.TryIfModifiedSinceQuery(tx, h, queryValues, selectMaxLastUpdatedQuery(queryAddition, where)) if !runSecond { @@ -923,10 +908,10 @@ JOIN server_profile sp ON s.id = sp.server` HiddenField := "********" - servers := make(map[int]tc.ServerV41) + servers := make(map[int]tc.ServerV40) ids := []int{} for rows.Next() { - s := tc.ServerV41{} + s := tc.ServerV40{} err := rows.Scan(&s.Cachegroup, &s.CachegroupID, &s.CDNID, @@ -963,8 +948,7 @@ JOIN server_profile sp ON s.id = sp.server` &s.ConfigApplyTime, &s.XMPPID, &s.XMPPPasswd, - &s.StatusLastUpdated, - pq.Array(&s.ASNs)) + &s.StatusLastUpdated) if err != nil { return nil, serverCount, nil, errors.New("getting servers: " + err.Error()), http.StatusInternalServerError, nil } @@ -997,7 +981,7 @@ JOIN server_profile sp ON s.id = sp.server` } if len(ids) < 1 { - return []tc.ServerV41{}, serverCount, nil, nil, http.StatusOK, nil + return []tc.ServerV40{}, serverCount, nil, nil, http.StatusOK, nil } query, args, err := sqlx.In(`SELECT max_bandwidth, monitor, mtu, name, server, router_host_name, router_port_name FROM interface WHERE server IN (?)`, ids) @@ -1068,7 +1052,7 @@ JOIN server_profile sp ON s.id = sp.server` } } - returnable := make([]tc.ServerV41, 0, len(ids)) + returnable := make([]tc.ServerV40, 0, len(ids)) for _, id := range ids { server := servers[id] @@ -1082,7 +1066,7 @@ JOIN server_profile sp ON s.id = sp.server` } // getMidServers gets the mids used by the edges provided with an option to filter for a given cdn -func getMidServers(edgeIDs []int, servers map[int]tc.ServerV41, dsID int, cdnID int, tx *sqlx.Tx, includeCapabilities bool) ([]int, error, error, int) { +func getMidServers(edgeIDs []int, servers map[int]tc.ServerV40, dsID int, cdnID int, tx *sqlx.Tx, includeCapabilities bool) ([]int, error, error, int) { if len(edgeIDs) == 0 { return nil, nil, nil, http.StatusOK } @@ -1150,7 +1134,7 @@ func getMidServers(edgeIDs []int, servers map[int]tc.ServerV41, dsID int, cdnID ids := []int{} for rows.Next() { - var s tc.ServerV41 + var s tc.ServerV40 if err := rows.Scan(&s.Cachegroup, &s.CachegroupID, &s.CDNID, @@ -1187,8 +1171,7 @@ func getMidServers(edgeIDs []int, servers map[int]tc.ServerV41, dsID int, cdnID &s.ConfigApplyTime, &s.XMPPID, &s.XMPPPasswd, - &s.StatusLastUpdated, - pq.Array(&s.ASNs)); err != nil { + &s.StatusLastUpdated); err != nil { log.Errorf("could not scan mid servers: %s\n", err) return nil, nil, err, http.StatusInternalServerError } @@ -1349,7 +1332,7 @@ func Update(w http.ResponseWriter, r *http.Request) { return } - original := originals[0].ServerV40 + original := originals[0] if original.XMPPID == nil || *original.XMPPID == "" { log.Warnf("original server %s had no XMPPID\n", *original.HostName) } @@ -1572,7 +1555,7 @@ func Update(w http.ResponseWriter, r *http.Request) { } else { selquery = selectQuery + where } - var srvr tc.ServerV41 + var srvr tc.ServerV40 err = inf.Tx.QueryRow(selquery, serverID).Scan(&srvr.Cachegroup, &srvr.CachegroupID, &srvr.CDNID, @@ -1609,8 +1592,7 @@ func Update(w http.ResponseWriter, r *http.Request) { &srvr.ConfigApplyTime, &srvr.XMPPID, &srvr.XMPPPasswd, - &srvr.StatusLastUpdated, - pq.Array(&srvr.ASNs)) + &srvr.StatusLastUpdated) if err != nil { api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, nil, err) return @@ -1634,18 +1616,14 @@ func Update(w http.ResponseWriter, r *http.Request) { if inf.Version.Major >= 5 { api.WriteRespAlertObj(w, r, tc.SuccessLevel, "Server updated", srvr) } else if inf.Version.Major >= 4 { - if version.Minor >= 1 { - api.WriteRespAlertObj(w, r, tc.SuccessLevel, "Server updated", srvr) - } else { - api.WriteRespAlertObj(w, r, tc.SuccessLevel, "Server updated", srvr.ServerV40) - } + api.WriteRespAlertObj(w, r, tc.SuccessLevel, "Server updated", srvr) } else if inf.Version.Major >= 3 { csp, err := dbhelpers.GetCommonServerPropertiesFromV4(srvr, inf.Tx.Tx) if err != nil { api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, nil, err) return } - srvrV30, err := srvr.ServerV40.ToServerV3FromV4(csp) + srvrV30, err := srvr.ToServerV3FromV4(csp) if err != nil { api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, nil, err) return @@ -1817,7 +1795,7 @@ func createV3(inf *api.APIInfo, w http.ResponseWriter, r *http.Request) { where := `WHERE s.id = $1` selquery := selectQuery + where - var s4 tc.ServerV41 + var s4 tc.ServerV40 err = inf.Tx.QueryRow(selquery, serverID).Scan(&s4.Cachegroup, &s4.CachegroupID, &s4.CDNID, @@ -1854,8 +1832,7 @@ func createV3(inf *api.APIInfo, w http.ResponseWriter, r *http.Request) { &s4.ConfigApplyTime, &s4.XMPPID, &s4.XMPPPasswd, - &s4.StatusLastUpdated, - pq.Array(&s4.ASNs)) + &s4.StatusLastUpdated) if err != nil { api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, nil, err) return @@ -1952,7 +1929,7 @@ func createV4(inf *api.APIInfo, w http.ResponseWriter, r *http.Request) { where := `WHERE s.id = $1` selquery := selectQuery + joinProfileV4 + where - var srvr tc.ServerV41 + var srvr tc.ServerV40 err = inf.Tx.QueryRow(selquery, serverID).Scan(&srvr.Cachegroup, &srvr.CachegroupID, &srvr.CDNID, @@ -1989,8 +1966,7 @@ func createV4(inf *api.APIInfo, w http.ResponseWriter, r *http.Request) { &srvr.ConfigApplyTime, &srvr.XMPPID, &srvr.XMPPPasswd, - &srvr.StatusLastUpdated, - pq.Array(&srvr.ASNs)) + &srvr.StatusLastUpdated) if err != nil { api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, nil, err) return @@ -2000,15 +1976,7 @@ func createV4(inf *api.APIInfo, w http.ResponseWriter, r *http.Request) { srvr.Interfaces = server.Interfaces alerts := tc.CreateAlerts(tc.SuccessLevel, "Server created") - if inf.Version.Major == 5 { - api.WriteAlertsObj(w, r, http.StatusCreated, alerts, srvr) - } else { - if inf.Version.Minor >= 1 { - api.WriteAlertsObj(w, r, http.StatusCreated, alerts, srvr) - } else { - api.WriteAlertsObj(w, r, http.StatusCreated, alerts, srvr.ServerV40) - } - } + api.WriteAlertsObj(w, r, http.StatusCreated, alerts, srvr) changeLogMsg := fmt.Sprintf("SERVER: %s.%s, ID: %d, ACTION: created", *srvr.HostName, *srvr.DomainName, *srvr.ID) api.CreateChangeLogRawTx(api.ApiChange, changeLogMsg, inf.User, inf.Tx.Tx) @@ -2212,7 +2180,7 @@ func Delete(w http.ResponseWriter, r *http.Request) { return } - var servers []tc.ServerV41 + var servers []tc.ServerV40 servers, _, userErr, sysErr, errCode, _ = getServers(r.Header, map[string]string{"id": inf.Params["id"]}, inf.Tx, inf.User, false, *version) if userErr != nil || sysErr != nil { api.HandleErr(w, r, tx, errCode, userErr, sysErr) @@ -2271,11 +2239,7 @@ func Delete(w http.ResponseWriter, r *http.Request) { } if inf.Version.Major >= 4 { - if inf.Version.Minor >= 1 || inf.Version.Major == 5 { - api.WriteRespAlertObj(w, r, tc.SuccessLevel, "Server deleted", server) - } else { - api.WriteRespAlertObj(w, r, tc.SuccessLevel, "Server deleted", server.ServerV40) - } + api.WriteRespAlertObj(w, r, tc.SuccessLevel, "Server deleted", server) } else { csp, err := dbhelpers.GetCommonServerPropertiesFromV4(server, tx) if err != nil { diff --git a/traffic_ops/traffic_ops_golang/server/servers_test.go b/traffic_ops/traffic_ops_golang/server/servers_test.go index a7243f38c5..25e4f5dda7 100644 --- a/traffic_ops/traffic_ops_golang/server/servers_test.go +++ b/traffic_ops/traffic_ops_golang/server/servers_test.go @@ -32,12 +32,11 @@ import ( "github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/api" "github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/auth" "github.com/jmoiron/sqlx" - "github.com/lib/pq" "gopkg.in/DATA-DOG/go-sqlmock.v1" ) type ServerAndInterfaces struct { - Server tc.ServerV41 + Server tc.ServerV40 Interface tc.ServerInterfaceInfoV40 } @@ -82,10 +81,6 @@ func getTestServers() []ServerAndInterfaces { RevalUpdateTime: &(time.Time{}), RevalApplyTime: &(time.Time{}), } - testServer := tc.ServerV41{ - ServerV40: testServerV40, - ASNs: pq.Int64Array{1, 2}, - } mtu := uint64(9500) iface := tc.ServerInterfaceInfoV40{ @@ -106,15 +101,15 @@ func getTestServers() []ServerAndInterfaces { RouterPortName: "routerPortName", } - servers = append(servers, ServerAndInterfaces{Server: testServer, Interface: iface}) + servers = append(servers, ServerAndInterfaces{Server: testServerV40, Interface: iface}) - testServer2 := testServer + testServer2 := testServerV40 testServer2.Cachegroup = util.StrPtr("cachegroup2") testServer2.HostName = util.StrPtr("server2") testServer2.ID = util.IntPtr(2) servers = append(servers, ServerAndInterfaces{Server: testServer2, Interface: iface}) - testServer3 := testServer + testServer3 := testServerV40 testServer3.Cachegroup = util.StrPtr("cachegroup3") testServer3.HostName = util.StrPtr("server3") testServer3.ID = util.IntPtr(3) @@ -183,7 +178,7 @@ func TestGetServersByCachegroup(t *testing.T) { "last_updated", "mgmt_ip_address", "mgmt_ip_gateway", "mgmt_ip_netmask", "offline_reason", "phys_location", "phys_location_id", "profile_name", "rack", "reval_pending", "revalidate_update_time", "revalidate_apply_time", "status", "status_id", "tcp_port", "server_type", "server_type_id", "upd_pending", "config_update_time", - "config_apply_time", "xmpp_id", "xmpp_passwd", "status_last_updated", "asns"} + "config_apply_time", "xmpp_id", "xmpp_passwd", "status_last_updated"} interfaceCols := []string{"max_bandwidth", "monitor", "mtu", "name", "server", "router_host_name", "router_port_name"} rows := sqlmock.NewRows(cols) interfaceRows := sqlmock.NewRows(interfaceCols) @@ -233,7 +228,6 @@ func TestGetServersByCachegroup(t *testing.T) { *ts.XMPPID, *ts.XMPPPasswd, *ts.StatusLastUpdated, - []byte(`{1,2}`), ) interfaceRows = interfaceRows.AddRow( srv.Interface.MaxBandwidth, @@ -305,7 +299,7 @@ func TestGetMidServers(t *testing.T) { "last_updated", "mgmt_ip_address", "mgmt_ip_gateway", "mgmt_ip_netmask", "offline_reason", "phys_location", "phys_location_id", "profile_name", "rack", "reval_pending", "revalidate_update_time", "revalidate_apply_time", "status", "status_id", "tcp_port", "server_type", "server_type_id", "upd_pending", "config_update_time", - "config_apply_time", "xmpp_id", "xmpp_passwd", "status_last_updated", "asns"} + "config_apply_time", "xmpp_id", "xmpp_passwd", "status_last_updated"} interfaceCols := []string{"max_bandwidth", "monitor", "mtu", "name", "server", "router_host_name", "router_port_name"} rows := sqlmock.NewRows(cols) interfaceRows := sqlmock.NewRows(interfaceCols) @@ -353,7 +347,6 @@ func TestGetMidServers(t *testing.T) { *ts.XMPPID, *ts.XMPPPasswd, *ts.StatusLastUpdated, - []byte(`{1,2}`), ) interfaceRows = interfaceRows.AddRow( srv.Interface.MaxBandwidth, @@ -397,7 +390,7 @@ func TestGetMidServers(t *testing.T) { "last_updated", "mgmt_ip_address", "mgmt_ip_gateway", "mgmt_ip_netmask", "offline_reason", "phys_location", "phys_location_id", "profile_name", "rack", "reval_pending", "revalidate_update_time", "revalidate_apply_time", "status", "status_id", "tcp_port", "server_type", "server_type_id", "upd_pending", "config_update_time", - "config_apply_time", "xmpp_id", "xmpp_passwd", "status_last_updated", "asns"} + "config_apply_time", "xmpp_id", "xmpp_passwd", "status_last_updated"} rows2 := sqlmock.NewRows(cols2) cgs := []tc.CacheGroup{} @@ -443,7 +436,7 @@ func TestGetMidServers(t *testing.T) { } cgs = append(cgs, testCG2) - serverMap := make(map[int]tc.ServerV41, len(servers)) + serverMap := make(map[int]tc.ServerV40, len(servers)) serverIDs := make([]int, 0, len(servers)) for _, server := range servers { if server.ID == nil { @@ -453,7 +446,7 @@ func TestGetMidServers(t *testing.T) { serverMap[*server.ID] = server } - var ts tc.ServerV41 + var ts tc.ServerV40 for _, s := range servers { if s.HostName != nil && *s.HostName == "server2" { ts = s @@ -499,7 +492,6 @@ func TestGetMidServers(t *testing.T) { *ts.XMPPID, *ts.XMPPPasswd, *ts.StatusLastUpdated, - []byte(`{1,2}`), ) mock.ExpectBegin() diff --git a/traffic_portal/app/src/common/modules/table/servers/TableServersController.js b/traffic_portal/app/src/common/modules/table/servers/TableServersController.js index e4c22580d3..d475833acb 100644 --- a/traffic_portal/app/src/common/modules/table/servers/TableServersController.js +++ b/traffic_portal/app/src/common/modules/table/servers/TableServersController.js @@ -155,11 +155,6 @@ var TableServersController = function(tableName, servers, filter, $scope, $state field: "offlineReason", hide: true }, - { - headerName: "ASNs", - field: "asns", - hide: true - }, { headerName: "Phys Location", field: "physLocation", diff --git a/traffic_router/ultimate-test-harness/http_test.go b/traffic_router/ultimate-test-harness/http_test.go index ed67bc2262..140a2976c6 100644 --- a/traffic_router/ultimate-test-harness/http_test.go +++ b/traffic_router/ultimate-test-harness/http_test.go @@ -339,7 +339,7 @@ func getTrafficRouters(trafficRouterName string, cdnName tc.CDNName) ([]tc.Serve trafficRouters := response.Response trafficRoutersV40 := make([]tc.ServerV40, 0) for _, tr := range trafficRouters { - trafficRoutersV40 = append(trafficRoutersV40, tr.ServerV40) + trafficRoutersV40 = append(trafficRoutersV40, tr) } if len(trafficRouters) < 1 { return trafficRoutersV40, fmt.Errorf("no Traffic Routers were found with these criteria: %v", requestOptions.QueryParameters)