Skip to content

Commit

Permalink
Fixes #220
Browse files Browse the repository at this point in the history
Fixes #220 Wildcard move

Fixes #220 Wildcard move

Fixes #220 Updated doc

Fixes #220 Updated doc

Fixes #220 Updated Docu

Fixes #220 Updated Docu
  • Loading branch information
torwen1 committed Aug 27, 2021
1 parent fd9751e commit b43b17b
Show file tree
Hide file tree
Showing 9 changed files with 145 additions and 10 deletions.
32 changes: 31 additions & 1 deletion docs/var.tfvars-doc.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,14 +179,44 @@ This variable can be used for trying out custom OpenShift install image for deve
release_image_override = ""
```

These variables specify the ansible playbooks that are used for OpenShift install and post-install customizations.
These variables specify the ansible playbooks that are used for OpenShift install and post-install customizations. If the URL ends with a file name extension .zip, then it is assumed that it points to a HTTP/HTTPS server and curl/unzip will be used to extract the package. URLs without ending with .zip are recognized as GitHub repositories and git clone && git checkout are used.
`Only .zip is supported file format on web servers. The all files must be placed in folders starting with ocp4-playbooks, or ocp4-helpernode! It is allowed to extend the directory name with additional informations: e.g. ocp4-helpernode-<master/version number)`
Valid options: Requires a URL pointing to the packages/GitHub project.
```
helpernode_repo = "https://<HTTP SERVER>/ocp4-ansible-modules/ocp4-helpernode-master.zip"
OR
helpernode_repo = "https://github.com/RedHatOfficial/ocp4-helpernode"
helpernode_tag = "5eab3db53976bb16be582f2edc2de02f7510050d"
install_playbook_repo = "https://<HTTP SERVER>/ocp4-ansible-modules/ocp4-playbooks-master.zip"
OR
install_playbook_repo = "https://github.com/ocp-power-automation/ocp4-playbooks"
install_playbook_tag = "02a598faa332aa2c3d53e8edd0e840440ff74bd5"
```

If you want to provide the ansible playbooks by your local HTTP server, follow these steps:
```
Use your web browser and visit https://github.com/RedHatOfficial/ocp4-helpernode
On the main page select the release brach and click on the green "Code" button with a download symbol in front of it
Click on "Download ZIP"
Upload the file to your local HTTP server and place it in the appropriate directory
Use your web browser and visit https://github.com/ocp-power-automation/ocp4-playbooks
On the main page select the release brach and click on the green "Code" button with a download symbol in front of it
Click on "Download ZIP"
Upload the file to your local HTTP server and place it in the appropriate directory, like the example below
ls -la /var/www/html/repos/
total 13452
-rw-r--r--. 1 root root 13624204 Jul 8 13:43 ocp4-helpernode.zip
-rw-r--r--. 1 root root 145165 Jul 8 13:44 ocp4-playbooks.zip
```

This variable can be used to define a different source for the helm package, like a local web server. By default, the help package will be downloaded from the official internet source.
```
helm_repo = "https://<HTTP SERVER>/python-modules/helm-latest-linux-ppc64le.tar.gz"
```

These variables can be used when debugging ansible playbooks
```
installer_log_level = "info"
Expand Down
2 changes: 1 addition & 1 deletion modules/1_bastion/bastion.tf
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ resource "null_resource" "bastion_packages" {
provisioner "remote-exec" {
inline = [
"#sudo yum update -y --skip-broken",
"sudo yum install -y wget jq git net-tools vim python3 tar"
"sudo yum install -y wget jq git net-tools vim python3 tar curl unzip"
]
}
provisioner "remote-exec" {
Expand Down
58 changes: 55 additions & 3 deletions modules/3_helpernode/helpernode.tf
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ locals {
]

local_registry = local.local_registry
helm_repo = var.helm_repo
client_tarball = var.openshift_client_tarball
install_tarball = var.openshift_install_tarball
}
Expand All @@ -75,12 +76,11 @@ locals {
}
}

resource "null_resource" "config" {

resource "null_resource" "prep_helpernode_tools_git" {
triggers = {
bootstrap_count = var.bootstrap_port_ip == "" ? 0 : 1
worker_count = length(var.worker_port_ips)
}
count = length(regexall("\\.zip$", var.helpernode_repo)) == 0 ? 1 : 0

connection {
type = "ssh"
Expand All @@ -101,6 +101,58 @@ resource "null_resource" "config" {
"cd ocp4-helpernode && git checkout ${var.helpernode_tag}"
]
}
}

resource "null_resource" "prep_helpernode_tools_curl" {
triggers = {
bootstrap_count = var.bootstrap_port_ip == "" ? 0 : 1
}
count = length(regexall("\\.zip$", var.helpernode_repo)) > 0 ? 1 : 0

connection {
type = "ssh"
user = var.rhel_username
host = var.bastion_ip[0]
private_key = var.private_key
agent = var.ssh_agent
timeout = "${var.connection_timeout}m"
bastion_host = var.jump_host
}

provisioner "remote-exec" {
inline = [
"mkdir -p .openshift",
"rm -rf ocp4-helpernode",
"rm -rf ocp4-extract-helper",
"mkdir -p ocp4-extract-helper",
"echo 'Downloading ocp4-helpernode...'",
"curl -o ocp4-extract-helper/ocp4-helpernode.zip ${var.helpernode_repo}",
"echo 'Extracting ocp4-helpernode...'",
"cd ocp4-extract-helper && unzip ocp4-helpernode.zip",
"cd .. && rm -rf ocp4-extract-helper/ocp4-helpernode.zip",
"mv ocp4-extract-helper/ocp4-helpernode* ocp4-helpernode",
"rm -rf ocp4-extract-helper"
]
}
}

resource "null_resource" "config" {
depends_on = [null_resource.prep_helpernode_tools_git, null_resource.prep_helpernode_tools_curl]
triggers = {
bootstrap_count = var.bootstrap_port_ip == "" ? 0 : 1
worker_count = length(var.worker_port_ips)
}

connection {
type = "ssh"
user = var.rhel_username
host = var.bastion_ip[0]
private_key = var.private_key
agent = var.ssh_agent
timeout = "${var.connection_timeout}m"
bastion_host = var.jump_host
}

provisioner "file" {
content = templatefile("${path.module}/templates/helpernode_inventory", local.helpernode_inventory)
destination = "$HOME/ocp4-helpernode/inventory"
Expand Down
2 changes: 1 addition & 1 deletion modules/3_helpernode/templates/helpernode_vars.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ ocp_initramfs: "file:///dev/null"
ocp_install_kernel: "file:///dev/null"

# This is required for latest helpernode. TODO: Remove when https://github.com/RedHatOfficial/ocp4-helpernode/pull/140 is merged
helm_source: "https://get.helm.sh/helm-v3.4.0-linux-ppc64le.tar.gz"
helm_source: "${helm_repo}"
1 change: 1 addition & 0 deletions modules/3_helpernode/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ variable "ocp_release_tag" {}

variable "helpernode_repo" {}
variable "helpernode_tag" {}
variable "helm_repo" {}

variable "ansible_extra_options" {}

Expand Down
53 changes: 49 additions & 4 deletions modules/5_install/install.tf
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,8 @@ locals {
}
}

resource "null_resource" "install" {
triggers = {
worker_count = length(var.worker_ips)
}
resource "null_resource" "prep_playbooks_tools_git" {
count = length(regexall("\\.zip$", var.install_playbook_repo)) == 0 ? 1 : 0

connection {
type = "ssh"
Expand All @@ -96,6 +94,53 @@ resource "null_resource" "install" {
"cd ocp4-playbooks && git checkout ${var.install_playbook_tag}"
]
}
}

resource "null_resource" "prep_playbooks_tools_curl" {
count = length(regexall("\\.zip$", var.install_playbook_repo)) > 0 ? 1 : 0

connection {
type = "ssh"
user = var.rhel_username
host = var.bastion_ip[0]
private_key = var.private_key
agent = var.ssh_agent
timeout = "${var.connection_timeout}m"
bastion_host = var.jump_host
}

provisioner "remote-exec" {
inline = [
"rm -rf ocp4-playbooks",
"rm -rf ocp4-extract-helper",
"mkdir -p ocp4-extract-helper",
"echo 'Downloading ocp4-playbooks...'",
"curl -o ocp4-extract-helper/ocp4-playbooks.zip ${var.install_playbook_repo}",
"echo 'Extracting ocp4-playbooks...'",
"cd ocp4-extract-helper && unzip ocp4-playbooks.zip",
"cd .. && rm -rf ocp4-extract-helper/ocp4-playbooks.zip",
"mv ocp4-extract-helper/ocp4-playbooks* ocp4-playbooks",
"rm -rf ocp4-extract-helper"
]
}
}

resource "null_resource" "install" {
depends_on = [null_resource.prep_playbooks_tools_git, null_resource.prep_playbooks_tools_curl]
triggers = {
worker_count = length(var.worker_ips)
}

connection {
type = "ssh"
user = var.rhel_username
host = var.bastion_ip[0]
private_key = var.private_key
agent = var.ssh_agent
timeout = "${var.connection_timeout}m"
bastion_host = var.jump_host
}

provisioner "file" {
content = templatefile("${path.module}/templates/install_inventory", local.install_inventory)
destination = "$HOME/ocp4-playbooks/inventory"
Expand Down
1 change: 1 addition & 0 deletions ocp.tf
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ module "helpernode" {
ocp_release_tag = var.ocp_release_tag
helpernode_repo = var.helpernode_repo
helpernode_tag = var.helpernode_tag
helm_repo = var.helm_repo
ansible_extra_options = var.ansible_extra_options
chrony_config = var.chrony_config
chrony_config_servers = var.chrony_config_servers
Expand Down
1 change: 1 addition & 0 deletions var.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ cluster_id = "" # It will use random generated id with
#helpernode_tag = ""
#install_playbook_repo = "https://github.com/ocp-power-automation/ocp4-playbooks"
#install_playbook_tag = ""
#helm_repo = "https://get.helm.sh/helm-v3.6.3-linux-ppc64le.tar.gz"

#installer_log_level = "info"
#ansible_extra_options = "-v"
Expand Down
5 changes: 5 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,11 @@ variable "install_playbook_tag" {
default = "10fec74c9e987b39f7af1127abe304a9e41f8e65"
}

variable "helm_repo" {
description = "Set the URL after http_server_repo_main_dir pointing to the Python helm modules"
default = "https://get.helm.sh/helm-v3.6.3-linux-ppc64le.tar.gz"
}

variable "ansible_extra_options" {
description = "Extra options string to append to ansible-playbook commands"
default = "-v"
Expand Down

0 comments on commit b43b17b

Please sign in to comment.