[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