manila shares example for the new webodv.
This commit is contained in:
parent
947d0e68c1
commit
4c2175f26d
|
@ -0,0 +1,37 @@
|
||||||
|
# Define required providers
|
||||||
|
terraform {
|
||||||
|
required_version = ">= 0.14.0"
|
||||||
|
required_providers {
|
||||||
|
openstack = {
|
||||||
|
source = "terraform-provider-openstack/openstack"
|
||||||
|
version = ">= 1.53.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data "terraform_remote_state" "privnet_dns_router" {
|
||||||
|
backend = "local"
|
||||||
|
|
||||||
|
config = {
|
||||||
|
path = "../../project-setup/terraform.tfstate"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data "terraform_remote_state" "main_infrastructure" {
|
||||||
|
backend = "local"
|
||||||
|
|
||||||
|
config = {
|
||||||
|
path = "../../basic-infrastructure/terraform.tfstate"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# SSH settings
|
||||||
|
module "ssh_settings" {
|
||||||
|
source = "../../../modules/ssh-key-ref"
|
||||||
|
}
|
||||||
|
#
|
||||||
|
# Uses common_variables as module
|
||||||
|
#
|
||||||
|
module "common_variables" {
|
||||||
|
source = "../../../modules/common_variables"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
provider "openstack" {
|
||||||
|
cloud = "d4s-production"
|
||||||
|
}
|
|
@ -0,0 +1,116 @@
|
||||||
|
# NFS shares required by
|
||||||
|
# Create a NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_v2" "webodv_private_data" {
|
||||||
|
name = "sobigdata_webodv_private_data"
|
||||||
|
description = "NFS share for the sobigdata webodv private data"
|
||||||
|
share_proto = "NFS"
|
||||||
|
size = 10
|
||||||
|
}
|
||||||
|
|
||||||
|
# Allow access to the NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "webodv_mgr_private_data_share_access" {
|
||||||
|
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.webodv_private_data.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.key
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "webodv_workers_private_data_share_access" {
|
||||||
|
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.webodv_private_data.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.key
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_sharedfilesystem_share_v2" "webodv_public_data" {
|
||||||
|
name = "sobigdata_webodv_public_data"
|
||||||
|
description = "NFS share for the sobigdata webodv public data"
|
||||||
|
share_proto = "NFS"
|
||||||
|
size = 10
|
||||||
|
}
|
||||||
|
|
||||||
|
# Allow access to the NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "webodv_mgr_public_data_share_access" {
|
||||||
|
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.webodv_public_data.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.key
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "webodv_workers_public_data_share_access" {
|
||||||
|
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.webodv_public_data.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.key
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_sharedfilesystem_share_v2" "webodv_mysql_data" {
|
||||||
|
name = "sobigdata_webodv_mysql_data"
|
||||||
|
description = "NFS share for the sobigdata webodv mysql data"
|
||||||
|
share_proto = "NFS"
|
||||||
|
size = 10
|
||||||
|
}
|
||||||
|
|
||||||
|
# Allow access to the NFS share
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "webodv_mgr_mysql_data_share_access" {
|
||||||
|
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_managers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.webodv_mysql_data.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.key
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "openstack_sharedfilesystem_share_access_v2" "webodv_workers_mysql_data_share_access" {
|
||||||
|
for_each = { for nfs_ip in data.terraform_remote_state.main_infrastructure.outputs.swarm_workers_nfs_ip_ports : join("", nfs_ip.all_fixed_ips) => nfs_ip }
|
||||||
|
share_id = openstack_sharedfilesystem_share_v2.webodv_mysql_data.id
|
||||||
|
access_type = "ip"
|
||||||
|
access_to = each.key
|
||||||
|
access_level = "rw"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
output "webodv_nfs_private_data" {
|
||||||
|
value = openstack_sharedfilesystem_share_v2.webodv_private_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_private_data_mgr_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.webodv_mgr_private_data_share_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_private_data_workers_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.webodv_workers_private_data_share_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_public_data" {
|
||||||
|
value = openstack_sharedfilesystem_share_v2.webodv_public_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_public_data_mgr_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.webodv_mgr_public_data_share_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_public_data_workers_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.webodv_workers_public_data_share_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_mysql_data" {
|
||||||
|
value = openstack_sharedfilesystem_share_v2.webodv_mysql_data
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_mysql_data_mgr_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.webodv_mgr_mysql_data_share_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
output "webodv_nfs_mysql_data_workers_acls" {
|
||||||
|
value = openstack_sharedfilesystem_share_access_v2.webodv_workers_mysql_data_share_access
|
||||||
|
sensitive = true
|
||||||
|
}
|
Loading…
Reference in New Issue