Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow adding and deleting worker nodes #205

Merged
merged 2 commits into from
Jan 18, 2021

Conversation

yussufsh
Copy link
Contributor

Co-authored-by: Kuldip Nanda kuldip.nanda@ibm.com

Signed-off-by: Yussuf Shaikh yussuf.shaikh@ibm.com

Co-authored-by: Kuldip Nanda <kuldip.nanda@ibm.com>

Signed-off-by: Yussuf Shaikh <yussuf.shaikh@ibm.com>
Signed-off-by: Yussuf Shaikh <yussuf.shaikh@ibm.com>
@yussufsh yussufsh added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. enhancement labels Jan 15, 2021
@ltccci ltccci added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Jan 15, 2021
oc adm cordon worker-${count.index}
oc adm drain worker-${count.index} --force --delete-local-data --ignore-daemonsets
oc delete node worker-${count.index}
EOF
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is my understanding correct that we can't delete a node by name specifically ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oc delete TYPE works with (NAME | -l label | --all) if that is what you are asking.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My question was more on flexibility of deleting specific node. But I understand it now. Thanks

@@ -133,6 +133,11 @@ locals {
}

resource "null_resource" "config" {

triggers = {
worker_count = length(var.worker_ips)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please explain this trigger ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whenever there is a change in the trigger attributes the resource would be re-created after apply. Here whenever the count changes it will run the helpernode again. This is needed for changing the configuration for named, dhcp, etc.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yussufsh we are going to need this on kvm also. Is that on your list?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not have a KVM box to implement this at this time. I am working on getting my test setup.
Only issue I am worried about is the use of module dependency we have used in kvm repo. Once I have a test setup I will be able to contribute this change there.

@Kuldip-Nanda
Copy link

TEST ON OCP4.5.4

Environment

Initial : worker  = {memory = "64",   processors  = "1.5",  "count"   = 3}
rhel_image_name   = "rhel-82-10162020"
rhcos_image_name  = "rhcos-454-09242020-001"
openshift_install_tarball   = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.5.4/openshift-install-linux.tar.gz"
openshift_client_tarball    = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.5.4/openshift-client-linux.tar.gz"

Test

  1. Initial Run
  2. 2nd Run - Increase Worker Count
  3. 3rd Run - Decrese Worker Count
  4. 4th Run - Increase Worker Count

Initial Run

Configuration: worker = {memory = "64", processors = "1.5", "count" = 3}

Test

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ terraform apply  -var-file var.tfvars -parallelism=3
module.nodes.data.ignition_file.b_hostname: Refreshing state...
module.nodes.data.ignition_file.w_hostname[1]: Refreshing state...
module.nodes.data.ignition_file.w_hostname[2]: Refreshing state...
module.nodes.data.ignition_file.w_hostname[0]: Refreshing state...
module.nodes.data.ignition_file.m_hostname[1]: Refreshing state...
module.nodes.data.ignition_file.m_hostname[0]: Refreshing state...
module.nodes.data.ignition_file.m_hostname[2]: Refreshing state...
module.prepare.data.ibm_pi_network.network: Refreshing state...
module.nodes.data.ibm_pi_network.network: Refreshing state...
module.nodes.data.ibm_pi_image.rhcos: Refreshing state...
module.prepare.data.ibm_pi_image.bastion: Refreshing state...

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:

        ~~~~~~
        ~~~~~~
module.install.null_resource.install: Creation complete after 42m44s [id=7532289616054069439]

Apply complete! Resources: 22 added, 0 changed, 0 destroyed.

Outputs:

bastion_private_ip = 192.168.25.150
bastion_public_ip = 130.198.121.38
bastion_ssh_command = ssh -i data/id_rsa root@130.198.121.38
bootstrap_ip = 192.168.25.187
cluster_authentication_details = Cluster authentication details are available in 130.198.121.38 under ~/openstack-upi/auth
cluster_id = kn-454-421
dns_entries = 
api.kn-454-421.ibm.com.  IN  A  130.198.121.38
*.apps.kn-454-421.ibm.com.  IN  A  130.198.121.38

etc_hosts_entries = 
130.198.121.38 api.kn-454-421.ibm.com console-openshift-console.apps.kn-454-421.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-454-421.ibm.com oauth-openshift.apps.kn-454-421.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-454-421.ibm.com grafana-openshift-monitoring.apps.kn-454-421.ibm.com example.apps.kn-454-421.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.93",
  "192.168.25.195",
  "192.168.25.194",
]
oc_server_url = https://api.kn-454-421.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-454-421.ibm.com
worker_ips = [
  "192.168.25.45",
  "192.168.25.22",
  "192.168.25.164",
]

2nd Run - Increase Worker Count

Configuration : worker = {memory = "64", processors = "1.5", "count" = 4}

Test

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ terraform apply  -var-file var.tfvars -parallelism=3
Apply complete! Resources: 4 added, 0 changed, 2 destroyed.

Outputs:

bastion_private_ip = 192.168.25.150
bastion_public_ip = 130.198.121.38
bastion_ssh_command = ssh -i data/id_rsa root@130.198.121.38
bootstrap_ip = 192.168.25.187
cluster_authentication_details = Cluster authentication details are available in 130.198.121.38 under ~/openstack-upi/auth
cluster_id = kn-454-421
dns_entries = 
api.kn-454-421.ibm.com.  IN  A  130.198.121.38
*.apps.kn-454-421.ibm.com.  IN  A  130.198.121.38

etc_hosts_entries = 
130.198.121.38 api.kn-454-421.ibm.com console-openshift-console.apps.kn-454-421.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-454-421.ibm.com oauth-openshift.apps.kn-454-421.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-454-421.ibm.com grafana-openshift-monitoring.apps.kn-454-421.ibm.com example.apps.kn-454-421.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.93",
  "192.168.25.195",
  "192.168.25.194",
]
oc_server_url = https://api.kn-454-421.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-454-421.ibm.com
worker_ips = [
  "192.168.25.45",
  "192.168.25.22",
  "192.168.25.164",
  "192.168.25.17",
]

Results

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ ssh -i data/id_rsa root@130.198.121.38 oc get nodes
NAME       STATUS   ROLES    AGE    VERSION
master-0   Ready    master   137m   v1.18.3+b74c5ed
master-1   Ready    master   138m   v1.18.3+b74c5ed
master-2   Ready    master   138m   v1.18.3+b74c5ed
worker-0   Ready    worker   121m   v1.18.3+b74c5ed
worker-1   Ready    worker   119m   v1.18.3+b74c5ed
worker-2   Ready    worker   119m   v1.18.3+b74c5ed
worker-3   Ready    worker   28m    v1.18.3+b74c5ed
kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ 

3rd Run - Decrease Worker Count

Configuration : worker = {memory = "64", processors = "1.5", "count" = 2}

Test

Apply complete! Resources: 2 added, 0 changed, 6 destroyed.

Outputs:

bastion_private_ip = 192.168.25.150
bastion_public_ip = 130.198.121.38
bastion_ssh_command = ssh -i data/id_rsa root@130.198.121.38
bootstrap_ip = 192.168.25.187
cluster_authentication_details = Cluster authentication details are available in 130.198.121.38 under ~/openstack-upi/auth
cluster_id = kn-454-421
dns_entries = 
api.kn-454-421.ibm.com.  IN  A  130.198.121.38
*.apps.kn-454-421.ibm.com.  IN  A  130.198.121.38

etc_hosts_entries = 
130.198.121.38 api.kn-454-421.ibm.com console-openshift-console.apps.kn-454-421.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-454-421.ibm.com oauth-openshift.apps.kn-454-421.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-454-421.ibm.com grafana-openshift-monitoring.apps.kn-454-421.ibm.com example.apps.kn-454-421.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.93",
  "192.168.25.195",
  "192.168.25.194",
]
oc_server_url = https://api.kn-454-421.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-454-421.ibm.com
worker_ips = [
  "192.168.25.45",
  "192.168.25.22",
]

Initial : worker  = {memory = "64",   processors  = "1.5",  "count"   = 2}

Results

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ ssh -i data/id_rsa root@130.198.121.38 oc get nodes
NAME       STATUS   ROLES    AGE     VERSION
master-0   Ready    master   6h      v1.18.3+b74c5ed
master-1   Ready    master   6h1m    v1.18.3+b74c5ed
master-2   Ready    master   6h1m    v1.18.3+b74c5ed
worker-0   Ready    worker   5h44m   v1.18.3+b74c5ed
worker-1   Ready    worker   5h42m   v1.18.3+b74c5ed

4th Run - Increase Worker Count

Configuration : worker = {memory = "64", processors = "1.5", "count" = 4}

*Test

Apply complete! Resources: 4 added, 0 changed, 2 destroyed.

Outputs:

bastion_private_ip = 192.168.25.150
bastion_public_ip = 130.198.121.38
bastion_ssh_command = ssh -i data/id_rsa root@130.198.121.38
bootstrap_ip = 192.168.25.187
cluster_authentication_details = Cluster authentication details are available in 130.198.121.38 under ~/openstack-upi/auth
cluster_id = kn-454-421
dns_entries = 
api.kn-454-421.ibm.com.  IN  A  130.198.121.38
*.apps.kn-454-421.ibm.com.  IN  A  130.198.121.38

etc_hosts_entries = 
130.198.121.38 api.kn-454-421.ibm.com console-openshift-console.apps.kn-454-421.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-454-421.ibm.com oauth-openshift.apps.kn-454-421.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-454-421.ibm.com grafana-openshift-monitoring.apps.kn-454-421.ibm.com example.apps.kn-454-421.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.93",
  "192.168.25.195",
  "192.168.25.194",
]
oc_server_url = https://api.kn-454-421.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-454-421.ibm.com
worker_ips = [
  "192.168.25.45",
  "192.168.25.22",
  "192.168.25.95",
]

Results

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ ssh -i data/id_rsa root@130.198.121.38 oc get nodes
NAME       STATUS   ROLES    AGE     VERSION
master-0   Ready    master   24h     v1.18.3+b74c5ed
master-1   Ready    master   24h     v1.18.3+b74c5ed
master-2   Ready    master   24h     v1.18.3+b74c5ed
worker-0   Ready    worker   24h     v1.18.3+b74c5ed
worker-1   Ready    worker   24h     v1.18.3+b74c5ed
worker-2   Ready    worker   3m27s   v1.18.3+b74c5ed
kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ 

5th Run - Increase Worker Count

Configuration : worker = {memory = "64", processors = "1.5", "count" = 5}
Test

module.install.null_resource.install: Still creating... [12m31s elapsed]
module.install.null_resource.install: Creation complete after 12m31s [id=5660425811565673229]

Apply complete! Resources: 6 added, 0 changed, 2 destroyed.

Outputs:

bastion_private_ip = 192.168.25.150
bastion_public_ip = 130.198.121.38
bastion_ssh_command = ssh -i data/id_rsa root@130.198.121.38
bootstrap_ip = 192.168.25.187
cluster_authentication_details = Cluster authentication details are available in 130.198.121.38 under ~/openstack-upi/auth
cluster_id = kn-454-421
dns_entries = 
api.kn-454-421.ibm.com.  IN  A  130.198.121.38
*.apps.kn-454-421.ibm.com.  IN  A  130.198.121.38

etc_hosts_entries = 
130.198.121.38 api.kn-454-421.ibm.com console-openshift-console.apps.kn-454-421.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-454-421.ibm.com oauth-openshift.apps.kn-454-421.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-454-421.ibm.com grafana-openshift-monitoring.apps.kn-454-421.ibm.com example.apps.kn-454-421.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.93",
  "192.168.25.195",
  "192.168.25.194",
]
oc_server_url = https://api.kn-454-421.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-454-421.ibm.com
worker_ips = [
  "192.168.25.45",
  "192.168.25.22",
  "192.168.25.95",
  "192.168.25.205",
  "192.168.25.58",
]

Results

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ ssh -i data/id_rsa root@130.198.121.38 oc get nodes
NAME       STATUS   ROLES    AGE    VERSION
master-0   Ready    master   27h    v1.18.3+b74c5ed
master-1   Ready    master   27h    v1.18.3+b74c5ed
master-2   Ready    master   27h    v1.18.3+b74c5ed
worker-0   Ready    worker   26h    v1.18.3+b74c5ed
worker-1   Ready    worker   26h    v1.18.3+b74c5ed
worker-2   Ready    worker   137m   v1.18.3+b74c5ed
worker-3   Ready    worker   39m    v1.18.3+b74c5ed
worker-4   Ready    worker   38m    v1.18.3+b74c5ed
kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ 

@Kuldip-Nanda
Copy link

Test for 4.6.0 - All Tests done on a new cluster (< 24 hrs.)

Environment

Initial : worker  = {memory = "64",   processors  = "1.5",  "count"   = 3}
rhel_image_name             = "rhel-83-12142020"
rhcos_image_name            = "rhcos-46-09182020"
openshift_install_tarball   = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.6.0/openshift-install-linux.tar.gz"
openshift_client_tarball    = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.6.0/openshift-client-linux.tar.gz"

Test

  1. Initial Run
  2. 2nd Run - Increase Worker Count
  3. 3rd Run - Decrease Worker Count

Initial Run

Apply complete! Resources: 22 added, 0 changed, 0 destroyed.

Outputs:

bastion_private_ip = 192.168.25.152
bastion_public_ip = 130.198.103.142
bastion_ssh_command = ssh -i data/id_rsa root@130.198.103.142
bootstrap_ip = 192.168.25.145
cluster_authentication_details = Cluster authentication details are available in 130.198.103.142 under ~/openstack-upi/auth
cluster_id = kn-460-124
dns_entries = 
api.kn-460-124.ibm.com.  IN  A  130.198.103.142
*.apps.kn-460-124.ibm.com.  IN  A  130.198.103.142

etc_hosts_entries = 
130.198.103.142 api.kn-460-124.ibm.com console-openshift-console.apps.kn-460-124.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-460-124.ibm.com oauth-openshift.apps.kn-460-124.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-460-124.ibm.com grafana-openshift-monitoring.apps.kn-460-124.ibm.com example.apps.kn-460-124.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.243",
  "192.168.25.236",
  "192.168.25.241",
]
oc_server_url = https://api.kn-460-124.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-460-124.ibm.com
worker_ips = [
  "192.168.25.212",
  "192.168.25.132",
  "192.168.25.41",
]

kuldips-mbp:ocp4-upi-powervs.4.6 kuldip.nanda$ ssh -i data/id_rsa root@130.198.103.142 oc get nodes
The authenticity of host '130.198.103.142 (130.198.103.142)' can't be established.
ECDSA key fingerprint is SHA256:mPa81nom85addcVMDtFEaj9BA+jtD9b3cgo8uMZA1OQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '130.198.103.142' (ECDSA) to the list of known hosts.
NAME       STATUS   ROLES    AGE    VERSION
master-0   Ready    master   172m   v1.19.0+d59ce34
master-1   Ready    master   164m   v1.19.0+d59ce34
master-2   Ready    master   172m   v1.19.0+d59ce34
worker-0   Ready    worker   145m   v1.19.0+d59ce34
worker-1   Ready    worker   149m   v1.19.0+d59ce34
worker-2   Ready    worker   149m   v1.19.0+d59ce34
kuldips-mbp:ocp4-upi-powervs.4.6 kuldip.nanda$ 

2nd Run - Increase Worker Count

Apply complete! Resources: 6 added, 0 changed, 2 destroyed.

Outputs:

bastion_private_ip = 192.168.25.152
bastion_public_ip = 130.198.103.142
bastion_ssh_command = ssh -i data/id_rsa root@130.198.103.142
bootstrap_ip = 192.168.25.145
cluster_authentication_details = Cluster authentication details are available in 130.198.103.142 under ~/openstack-upi/auth
cluster_id = kn-460-124
dns_entries = 
api.kn-460-124.ibm.com.  IN  A  130.198.103.142
*.apps.kn-460-124.ibm.com.  IN  A  130.198.103.142

etc_hosts_entries = 
130.198.103.142 api.kn-460-124.ibm.com console-openshift-console.apps.kn-460-124.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-460-124.ibm.com oauth-openshift.apps.kn-460-124.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-460-124.ibm.com grafana-openshift-monitoring.apps.kn-460-124.ibm.com example.apps.kn-460-124.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.243",
  "192.168.25.236",
  "192.168.25.241",
]
oc_server_url = https://api.kn-460-124.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-460-124.ibm.com
worker_ips = [
  "192.168.25.212",
  "192.168.25.132",
  "192.168.25.41",
  "192.168.25.21",
  "192.168.25.176",
]
kuldips-mbp:ocp4-upi-powervs.4.6 kuldip.nanda$ ssh -i data/id_rsa root@130.198.103.142 oc get nodes
NAME       STATUS   ROLES    AGE     VERSION
master-0   Ready    master   5h9m    v1.19.0+d59ce34
master-1   Ready    master   5h1m    v1.19.0+d59ce34
master-2   Ready    master   5h9m    v1.19.0+d59ce34
worker-0   Ready    worker   4h42m   v1.19.0+d59ce34
worker-1   Ready    worker   4h45m   v1.19.0+d59ce34
worker-2   Ready    worker   4h45m   v1.19.0+d59ce34
worker-3   Ready    worker   114m    v1.19.0+d59ce34
worker-4   Ready    worker   114m    v1.19.0+d59ce34
kuldips-mbp:ocp4-upi-powervs.4.6 kuldip.nanda$ 

3rd Run - Decrease Worker Count

Apply complete! Resources: 2 added, 0 changed, 8 destroyed.

Outputs:

bastion_private_ip = 192.168.25.152
bastion_public_ip = 130.198.103.142
bastion_ssh_command = ssh -i data/id_rsa root@130.198.103.142
bootstrap_ip = 192.168.25.145
cluster_authentication_details = Cluster authentication details are available in 130.198.103.142 under ~/openstack-upi/auth
cluster_id = kn-460-124
dns_entries = 
api.kn-460-124.ibm.com.  IN  A  130.198.103.142
*.apps.kn-460-124.ibm.com.  IN  A  130.198.103.142

etc_hosts_entries = 
130.198.103.142 api.kn-460-124.ibm.com console-openshift-console.apps.kn-460-124.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-460-124.ibm.com oauth-openshift.apps.kn-460-124.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-460-124.ibm.com grafana-openshift-monitoring.apps.kn-460-124.ibm.com example.apps.kn-460-124.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.243",
  "192.168.25.236",
  "192.168.25.241",
]
oc_server_url = https://api.kn-460-124.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-460-124.ibm.com
worker_ips = [
  "192.168.25.212",
  "192.168.25.132",
]
kuldips-mbp:ocp4-upi-powervs.4.6 kuldip.nanda$ ssh -i data/id_rsa root@130.198.103.142 oc get nodes
NAME       STATUS   ROLES    AGE     VERSION
master-0   Ready    master   7h25m   v1.19.0+d59ce34
master-1   Ready    master   7h17m   v1.19.0+d59ce34
master-2   Ready    master   7h25m   v1.19.0+d59ce34
worker-0   Ready    worker   6h58m   v1.19.0+d59ce34
worker-1   Ready    worker   7h1m    v1.19.0+d59ce34
kuldips-mbp:ocp4-upi-powervs.4.6 kuldip.nanda$ 

@yussufsh
Copy link
Contributor Author

/cc @Prajyot-Parab

@Kuldip-Nanda
Copy link

TEST ON OCP4.5.23

Environment

Initial : worker  = {memory = "64",   processors  = "1.5",  "count"   = 2}
rhel_image_name   = "rhel-82-10162020"
rhcos_image_name  = "rhcos-454-09242020-001"
openshift_install_tarball   = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.5.23/openshift-install-linux.tar.gz"
openshift_client_tarball    = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.5.23/openshift-client-linux.tar.gz"

Test

  1. Initial Run
  2. 2nd Run - Increase Worker Count
  3. 3rd Run - Decrese Worker Count
  4. 4th Run - Increase Worker Count
  5. 5th Run - Decrease WorkerCount

Initial Run

Configuration: worker = {memory = "64", processors = "1.5", "count" = 2}

Tests

Apply complete! Resources: 20 added, 0 changed, 0 destroyed.

Outputs:

bastion_private_ip = 192.168.25.90
bastion_public_ip = 130.198.3.94
bastion_ssh_command = ssh -i data/id_rsa root@130.198.3.94
bootstrap_ip = 192.168.25.225
cluster_authentication_details = Cluster authentication details are available in 130.198.3.94 under ~/openstack-upi/auth
cluster_id = kn-4523-502
dns_entries = 
api.kn-4523-502.ibm.com.  IN  A  130.198.3.94
*.apps.kn-4523-502.ibm.com.  IN  A  130.198.3.94

etc_hosts_entries = 
130.198.3.94 api.kn-4523-502.ibm.com console-openshift-console.apps.kn-4523-502.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-4523-502.ibm.com oauth-openshift.apps.kn-4523-502.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-4523-502.ibm.com grafana-openshift-monitoring.apps.kn-4523-502.ibm.com example.apps.kn-4523-502.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.46",
  "192.168.25.39",
  "192.168.25.86",
]
oc_server_url = https://api.kn-4523-502.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-4523-502.ibm.com
worker_ips = [
  "192.168.25.244",
  "192.168.25.40",
]
kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ 

Results

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ ssh -i data/id_rsa root@130.198.3.94 oc get nodes
The authenticity of host '130.198.3.94 (130.198.3.94)' can't be established.
ECDSA key fingerprint is SHA256:RGprBFcu9GJW0YX+rCcDiLsKe5DbhNq9koS/ZZDm5AY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '130.198.3.94' (ECDSA) to the list of known hosts.
NAME       STATUS   ROLES    AGE   VERSION
master-0   Ready    master   14h   v1.18.3+fa69cae
master-1   Ready    master   14h   v1.18.3+fa69cae
master-2   Ready    master   14h   v1.18.3+fa69cae
worker-0   Ready    worker   14h   v1.18.3+fa69cae
worker-1   Ready    worker   14h   v1.18.3+fa69cae
kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ 

Increase Worker Count

Configuration: worker = {memory = "64", processors = "1.5", "count" = 4}

Test

module.install.null_resource.install (remote-exec): worker-3                   : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

module.install.null_resource.install: Creation complete after 26m27s [id=6641204721258786356]

Apply complete! Resources: 6 added, 0 changed, 2 destroyed.

Outputs:

bastion_private_ip = 192.168.25.90
bastion_public_ip = 130.198.3.94
bastion_ssh_command = ssh -i data/id_rsa root@130.198.3.94
bootstrap_ip = 192.168.25.225
cluster_authentication_details = Cluster authentication details are available in 130.198.3.94 under ~/openstack-upi/auth
cluster_id = kn-4523-502
dns_entries = 
api.kn-4523-502.ibm.com.  IN  A  130.198.3.94
*.apps.kn-4523-502.ibm.com.  IN  A  130.198.3.94

etc_hosts_entries = 
130.198.3.94 api.kn-4523-502.ibm.com console-openshift-console.apps.kn-4523-502.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-4523-502.ibm.com oauth-openshift.apps.kn-4523-502.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-4523-502.ibm.com grafana-openshift-monitoring.apps.kn-4523-502.ibm.com example.apps.kn-4523-502.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.46",
  "192.168.25.39",
  "192.168.25.86",
]
oc_server_url = https://api.kn-4523-502.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-4523-502.ibm.com
worker_ips = [
  "192.168.25.244",
  "192.168.25.40",
  "192.168.25.226",
  "192.168.25.52",
]

Result

NAME       STATUS   ROLES    AGE   VERSION
master-0   Ready    master   17h   v1.18.3+fa69cae
master-1   Ready    master   17h   v1.18.3+fa69cae
master-2   Ready    master   17h   v1.18.3+fa69cae
worker-0   Ready    worker   17h   v1.18.3+fa69cae
worker-1   Ready    worker   16h   v1.18.3+fa69cae
worker-2   Ready    worker   23m   v1.18.3+fa69cae
worker-3   Ready    worker   17m   v1.18.3+fa69cae

Decrease Worker Count

Configuration: worker = {memory = "64", processors = "1.5", "count" = 3}

Test


Apply complete! Resources: 2 added, 0 changed, 4 destroyed.

Outputs:

bastion_private_ip = 192.168.25.90
bastion_public_ip = 130.198.3.94
bastion_ssh_command = ssh -i data/id_rsa root@130.198.3.94
bootstrap_ip = 192.168.25.225
cluster_authentication_details = Cluster authentication details are available in 130.198.3.94 under ~/openstack-upi/auth
cluster_id = kn-4523-502
dns_entries = 
api.kn-4523-502.ibm.com.  IN  A  130.198.3.94
*.apps.kn-4523-502.ibm.com.  IN  A  130.198.3.94

etc_hosts_entries = 
130.198.3.94 api.kn-4523-502.ibm.com console-openshift-console.apps.kn-4523-502.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-4523-502.ibm.com oauth-openshift.apps.kn-4523-502.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-4523-502.ibm.com grafana-openshift-monitoring.apps.kn-4523-502.ibm.com example.apps.kn-4523-502.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.46",
  "192.168.25.39",
  "192.168.25.86",
]
oc_server_url = https://api.kn-4523-502.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-4523-502.ibm.com
worker_ips = [
  "192.168.25.244",
  "192.168.25.40",
  "192.168.25.226",
]

Results

NAME       STATUS   ROLES    AGE   VERSION
master-0   Ready    master   17h   v1.18.3+fa69cae
master-1   Ready    master   17h   v1.18.3+fa69cae
master-2   Ready    master   17h   v1.18.3+fa69cae
worker-0   Ready    worker   17h   v1.18.3+fa69cae
worker-1   Ready    worker   17h   v1.18.3+fa69cae
worker-2   Ready    worker   37m   v1.18.3+fa69cae

Increase Worker Count

Configuration: worker = {memory = "64", processors = "1.5", "count" = 5}

Test


Apply complete! Resources: 6 added, 0 changed, 2 destroyed.

Outputs:

bastion_private_ip = 192.168.25.90
bastion_public_ip = 130.198.3.94
bastion_ssh_command = ssh -i data/id_rsa root@130.198.3.94
bootstrap_ip = 192.168.25.225
cluster_authentication_details = Cluster authentication details are available in 130.198.3.94 under ~/openstack-upi/auth
cluster_id = kn-4523-502
dns_entries = 
api.kn-4523-502.ibm.com.  IN  A  130.198.3.94
*.apps.kn-4523-502.ibm.com.  IN  A  130.198.3.94

etc_hosts_entries = 
130.198.3.94 api.kn-4523-502.ibm.com console-openshift-console.apps.kn-4523-502.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-4523-502.ibm.com oauth-openshift.apps.kn-4523-502.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-4523-502.ibm.com grafana-openshift-monitoring.apps.kn-4523-502.ibm.com example.apps.kn-4523-502.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.46",
  "192.168.25.39",
  "192.168.25.86",
]
oc_server_url = https://api.kn-4523-502.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-4523-502.ibm.com
worker_ips = [
  "192.168.25.244",
  "192.168.25.40",
  "192.168.25.226",
  "192.168.25.152",
  "192.168.25.51",
]

Result

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ ssh -i data/id_rsa root@130.198.3.94 oc get nodes
NAME       STATUS   ROLES    AGE     VERSION
master-0   Ready    master   24h     v1.18.3+fa69cae
master-1   Ready    master   24h     v1.18.3+fa69cae
master-2   Ready    master   24h     v1.18.3+fa69cae
worker-0   Ready    worker   24h     v1.18.3+fa69cae
worker-1   Ready    worker   24h     v1.18.3+fa69cae
worker-2   Ready    worker   7h39m   v1.18.3+fa69cae
worker-3   Ready    worker   4m22s   v1.18.3+fa69cae
worker-4   Ready    worker   4m25s   v1.18.3+fa69cae
kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ 

Decrease Worker Count

Configuration: worker = {memory = "64", processors = "1.5", "count" = 4}

Test

module.install.null_resource.install: Creation complete after 3m28s [id=7305879177030160659]

Apply complete! Resources: 2 added, 0 changed, 4 destroyed.

Outputs:

bastion_private_ip = 192.168.25.90
bastion_public_ip = 130.198.3.94
bastion_ssh_command = ssh -i data/id_rsa root@130.198.3.94
bootstrap_ip = 192.168.25.225
cluster_authentication_details = Cluster authentication details are available in 130.198.3.94 under ~/openstack-upi/auth
cluster_id = kn-4523-502
dns_entries = 
api.kn-4523-502.ibm.com.  IN  A  130.198.3.94
*.apps.kn-4523-502.ibm.com.  IN  A  130.198.3.94

etc_hosts_entries = 
130.198.3.94 api.kn-4523-502.ibm.com console-openshift-console.apps.kn-4523-502.ibm.com integrated-oauth-server-openshift-authentication.apps.kn-4523-502.ibm.com oauth-openshift.apps.kn-4523-502.ibm.com prometheus-k8s-openshift-monitoring.apps.kn-4523-502.ibm.com grafana-openshift-monitoring.apps.kn-4523-502.ibm.com example.apps.kn-4523-502.ibm.com

install_status = COMPLETED
master_ips = [
  "192.168.25.46",
  "192.168.25.39",
  "192.168.25.86",
]
oc_server_url = https://api.kn-4523-502.ibm.com:6443
storageclass_name = nfs-storage-provisioner
web_console_url = https://console-openshift-console.apps.kn-4523-502.ibm.com
worker_ips = [
  "192.168.25.244",
  "192.168.25.40",
  "192.168.25.226",
  "192.168.25.152",
]

Result

kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ ssh -i data/id_rsa root@130.198.3.94 oc get nodes
NAME       STATUS   ROLES    AGE     VERSION
master-0   Ready    master   24h     v1.18.3+fa69cae
master-1   Ready    master   24h     v1.18.3+fa69cae
master-2   Ready    master   24h     v1.18.3+fa69cae
worker-0   Ready    worker   24h     v1.18.3+fa69cae
worker-1   Ready    worker   24h     v1.18.3+fa69cae
worker-2   Ready    worker   7h57m   v1.18.3+fa69cae
worker-3   Ready    worker   22m     v1.18.3+fa69cae
kuldips-mbp:ocp4-upi-powervs.4.5 kuldip.nanda$ 

Copy link
Collaborator

@Prajyot-Parab Prajyot-Parab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@ltccci ltccci added the lgtm Indicates that a PR is ready to be merged. label Jan 18, 2021
Copy link
Contributor

@bpradipt bpradipt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
Thanks @yussufsh @Kuldip-Nanda

@ltccci
Copy link
Contributor

ltccci commented Jan 18, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bpradipt, Prajyot-Parab, yussufsh

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [Prajyot-Parab,bpradipt,yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ltccci ltccci merged commit f0019c2 into ocp-power-automation:master Jan 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants