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

[ISSUE] BIOS Policy cannot be applied for CVA due to property does not exist. #221

Closed
erqiyang opened this issue Sep 8, 2022 · 7 comments

Comments

@erqiyang
Copy link

erqiyang commented Sep 8, 2022

Description

When applying a bios policy with no other arguments (i.e, implying platform-default for all arguments) on a Connected Virtual Appliance, received a 400 Bad Request Response error message. (see below). It indicates that some property on the BIOS policy does not exist. Have only seen it mentioned bios.Policy:CpuPaLimit or bios.Policy:TpmPpiRequired so far.

This issue only occurs on CVA, (and possibly PVA as well). It does not happen on Saas.

This is kinda a deal breaker for trying to implement IaaC.

Terraform-provider-intersight version

1.0.32

Configuration file
resource "intersight_bios_policy" "default" {
  name = "bios-default"
  description = "Default BIOS Policy"
  organization {
    moid = intersight_organization_organization.org.moid
  }
}
Actual output (Attach screenshots if applicable)
╷
│ Error: error occurred while creating BiosPolicy: 400 Bad Request Response from endpoint: {"code":"InvalidRequest","message":"Cannot create or modify the object ''. The property 'bios.Policy:CpuPaLimit' does not exist.","messageId":"barcelona_request_property_does_not_exist","messageParams":{"1":"","2":"bios.Policy","3":"CpuPaLimit"},"traceId":"NB0bc8cbee10e73286333c9294fd7fa399"}
│ 
│   with intersight_bios_policy.default,
│   on policy_bios.tf line 1, in resource "intersight_bios_policy" "default":
│    1: resource "intersight_bios_policy" "default" {
│ 
╵

or

╷
│ Error: error occurred while creating BiosPolicy: 400 Bad Request Response from endpoint: {"code":"InvalidRequest","message":"Cannot create or modify the object ''. The property 'bios.Policy:TpmPpiRequired' does not exist.","messageId":"barcelona_request_property_does_not_exist","messageParams":{"1":"","2":"bios.Policy","3":"TpmPpiRequired"},"traceId":"NB6ba8c476dcbcf2ad16a563a03312e54b"}
│ 
│   with intersight_bios_policy.default,
│   on policy_bios.tf line 1, in resource "intersight_bios_policy" "default":
│    1: resource "intersight_bios_policy" "default" {
│ 
╵
Related issues/PRs

Not found

Suggest a fix

Can't tell if it's backend issue. But when comparing Saas and CVA, obvious disparity between available configurable property.

@meghana-rajashekar
Copy link
Contributor

@erqiyang - Unable to reproduce the issue.
Could you help with the right setup ?

@scotttyso
Copy link

@erqiyang - The issue is this is a new BIOS token that hasn't been published to the API yet for the CVA. you need to wait for the next update and the issue will be resolved. Or set the provider version back to version 1.0.28 or something like that.

@erqiyang
Copy link
Author

@meghana-rajashekar , It should be repeatable with the latest version of Intersight CVA and terraform provider version 1.0.32 .

@scotttyso , Thanks for your input. You are right. An earlier version works. Specifically, version 1.0.30 . Any earlier and it starts causing issue with other resources.

@scotttyso
Copy link

@erqiyang - I think this issue should be closed. There is another request:
#254

That really is the root of what you are asking for, and that can be tracked without keeping this open

@scotttyso
Copy link

@vvb - Please close this issue the answer has already been provided

@polly73
Copy link

polly73 commented Jun 11, 2024

I stumpled since days over the problem, that i couldnt deploy a bios policy with the latest intersight provider 1.0.50 with a connected private virtual appliance.
Going back to intersight provider 1.0.35 worked for me now, but this case is open since October 2022.

@scotttyso
Copy link

scotttyso commented Jun 11, 2024

@polly73

So this isn't super intuitive. But you need to Login to the PVA and look at the API Reference Version.
Go to Help Center > Help Center. Under Getting Started Click on API Documentation. At the top of the page click on API Reference. Under the Search box you will see the Version of the API that is currently running on the appliance. i.e. something like API Reference v1.0.11-17057, which is what is currently running on SaaS.

Next go to the releases on GitHub Here:
https://github.com/CiscoDevNet/terraform-provider-intersight/releases

This will list under each release, which version of the API is supported: i.e.
v1.0.50: Refreshes the provider for Intersight version 17057

Match the Intersight Version to the Version shown in your API. That is what is necessary to do for confirming the supported release.

I hope they do something to publish this on the module in the registry, but for now this is how you can get your answer.

I recently started to renumber my module to make this a little more clear. It would be good if they were doing the same.

https://github.com/terraform-cisco-modules/easy-imm/releases

@vvb vvb closed this as completed Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants