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

Add support for "launch_options" block for VM shape performance and compatibility #109

Open
silent-at-gh opened this issue Mar 23, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@silent-at-gh
Copy link

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

New or Affected Resource(s)

Problem statement
As of now oracle-terraform-modules/compute-instance/oci module doesn't support specification of launch_options.

Although launch_options block is optional for oci_core_instance resource in my use cases it is a kind of "must". In particular I'm working with an existing customized images and have to explicitly propagate network_type=PARAVIRTUALIZED upon instance creation otherwise OCI automatically chooses VFIO and so instance can't be booted (the boot process just ends up in the dracut emergency console).

Thus it would be useful (in the cases like mine it is absolutely necessary) to extend module with e.g instance_launch_options variable (optional) that would be used (if specified) as a source for launch_options block of underlying oci_core_instance resource.

Potential Terraform Configuration

module "instance" {
  source  = "oracle-terraform-modules/compute-instance/oci"
  version = "2.4.1"
  ...
  instance_launch_options = { 
    "network_type": "PARAVIRTUALIZED" 
  }
  ...
}

The example above just covers my use case. However complete usage example might look like below:

...
module "instance" {
  source  = "oracle-terraform-modules/compute-instance/oci"
  version = "2.4.1"
  ...
  instance_launch_options = {
    boot_volume_type                    = "ISCSI"
    firmware                            = "UEFI_64"
    network_type                        = "PARAVIRTUALIZED"
    remote_data_volume_type             = "VFIO"
    is_consistent_volume_naming_enabled = false
    is_pv_encryption_in_transit_enabled = false
  }
  ...
}

NB: I'd also like to work on the requested enhancement. Will submit a pull-request shortly.

References

@silent-at-gh silent-at-gh added the enhancement New feature or request label Mar 23, 2023
silent-at-gh added a commit to silent-at-gh/terraform-oci-compute-instance that referenced this issue Mar 23, 2023
…tions`

oci_core_instance resource supports optional inputs from "launch_options"
block. In some use cases where instances are launched from a customized images
it is required to tune some of the launch options so that instances could boot
properly. The current implementation of the compute instance module has
lacked it. Hence the `instance_launch_options` input was added to fill
the gap in the implementation.

Signed-off-by: Andrii Kosachenko <andrey.kosachenko@gmail.com>
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

No branches or pull requests

1 participant