Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/dstack/_internal/cli/commands/offer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@
from dstack._internal.core.models.configurations import ApplyConfigurationType, TaskConfiguration
from dstack._internal.core.models.gpus import GpuGroup
from dstack._internal.core.models.runs import RunSpec
from dstack._internal.utils.logging import get_logger
from dstack.api.utils import load_profile

logger = get_logger(__name__)


class OfferConfigurator(BaseRunConfigurator):
TYPE = ApplyConfigurationType.TASK
Expand Down Expand Up @@ -74,6 +77,11 @@ def _register(self):

def _command(self, args: argparse.Namespace):
super()._command(args)
if args.fleets:
logger.warning(
"Specifying `--fleet` in `dstack offer` has no defined effect"
" and may be disallowed in a future release"
)
# Set image and user so that the server (a) does not default gpu.vendor
# to nvidia — `dstack offer` should show all vendors, and (b) does not
# attempt to pull image config from the Docker registry.
Expand Down
9 changes: 0 additions & 9 deletions src/dstack/_internal/server/services/instances.py
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,6 @@ def filter_instances(
*,
requirements: Optional[Requirements] = None,
status: Optional[InstanceStatus] = None,
fleet_model: Optional[FleetModel] = None,
multinode: bool = False,
master_job_provisioning_data: Optional[JobProvisioningData] = None,
volumes: Optional[List[List[Volume]]] = None,
Expand Down Expand Up @@ -417,12 +416,6 @@ def filter_instances(
continue
if instance.health.is_failure():
continue
if profile.fleets is not None:
fleet_name = fleet_model.name if fleet_model is not None else None
if fleet_name is None and instance.fleet is not None:
fleet_name = instance.fleet.name
if fleet_name is None or fleet_name not in profile.fleets:
continue
if status is not None and instance.status != status:
continue
jpd = get_instance_provisioning_data(instance)
Expand Down Expand Up @@ -467,7 +460,6 @@ def get_shared_instances_with_offers(
requirements: Requirements,
*,
idle_only: bool = False,
fleet_model: Optional[FleetModel] = None,
multinode: bool = False,
volumes: Optional[List[List[Volume]]] = None,
) -> list[tuple[InstanceModel, InstanceOfferWithAvailability]]:
Expand All @@ -476,7 +468,6 @@ def get_shared_instances_with_offers(
filtered_instances = filter_instances(
instances=instances,
profile=profile,
fleet_model=fleet_model,
multinode=multinode,
volumes=volumes,
shared=True,
Expand Down
2 changes: 0 additions & 2 deletions src/dstack/_internal/server/services/runs/plan.py
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,6 @@ def get_instance_offers_in_fleet(
instances=fleet_model.instances,
profile=profile,
requirements=job.job_spec.requirements,
fleet_model=fleet_model,
multinode=multinode,
master_job_provisioning_data=master_job_provisioning_data,
volumes=volumes,
Expand All @@ -495,7 +494,6 @@ def get_instance_offers_in_fleet(
instances=fleet_model.instances,
profile=profile,
requirements=job.job_spec.requirements,
fleet_model=fleet_model,
multinode=multinode,
volumes=volumes,
)
Expand Down
Loading