summaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java
Commit message (Collapse)AuthorAgeFilesLines
...
| * Always use latest RHEL 8 versionMartin Polden2021-02-091-1/+1
| |
* | Revert "Revert "Move node operations into a separate class""Jon Bratseth2021-02-091-6/+6
| |
* | Revert "Move node operations into a separate class"Jon Bratseth2021-02-091-6/+6
| |
* | Move node operations into a separate classJon Bratseth2021-02-081-6/+6
|/
* No functional changesJon Bratseth2021-02-031-1/+2
|
* Override OS version when requiring RHEL 8Håkon Hallingstad2021-02-021-7/+15
|
* Support restricting on host OS when allocating new nodesHåkon Hallingstad2021-01-261-1/+9
|
* Allow preprovision capacity on partially filled hostsHåkon Hallingstad2020-11-261-1/+3
| | | | | | | | | | | | | | | | 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.
* Allow allocating to a provisioned tenant hostHåkon Hallingstad2020-11-201-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Allow provisioning shared, and set exclusiveTo on provisioned nodeHåkon Hallingstad2020-10-291-1/+2
|
* Handle exclusiveTo in allocationValerij Fredriksen2020-10-281-13/+6
|
* Review fixesHåkon Hallingstad2020-10-281-1/+2
|
* Support provisioning of shared hostsHåkon Hallingstad2020-10-271-1/+1
| | | | | | Adds shared-host flag to enable and define resources of shared hosts. This PR is a no-op until that flag is set, but there remains some integration with exclusiveTo (tbd in this PR or follow-up).
* Quest MetricsDb implementationJon Bratseth2020-10-221-1/+1
|
* Revert "Revert "Remove allow host sharing""Valerij Fredriksen2020-10-201-1/+1
|
* Revert "Remove allow host sharing"Valerij Fredriksen2020-10-191-1/+1
|
* Use dynamicProvisioning propertyValerij Fredriksen2020-10-191-1/+1
|
* Hide node collection detailsMartin Polden2020-10-161-11/+5
|
* Merge pull request #14623 from vespa-engine/bratseth/defer-ip-address-allocationJon Bratseth2020-09-301-4/+2
|\ | | | | Bratseth/defer ip address allocation
| * Defer creation of new child nodes until they are selectedJon Bratseth2020-09-291-2/+2
| |
| * Enumerate possibilities instead of using builderJon Bratseth2020-09-291-4/+2
| |
* | Try prepare allocation without lockingValerij Fredriksen2020-09-291-20/+38
|/
* Rename PrioritizableNode -> NodeCandidateMartin Polden2020-09-181-7/+7
|
* Update javadocValerij Fredriksen2020-08-101-1/+0
|
* Do not propagate spareCount through Preparer & GroupPreparerValerij Fredriksen2020-08-101-2/+1
|
* Spare capacity maintainenance skeletonJon Bratseth2020-06-091-1/+1
|
* Support provisioning exact capacityMartin Polden2020-05-281-1/+1
|
* Extract method for host provision capabilityMartin Polden2020-05-271-1/+1
|
* Rename PreprovisionCapacity -> HostCapacityMartin Polden2020-05-271-3/+2
|
* Don't move nodes between groupsJon Bratseth2020-05-191-2/+3
| | | | | | | Moving nodes between groups will not lose data but will cause immediate reduced coverage until data is migrated. To avoid this, this PR keeps surplus nodes in their assigned group and provisions new replacement nodes.
* Improve error messageJon Bratseth2020-05-191-2/+1
|
* Nonfunctional cleanupJon Bratseth2020-05-191-10/+8
|
* Collect all out of capacity reasonsJon Bratseth2020-05-181-14/+2
|
* Enforce disk size limitsJon Bratseth2020-05-131-0/+2
|
* Validate real resources available during allocationJon Bratseth2020-05-121-2/+1
|
* Use Cloud instead of flag for dynamic provisioningValerij Fredriksen2020-05-071-7/+1
|
* Add OS version parameter to HostProvisionerMartin Polden2020-05-051-1/+5
|
* Revert "Merge pull request #13131 from ↵Jon Bratseth2020-05-021-9/+13
| | | | | | | vespa-engine/revert-13128-bratseth/allow-non-allocatable-limits-take-2" This reverts commit 78d7d808067a9189960f3cc2ad83237ba00efec5, reversing changes made to e1d09983f5e952f44358ae5b247e5b76b2898d82.
* Revert "Bratseth/allow non allocatable limits take 2"Harald Musum2020-05-011-13/+9
|
* Revert "Merge pull request #13125 from ↵Jon Bratseth2020-04-301-9/+13
| | | | | | | vespa-engine/revert-13114-bratseth/allow-non-allocatable-limits" This reverts commit f3c67d39861da9138f2948998435d502008442c8, reversing changes made to 48ff6fe2efd6901796a9b8a0ceb8161232bcea15.
* Revert "Bratseth/allow non allocatable limits"Håkon Hallingstad2020-04-301-13/+9
|
* Find the best matching flavor within limitsJon Bratseth2020-04-291-1/+0
|
* Pull HostResourcesCalculator into NodeRepositoryJon Bratseth2020-04-271-8/+13
|
* Only allow allocating to active hosts in non-AWS zonesValerij Fredriksen2020-04-141-1/+1
|
* Recycle deprovisioned nodes on provisionJon Bratseth2020-03-091-1/+2
|
* Revert "Merge pull request #12351 from ↵Jon Bratseth2020-02-261-1/+0
| | | | | | | vespa-engine/revert-11875-bratseth/node-metrics" This reverts commit 37f6c5b31cb2809a54c34dc3a4e51307f3320fbd, reversing changes made to 76221d0b9b7bda577ac61ce8a79c7b6ee3a8dbb4.
* Revert "Bratseth/node metrics"Harald Musum2020-02-261-0/+1
|
* Test autoscaling with dynamic provisioningJon Bratseth2020-02-201-1/+0
|
* Allow dynamic provisioning when preprovisioned capacity is not enoughValerij Fredriksen2020-02-181-2/+3
|
* Remove enable-in-place-resize flagValerij Fredriksen2020-02-071-9/+3
|