You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficcontrol.apache.org by GitBox <gi...@apache.org> on 2020/10/17 05:01:42 UTC

[GitHub] [trafficcontrol] zrhoffman opened a new issue #5165: Last-Server-In-Cache Group validation runs when Cache Group has not changed

zrhoffman opened a new issue #5165:
URL: https://github.com/apache/trafficcontrol/issues/5165


   <!--
   ************ STOP!! ************
   If this issue identifies a security vulnerability, DO NOT submit it! Instead, contact
   the Apache Traffic Control Security Team at security@trafficcontrol.apache.org and follow the
   guidelines at https://www.apache.org/security/ regarding vulnerability disclosure.
   
   - For *SUPPORT QUESTIONS*, use the Traffic Control slack (https://s.apache.org/atc-slack)
   or Traffic Control mailing lists (https://trafficcontrol.apache.org/mailing_lists).
   - Before submitting, please **SEARCH GITHUB** for a similar issue or PR.
   -->
   
   ## I'm submitting a ...
   <!-- delete all those that don't apply -->
   <!--- security vulnerability (STOP!! - see above)-->
   -  bug report
   
   ## Traffic Control components affected ...
   <!-- delete all those that don't apply -->
   -  Traffic Ops
   
   ## Current behavior:
   <!-- Describe how the bug manifests -->
   Server validation will fail due to it being the last Server in its Cache Group if
   1. The Server is in a Topology-based Cache Group
   2. The Server is updated
   
   ## Expected behavior:
   <!-- Describe what the behavior would be without the bug -->
   Validation should only fail on a Server due to it being the last Server in its Cache Group if the Cache Group of the Server has changed.
   
   ## Minimal reproduction of the problem with instructions:
   <!--
   If the current behavior is a bug, please provide the *STEPS TO REPRODUCE* and
   include the applicable TC version.
   -->
   Run API tests, or
   
   1. Make a Cache Group
   2. Make a Server
   3. Add the Server to the Cache Group
   4. Make a Topology
   5. Add the Server to the Topology
   6. Update the Server without changing anything
   
   ## Anything else:
   <!--
   e.g. stacktraces, related issues, suggestions how to fix (feel free to delete
   this section)
   -->
   Found because `UniqueIPProfileTestServers` runs on a random Server each time and was failing 20% of the time due to this bug. Last 12 lines of that:
   
   ```go
   servers_test.go:296: Response:  midInTopologyEdgeCg06   {[{Server created success}]}
   servers_test.go:296: Response:  midInTopologyEdgeCg07   {[{Server created success}]}
   topologies_test.go:56: Response:  &{{a multi-site origin topology mso-topology [{0 multiOriginCachegroup [] <nil>} {0 parentCachegroup [0] <nil>} {0 secondaryCachegroup [0] <nil>} {0 cachegroup3 [1 2] <nil>}] <nil>} {[{topology was created. success}]}}
   topologies_test.go:56: Response:  &{{another topology another-topology [{0 parentCachegroup [] <nil>} {0 cachegroup1 [0] <nil>} {0 secondaryCachegroup [] <nil>} {0 cachegroup2 [2] <nil>}] <nil>} {[{topology was created. success}]}}
   topologies_test.go:56: Response:  &{{A topology with secondary parents secondary-parents [{0 parentCachegroup [] <nil>} {0 cachegroup1 [0 2] <nil>} {0 secondaryCachegroup [] <nil>} {0 fallback1 [2 0] <nil>} {0 fallback2 [2 0] <nil>}] <nil>} {[{topology was created. success}]}}
   topologies_test.go:56: Response:  &{{A 4-tier topology 4-tiers [{0 parentCachegroup [] <nil>} {0 parentCachegroup2 [0] <nil>} {0 cachegroup1 [1] <nil>} {0 secondaryCachegroup [1 0] <nil>} {0 fallback1 [3] <nil>}] <nil>} {[{topology was created. success}]}}
   topologies_test.go:56: Response:  &{{This topology stems from 2 ancestors forked-topology [{0 topology-edge-cg-01 [2] <nil>} {0 topology-edge-cg-02 [6] <nil>} {0 topology-mid-cg-01 [3] <nil>} {0 topology-mid-cg-02 [4] <nil>} {0 topology-mid-cg-03 [5] <nil>} {0 topology-mid-cg-04 [] <nil>} {0 topology-mid-cg-05 [7] <nil>} {0 topology-mid-cg-06 [8] <nil>} {0 topology-mid-cg-07 [] <nil>}] <nil>} {[{topology was created. success}]}}
   topologies_test.go:56: Response:  &{{a topology top-for-ds-req [{0 dtrc1 [] <nil>} {0 dtrc2 [0] <nil>} {0 dtrc3 [0] <nil>}] <nil>} {[{topology was created. success}]}}
   topologies_test.go:56: Response:  &{{a topology top-for-ds-req2 [{0 dtrc1 [] <nil>} {0 dtrc2 [0] <nil>}] <nil>} {[{topology was created. success}]}}
   servers_test.go:653: expected update to pass: 400 Bad Request[400] - Error requesting Traffic Ops https://localhost:6443/api/3.0/servers/47122 {"alerts":[{"text":"server is the last one in its cachegroup, which is used by a topology, so it cannot be moved to another cachegroup: cachegroups with no servers in them: multiOriginCachegroup in topologies: mso-topology","level":"error"}]}
   types_test.go:208: ---- DeleteTestTypes ----
   --- FAIL: TestServers (8.35s)
   ```
   
   <!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
   
       https://apache.org/licenses/LICENSE-2.0
   
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
   -->
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rawlinp closed issue #5165: Last-Server-In-Cache Group validation runs when Cache Group has not changed

Posted by GitBox <gi...@apache.org>.
rawlinp closed issue #5165:
URL: https://github.com/apache/trafficcontrol/issues/5165


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org