Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
K
Kubespray
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Model registry
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Mirror
Kubespray
Commits
a901b1f0
Unverified
Commit
a901b1f0
authored
5 years ago
by
Hugo Blom
Committed by
GitHub
5 years ago
Browse files
Options
Downloads
Patches
Plain Diff
convert volumes to dynamic blocks, openstack (#5673)
parent
82efd959
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
contrib/terraform/openstack/modules/compute/main.tf
+106
-399
106 additions, 399 deletions
contrib/terraform/openstack/modules/compute/main.tf
with
106 additions
and
399 deletions
contrib/terraform/openstack/modules/compute/main.tf
+
106
−
399
View file @
a901b1f0
...
...
@@ -115,45 +115,21 @@ resource "openstack_compute_servergroup_v2" "k8s_etcd" {
resource
"openstack_compute_instance_v2"
"bastion"
{
name
=
"
${
var
.
cluster_name
}
-bastion-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
bastion_root_volume_size_in_gb
==
0
?
var
.
number_of_bastions
:
0
}
"
count
=
"
${
var
.
number_of_bastions
}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_bastion
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
"
${
element
(
openstack_networking_secgroup_v2
.
bastion
.
*
.
name
,
count
.
index
)}
"
,
]
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"bastion"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
provisioner
"local-exec"
{
command
=
"sed s/USER/
${
var
.
ssh_user
}
/ ../../contrib/terraform/openstack/ansible_bastion_template.txt | sed s/BASTION_ADDRESS/
${
var
.
bastion_fips
[
0
]}
/ > group_vars/no-floating.yml"
}
}
resource
"openstack_compute_instance_v2"
"bastion_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-bastion-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
bastion_root_volume_size_in_gb
>
0
?
var
.
number_of_bastions
:
0
}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_bastion
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
bastion_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
dynamic
"block_device"
{
for_each
=
var
.
bastion_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
bastion_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
network
{
...
...
@@ -178,56 +154,25 @@ resource "openstack_compute_instance_v2" "bastion_custom_volume_size" {
resource
"openstack_compute_instance_v2"
"k8s_master"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_masters
:
0
}
"
count
=
"
${
var
.
number_of_k8s_masters
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s_master
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_master
[
0
]]
:
[]
dynamic
"block_device"
{
for_each
=
var
.
master_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_master
[
0
].
id
}
"
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"etcd,kube-master,
${
var
.
supplementary_master_groups
}
,k8s-cluster,vault"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
provisioner
"local-exec"
{
command
=
"sed s/USER/
${
var
.
ssh_user
}
/ ../../contrib/terraform/openstack/ansible_bastion_template.txt | sed s/BASTION_ADDRESS/
${
element
(
concat
(
var
.
bastion_fips
,
var
.
k8s_master_fips
),
0
)}
/ > group_vars/no-floating.yml"
}
}
resource
"openstack_compute_instance_v2"
"k8s_master_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_masters
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
network
{
name
=
"
${
var
.
network_name
}
"
}
...
...
@@ -235,7 +180,7 @@ resource "openstack_compute_instance_v2" "k8s_master_custom_volume_size" {
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s_master
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_master
[
0
]]
:
[]
content
{
...
...
@@ -249,7 +194,7 @@ resource "openstack_compute_instance_v2" "k8s_master_custom_volume_size" {
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
provisioner
"local-exec"
{
command
=
"sed s/USER/
${
var
.
ssh_user
}
/ ../../contrib/terraform/openstack/ansible_bastion_template.txt | sed s/BASTION_ADDRESS/
${
element
(
concat
(
var
.
bastion_fips
,
var
.
k8s_master_fips
),
0
)}
/ > group_vars/no-floating.yml"
}
...
...
@@ -257,56 +202,25 @@ resource "openstack_compute_instance_v2" "k8s_master_custom_volume_size" {
resource
"openstack_compute_instance_v2"
"k8s_master_no_etcd"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-ne-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_masters_no_etcd
:
0
}
"
count
=
"
${
var
.
number_of_k8s_masters_no_etcd
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s_master
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_master
[
0
]]
:
[]
dynamic
"block_device"
{
for_each
=
var
.
master_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_master
[
0
].
id
}
"
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"kube-master,
${
var
.
supplementary_master_groups
}
,k8s-cluster,vault"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
provisioner
"local-exec"
{
command
=
"sed s/USER/
${
var
.
ssh_user
}
/ ../../contrib/terraform/openstack/ansible_bastion_template.txt | sed s/BASTION_ADDRESS/
${
element
(
concat
(
var
.
bastion_fips
,
var
.
k8s_master_fips
),
0
)}
/ > group_vars/no-floating.yml"
}
}
resource
"openstack_compute_instance_v2"
"k8s_master_no_etcd_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-ne-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_masters_no_etcd
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
network
{
name
=
"
${
var
.
network_name
}
"
}
...
...
@@ -314,7 +228,7 @@ resource "openstack_compute_instance_v2" "k8s_master_no_etcd_custom_volume_size"
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s_master
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_master
[
0
]]
:
[]
content
{
...
...
@@ -336,56 +250,30 @@ resource "openstack_compute_instance_v2" "k8s_master_no_etcd_custom_volume_size"
resource
"openstack_compute_instance_v2"
"etcd"
{
name
=
"
${
var
.
cluster_name
}
-etcd-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
etcd_root_volume_size_in_gb
==
0
?
var
.
number_of_etcd
:
0
}
"
count
=
"
${
var
.
number_of_etcd
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_etcd
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_etcd
[
0
]]
:
[]
dynamic
"block_device"
{
for_each
=
var
.
etcd_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_etcd
[
0
].
id
}
"
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
etcd_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"etcd,vault,no-floating"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
}
resource
"openstack_compute_instance_v2"
"etcd_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-etcd-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
etcd_root_volume_size_in_gb
>
0
?
var
.
number_of_etcd
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_etcd
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
etcd_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_etcd
[
0
]]
:
[]
content
{
...
...
@@ -403,52 +291,24 @@ resource "openstack_compute_instance_v2" "etcd_custom_volume_size" {
resource
"openstack_compute_instance_v2"
"k8s_master_no_floating_ip"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_masters_no_floating_ip
:
0
}
"
count
=
"
${
var
.
number_of_k8s_masters_no_floating_ip
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s_master
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_master
[
0
]]
:
[]
dynamic
"block_device"
{
for_each
=
var
.
master_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_master
[
0
].
id
}
"
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"etcd,kube-master,
${
var
.
supplementary_master_groups
}
,k8s-cluster,vault,no-floating"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
}
resource
"openstack_compute_instance_v2"
"k8s_master_no_floating_ip_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_masters_no_floating_ip
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
network
{
name
=
"
${
var
.
network_name
}
"
}
...
...
@@ -474,52 +334,24 @@ resource "openstack_compute_instance_v2" "k8s_master_no_floating_ip_custom_volum
resource
"openstack_compute_instance_v2"
"k8s_master_no_floating_ip_no_etcd"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-ne-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_masters_no_floating_ip_no_etcd
:
0
}
"
count
=
"
${
var
.
number_of_k8s_masters_no_floating_ip_no_etcd
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s_master
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_master
[
0
]]
:
[]
dynamic
"block_device"
{
for_each
=
var
.
master_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_master
[
0
].
id
}
"
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"kube-master,
${
var
.
supplementary_master_groups
}
,k8s-cluster,vault,no-floating"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
}
resource
"openstack_compute_instance_v2"
"k8s_master_no_floating_ip_no_etcd_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-k8s-master-ne-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
master_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_masters_no_floating_ip_no_etcd
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_master
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
master_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
network
{
name
=
"
${
var
.
network_name
}
"
}
...
...
@@ -545,56 +377,24 @@ resource "openstack_compute_instance_v2" "k8s_master_no_floating_ip_no_etcd_cust
resource
"openstack_compute_instance_v2"
"k8s_node"
{
name
=
"
${
var
.
cluster_name
}
-k8s-node-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
node_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_nodes
:
0
}
"
count
=
"
${
var
.
number_of_k8s_nodes
}
"
availability_zone
=
"
${
element
(
var
.
az_list_node
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_node
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
worker
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_node
[
0
]]
:
[]
dynamic
"block_device"
{
for_each
=
var
.
node_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_node
[
0
].
id
}
"
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
node_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"kube-node,k8s-cluster,
${
var
.
supplementary_node_groups
}
"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
provisioner
"local-exec"
{
command
=
"sed s/USER/
${
var
.
ssh_user
}
/ ../../contrib/terraform/openstack/ansible_bastion_template.txt | sed s/BASTION_ADDRESS/
${
element
(
concat
(
var
.
bastion_fips
,
var
.
k8s_node_fips
),
0
)}
/ > group_vars/no-floating.yml"
}
}
resource
"openstack_compute_instance_v2"
"k8s_node_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-k8s-node-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
node_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_nodes
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list_node
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_node
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
node_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
network
{
name
=
"
${
var
.
network_name
}
"
}
...
...
@@ -602,7 +402,7 @@ resource "openstack_compute_instance_v2" "k8s_node_custom_volume_size" {
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
worker
.
name
}
"
,
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_node
[
0
]]
:
[]
content
{
...
...
@@ -624,12 +424,24 @@ resource "openstack_compute_instance_v2" "k8s_node_custom_volume_size" {
resource
"openstack_compute_instance_v2"
"k8s_node_no_floating_ip"
{
name
=
"
${
var
.
cluster_name
}
-k8s-node-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
node_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_nodes_no_floating_ip
:
0
}
"
count
=
"
${
var
.
number_of_k8s_nodes_no_floating_ip
}
"
availability_zone
=
"
${
element
(
var
.
az_list_node
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_k8s_node
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
dynamic
"block_device"
{
for_each
=
var
.
node_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
node_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
network
{
name
=
"
${
var
.
network_name
}
"
}
...
...
@@ -653,30 +465,31 @@ resource "openstack_compute_instance_v2" "k8s_node_no_floating_ip" {
}
}
resource
"openstack_compute_instance_v2"
"
k8
s_node_no_floating_ip
_custom_volume_size
"
{
name
=
"
${
var
.
cluster_name
}
-
k8
s-node-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
node_root_volume_size_in_gb
>
0
?
var
.
number_of_
k8
s_nodes_no_floating_ip
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
_node
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_
k8
s_node
}
"
resource
"openstack_compute_instance_v2"
"
glusterf
s_node_no_floating_ip"
{
name
=
"
${
var
.
cluster_name
}
-
gf
s-node-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
number_of_
gf
s_nodes_no_floating_ip
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
_gfs
}
"
flavor_id
=
"
${
var
.
flavor_
gf
s_node
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
node_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
dynamic
"block_device"
{
for_each
=
var
.
gfs_root_volume_size_in_gb
>
0
?
[
var
.
image
]
:
[]
content
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
vm_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
gfs_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
}
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
,
"
${
openstack_networking_secgroup_v2
.
worker
.
name
}
"
,
]
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_node
[
0
]]
:
[]
...
...
@@ -686,53 +499,34 @@ resource "openstack_compute_instance_v2" "k8s_node_no_floating_ip_custom_volume_
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user
}
"
kubespray_groups
=
"
kube-node,k8s-cluster,no-floating,
${
var
.
supplementary_node_groups
}
"
ssh_user
=
"
${
var
.
ssh_user
_gfs
}
"
kubespray_groups
=
"
gfs-cluster,network-storage,no-floating
"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
}
resource
"openstack_compute_floatingip_associate_v2"
"bastion"
{
count
=
"
${
var
.
bastion_root_volume_size_in_gb
==
0
?
var
.
number_of_bastions
:
0
}
"
count
=
"
${
var
.
number_of_bastions
}
"
floating_ip
=
"
${
var
.
bastion_fips
[
count
.
index
]}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
bastion
.
*
.
id
,
count
.
index
)}
"
wait_until_associated
=
"
${
var
.
wait_for_floatingip
}
"
}
resource
"openstack_compute_floatingip_associate_v2"
"bastion_custom_volume_size"
{
count
=
"
${
var
.
bastion_root_volume_size_in_gb
>
0
?
var
.
number_of_bastions
:
0
}
"
floating_ip
=
"
${
var
.
bastion_fips
[
count
.
index
]}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
bastion_custom_volume_size
.
*
.
id
,
count
.
index
)}
"
wait_until_associated
=
"
${
var
.
wait_for_floatingip
}
"
}
resource
"openstack_compute_floatingip_associate_v2"
"k8s_master"
{
count
=
"
${
var
.
master_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_masters
:
0
}
"
count
=
"
${
var
.
number_of_k8s_masters
}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
k8s_master
.
*
.
id
,
count
.
index
)}
"
floating_ip
=
"
${
var
.
k8s_master_fips
[
count
.
index
]}
"
wait_until_associated
=
"
${
var
.
wait_for_floatingip
}
"
}
resource
"openstack_compute_floatingip_associate_v2"
"k8s_master_custom_volume_size"
{
count
=
"
${
var
.
master_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_masters
:
0
}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
k8s_master_custom_volume_size
.
*
.
id
,
count
.
index
)}
"
floating_ip
=
"
${
var
.
k8s_master_fips
[
count
.
index
]}
"
wait_until_associated
=
"
${
var
.
wait_for_floatingip
}
"
}
resource
"openstack_compute_floatingip_associate_v2"
"k8s_master_no_etcd"
{
count
=
"
${
var
.
master_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_masters_no_etcd
:
0
}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
k8s_master_no_etcd
.
*
.
id
,
count
.
index
)}
"
floating_ip
=
"
${
var
.
k8s_master_no_etcd_fips
[
count
.
index
]}
"
}
resource
"openstack_compute_floatingip_associate_v2"
"k8s_master_no_etcd_custom_volume_size"
{
count
=
"
${
var
.
master_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_masters_no_etcd
:
0
}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
k8s_master_no_etcd_custom_volume_size
.
*
.
id
,
count
.
index
)}
"
floating_ip
=
"
${
var
.
k8s_master_no_etcd_fips
[
count
.
index
]}
"
}
resource
"openstack_compute_floatingip_associate_v2"
"k8s_node"
{
count
=
"
${
var
.
node_root_volume_size_in_gb
==
0
?
var
.
number_of_k8s_nodes
:
0
}
"
floating_ip
=
"
${
var
.
k8s_node_fips
[
count
.
index
]}
"
...
...
@@ -740,13 +534,6 @@ resource "openstack_compute_floatingip_associate_v2" "k8s_node" {
wait_until_associated
=
"
${
var
.
wait_for_floatingip
}
"
}
resource
"openstack_compute_floatingip_associate_v2"
"k8s_node_custom_volume_size"
{
count
=
"
${
var
.
node_root_volume_size_in_gb
>
0
?
var
.
number_of_k8s_nodes
:
0
}
"
floating_ip
=
"
${
var
.
k8s_node_fips
[
count
.
index
]}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
k8s_node_custom_volume_size
.
*
.
id
,
count
.
index
)}
"
wait_until_associated
=
"
${
var
.
wait_for_floatingip
}
"
}
resource
"openstack_blockstorage_volume_v2"
"glusterfs_volume"
{
name
=
"
${
var
.
cluster_name
}
-glusterfs_volume-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
gfs_root_volume_size_in_gb
==
0
?
var
.
number_of_gfs_nodes_no_floating_ip
:
0
}
"
...
...
@@ -754,88 +541,8 @@ resource "openstack_blockstorage_volume_v2" "glusterfs_volume" {
size
=
"
${
var
.
gfs_volume_size_in_gb
}
"
}
resource
"openstack_blockstorage_volume_v2"
"glusterfs_volume_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-glusterfs_volume-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
gfs_root_volume_size_in_gb
>
0
?
var
.
number_of_gfs_nodes_no_floating_ip
:
0
}
"
description
=
"Non-ephemeral volume for GlusterFS"
size
=
"
${
var
.
gfs_volume_size_in_gb
}
"
}
resource
"openstack_compute_instance_v2"
"glusterfs_node_no_floating_ip"
{
name
=
"
${
var
.
cluster_name
}
-gfs-node-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
gfs_root_volume_size_in_gb
==
0
?
var
.
number_of_gfs_nodes_no_floating_ip
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image_gfs
}
"
flavor_id
=
"
${
var
.
flavor_gfs_node
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_node
[
0
]]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_node
[
0
].
id
}
"
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user_gfs
}
"
kubespray_groups
=
"gfs-cluster,network-storage,no-floating"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
}
resource
"openstack_compute_instance_v2"
"glusterfs_node_no_floating_ip_custom_volume_size"
{
name
=
"
${
var
.
cluster_name
}
-gfs-node-nf-
${
count
.
index
+
1
}
"
count
=
"
${
var
.
gfs_root_volume_size_in_gb
>
0
?
var
.
number_of_gfs_nodes_no_floating_ip
:
0
}
"
availability_zone
=
"
${
element
(
var
.
az_list
,
count
.
index
)}
"
image_name
=
"
${
var
.
image
}
"
flavor_id
=
"
${
var
.
flavor_gfs_node
}
"
key_pair
=
"
${
openstack_compute_keypair_v2
.
k8s
.
name
}
"
block_device
{
uuid
=
"
${
data
.
openstack_images_image_v2
.
gfs_image
.
id
}
"
source_type
=
"image"
volume_size
=
"
${
var
.
gfs_root_volume_size_in_gb
}
"
boot_index
=
0
destination_type
=
"volume"
delete_on_termination
=
true
}
network
{
name
=
"
${
var
.
network_name
}
"
}
security_groups
=
[
"
${
openstack_networking_secgroup_v2
.
k8s
.
name
}
"
]
dynamic
"scheduler_hints"
{
for_each
=
var
.
use_server_groups
?
[
openstack_compute_servergroup_v2
.
k8s_node
[
0
]]
:
[]
content
{
group
=
"
${
openstack_compute_servergroup_v2
.
k8s_node
[
0
].
id
}
"
}
}
metadata
=
{
ssh_user
=
"
${
var
.
ssh_user_gfs
}
"
kubespray_groups
=
"gfs-cluster,network-storage,no-floating"
depends_on
=
"
${
var
.
network_id
}
"
use_access_ip
=
"
${
var
.
use_access_ip
}
"
}
}
resource
"openstack_compute_volume_attach_v2"
"glusterfs_volume"
{
count
=
"
${
var
.
gfs_root_volume_size_in_gb
==
0
?
var
.
number_of_gfs_nodes_no_floating_ip
:
0
}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
glusterfs_node_no_floating_ip
.
*
.
id
,
count
.
index
)}
"
volume_id
=
"
${
element
(
openstack_blockstorage_volume_v2
.
glusterfs_volume
.
*
.
id
,
count
.
index
)}
"
}
resource
"openstack_compute_volume_attach_v2"
"glusterfs_volume_custom_root_volume_size"
{
count
=
"
${
var
.
gfs_root_volume_size_in_gb
>
0
?
var
.
number_of_gfs_nodes_no_floating_ip
:
0
}
"
instance_id
=
"
${
element
(
openstack_compute_instance_v2
.
glusterfs_node_no_floating_ip_custom_volume_size
.
*
.
id
,
count
.
index
)}
"
volume_id
=
"
${
element
(
openstack_blockstorage_volume_v2
.
glusterfs_volume_custom_volume_size
.
*
.
id
,
count
.
index
)}
"
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment