Skip to content

Vast support - #21

Open
claudia-lola wants to merge 8 commits into
mainfrom
vast-support
Open

Vast support#21
claudia-lola wants to merge 8 commits into
mainfrom
vast-support

Conversation

@claudia-lola

@claudia-lola claudia-lola commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Adding support for vastdata resources:

  • vastdata_tenant
  • vastdata_vip_pool

Adding support for custom openstack manila resources:

  • openstack_sharedfilesystem_sharetype_v2
  • openstack_sharedfilesystem_sharetype_access_v2

Comment thread variables.tf Outdated
Comment thread variables.tf
Comment thread variables.tf
Comment thread variables.tf Outdated
Mapping of sharetype definitions. Key is sharetype name. Values are mappings with keys/values:
description: Optional string
is_public: Optional bool, default true
extra_specs: Required list

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Map surely?

Comment thread variables.tf Outdated
driver_handles_share_servers: Required bool
snapshot_support: Optional bool
share_backend_name: Required string
vippoolname: Required string, tofu resource vippool name

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every other parameter here is snake case, so I'd have thought this should be vip_pool_name?

Comment thread manila.tf Outdated
driver_handles_share_servers = each.value.extra_specs.driver_handles_share_servers
snapshot_support = lookup(each.value.extra_specs, "snapshot_support", null)
share_backend_name = each.value.extra_specs.share_backend_name
"vast:vippoolname" = vastdata_vip_pool.vippools[each.value.extra_specs.vippoolname].name

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So what happens if you set up share types for non-vast shares types?

Comment thread variables.tf
variable "vippools" {
description = <<-EOT
Map of vippools. Key is tofu resource name. Values are mappings with keys/values:
name: Optional string, if not provided network is used to template name of format "openstack_vlan_<segmentation_id>"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Surely we just use the key? This just seems to make it really unclear to me, what am I missing?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name will be the name in VAST, both Hollie and Stig used the format of openstack_vlan_<segmentation_id> , because the network is created at the same time the segmentation_id is not known, so this ensures the vippool from that network is named in that format. But you can override that just by setting the name = "..." , I guess it would be best to ask to @oneswig or @holliefae if this is a required/preferred naming for all VAST vippools.

Comment thread variables.tf Outdated
}


variable "password" {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this is going to end up in state, is that OK? If so it should at least be flagged in docs.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://opentofu.org/docs/language/state/sensitive-data/
These variables were taken from https://github.com/stackhpc/opentofu-vast-manila/blob/main/main.tf#L1 , and are needed for the provider I will make a note here and in the docs about it being stored in the state.

Looking into making these optional / grouping them into a vast variable that is optional so that tofu doesn't complain when these are defined.

Comment thread variables.tf Outdated
}


variable "password" {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this has to be vast_password?

Comment thread variables.tf Outdated
default = "10.3.2.10"
}

variable "username" {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this has to be vast_username?

@sjpb sjpb left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to document the fact it needs a custom openstack provider for share config
Need to remove the vast provider config as it needs non-optional auth info

Comment thread variables.tf Outdated
port = optional(number)
}
default = null
sensitve = true

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

misspelt

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

Successfully merging this pull request may close these issues.

2 participants