forked from SUSE/susemanager-ci
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPR-testing-template.tf
189 lines (174 loc) · 5.49 KB
/
PR-testing-template.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
terraform {
required_version = "1.0.10"
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
version = "0.6.3"
}
}
}
provider "libvirt" {
uri = "qemu+tcp://${var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].hypervisor}/system"
}
module "cucumber_testsuite" {
source = "./modules/cucumber_testsuite"
product_version = var.PRODUCT_VERSION
// Cucumber repository configuration for the controller
git_username = var.GIT_USER
git_password = var.GIT_PASSWORD
git_repo = var.CUCUMBER_GITREPO
branch = var.CUCUMBER_BRANCH
cc_username = var.SCC_USER
cc_password = var.SCC_PASSWORD
mirror = var.MIRROR
use_mirror_images = var.USE_MIRROR_IMAGES
images = var.IMAGES
use_avahi = false
name_prefix = "suma-pr${var.ENVIRONMENT}-"
domain = var.DOMAIN
from_email = "[email protected]"
no_auth_registry = "registry.${var.DOMAIN}"
auth_registry = "registry.${var.DOMAIN}:5000/cucutest"
auth_registry_username = "cucutest"
auth_registry_password = "cucusecret"
git_profiles_repo = var.GIT_PROFILES_REPO
container_server = true
container_proxy = true
server_http_proxy = "http-proxy.${var.DOMAIN}:3128"
custom_download_endpoint = "ftp://${var.DOWNLOAD_ENDPOINT}:445"
# when changing images, please also keep in mind to adjust the image matrix at the end of the README.
host_settings = {
controller = {
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["controller"]
vcpu = 2
memory = 2048
}
}
dhcp_dns = {
name = "dhcp-dns"
image = "opensuse155o"
hypervisor = {
host = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].hypervisor
user = "root"
private_key = file("~/.ssh/id_rsa")
}
}
server_containerized = {
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["server"]
vcpu = 8
memory = 32768
}
main_disk_size = 400
runtime = "podman"
container_repository = "registry.opensuse.org/systemsmanagement/uyuni/master/containers"
helm_chart_url = "oci://registry.opensuse.org/systemsmanagement/uyuni/master/charts/uyuni/server"
login_timeout = 28800
additional_repos_only = var.ADDITIONAL_REPOS_ONLY
additional_repos = local.additional_repos["server"]
image = var.SERVER_IMAGE
server_mounted_mirror = var.MIRROR
main_disk_size = 500
}
proxy_containerized = {
container_repository = "registry.opensuse.org/systemsmanagement/uyuni/master/containers"
container_tag = "latest"
image = var.PROXY_IMAGE
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["proxy"]
}
runtime = "podman"
}
suse_minion = {
image = var.SUSE_MINION_IMAGE
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["suse-minion"]
vcpu = 2
memory = 2048
}
additional_repos = local.additional_repos["suse-minion"]
}
suse_sshminion = {
image = var.SUSE_MINION_IMAGE
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["suse-sshminion"]
vcpu = 2
memory = 2048
}
additional_repos = local.additional_repos["suse-minion"]
additional_packages = [ "iptables" ]
}
rhlike_minion = {
image = var.RHLIKE_MINION_IMAGE
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["rhlike-minion"]
memory = 2048
vcpu = 2
}
additional_repos = {
client_repo = var.RHLIKE_CLIENT_REPO,
}
}
deblike_minion = {
image = var.DEBLIKE_MINION_IMAGE
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["deblike-minion"]
vcpu = 2
memory = 2048
}
additional_repos = {
client_repo = var.DEBLIKE_CLIENT_REPO,
}
}
build_host = {
image = "sles15sp4o"
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["build-host"]
memory = 2048
}
additional_repos = {
tools_update_pr = var.SLE_CLIENT_REPO
}
}
pxeboot_minion = {
image = "sles15sp4o"
additional_repos = {
tools_update_pr = var.SLE_CLIENT_REPO
}
}
kvm_host = {
image = var.IMAGE
provider_settings = {
mac = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].mac["kvm-host"]
}
additional_repos_only = var.ADDITIONAL_REPOS_ONLY
additional_repos = local.additional_repos["kvm-host"]
additional_packages = [ "mkisofs" ]
}
}
provider_settings = {
pool = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].pool
network_name = null
bridge = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].bridge
additional_network = var.ENVIRONMENT_CONFIGURATION[var.ENVIRONMENT].additional_network
}
}
resource "null_resource" "add_test_information" {
triggers = {
always_run = "${timestamp()}"
}
provisioner "file" {
source = "../../susemanager-ci/terracumber_config/scripts/set_custom_header.sh"
destination = "/tmp/set_custom_header.sh"
connection {
type = "ssh"
user = "root"
password = "linux"
host = "${module.cucumber_testsuite.configuration.server.hostname}"
}
}
}
output "configuration" {
value = module.cucumber_testsuite.configuration
}