Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[request] Add support for SEV provisioning in Azure #755

Closed
zizhong opened this issue Feb 14, 2023 · 0 comments · Fixed by #756
Closed

[request] Add support for SEV provisioning in Azure #755

zizhong opened this issue Feb 14, 2023 · 0 comments · Fixed by #756
Assignees
Labels
enhancement New feature or request

Comments

@zizhong
Copy link
Collaborator

zizhong commented Feb 14, 2023

Please describe problem to be solved
Currently Skyplane doesn't support provision confidential VMs in Azure.

⠏ Provisioning VMs ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0/1 0:00:2921:05:49 [ERROR] Error running _provision_task: (BadRequest) The VM size 'Standard_DC2as_v5' is not supported for creation of VMs and Virtual
Machine Scale Set with '<NULL>' security type.
Code: BadRequest
Message: The VM size 'Standard_DC2as_v5' is not supported for creation of VMs and Virtual Machine Scale Set with '<NULL>' security type.
Traceback (most recent call last):
  File "/home/zzz/workspace/skyplane/skyplane/cli/cli_transfer.py", line 353, in cp
    dp.provision(spinner=True)
  File "/home/zzz/workspace/skyplane/skyplane/api/dataplane.py", line 126, in provision
    uuids = self.provisioner.provision(
  File "/home/zzz/workspace/skyplane/skyplane/api/provisioner.py", line 205, in provision
    results: List[Tuple[ProvisionerTask, compute.Server]] = do_parallel(
  File "/home/zzz/workspace/skyplane/skyplane/utils/fn.py", line 57, in do_parallel
    args, result = future.result()
  File "/home/zzz/.pyenv/versions/3.8.10/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/home/zzz/.pyenv/versions/3.8.10/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/zzz/.pyenv/versions/3.8.10/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/zzz/workspace/skyplane/skyplane/utils/fn.py", line 43, in wrapped_fn
    return args, func(args)
  File "/home/zzz/workspace/skyplane/skyplane/api/provisioner.py", line 154, in _provision_task
    server = self.azure.provision_instance(task.region, task.vm_type, use_spot_instances=task.spot, tags=task.tags)
  File "/home/zzz/workspace/skyplane/skyplane/utils/imports.py", line 33, in wrapped
    return fn(*modules_imported, *args, **kwargs)
  File "/home/zzz/workspace/skyplane/skyplane/compute/azure/azure_cloud_provider.py", line 342, in provision_instance
    poller = compute_client.virtual_machines.begin_create_or_update(
  File "/home/zzz/.pyenv/versions/3.8.10/envs/skyplane/lib/python3.8/site-packages/azure/core/tracing/decorator.py", line 78, in
wrapper_use_tracer
    return func(*args, **kwargs)
  File
"/home/zzz/.pyenv/versions/3.8.10/envs/skyplane/lib/python3.8/site-packages/azure/mgmt/compute/v2022_11_01/operations/_virtual_machines_operation
s.py", line 1358, in begin_create_or_update
    raw_result = self._create_or_update_initial(
  File
"/home/zzz/.pyenv/versions/3.8.10/envs/skyplane/lib/python3.8/site-packages/azure/mgmt/compute/v2022_11_01/operations/_virtual_machines_operation
s.py", line 1229, in _create_or_update_initial
    raise HttpResponseError(response=response, error_format=ARMErrorFormat)
azure.core.exceptions.HttpResponseError: (BadRequest) The VM size 'Standard_DC2as_v5' is not supported for creation of VMs and Virtual Machine
Scale Set with '<NULL>' security type.
Code: BadRequest
Message: The VM size 'Standard_DC2as_v5' is not supported for creation of VMs and Virtual Machine Scale Set with '<NULL>' security type.

(Optional): Suggest a solution
Rework on the provisioning code to support the creation of CVM

  • Details of the technical implementation
    If the vm instance is CVM, we need to set the security profile and the os profile to a proper value.
  • Tradeoffs made in design decisions
  • Caveats and considerations for the future)
    TODO add CVM provisioning for other cloud providers as well.
@zizhong zizhong added the enhancement New feature or request label Feb 14, 2023
@zizhong zizhong self-assigned this Feb 14, 2023
zizhong added a commit that referenced this issue Feb 16, 2023
This fixed #755 

Tested with `azure_instance_class = Standard_DC2as_v5`.
```
✓ Provisioning VMs (1/1) in 70.25s
✓ Starting gateway container on VMs (1/1) in 70.85s

✅ Transfer completed successfully
Transfer runtime: 3.00s, Throughput: 0.01Gbps
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant