summaryrefslogtreecommitdiffstats
path: root/node-repository/src/test/java/com/yahoo
Commit message (Collapse)AuthorAgeFilesLines
* The node repo owns state transitionsJon Bratseth2021-02-0512-24/+24
|
* Scale content clusters to minimum 3 nodesJon Bratseth2021-02-033-5/+23
| | | | | There is no cluster controller redundancy with 2 nodes and this leads to operational problems.
* andreer/feature flag cleanup (#16364)Andreas Eriksen2021-02-031-29/+0
| | | | | | | * remove tcp_abort_on_overflow setting * remove tenant node flag / cluster size quota * remove quota tests
* Suggest only when usefulJon Bratseth2021-01-191-4/+36
| | | | | | | | - Closes a loophole where the suggestion made will be lower than the current allocation if the current allocation is the max need observed over the last week. - Since we now store the suggestion even if it is current we check at read time whether to suggest, and then also refrain from making suggestions inside the autoscaling interval.
* Merge pull request #16081 from vespa-engine/bratseth/suggest-on-human-scaleValerij Fredriksen2021-01-182-3/+20
|\ | | | | Bratseth/suggest on human scale
| * Set suggestion to highest oberved over a weekJon Bratseth2021-01-181-0/+15
| | | | | | | | | | Since suggestions are consumed by humans they should change on the time scale of human decision making.
| * Add timestamp to suggestionsJon Bratseth2021-01-152-3/+5
| |
* | adding nonactive to total for fractionBjorn Meland2021-01-161-1/+1
|/
* Switch from mem.total.util to mem.util in autoscalingJon Bratseth2021-01-141-2/+2
| | | | | mem.total.util included disk cache which makes it unsuitable as a regulation target.
* Rename to lockAndGetHåkon Hallingstad2021-01-083-4/+4
|
* Ensure fresh node with lockHåkon Hallingstad2021-01-083-26/+23
|
* Report exclusive switch metric per clusterMartin Polden2021-01-071-43/+59
|
* Revert "Revert "Reapply "Upgrade to Curator 4"""Harald Musum2021-01-051-0/+1
|
* Avoid moving nodes already on exclusive switchMartin Polden2021-01-052-9/+79
|
* Remove stdout spamMartin Polden2021-01-051-7/+0
|
* Require minimum measurements depending on scaling windowJon Bratseth2020-12-101-2/+1
|
* Rename close to awaitShutdownJon Marius Venstad2020-12-101-1/+1
|
* Merge pull request #15682 from vespa-engine/mpolden/detect-clashing-namesJon Marius Venstad2020-12-071-0/+26
|\ | | | | Reject endpoints with clashing non-compactable IDs
| * Reject load balancers with clashing non-compactable IDsMartin Polden2020-12-041-0/+26
| |
* | Adaptive scaling windowJon Bratseth2020-12-046-15/+93
| |
* | Merge pull request #15624 from vespa-engine/mpolden/cleanupMartin Polden2020-12-042-7/+7
|\ \ | |/ |/| Remove redundant compatibility with old format
| * Update node-repository testsMartin Polden2020-12-032-7/+7
| |
* | Merge pull request #15642 from vespa-engine/bratseth/scaling-completionJon Bratseth2020-12-034-4/+7
|\ \ | | | | | | Record scaling event completion
| * | Record scaling event completionJon Bratseth2020-12-034-4/+7
| |/
* | Move definition of permanent flags to separate classBjørn Christian Seime2020-12-032-16/+16
| |
* | Remove compact-preprovision-capacity flagHåkon Hallingstad2020-12-031-36/+0
|/
* Revert "Merge pull request #15619 from ↵Jon Bratseth2020-12-022-7/+37
| | | | | | | vespa-engine/revert-15614-bratseth/record-scaling-event-completion" This reverts commit 49ecd29903215b133505f316773631ec9161ff44, reversing changes made to ed58cd5826de9da0ed6a963a35c1246abebac1e4.
* Revert "Store the 15 last autoscaling events"Jon Bratseth2020-12-022-37/+7
|
* Merge pull request #15614 from ↵Jon Bratseth2020-12-022-7/+37
|\ | | | | | | | | vespa-engine/bratseth/record-scaling-event-completion Store the 15 last autoscaling events
| * Store the 15 last autoscaling eventsJon Bratseth2020-12-022-7/+37
| |
* | Merge pull request #15595 from vespa-engine/freva/grace-after-activateJon Bratseth2020-12-021-1/+32
|\ \ | |/ |/| Allow a grace period after node re-activation
| * Allow a grace period after node re-activationValerij Fredriksen2020-12-021-1/+32
| |
* | Alter table when necessaryJon Bratseth2020-12-021-4/+11
|/
* Merge pull request #15525 from vespa-engine/mpolden/stateful-propertyMartin Polden2020-12-012-3/+3
|\ | | | | Set stateful property for relevant clusters
| * Write stateful tagMartin Polden2020-12-012-3/+3
| |
* | Remove lock metrics not used in dashboardHåkon Hallingstad2020-12-011-14/+3
|/
* Support lower bound on number of shared hostsHåkon Hallingstad2020-11-301-0/+45
| | | | | | | | | | | | Adds a 'minCount' field to the shared host jackson flag, denoting the minimum number of "shared hosts" that must exist, otherwise the deficit will be provisioned by DynamicProvisioningMaintainer. A "shared host" is one that is considered for allocation if current tenant node allocations were removed: It must be a tenant host, cannot be an exclusiveTo host, etc. minCount requires the setting of (at least one) shared host.
* Add testsJon Bratseth2020-11-302-3/+42
|
* Filter at read timeJon Bratseth2020-11-304-8/+7
|
* Store metrics with inService or stable falseJon Bratseth2020-11-303-5/+50
|
* Filter unstable at db insertJon Bratseth2020-11-306-10/+21
|
* Read stateful tag in ClusterMembershipMartin Polden2020-11-271-1/+1
|
* Simplify test codeMartin Polden2020-11-271-10/+2
|
* Merge pull request #15488 from ↵Håkon Hallingstad2020-11-271-52/+236
|\ | | | | | | | | vespa-engine/hakonhall/allow-preprovision-capacity-on-partially-filled-hosts Allow preprovision capacity on partially filled hosts
| * Allow preprovision capacity on partially filled hostsHåkon Hallingstad2020-11-261-52/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds new functionality that can be disabled by setting the compact-preprovision-capacity flag to false. preprovision-capacity can be satisfied by hosts with spare resources. The DynamicProvisioningMaintainer does this as follows: 1. For each cluster in preprovision-capacity, try to a. allocate the cluster using NodePrioritizer b. If there is a deficit, provision the deficit with HostProvisioner, which may provision larger shared hosts depending on shared-hosts, and retry (1) from the first cluster again. c. Otherwise, pretend the nodes are allocated and go to next cluster. 2. All of preprovision-capacity was successfully allocated, and empty hosts are therefore excess that can be deprovisioned.
* | Report metric for non-active nodesMartin Polden2020-11-243-9/+65
| |
* | Remove regional-container-registry flagMartin Polden2020-11-231-8/+7
|/
* Autoscaling statusJon Bratseth2020-11-223-4/+67
|
* Merge pull request #15415 from ↵Håkon Hallingstad2020-11-213-28/+90
|\ | | | | | | | | vespa-engine/hakonhall/allow-allocating-to-a-provisioned-tenant-host Allow allocating to a provisioned tenant host
| * Allow allocating to a provisioned tenant hostHåkon Hallingstad2020-11-203-28/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR changes (A) and (B) described below, which effectivelly allows the allocation of nodes to a dynamically provisioned tenant host. A. In NodePriotizer, when converting a VirtualNodeCandidate to a ConcreteNodeCandidate with 'withNode()', primary IP addresses are currently picked from the IP pool of the parent host and assigned to the node, along with the corresponding hostname found using a DNS resolver. This PR allows a ConcreteNodeCandidate to be created WITH a hostname, but WITHOUT primary IP addresses, when 1. the parent host has no IP addresses in the pool AND 2. there are hostnames in the address pool not yet assigned to any child node. This may happen for a brief period of time just after provisioning in a dynamically provisioned zone: An asynchronous process is supposed to add IP addresses to the pool (based on the pool hostnames) before the host can become active, and also update the child nodes with their primary IP addresses accordingly. They both hold the unallocated lock to guarantee atomicity. B. In NodePriotizer.addCandidatesOnExistingHosts(), the HostCapacity.hasCapacity() will now return true when (a) the parent host is tenant, (b) there are NO IP addresses in the pool, and (c) there is a hostname in the pool not assigned to