20978: Merge branch 'main' into 20978-instance-types
authorTom Clegg <tom@curii.com>
Thu, 2 Nov 2023 20:49:44 +0000 (16:49 -0400)
committerTom Clegg <tom@curii.com>
Thu, 2 Nov 2023 20:49:44 +0000 (16:49 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

1  2 
lib/config/config.default.yml
sdk/go/arvados/config.go

index a633216be7b440d287c8617faa4ac7a3eb948f26,9155a8edaa36352e6c687b58b991e8564d6051e5..24d626aae50a1a9b46ec3d3dde9b3efcccbbb853
@@@ -1112,17 -1112,6 +1112,17 @@@ Clusters
        # A price factor of 1.0 is a reasonable starting point.
        PreemptiblePriceFactor: 0
  
 +      # When the lowest-priced instance type for a given container is
 +      # not available, try other instance types, up to the indicated
 +      # maximum price factor.
 +      #
 +      # For example, with AvailabilityPriceFactor 1.5, if the
 +      # lowest-cost instance type A suitable for a given container
 +      # costs $2/h, Arvados may run the container on any instance type
 +      # B costing $3/h or less when instance type A is not available
 +      # or an idle instance of type B is already running.
 +      MaximumPriceFactor: 1.5
 +
        # PEM encoded SSH key (RSA, DSA, or ECDSA) used by the
        # cloud dispatcher for executing containers on worker VMs.
        # Begins with "-----BEGIN RSA PRIVATE KEY-----\n"
              ReadOnly: false
            "http://host1.example:25107": {}
          ReadOnly: false
+         # AllowTrashWhenReadOnly enables unused and overreplicated
+         # blocks to be trashed/deleted even when ReadOnly is
+         # true. Normally, this is false and ReadOnly prevents all
+         # trash/delete operations as well as writes.
+         AllowTrashWhenReadOnly: false
          Replication: 1
          StorageClasses:
            # If you have configured storage classes (see StorageClasses
diff --combined sdk/go/arvados/config.go
index 64424fc3e92ba9976a1db1e0809ab2b1a9594863,27f1ab773dd586faa03bf4b7d1c69e3c330b84ac..ea01cc3c6872a88adb341d953adbe75760b4f176
@@@ -317,12 -317,13 +317,13 @@@ type StorageClassConfig struct 
  }
  
  type Volume struct {
-       AccessViaHosts   map[URL]VolumeAccess
-       ReadOnly         bool
-       Replication      int
-       StorageClasses   map[string]bool
-       Driver           string
-       DriverParameters json.RawMessage
+       AccessViaHosts         map[URL]VolumeAccess
+       ReadOnly               bool
+       AllowTrashWhenReadOnly bool
+       Replication            int
+       StorageClasses         map[string]bool
+       Driver                 string
+       DriverParameters       json.RawMessage
  }
  
  type S3VolumeDriverParameters struct {
@@@ -516,7 -517,6 +517,7 @@@ type ContainersConfig struct 
        SupportedDockerImageFormats   StringSet
        AlwaysUsePreemptibleInstances bool
        PreemptiblePriceFactor        float64
 +      MaximumPriceFactor            float64
        RuntimeEngine                 string
        LocalKeepBlobBuffersPerVCPU   int
        LocalKeepLogsToContainerLog   string