Skip to content
Snippets Groups Projects
Commit cc6db018 authored by Ing. Klára Moravcová's avatar Ing. Klára Moravcová
Browse files

Use image name.

parent cb70c5de
No related branches found
No related tags found
No related merge requests found
## HOW TO WORK WITH THIS REPO
pre-commit
terraform-docs
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --> <!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## Requirements ## Requirements
...@@ -49,6 +54,7 @@ No modules. ...@@ -49,6 +54,7 @@ No modules.
| [openstack_networking_secgroup_rule_v2.ssh4](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_secgroup_rule_v2) | resource | | [openstack_networking_secgroup_rule_v2.ssh4](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_secgroup_rule_v2) | resource |
| [openstack_networking_secgroup_v2.secgroup_default](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_secgroup_v2) | resource | | [openstack_networking_secgroup_v2.secgroup_default](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_secgroup_v2) | resource |
| [openstack_networking_subnet_v2.subnet_default](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_subnet_v2) | resource | | [openstack_networking_subnet_v2.subnet_default](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_subnet_v2) | resource |
| [openstack_images_image_v2.nodes_image](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/data-sources/images_image_v2) | data source |
| [openstack_networking_network_v2.external_network](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/data-sources/networking_network_v2) | data source | | [openstack_networking_network_v2.external_network](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/data-sources/networking_network_v2) | data source |
| [openstack_networking_router_v2.router_available](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/data-sources/networking_router_v2) | data source | | [openstack_networking_router_v2.router_available](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/data-sources/networking_router_v2) | data source |
...@@ -64,7 +70,6 @@ No modules. ...@@ -64,7 +70,6 @@ No modules.
| <a name="input_control_nodes_flavor"></a> [control\_nodes\_flavor](#input\_control\_nodes\_flavor) | n/a | `string` | `"hpc.8core-32ram-ssd-ephem"` | no | | <a name="input_control_nodes_flavor"></a> [control\_nodes\_flavor](#input\_control\_nodes\_flavor) | n/a | `string` | `"hpc.8core-32ram-ssd-ephem"` | no |
| <a name="input_control_nodes_name"></a> [control\_nodes\_name](#input\_control\_nodes\_name) | Name of the nodes. Must match [a-zA-Z0-9-]+ regexp. | `string` | `"control"` | no | | <a name="input_control_nodes_name"></a> [control\_nodes\_name](#input\_control\_nodes\_name) | Name of the nodes. Must match [a-zA-Z0-9-]+ regexp. | `string` | `"control"` | no |
| <a name="input_control_nodes_volume_size"></a> [control\_nodes\_volume\_size](#input\_control\_nodes\_volume\_size) | The size of the volume to create (in gigabytes) for root filesystem. | `string` | `"30"` | no | | <a name="input_control_nodes_volume_size"></a> [control\_nodes\_volume\_size](#input\_control\_nodes\_volume\_size) | The size of the volume to create (in gigabytes) for root filesystem. | `string` | `"30"` | no |
| <a name="input_image"></a> [image](#input\_image) | Image used for both control and worker servers | `string` | `"88f8e72a-bbf0-4ccc-8ff2-4f3188cd0d18"` | no |
| <a name="input_infra_name"></a> [infra\_name](#input\_infra\_name) | Infrastructure (profile) name. Used as a name prefix. Must match [a-zA-Z0-9-]+ regexp. | `string` | `"general-tf-demo"` | no | | <a name="input_infra_name"></a> [infra\_name](#input\_infra\_name) | Infrastructure (profile) name. Used as a name prefix. Must match [a-zA-Z0-9-]+ regexp. | `string` | `"general-tf-demo"` | no |
| <a name="input_internal_network_cidr"></a> [internal\_network\_cidr](#input\_internal\_network\_cidr) | Internal network address, use CIDR notation | `string` | `"10.10.10.0/24"` | no | | <a name="input_internal_network_cidr"></a> [internal\_network\_cidr](#input\_internal\_network\_cidr) | Internal network address, use CIDR notation | `string` | `"10.10.10.0/24"` | no |
| <a name="input_internal_network_creation_enable"></a> [internal\_network\_creation\_enable](#input\_internal\_network\_creation\_enable) | Create dedicated internal network. true/false ~ create new / reuse existing personal network | `bool` | `true` | no | | <a name="input_internal_network_creation_enable"></a> [internal\_network\_creation\_enable](#input\_internal\_network\_creation\_enable) | Create dedicated internal network. true/false ~ create new / reuse existing personal network | `bool` | `true` | no |
...@@ -74,6 +79,7 @@ No modules. ...@@ -74,6 +79,7 @@ No modules.
| <a name="input_kube_fip"></a> [kube\_fip](#input\_kube\_fip) | Allocate floating IP for kubespray | `bool` | `false` | no | | <a name="input_kube_fip"></a> [kube\_fip](#input\_kube\_fip) | Allocate floating IP for kubespray | `bool` | `false` | no |
| <a name="input_kube_fip_create_port"></a> [kube\_fip\_create\_port](#input\_kube\_fip\_create\_port) | True if you want floating IP address for kube-vip to access kube-api | `bool` | `false` | no | | <a name="input_kube_fip_create_port"></a> [kube\_fip\_create\_port](#input\_kube\_fip\_create\_port) | True if you want floating IP address for kube-vip to access kube-api | `bool` | `false` | no |
| <a name="input_kube_vip"></a> [kube\_vip](#input\_kube\_vip) | Internal IP for kube-vip to access kube-api | `string` | `"10.0.0.5"` | no | | <a name="input_kube_vip"></a> [kube\_vip](#input\_kube\_vip) | Internal IP for kube-vip to access kube-api | `string` | `"10.0.0.5"` | no |
| <a name="input_nodes_image"></a> [nodes\_image](#input\_nodes\_image) | Image used for both control and worker servers | `string` | `"ubuntu-jammy-x86_64"` | no |
| <a name="input_public_external_network"></a> [public\_external\_network](#input\_public\_external\_network) | Cloud public external network pool | `string` | `"public-cesnet-195-113-167-GROUP"` | no | | <a name="input_public_external_network"></a> [public\_external\_network](#input\_public\_external\_network) | Cloud public external network pool | `string` | `"public-cesnet-195-113-167-GROUP"` | no |
| <a name="input_router_creation_enable"></a> [router\_creation\_enable](#input\_router\_creation\_enable) | Create dedicated router instance. true/false ~ create new / reuse existing personal router | `bool` | `true` | no | | <a name="input_router_creation_enable"></a> [router\_creation\_enable](#input\_router\_creation\_enable) | Create dedicated router instance. true/false ~ create new / reuse existing personal router | `bool` | `true` | no |
| <a name="input_ssh_public_key"></a> [ssh\_public\_key](#input\_ssh\_public\_key) | n/a | `string` | `"~/.ssh/id_rsa.pub"` | no | | <a name="input_ssh_public_key"></a> [ssh\_public\_key](#input\_ssh\_public\_key) | n/a | `string` | `"~/.ssh/id_rsa.pub"` | no |
......
data "openstack_images_image_v2" "nodes_image" {
name = var.nodes_image
}
#################### ####################
# Define bastion # # Define bastion #
#################### ####################
...@@ -23,7 +27,7 @@ resource "openstack_compute_instance_v2" "bastion" { ...@@ -23,7 +27,7 @@ resource "openstack_compute_instance_v2" "bastion" {
resource "openstack_compute_instance_v2" "control_nodes" { resource "openstack_compute_instance_v2" "control_nodes" {
count = var.control_nodes_count count = var.control_nodes_count
name = "${var.infra_name}-${var.control_nodes_name}-${count.index + 1}" name = "${var.infra_name}-${var.control_nodes_name}-${count.index + 1}"
image_id = var.image image_name = var.nodes_image
flavor_name = var.control_nodes_flavor flavor_name = var.control_nodes_flavor
key_pair = openstack_compute_keypair_v2.pubkey.name key_pair = openstack_compute_keypair_v2.pubkey.name
security_groups = [openstack_networking_secgroup_v2.secgroup_default.name] security_groups = [openstack_networking_secgroup_v2.secgroup_default.name]
...@@ -35,7 +39,7 @@ resource "openstack_compute_instance_v2" "control_nodes" { ...@@ -35,7 +39,7 @@ resource "openstack_compute_instance_v2" "control_nodes" {
} }
block_device { block_device {
uuid = var.image uuid = data.openstack_images_image_v2.nodes_image.id
source_type = "image" source_type = "image"
volume_size = var.control_nodes_volume_size volume_size = var.control_nodes_volume_size
destination_type = "local" destination_type = "local"
...@@ -60,7 +64,7 @@ resource "openstack_compute_instance_v2" "worker_nodes" { ...@@ -60,7 +64,7 @@ resource "openstack_compute_instance_v2" "worker_nodes" {
for_each = { for inst in local.all_instances : inst.name => inst } for_each = { for inst in local.all_instances : inst.name => inst }
name = each.value.name name = each.value.name
image_id = var.image image_name = var.nodes_image
flavor_name = each.value.flavor flavor_name = each.value.flavor
key_pair = openstack_compute_keypair_v2.pubkey.name key_pair = openstack_compute_keypair_v2.pubkey.name
security_groups = [openstack_networking_secgroup_v2.secgroup_default.name] security_groups = [openstack_networking_secgroup_v2.secgroup_default.name]
...@@ -72,7 +76,7 @@ resource "openstack_compute_instance_v2" "worker_nodes" { ...@@ -72,7 +76,7 @@ resource "openstack_compute_instance_v2" "worker_nodes" {
} }
block_device { block_device {
uuid = var.image uuid = data.openstack_images_image_v2.nodes_image.id
source_type = "image" source_type = "image"
volume_size = each.value.volume_size volume_size = each.value.volume_size
destination_type = "local" destination_type = "local"
......
...@@ -96,9 +96,9 @@ variable "worker_nodes" { ...@@ -96,9 +96,9 @@ variable "worker_nodes" {
})) }))
} }
variable "image" { variable "nodes_image" {
description = "Image used for both control and worker servers" description = "Image used for both control and worker servers"
default = "88f8e72a-bbf0-4ccc-8ff2-4f3188cd0d18" default = "ubuntu-jammy-x86_64"
} }
variable "ssh_user_name" { variable "ssh_user_name" {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment