Skip to content

Commit 0ba8992

Browse files
Bare metal worker node support (#14)
1 parent 94f1cdc commit 0ba8992

File tree

49 files changed

+1789
-654
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1789
-654
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# **CHANGELOG**
22

3+
## **1.4.0**
4+
### ENHANCEMENTS
5+
- Support for Baremetal worker node.
6+
- Spectrum Scale version has been updated from 5.1.3.1 to 5.1.5.1.
7+
- Support custom cidr block for vpc and subnet creation.
8+
- Support Entitlement check for Symphony license validation.
9+
310
## **1.3.0**
411
### ENHANCEMENTS
512
- Support for Windows worker node

DCO1.1_signatures_symphony.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ DCO 1.1 Signed-off-by: Augie Mena <mena@us.ibm.com> Date: 09-20-2021
44
DCO 1.1 Signed-off-by: Takeshi Yoshimura <tyos@jp.ibm.com> Date: 09-21-2021
55
DCO 1.1 Signed-off-by: Alex Arvinraj <A.Alex.Arvinraj@ibm.com> Date: 09-20-2021
66
DCO 1.1 Signed-off-by: Ajith Shanmuganathan <ashanmug@ca.ibm.com> Date: 09-20-2021
7-
DCO 1.1 Signed-off-by: Saurabh Kumar <saurabh.kumar12@ibm.com> Date: 28-01-2022
7+
DCO 1.1 Signed-off-by: Saurabh Kumar <saurabh.kumar12@ibm.com> Date: 01-28-2022
88
DCO 1.1 Signed-off-by: Robert Ebenezer Bhakiyaraj S <robert.ebenezer.bhakiyaraj.s@ibm.com> Date: 10-28-2022

README.md

Lines changed: 65 additions & 60 deletions
Large diffs are not rendered by default.

image-map.tf

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@
22
# These are images for computes nodes (primary, secondary, worker nodes etc)
33
locals {
44
image_region_map = {
5-
"hpcc-symp731-scale5131-rhel84-25may2022-v1" = {
6-
"ca-tor" = "r038-303b6837-0767-4abc-9950-7e59c5ff1344"
7-
"br-sao" = "r042-f4860c73-e883-4ea5-8b92-c81706d2e390"
8-
"us-east" = "r014-45c37ae5-726c-4d9b-b567-7ba39ebd60eb"
9-
"us-south"= "r006-c8ce7b6b-b40b-4f12-8ce5-0ba947a26524"
10-
"jp-osa" = "r034-638b1f1e-84ff-43a8-acc3-ce864c9d6af5"
11-
"jp-tok" = "r022-afed1834-572a-4937-9200-d5c25553feef"
12-
"au-syd" = "r026-b58c6aa4-684b-4fe3-817c-32faa3157082"
13-
"eu-de" = "r010-90a603fa-4881-490d-8d1e-bb9ba127a321"
14-
"eu-gb" = "r018-c2dc9947-acf0-47a3-bf91-ee73c27b0a66"
5+
"hpcc-symp731-scale5151-rhel84-v1-4" = {
6+
"ca-tor" = "r038-092885d7-2588-47f1-9005-9187a5c6d5f4"
7+
"br-sao" = "r042-a3198dad-1ff4-4b7a-adb1-a2da0df80e03"
8+
"us-east" = "r014-a88acfc5-6196-4a4a-8bcb-a4e28251c6f6"
9+
"us-south"= "r006-38dde0fe-b09c-4899-b269-a0e6f3814c7a"
10+
"jp-osa" = "r034-9d190fca-8320-4074-aa98-949e25825730"
11+
"jp-tok" = "r022-454c0eb2-1089-494f-86a9-d7d055c0879e"
12+
"au-syd" = "r026-f6a6734c-1182-4c8a-9f2e-90ebd4588e98"
13+
"eu-de" = "r010-be77876b-fef7-4977-ab06-c190f84bc691"
14+
"eu-gb" = "r018-cee3dfa2-811a-4fe7-bdf6-cf7b6d133db8"
1515
},
1616
"hpcc-sym731-win2016-10oct22-v1" = {
17-
"ca-tor" = "r038-74251e18-0a8b-4eea-b4ab-f2a52d3d78c7"
18-
"br-sao" = "r042-25aa73c7-ca44-4aa3-94d6-7f01c3c98804"
17+
"ca-tor" = "r038-74251e18-0a8b-4eea-b4ab-f2a52d3d78c7"
18+
"br-sao" = "r042-25aa73c7-ca44-4aa3-94d6-7f01c3c98804"
1919
"us-east" = "r014-d5ee150e-7103-468d-847c-08258b8e16c5"
2020
"us-south"= "r006-3f250809-d1b3-4f1c-b629-ce16cfb34e9d"
21-
"jp-osa" = "r034-c37fef8a-cf0b-415a-b5f0-dad7fbd60b14"
22-
"jp-tok" = "r022-1806238e-107d-4955-a481-153e0cbd8fa9"
23-
"au-syd" = "r026-c1cb73af-b8c6-498c-ba0a-f2acb3f928d1"
24-
"eu-de" = "r010-f49b523f-96bc-413b-b1a0-0f710a7c7c99"
25-
"eu-gb" = "r018-a43cb221-e893-4b2d-af96-c4efb79241a9"
21+
"jp-osa" = "r034-c37fef8a-cf0b-415a-b5f0-dad7fbd60b14"
22+
"jp-tok" = "r022-1806238e-107d-4955-a481-153e0cbd8fa9"
23+
"au-syd" = "r026-c1cb73af-b8c6-498c-ba0a-f2acb3f928d1"
24+
"eu-de" = "r010-f49b523f-96bc-413b-b1a0-0f710a7c7c99"
25+
"eu-gb" = "r018-a43cb221-e893-4b2d-af96-c4efb79241a9"
2626
}
2727
}
2828
}

outputs.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
###################################################
55

66
output "ssh_command" {
7-
value = "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -L 18443:localhost:8443 -J root@${ibm_is_floating_ip.login_fip.address} root@${ibm_is_instance.primary[0].primary_network_interface[0].primary_ipv4_address}"
7+
value = "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -L 18443:localhost:8443 -J root@${module.login_fip.floating_ip_address} root@${module.primary_vsi[0].primary_network_interface}"
88
}
99

1010
output "vpc_name" {
1111
value = "${data.ibm_is_vpc.vpc.name} -- - ${data.ibm_is_vpc.vpc.id}"
1212
}
1313

1414
output "vpn_config_info" {
15-
value = var.vpn_enabled ? "IP: ${ibm_is_vpn_gateway.vpn[0].public_ip_address}, CIDR: ${ibm_is_subnet.subnet.ipv4_cidr_block}, UDP ports: 500, 4500": null
15+
value = var.vpn_enabled ? "IP : ${module.vpn[0].vpn_gateway_public_ip_address}, CIDR: ${module.subnet.ipv4_cidr_block}, UDP ports : 500, 4500 ": null
1616
}
1717

1818
output "spectrum_scale_storage_ssh_command" {
19-
value = var.spectrum_scale_enabled ? "ssh -J root@${ibm_is_floating_ip.login_fip.address} root@${ibm_is_instance.spectrum_scale_storage[0].primary_network_interface[0].primary_ipv4_address}": null
19+
value = var.spectrum_scale_enabled ? "ssh -J root@${module.login_fip.floating_ip_address} root@${module.spectrum_scale_storage[0].primary_network_interface}": null
2020
}
2121

2222
output "region_name" {
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
terraform {
2+
required_providers {
3+
ibm = {
4+
source = "IBM-Cloud/ibm"
5+
}
6+
}
7+
}
8+
9+
variable "profile" {}
10+
variable "name" {}
11+
variable "image" {}
12+
variable "zone" {}
13+
variable "keys" {}
14+
variable "tags" {}
15+
variable "vpc" {}
16+
variable "resource_group" {}
17+
variable "user_data" {}
18+
variable "subnet" {}
19+
variable "security_group" {}
20+
21+
22+
23+
24+
resource "ibm_is_bare_metal_server" "bare_metal" {
25+
26+
profile = var.profile
27+
name = var.name
28+
image = var.image
29+
zone = var.zone
30+
keys = var.keys
31+
tags = var.tags
32+
primary_network_interface {
33+
name = "ens1"
34+
subnet = var.subnet
35+
security_groups = var.security_group
36+
}
37+
vpc = var.vpc
38+
resource_group = var.resource_group
39+
user_data = var.user_data
40+
timeouts {
41+
create = "90m"
42+
}
43+
}
44+
45+
output "bare_metal_server_id" {
46+
value = ibm_is_bare_metal_server.bare_metal.id
47+
}
48+
49+
output "primary_network_interface" {
50+
value = ibm_is_bare_metal_server.bare_metal.primary_network_interface[0].primary_ip.0.address
51+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
terraform {
2+
required_providers {
3+
ibm = {
4+
source = "IBM-Cloud/ibm"
5+
}
6+
}
7+
}
8+
9+
10+
variable "vsi_name" {}
11+
variable "image" {}
12+
variable "profile" {}
13+
variable "vpc" {}
14+
variable "zone" {}
15+
variable "keys" {}
16+
variable "user_data" {}
17+
variable "resource_group" {}
18+
variable "tags" {}
19+
variable "subnet_id" {}
20+
variable "security_group" {}
21+
22+
23+
resource "ibm_is_instance" "login" {
24+
name = var.vsi_name
25+
image = var.image
26+
profile = var.profile
27+
vpc = var.vpc
28+
zone = var.zone
29+
keys = var.keys
30+
user_data = var.user_data
31+
resource_group = var.resource_group
32+
tags = var.tags
33+
34+
# fip will be assinged
35+
primary_network_interface {
36+
name = "eth0"
37+
subnet = var.subnet_id
38+
security_groups = var.security_group
39+
}
40+
}
41+
42+
output "primary_network_interface" {
43+
value = ibm_is_instance.login.primary_network_interface[0].id
44+
}
45+
46+
output "login_id" {
47+
value = ibm_is_instance.login.id
48+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
terraform {
2+
required_providers {
3+
ibm = {
4+
source = "IBM-Cloud/ibm"
5+
}
6+
}
7+
}
8+
9+
variable "vsi_name" {}
10+
variable "image" {}
11+
variable "profile" {}
12+
variable "vpc" {}
13+
variable "zone" {}
14+
variable "keys" {}
15+
variable "user_data" {}
16+
variable "resource_group" {}
17+
variable "tags" {}
18+
variable "subnet_id" {}
19+
variable "security_group" {}
20+
variable "primary_ipv4_address" {}
21+
22+
23+
24+
resource "ibm_is_instance" "management_node" {
25+
26+
name = var.vsi_name
27+
image = var.image
28+
profile = var.profile
29+
vpc = var.vpc
30+
zone = var.zone
31+
keys = var.keys
32+
resource_group = var.resource_group
33+
user_data = var.user_data
34+
tags = var.tags
35+
primary_network_interface {
36+
name = "eth0"
37+
subnet = var.subnet_id
38+
security_groups = var.security_group
39+
primary_ip {
40+
address = var.primary_ipv4_address
41+
}
42+
}
43+
}
44+
/*
45+
output "primary_network_interface" {
46+
value = ibm_is_instance.management_node.primary_network_interface[0]["primary_ipv4_address"]
47+
}
48+
*/
49+
output "management_id" {
50+
value = ibm_is_instance.management_node.id
51+
}
52+
53+
output "primary_network_interface" {
54+
value = ibm_is_instance.management_node.primary_network_interface[0].primary_ip.0.address
55+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
terraform {
2+
required_providers {
3+
ibm = {
4+
source = "IBM-Cloud/ibm"
5+
}
6+
}
7+
}
8+
9+
variable "vsi_name" {}
10+
variable "image" {}
11+
variable "profile" {}
12+
variable "vpc" {}
13+
variable "zone" {}
14+
variable "keys" {}
15+
variable "user_data" {}
16+
variable "resource_group" {}
17+
variable "tags" {}
18+
variable "subnet_id" {}
19+
variable "security_group" {}
20+
variable "volumes" {}
21+
variable "primary_ipv4_address" {}
22+
23+
24+
resource "ibm_is_instance" "storage" {
25+
name = var.vsi_name
26+
image = var.image
27+
profile = var.profile
28+
vpc = var.vpc
29+
zone = var.zone
30+
keys = var.keys
31+
resource_group = var.resource_group
32+
user_data = var.user_data
33+
volumes = var.volumes
34+
35+
tags = var.tags
36+
primary_network_interface {
37+
name = "eth0"
38+
subnet = var.subnet_id
39+
security_groups = var.security_group
40+
primary_ip {
41+
address = var.primary_ipv4_address
42+
}
43+
#primary_ipv4_address = var.primary_ipv4_address
44+
}
45+
}
46+
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
terraform {
2+
required_providers {
3+
ibm = {
4+
source = "IBM-Cloud/ibm"
5+
}
6+
}
7+
}
8+
9+
variable "vsi_name" {}
10+
variable "image" {}
11+
variable "profile" {}
12+
variable "vpc" {}
13+
variable "zone" {}
14+
variable "keys" {}
15+
variable "user_data" {}
16+
variable "resource_group" {}
17+
variable "tags" {}
18+
variable "subnet_id" {}
19+
variable "security_group" {}
20+
variable "primary_ipv4_address" {}
21+
22+
23+
resource "ibm_is_instance" "primary" {
24+
name = var.vsi_name
25+
image = var.image
26+
profile = var.profile
27+
vpc = var.vpc
28+
zone = var.zone
29+
keys = var.keys
30+
resource_group = var.resource_group
31+
user_data = var.user_data
32+
33+
tags = var.tags
34+
primary_network_interface {
35+
name = "eth0"
36+
subnet = var.subnet_id
37+
security_groups = var.security_group
38+
primary_ip {
39+
address = var.primary_ipv4_address
40+
}
41+
}
42+
}
43+
/*
44+
output "primary_network_interface" {
45+
value = ibm_is_instance.primary.primary_network_interface[0]["primary_ipv4_address"]
46+
}
47+
*/
48+
output "primary_id" {
49+
value = ibm_is_instance.primary.id
50+
}
51+
52+
output "primary_network_interface" {
53+
value = ibm_is_instance.primary.primary_network_interface[0].primary_ip.0.address
54+
}

0 commit comments

Comments
 (0)