[arvados] updated: 2.5.0-56-g4f702ae91
git repository hosting
git at public.arvados.org
Wed Feb 1 18:51:58 UTC 2023
Summary of changes:
doc/admin/upgrading.html.textile.liquid | 2 ++
lib/dispatchcloud/worker/pool.go | 18 ++++++++++++------
2 files changed, 14 insertions(+), 6 deletions(-)
via 4f702ae91452dd1202c49f40ccef6a16c3de4f7f (commit)
via e6ca7c8cfd52a8b777b83fbcb4212886c03f28d4 (commit)
from c11aeb6b640c78feec50ebcacc52718faf5643a7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 4f702ae91452dd1202c49f40ccef6a16c3de4f7f
Author: Tom Clegg <tom at curii.com>
Date: Wed Feb 1 13:51:35 2023 -0500
18075: Note obsolete/deprecated config.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/doc/admin/upgrading.html.textile.liquid b/doc/admin/upgrading.html.textile.liquid
index 324658d67..13c91803b 100644
--- a/doc/admin/upgrading.html.textile.liquid
+++ b/doc/admin/upgrading.html.textile.liquid
@@ -36,6 +36,8 @@ h3. Default limit for cloud VM instances
There is a new configuration entry @CloudVMs.MaxInstances@ (default 64) that limits the number of VMs the cloud dispatcher will run at a time. This may need to be adjusted to suit your anticipated workload.
+Using the obsolete configuration entry @MaxCloudVMs@, which was previously accepted in config files but not obeyed, will now result in a deprecation warning.
+
h3. Slow migration on upgrade
This upgrade includes a database schema update (changing an integer column in each table from 32-bit to 64-bit) that may be slow on a large installation. Expect the arvados-api-server package upgrade to take longer than usual.
commit e6ca7c8cfd52a8b777b83fbcb4212886c03f28d4
Author: Tom Clegg <tom at curii.com>
Date: Wed Feb 1 13:46:40 2023 -0500
18075: Update AtQuota comment, check quota in Create, log at limit.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/lib/dispatchcloud/worker/pool.go b/lib/dispatchcloud/worker/pool.go
index e3a7b553c..f91436a27 100644
--- a/lib/dispatchcloud/worker/pool.go
+++ b/lib/dispatchcloud/worker/pool.go
@@ -304,10 +304,10 @@ func (wp *Pool) Unallocated() map[arvados.InstanceType]int {
// pool. The worker is added immediately; instance creation runs in
// the background.
//
-// Create returns false if a pre-existing error state prevents it from
-// even attempting to create a new instance. Those errors are logged
-// by the Pool, so the caller does not need to log anything in such
-// cases.
+// Create returns false if a pre-existing error or a configuration
+// setting prevents it from even attempting to create a new
+// instance. Those errors are logged by the Pool, so the caller does
+// not need to log anything in such cases.
func (wp *Pool) Create(it arvados.InstanceType) bool {
logger := wp.logger.WithField("InstanceType", it.Name)
wp.setupOnce.Do(wp.setup)
@@ -317,7 +317,9 @@ func (wp *Pool) Create(it arvados.InstanceType) bool {
}
wp.mtx.Lock()
defer wp.mtx.Unlock()
- if time.Now().Before(wp.atQuotaUntil) || wp.instanceSet.throttleCreate.Error() != nil {
+ if time.Now().Before(wp.atQuotaUntil) ||
+ wp.instanceSet.throttleCreate.Error() != nil ||
+ wp.maxInstances <= len(wp.workers)+len(wp.creating) {
return false
}
// The maxConcurrentInstanceCreateOps knob throttles the number of node create
@@ -363,11 +365,15 @@ func (wp *Pool) Create(it arvados.InstanceType) bool {
}
wp.updateWorker(inst, it)
}()
+ if len(wp.creating)+len(wp.workers) == wp.maxInstances {
+ logger.Infof("now at MaxInstances limit of %d instances", wp.maxInstances)
+ }
return true
}
// AtQuota returns true if Create is not expected to work at the
-// moment.
+// moment (e.g., cloud provider has reported quota errors, or we are
+// already at our own configured quota).
func (wp *Pool) AtQuota() bool {
wp.mtx.Lock()
defer wp.mtx.Unlock()
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list