* [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally
@ 2025-05-02 6:46 Chandan Babu R
2025-05-02 6:46 ` [PATCH 2/3] Remove kdevops_terraform_ssh_config_genkey_overwrite Chandan Babu R
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Chandan Babu R @ 2025-05-02 6:46 UTC (permalink / raw)
To: kdevops; +Cc: Chandan Babu R, chuck.lever
kdevops_terraform_ssh_config_privkey_file is not set on control systems which
use pre-existing ssh keys. Hence, adding entries of provisioned cloud
instances to the ephemeral ssh config file fails on such systems.
Fix this by setting kdevops_terraform_ssh_config_privkey_file
unconditionally.
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
---
scripts/terraform.Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile
index 91469469..b6b26e69 100644
--- a/scripts/terraform.Makefile
+++ b/scripts/terraform.Makefile
@@ -85,10 +85,10 @@ endif # CONFIG_KDEVOPS_SSH_CONFIG_UPDATE
export KDEVOPS_SSH_PUBKEY:=$(shell realpath $(subst ",,$(CONFIG_TERRAFORM_SSH_CONFIG_PUBKEY_FILE)))
TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_pubkey_file='$(KDEVOPS_SSH_PUBKEY)'
TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_user='$(SSH_CONFIG_USER)'
+TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_privkey_file='$(basename $(KDEVOPS_SSH_PUBKEY))'
ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY))
export KDEVOPS_SSH_PRIVKEY:=$(basename $(KDEVOPS_SSH_PUBKEY))
-TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_privkey_file='$(KDEVOPS_SSH_PRIVKEY)'
ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY_OVERWRITE))
DEFAULT_DEPS += remove-ssh-key
--
2.45.2
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 2/3] Remove kdevops_terraform_ssh_config_genkey_overwrite 2025-05-02 6:46 [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chandan Babu R @ 2025-05-02 6:46 ` Chandan Babu R 2025-05-02 15:30 ` Chuck Lever 2025-05-02 6:46 ` [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI Chandan Babu R 2025-05-02 15:32 ` [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chuck Lever 2 siblings, 1 reply; 9+ messages in thread From: Chandan Babu R @ 2025-05-02 6:46 UTC (permalink / raw) To: kdevops; +Cc: Chandan Babu R, chuck.lever Adding entries to the ephemeral ssh config file on control systems is being done only when kdevops_terraform_ssh_config_genkey_overwrite evaluates to true. This is incorrect because we need to allow Kdevops to be used with pre-existing ssh keys. Hence remove the conditions in playbooks/roles/terraform/defaults/main.yml which check the value of kdevops_terraform_ssh_config_genkey_overwrite. Also, the value of kdevops_terraform_ssh_config_genkey_overwrite is not checked in any other file. Hence this commit removes the remaining instances of this variable. Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> --- playbooks/roles/terraform/defaults/main.yml | 1 - playbooks/roles/terraform/tasks/main.yml | 8 -------- scripts/terraform.Makefile | 1 - 3 files changed, 10 deletions(-) diff --git a/playbooks/roles/terraform/defaults/main.yml b/playbooks/roles/terraform/defaults/main.yml index f3ef9b18..33bd00e6 100644 --- a/playbooks/roles/terraform/defaults/main.yml +++ b/playbooks/roles/terraform/defaults/main.yml @@ -1,3 +1,2 @@ --- ssh_config_kexalgorithms: "" -kdevops_terraform_ssh_config_genkey_overwrite: false diff --git a/playbooks/roles/terraform/tasks/main.yml b/playbooks/roles/terraform/tasks/main.yml index 272ebf93..d04dc997 100644 --- a/playbooks/roles/terraform/tasks/main.yml +++ b/playbooks/roles/terraform/tasks/main.yml @@ -15,8 +15,6 @@ cmd: "terraform output -json public_ip_map" register: terraform_output changed_when: false - when: - - kdevops_terraform_ssh_config_genkey_overwrite|bool tags: - ssh @@ -25,8 +23,6 @@ run_once: true ansible.builtin.set_fact: public_ip_map: "{{ terraform_output.stdout | from_json }}" - when: - - kdevops_terraform_ssh_config_genkey_overwrite|bool tags: - ssh @@ -40,8 +36,6 @@ insertafter: "EOF" marker: "# {mark} host configuration for {{ inventory_hostname }}" mode: "u=rw,g=r,o=r" - when: - - kdevops_terraform_ssh_config_genkey_overwrite|bool tags: - ssh @@ -55,8 +49,6 @@ marker: "# {mark} Managed by kdevops" mode: "u=rw,g=r,o=r" block: "Include {{ kdevops_ssh_config_prefix }}*" - when: - - kdevops_terraform_ssh_config_genkey_overwrite|bool tags: - ssh diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile index b6b26e69..865c84c3 100644 --- a/scripts/terraform.Makefile +++ b/scripts/terraform.Makefile @@ -92,7 +92,6 @@ export KDEVOPS_SSH_PRIVKEY:=$(basename $(KDEVOPS_SSH_PUBKEY)) ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY_OVERWRITE)) DEFAULT_DEPS += remove-ssh-key -TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_genkey_overwrite='True' endif DEFAULT_DEPS += $(KDEVOPS_SSH_PRIVKEY) -- 2.45.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] Remove kdevops_terraform_ssh_config_genkey_overwrite 2025-05-02 6:46 ` [PATCH 2/3] Remove kdevops_terraform_ssh_config_genkey_overwrite Chandan Babu R @ 2025-05-02 15:30 ` Chuck Lever 0 siblings, 0 replies; 9+ messages in thread From: Chuck Lever @ 2025-05-02 15:30 UTC (permalink / raw) To: Chandan Babu R, kdevops On 5/2/25 2:46 AM, Chandan Babu R wrote: > Adding entries to the ephemeral ssh config file on control systems is being > done only when kdevops_terraform_ssh_config_genkey_overwrite evaluates to > true. This is incorrect because we need to allow Kdevops to be used with > pre-existing ssh keys. Hence remove the conditions in > playbooks/roles/terraform/defaults/main.yml which check the value of > kdevops_terraform_ssh_config_genkey_overwrite. > > Also, the value of kdevops_terraform_ssh_config_genkey_overwrite is not > checked in any other file. Hence this commit removes the remaining instances > of this variable. > > Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> > --- > playbooks/roles/terraform/defaults/main.yml | 1 - > playbooks/roles/terraform/tasks/main.yml | 8 -------- > scripts/terraform.Makefile | 1 - > 3 files changed, 10 deletions(-) > > diff --git a/playbooks/roles/terraform/defaults/main.yml b/playbooks/roles/terraform/defaults/main.yml > index f3ef9b18..33bd00e6 100644 > --- a/playbooks/roles/terraform/defaults/main.yml > +++ b/playbooks/roles/terraform/defaults/main.yml > @@ -1,3 +1,2 @@ > --- > ssh_config_kexalgorithms: "" > -kdevops_terraform_ssh_config_genkey_overwrite: false > diff --git a/playbooks/roles/terraform/tasks/main.yml b/playbooks/roles/terraform/tasks/main.yml > index 272ebf93..d04dc997 100644 > --- a/playbooks/roles/terraform/tasks/main.yml > +++ b/playbooks/roles/terraform/tasks/main.yml > @@ -15,8 +15,6 @@ > cmd: "terraform output -json public_ip_map" > register: terraform_output > changed_when: false > - when: > - - kdevops_terraform_ssh_config_genkey_overwrite|bool > tags: > - ssh > > @@ -25,8 +23,6 @@ > run_once: true > ansible.builtin.set_fact: > public_ip_map: "{{ terraform_output.stdout | from_json }}" > - when: > - - kdevops_terraform_ssh_config_genkey_overwrite|bool > tags: > - ssh > > @@ -40,8 +36,6 @@ > insertafter: "EOF" > marker: "# {mark} host configuration for {{ inventory_hostname }}" > mode: "u=rw,g=r,o=r" > - when: > - - kdevops_terraform_ssh_config_genkey_overwrite|bool > tags: > - ssh > > @@ -55,8 +49,6 @@ > marker: "# {mark} Managed by kdevops" > mode: "u=rw,g=r,o=r" > block: "Include {{ kdevops_ssh_config_prefix }}*" > - when: > - - kdevops_terraform_ssh_config_genkey_overwrite|bool > tags: > - ssh > > diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile > index b6b26e69..865c84c3 100644 > --- a/scripts/terraform.Makefile > +++ b/scripts/terraform.Makefile > @@ -92,7 +92,6 @@ export KDEVOPS_SSH_PRIVKEY:=$(basename $(KDEVOPS_SSH_PUBKEY)) > > ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY_OVERWRITE)) > DEFAULT_DEPS += remove-ssh-key > -TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_genkey_overwrite='True' > endif > > DEFAULT_DEPS += $(KDEVOPS_SSH_PRIVKEY) Reviewed-by: Chuck Lever <chuck.lever@oracle.com> -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI 2025-05-02 6:46 [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chandan Babu R 2025-05-02 6:46 ` [PATCH 2/3] Remove kdevops_terraform_ssh_config_genkey_overwrite Chandan Babu R @ 2025-05-02 6:46 ` Chandan Babu R 2025-05-02 15:30 ` Chuck Lever 2025-05-02 15:32 ` [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chuck Lever 2 siblings, 1 reply; 9+ messages in thread From: Chandan Babu R @ 2025-05-02 6:46 UTC (permalink / raw) To: kdevops; +Cc: Chandan Babu R, chuck.lever The OCI tenancy available to kernel developers from Oracle allows only private IP addresses to be assigned to compute instances. Hence this commit brings back the ability to work with OCI instances having private IP addresses. The variable "public_ip_map" defined in terraform/*/output.tf files has also been changed to "ansible_ip_map" in order to abstract away the type of the IP address being used. Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> --- Please note that since I have only an OCI account, I haven't tested the changes on other cloud providers. However, the changes are limited to renaming "public_ip_map" to "ansible_ip_map" in terraform files. playbooks/roles/terraform/tasks/main.yml | 8 ++++---- playbooks/roles/terraform/templates/ssh_config.j2 | 4 ++-- scripts/status_terraform.sh | 2 +- terraform/aws/output.tf | 2 +- terraform/azure/output.tf | 2 +- terraform/gce/output.tf | 2 +- terraform/oci/output.tf | 14 +++++++++----- terraform/openstack/output.tf | 2 +- 8 files changed, 20 insertions(+), 16 deletions(-) diff --git a/playbooks/roles/terraform/tasks/main.yml b/playbooks/roles/terraform/tasks/main.yml index d04dc997..d1c94264 100644 --- a/playbooks/roles/terraform/tasks/main.yml +++ b/playbooks/roles/terraform/tasks/main.yml @@ -7,22 +7,22 @@ tags: - bringup -- name: Retrieve the public_ip_map from terraform +- name: Retrieve the ansible_ip_map from terraform delegate_to: localhost run_once: true ansible.builtin.command: chdir: "{{ topdir_path }}/terraform/{{ kdevops_terraform_provider }}" - cmd: "terraform output -json public_ip_map" + cmd: "terraform output -json ansible_ip_map" register: terraform_output changed_when: false tags: - ssh -- name: Convert the retrieved public_ip_map into a dictionary +- name: Convert the retrieved ansible_ip_map into a dictionary delegate_to: localhost run_once: true ansible.builtin.set_fact: - public_ip_map: "{{ terraform_output.stdout | from_json }}" + ansible_ip_map: "{{ terraform_output.stdout | from_json }}" tags: - ssh diff --git a/playbooks/roles/terraform/templates/ssh_config.j2 b/playbooks/roles/terraform/templates/ssh_config.j2 index d9b057b1..c6e62a61 100644 --- a/playbooks/roles/terraform/templates/ssh_config.j2 +++ b/playbooks/roles/terraform/templates/ssh_config.j2 @@ -1,5 +1,5 @@ -Host {{ inventory_hostname }} {{ public_ip_map[inventory_hostname] }} - HostName {{ public_ip_map[inventory_hostname] }} +Host {{ inventory_hostname }} {{ ansible_ip_map[inventory_hostname] }} + HostName {{ ansible_ip_map[inventory_hostname] }} User {{ kdevops_terraform_ssh_config_user }} Port 22 IdentityFile {{ kdevops_terraform_ssh_config_privkey_file }} diff --git a/scripts/status_terraform.sh b/scripts/status_terraform.sh index dc82d79e..bc4ad309 100755 --- a/scripts/status_terraform.sh +++ b/scripts/status_terraform.sh @@ -13,5 +13,5 @@ if [[ ${COUNT} -eq 1 ]]; then else echo "There are ${COUNT} active terraform resources on '$1'." fi -terraform output public_ip_map +terraform output ansible_ip_map exit 0 diff --git a/terraform/aws/output.tf b/terraform/aws/output.tf index ab18bc55..b5e59eb1 100644 --- a/terraform/aws/output.tf +++ b/terraform/aws/output.tf @@ -3,7 +3,7 @@ # Each provider's output.tf needs to define a public_ip_map. This # map is used to build the Ansible controller's ssh configuration. # Each map entry contains the node's hostname and public IP address. -output "public_ip_map" { +output "ansible_ip_map" { description = "The public IP addresses assigned to each instance" value = zipmap(var.kdevops_nodes[*], aws_eip.kdevops_eip[*].public_ip) } diff --git a/terraform/azure/output.tf b/terraform/azure/output.tf index 38104c90..deb7d141 100644 --- a/terraform/azure/output.tf +++ b/terraform/azure/output.tf @@ -1,7 +1,7 @@ # Each provider's output.tf needs to define a public_ip_map. This # map is used to build the Ansible controller's ssh configuration. # Each map entry contains the node's hostname and public IP address. -output "public_ip_map" { +output "ansible_ip_map" { description = "The public IP addresses assigned to each instance" value = zipmap(var.kdevops_nodes[*], azurerm_public_ip.kdevops_publicip[*].ip_address) } diff --git a/terraform/gce/output.tf b/terraform/gce/output.tf index 15889cc4..9246216f 100644 --- a/terraform/gce/output.tf +++ b/terraform/gce/output.tf @@ -3,7 +3,7 @@ # Each provider's output.tf needs to define a public_ip_map. This # map is used to build the Ansible controller's ssh configuration. # Each map entry contains the node's hostname and public IP address. -output "public_ip_map" { +output "ansible_ip_map" { description = "The public IP addresses assigned to each instance" value = zipmap(var.kdevops_nodes[*], google_compute_instance.kdevops_instance[*].network_interface[0].access_config[0].nat_ip) diff --git a/terraform/oci/output.tf b/terraform/oci/output.tf index 1657b804..6562a1e8 100644 --- a/terraform/oci/output.tf +++ b/terraform/oci/output.tf @@ -1,9 +1,13 @@ # All generic output goes here -# Each provider's output.tf needs to define a public_ip_map. This +# Each provider's output.tf needs to define a ansible_ip_map. This # map is used to build the Ansible controller's ssh configuration. -# Each map entry contains the node's hostname and public IP address. -output "public_ip_map" { - description = "The public IP addresses assigned to each instance" - value = zipmap(var.kdevops_nodes[*], oci_core_instance.kdevops_instance.*.public_ip) +# Each map entry contains the node's hostname and public/private IP +# address. +output "ansible_ip_map" { + description = "The IP addresses assigned to each instance" + value = zipmap(var.kdevops_nodes[*], + var.oci_assign_public_ip ? + oci_core_instance.kdevops_instance.*.public_ip : + oci_core_instance.kdevops_instance.*.private_ip) } diff --git a/terraform/openstack/output.tf b/terraform/openstack/output.tf index d5d3a6b1..3dd139a3 100644 --- a/terraform/openstack/output.tf +++ b/terraform/openstack/output.tf @@ -21,7 +21,7 @@ output "kdevops_hosts_and_ipv4" { # Each provider's output.tf needs to define a public_ip_map. This # map is used to build the Ansible controller's ssh configuration. # Each map entry contains the node's hostname and public IP address. -output "public_ip_map" { +output "ansible_ip_map" { description = "The public IP addresses assigned to each instance" value = zipmap(var.kdevops_nodes[*], openstack_compute_instance_v2.kdevops_instances[*].access_ip_v4) } -- 2.45.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI 2025-05-02 6:46 ` [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI Chandan Babu R @ 2025-05-02 15:30 ` Chuck Lever 2025-05-02 16:31 ` Chuck Lever 0 siblings, 1 reply; 9+ messages in thread From: Chuck Lever @ 2025-05-02 15:30 UTC (permalink / raw) To: Chandan Babu R, kdevops On 5/2/25 2:46 AM, Chandan Babu R wrote: > The OCI tenancy available to kernel developers from Oracle allows only private > IP addresses to be assigned to compute instances. Hence this commit brings > back the ability to work with OCI instances having private IP addresses. > > The variable "public_ip_map" defined in terraform/*/output.tf files has also > been changed to "ansible_ip_map" in order to abstract away the type of the IP > address being used. > > Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> > --- > > Please note that since I have only an OCI account, I haven't tested > the changes on other cloud providers. However, the changes are limited > to renaming "public_ip_map" to "ansible_ip_map" in terraform files. > > playbooks/roles/terraform/tasks/main.yml | 8 ++++---- > playbooks/roles/terraform/templates/ssh_config.j2 | 4 ++-- > scripts/status_terraform.sh | 2 +- > terraform/aws/output.tf | 2 +- > terraform/azure/output.tf | 2 +- > terraform/gce/output.tf | 2 +- > terraform/oci/output.tf | 14 +++++++++----- > terraform/openstack/output.tf | 2 +- > 8 files changed, 20 insertions(+), 16 deletions(-) > > diff --git a/playbooks/roles/terraform/tasks/main.yml b/playbooks/roles/terraform/tasks/main.yml > index d04dc997..d1c94264 100644 > --- a/playbooks/roles/terraform/tasks/main.yml > +++ b/playbooks/roles/terraform/tasks/main.yml > @@ -7,22 +7,22 @@ > tags: > - bringup > > -- name: Retrieve the public_ip_map from terraform > +- name: Retrieve the ansible_ip_map from terraform > delegate_to: localhost > run_once: true > ansible.builtin.command: > chdir: "{{ topdir_path }}/terraform/{{ kdevops_terraform_provider }}" > - cmd: "terraform output -json public_ip_map" > + cmd: "terraform output -json ansible_ip_map" > register: terraform_output > changed_when: false > tags: > - ssh > > -- name: Convert the retrieved public_ip_map into a dictionary > +- name: Convert the retrieved ansible_ip_map into a dictionary > delegate_to: localhost > run_once: true > ansible.builtin.set_fact: > - public_ip_map: "{{ terraform_output.stdout | from_json }}" > + ansible_ip_map: "{{ terraform_output.stdout | from_json }}" > tags: > - ssh > > diff --git a/playbooks/roles/terraform/templates/ssh_config.j2 b/playbooks/roles/terraform/templates/ssh_config.j2 > index d9b057b1..c6e62a61 100644 > --- a/playbooks/roles/terraform/templates/ssh_config.j2 > +++ b/playbooks/roles/terraform/templates/ssh_config.j2 > @@ -1,5 +1,5 @@ > -Host {{ inventory_hostname }} {{ public_ip_map[inventory_hostname] }} > - HostName {{ public_ip_map[inventory_hostname] }} > +Host {{ inventory_hostname }} {{ ansible_ip_map[inventory_hostname] }} > + HostName {{ ansible_ip_map[inventory_hostname] }} > User {{ kdevops_terraform_ssh_config_user }} > Port 22 > IdentityFile {{ kdevops_terraform_ssh_config_privkey_file }} > diff --git a/scripts/status_terraform.sh b/scripts/status_terraform.sh > index dc82d79e..bc4ad309 100755 > --- a/scripts/status_terraform.sh > +++ b/scripts/status_terraform.sh > @@ -13,5 +13,5 @@ if [[ ${COUNT} -eq 1 ]]; then > else > echo "There are ${COUNT} active terraform resources on '$1'." > fi > -terraform output public_ip_map > +terraform output ansible_ip_map > exit 0 > diff --git a/terraform/aws/output.tf b/terraform/aws/output.tf > index ab18bc55..b5e59eb1 100644 > --- a/terraform/aws/output.tf > +++ b/terraform/aws/output.tf > @@ -3,7 +3,7 @@ > # Each provider's output.tf needs to define a public_ip_map. This > # map is used to build the Ansible controller's ssh configuration. > # Each map entry contains the node's hostname and public IP address. > -output "public_ip_map" { > +output "ansible_ip_map" { > description = "The public IP addresses assigned to each instance" > value = zipmap(var.kdevops_nodes[*], aws_eip.kdevops_eip[*].public_ip) > } > diff --git a/terraform/azure/output.tf b/terraform/azure/output.tf > index 38104c90..deb7d141 100644 > --- a/terraform/azure/output.tf > +++ b/terraform/azure/output.tf > @@ -1,7 +1,7 @@ > # Each provider's output.tf needs to define a public_ip_map. This > # map is used to build the Ansible controller's ssh configuration. > # Each map entry contains the node's hostname and public IP address. > -output "public_ip_map" { > +output "ansible_ip_map" { > description = "The public IP addresses assigned to each instance" > value = zipmap(var.kdevops_nodes[*], azurerm_public_ip.kdevops_publicip[*].ip_address) > } > diff --git a/terraform/gce/output.tf b/terraform/gce/output.tf > index 15889cc4..9246216f 100644 > --- a/terraform/gce/output.tf > +++ b/terraform/gce/output.tf > @@ -3,7 +3,7 @@ > # Each provider's output.tf needs to define a public_ip_map. This > # map is used to build the Ansible controller's ssh configuration. > # Each map entry contains the node's hostname and public IP address. > -output "public_ip_map" { > +output "ansible_ip_map" { > description = "The public IP addresses assigned to each instance" > value = zipmap(var.kdevops_nodes[*], > google_compute_instance.kdevops_instance[*].network_interface[0].access_config[0].nat_ip) > diff --git a/terraform/oci/output.tf b/terraform/oci/output.tf > index 1657b804..6562a1e8 100644 > --- a/terraform/oci/output.tf > +++ b/terraform/oci/output.tf > @@ -1,9 +1,13 @@ > # All generic output goes here > > -# Each provider's output.tf needs to define a public_ip_map. This > +# Each provider's output.tf needs to define a ansible_ip_map. This > # map is used to build the Ansible controller's ssh configuration. > -# Each map entry contains the node's hostname and public IP address. > -output "public_ip_map" { > - description = "The public IP addresses assigned to each instance" > - value = zipmap(var.kdevops_nodes[*], oci_core_instance.kdevops_instance.*.public_ip) > +# Each map entry contains the node's hostname and public/private IP > +# address. Can you update the documenting comment in the output.tf file for the other providers as well? > +output "ansible_ip_map" { > + description = "The IP addresses assigned to each instance" Also, update the description for the ansible_ip_map output variable in all the output.tf files. > + value = zipmap(var.kdevops_nodes[*], > + var.oci_assign_public_ip ? > + oci_core_instance.kdevops_instance.*.public_ip : > + oci_core_instance.kdevops_instance.*.private_ip) Weird indentation. I assume this was the result of "terraform fmt" ? > } > diff --git a/terraform/openstack/output.tf b/terraform/openstack/output.tf > index d5d3a6b1..3dd139a3 100644 > --- a/terraform/openstack/output.tf > +++ b/terraform/openstack/output.tf > @@ -21,7 +21,7 @@ output "kdevops_hosts_and_ipv4" { > # Each provider's output.tf needs to define a public_ip_map. This > # map is used to build the Ansible controller's ssh configuration. > # Each map entry contains the node's hostname and public IP address. > -output "public_ip_map" { > +output "ansible_ip_map" { > description = "The public IP addresses assigned to each instance" > value = zipmap(var.kdevops_nodes[*], openstack_compute_instance_v2.kdevops_instances[*].access_ip_v4) > } This patch makes sense to me, just needs a little polish. -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI 2025-05-02 15:30 ` Chuck Lever @ 2025-05-02 16:31 ` Chuck Lever 2025-05-05 7:45 ` Chandan Babu R 0 siblings, 1 reply; 9+ messages in thread From: Chuck Lever @ 2025-05-02 16:31 UTC (permalink / raw) To: Chandan Babu R, kdevops On 5/2/25 11:30 AM, Chuck Lever wrote: > On 5/2/25 2:46 AM, Chandan Babu R wrote: >> The OCI tenancy available to kernel developers from Oracle allows only private >> IP addresses to be assigned to compute instances. Hence this commit brings >> back the ability to work with OCI instances having private IP addresses. >> >> The variable "public_ip_map" defined in terraform/*/output.tf files has also >> been changed to "ansible_ip_map" in order to abstract away the type of the IP >> address being used. Duh. I know I suggested the name, but "ansible_ip_map" might suggest that Ansible defines this variable, like all other variables named ansible_something. Other possibilities: ips_for_ansible controller_ip_map >> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> >> --- >> >> Please note that since I have only an OCI account, I haven't tested >> the changes on other cloud providers. However, the changes are limited >> to renaming "public_ip_map" to "ansible_ip_map" in terraform files. >> >> playbooks/roles/terraform/tasks/main.yml | 8 ++++---- >> playbooks/roles/terraform/templates/ssh_config.j2 | 4 ++-- >> scripts/status_terraform.sh | 2 +- >> terraform/aws/output.tf | 2 +- >> terraform/azure/output.tf | 2 +- >> terraform/gce/output.tf | 2 +- >> terraform/oci/output.tf | 14 +++++++++----- >> terraform/openstack/output.tf | 2 +- >> 8 files changed, 20 insertions(+), 16 deletions(-) >> >> diff --git a/playbooks/roles/terraform/tasks/main.yml b/playbooks/roles/terraform/tasks/main.yml >> index d04dc997..d1c94264 100644 >> --- a/playbooks/roles/terraform/tasks/main.yml >> +++ b/playbooks/roles/terraform/tasks/main.yml >> @@ -7,22 +7,22 @@ >> tags: >> - bringup >> >> -- name: Retrieve the public_ip_map from terraform >> +- name: Retrieve the ansible_ip_map from terraform >> delegate_to: localhost >> run_once: true >> ansible.builtin.command: >> chdir: "{{ topdir_path }}/terraform/{{ kdevops_terraform_provider }}" >> - cmd: "terraform output -json public_ip_map" >> + cmd: "terraform output -json ansible_ip_map" >> register: terraform_output >> changed_when: false >> tags: >> - ssh >> >> -- name: Convert the retrieved public_ip_map into a dictionary >> +- name: Convert the retrieved ansible_ip_map into a dictionary >> delegate_to: localhost >> run_once: true >> ansible.builtin.set_fact: >> - public_ip_map: "{{ terraform_output.stdout | from_json }}" >> + ansible_ip_map: "{{ terraform_output.stdout | from_json }}" >> tags: >> - ssh >> >> diff --git a/playbooks/roles/terraform/templates/ssh_config.j2 b/playbooks/roles/terraform/templates/ssh_config.j2 >> index d9b057b1..c6e62a61 100644 >> --- a/playbooks/roles/terraform/templates/ssh_config.j2 >> +++ b/playbooks/roles/terraform/templates/ssh_config.j2 >> @@ -1,5 +1,5 @@ >> -Host {{ inventory_hostname }} {{ public_ip_map[inventory_hostname] }} >> - HostName {{ public_ip_map[inventory_hostname] }} >> +Host {{ inventory_hostname }} {{ ansible_ip_map[inventory_hostname] }} >> + HostName {{ ansible_ip_map[inventory_hostname] }} >> User {{ kdevops_terraform_ssh_config_user }} >> Port 22 >> IdentityFile {{ kdevops_terraform_ssh_config_privkey_file }} >> diff --git a/scripts/status_terraform.sh b/scripts/status_terraform.sh >> index dc82d79e..bc4ad309 100755 >> --- a/scripts/status_terraform.sh >> +++ b/scripts/status_terraform.sh >> @@ -13,5 +13,5 @@ if [[ ${COUNT} -eq 1 ]]; then >> else >> echo "There are ${COUNT} active terraform resources on '$1'." >> fi >> -terraform output public_ip_map >> +terraform output ansible_ip_map >> exit 0 >> diff --git a/terraform/aws/output.tf b/terraform/aws/output.tf >> index ab18bc55..b5e59eb1 100644 >> --- a/terraform/aws/output.tf >> +++ b/terraform/aws/output.tf >> @@ -3,7 +3,7 @@ >> # Each provider's output.tf needs to define a public_ip_map. This >> # map is used to build the Ansible controller's ssh configuration. >> # Each map entry contains the node's hostname and public IP address. >> -output "public_ip_map" { >> +output "ansible_ip_map" { >> description = "The public IP addresses assigned to each instance" >> value = zipmap(var.kdevops_nodes[*], aws_eip.kdevops_eip[*].public_ip) >> } >> diff --git a/terraform/azure/output.tf b/terraform/azure/output.tf >> index 38104c90..deb7d141 100644 >> --- a/terraform/azure/output.tf >> +++ b/terraform/azure/output.tf >> @@ -1,7 +1,7 @@ >> # Each provider's output.tf needs to define a public_ip_map. This >> # map is used to build the Ansible controller's ssh configuration. >> # Each map entry contains the node's hostname and public IP address. >> -output "public_ip_map" { >> +output "ansible_ip_map" { >> description = "The public IP addresses assigned to each instance" >> value = zipmap(var.kdevops_nodes[*], azurerm_public_ip.kdevops_publicip[*].ip_address) >> } >> diff --git a/terraform/gce/output.tf b/terraform/gce/output.tf >> index 15889cc4..9246216f 100644 >> --- a/terraform/gce/output.tf >> +++ b/terraform/gce/output.tf >> @@ -3,7 +3,7 @@ >> # Each provider's output.tf needs to define a public_ip_map. This >> # map is used to build the Ansible controller's ssh configuration. >> # Each map entry contains the node's hostname and public IP address. >> -output "public_ip_map" { >> +output "ansible_ip_map" { >> description = "The public IP addresses assigned to each instance" >> value = zipmap(var.kdevops_nodes[*], >> google_compute_instance.kdevops_instance[*].network_interface[0].access_config[0].nat_ip) >> diff --git a/terraform/oci/output.tf b/terraform/oci/output.tf >> index 1657b804..6562a1e8 100644 >> --- a/terraform/oci/output.tf >> +++ b/terraform/oci/output.tf >> @@ -1,9 +1,13 @@ >> # All generic output goes here >> >> -# Each provider's output.tf needs to define a public_ip_map. This >> +# Each provider's output.tf needs to define a ansible_ip_map. This >> # map is used to build the Ansible controller's ssh configuration. >> -# Each map entry contains the node's hostname and public IP address. >> -output "public_ip_map" { >> - description = "The public IP addresses assigned to each instance" >> - value = zipmap(var.kdevops_nodes[*], oci_core_instance.kdevops_instance.*.public_ip) >> +# Each map entry contains the node's hostname and public/private IP >> +# address. > > Can you update the documenting comment in the output.tf file for the > other providers as well? > > >> +output "ansible_ip_map" { >> + description = "The IP addresses assigned to each instance" > > Also, update the description for the ansible_ip_map output variable in > all the output.tf files. > > >> + value = zipmap(var.kdevops_nodes[*], >> + var.oci_assign_public_ip ? >> + oci_core_instance.kdevops_instance.*.public_ip : >> + oci_core_instance.kdevops_instance.*.private_ip) > > Weird indentation. I assume this was the result of "terraform fmt" ? > > >> } >> diff --git a/terraform/openstack/output.tf b/terraform/openstack/output.tf >> index d5d3a6b1..3dd139a3 100644 >> --- a/terraform/openstack/output.tf >> +++ b/terraform/openstack/output.tf >> @@ -21,7 +21,7 @@ output "kdevops_hosts_and_ipv4" { >> # Each provider's output.tf needs to define a public_ip_map. This >> # map is used to build the Ansible controller's ssh configuration. >> # Each map entry contains the node's hostname and public IP address. >> -output "public_ip_map" { >> +output "ansible_ip_map" { >> description = "The public IP addresses assigned to each instance" >> value = zipmap(var.kdevops_nodes[*], openstack_compute_instance_v2.kdevops_instances[*].access_ip_v4) >> } > > This patch makes sense to me, just needs a little polish. > > -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI 2025-05-02 16:31 ` Chuck Lever @ 2025-05-05 7:45 ` Chandan Babu R 0 siblings, 0 replies; 9+ messages in thread From: Chandan Babu R @ 2025-05-05 7:45 UTC (permalink / raw) To: Chuck Lever; +Cc: kdevops On Fri, May 02, 2025 at 12:31:58 PM -0400, Chuck Lever wrote: > On 5/2/25 11:30 AM, Chuck Lever wrote: >> On 5/2/25 2:46 AM, Chandan Babu R wrote: >>> The OCI tenancy available to kernel developers from Oracle allows only private >>> IP addresses to be assigned to compute instances. Hence this commit brings >>> back the ability to work with OCI instances having private IP addresses. >>> >>> The variable "public_ip_map" defined in terraform/*/output.tf files has also >>> been changed to "ansible_ip_map" in order to abstract away the type of the IP >>> address being used. > > Duh. I know I suggested the name, but "ansible_ip_map" might suggest > that Ansible defines this variable, like all other variables named > ansible_something. > > Other possibilities: > > ips_for_ansible > controller_ip_map > I think controller_ip_map is a better name. I will use that. > > >>> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> >>> --- >>> >>> Please note that since I have only an OCI account, I haven't tested >>> the changes on other cloud providers. However, the changes are limited >>> to renaming "public_ip_map" to "ansible_ip_map" in terraform files. >>> >>> playbooks/roles/terraform/tasks/main.yml | 8 ++++---- >>> playbooks/roles/terraform/templates/ssh_config.j2 | 4 ++-- >>> scripts/status_terraform.sh | 2 +- >>> terraform/aws/output.tf | 2 +- >>> terraform/azure/output.tf | 2 +- >>> terraform/gce/output.tf | 2 +- >>> terraform/oci/output.tf | 14 +++++++++----- >>> terraform/openstack/output.tf | 2 +- >>> 8 files changed, 20 insertions(+), 16 deletions(-) >>> >>> diff --git a/playbooks/roles/terraform/tasks/main.yml b/playbooks/roles/terraform/tasks/main.yml >>> index d04dc997..d1c94264 100644 >>> --- a/playbooks/roles/terraform/tasks/main.yml >>> +++ b/playbooks/roles/terraform/tasks/main.yml >>> @@ -7,22 +7,22 @@ >>> tags: >>> - bringup >>> >>> -- name: Retrieve the public_ip_map from terraform >>> +- name: Retrieve the ansible_ip_map from terraform >>> delegate_to: localhost >>> run_once: true >>> ansible.builtin.command: >>> chdir: "{{ topdir_path }}/terraform/{{ kdevops_terraform_provider }}" >>> - cmd: "terraform output -json public_ip_map" >>> + cmd: "terraform output -json ansible_ip_map" >>> register: terraform_output >>> changed_when: false >>> tags: >>> - ssh >>> >>> -- name: Convert the retrieved public_ip_map into a dictionary >>> +- name: Convert the retrieved ansible_ip_map into a dictionary >>> delegate_to: localhost >>> run_once: true >>> ansible.builtin.set_fact: >>> - public_ip_map: "{{ terraform_output.stdout | from_json }}" >>> + ansible_ip_map: "{{ terraform_output.stdout | from_json }}" >>> tags: >>> - ssh >>> >>> diff --git a/playbooks/roles/terraform/templates/ssh_config.j2 b/playbooks/roles/terraform/templates/ssh_config.j2 >>> index d9b057b1..c6e62a61 100644 >>> --- a/playbooks/roles/terraform/templates/ssh_config.j2 >>> +++ b/playbooks/roles/terraform/templates/ssh_config.j2 >>> @@ -1,5 +1,5 @@ >>> -Host {{ inventory_hostname }} {{ public_ip_map[inventory_hostname] }} >>> - HostName {{ public_ip_map[inventory_hostname] }} >>> +Host {{ inventory_hostname }} {{ ansible_ip_map[inventory_hostname] }} >>> + HostName {{ ansible_ip_map[inventory_hostname] }} >>> User {{ kdevops_terraform_ssh_config_user }} >>> Port 22 >>> IdentityFile {{ kdevops_terraform_ssh_config_privkey_file }} >>> diff --git a/scripts/status_terraform.sh b/scripts/status_terraform.sh >>> index dc82d79e..bc4ad309 100755 >>> --- a/scripts/status_terraform.sh >>> +++ b/scripts/status_terraform.sh >>> @@ -13,5 +13,5 @@ if [[ ${COUNT} -eq 1 ]]; then >>> else >>> echo "There are ${COUNT} active terraform resources on '$1'." >>> fi >>> -terraform output public_ip_map >>> +terraform output ansible_ip_map >>> exit 0 >>> diff --git a/terraform/aws/output.tf b/terraform/aws/output.tf >>> index ab18bc55..b5e59eb1 100644 >>> --- a/terraform/aws/output.tf >>> +++ b/terraform/aws/output.tf >>> @@ -3,7 +3,7 @@ >>> # Each provider's output.tf needs to define a public_ip_map. This >>> # map is used to build the Ansible controller's ssh configuration. >>> # Each map entry contains the node's hostname and public IP address. >>> -output "public_ip_map" { >>> +output "ansible_ip_map" { >>> description = "The public IP addresses assigned to each instance" >>> value = zipmap(var.kdevops_nodes[*], aws_eip.kdevops_eip[*].public_ip) >>> } >>> diff --git a/terraform/azure/output.tf b/terraform/azure/output.tf >>> index 38104c90..deb7d141 100644 >>> --- a/terraform/azure/output.tf >>> +++ b/terraform/azure/output.tf >>> @@ -1,7 +1,7 @@ >>> # Each provider's output.tf needs to define a public_ip_map. This >>> # map is used to build the Ansible controller's ssh configuration. >>> # Each map entry contains the node's hostname and public IP address. >>> -output "public_ip_map" { >>> +output "ansible_ip_map" { >>> description = "The public IP addresses assigned to each instance" >>> value = zipmap(var.kdevops_nodes[*], azurerm_public_ip.kdevops_publicip[*].ip_address) >>> } >>> diff --git a/terraform/gce/output.tf b/terraform/gce/output.tf >>> index 15889cc4..9246216f 100644 >>> --- a/terraform/gce/output.tf >>> +++ b/terraform/gce/output.tf >>> @@ -3,7 +3,7 @@ >>> # Each provider's output.tf needs to define a public_ip_map. This >>> # map is used to build the Ansible controller's ssh configuration. >>> # Each map entry contains the node's hostname and public IP address. >>> -output "public_ip_map" { >>> +output "ansible_ip_map" { >>> description = "The public IP addresses assigned to each instance" >>> value = zipmap(var.kdevops_nodes[*], >>> google_compute_instance.kdevops_instance[*].network_interface[0].access_config[0].nat_ip) >>> diff --git a/terraform/oci/output.tf b/terraform/oci/output.tf >>> index 1657b804..6562a1e8 100644 >>> --- a/terraform/oci/output.tf >>> +++ b/terraform/oci/output.tf >>> @@ -1,9 +1,13 @@ >>> # All generic output goes here >>> >>> -# Each provider's output.tf needs to define a public_ip_map. This >>> +# Each provider's output.tf needs to define a ansible_ip_map. This >>> # map is used to build the Ansible controller's ssh configuration. >>> -# Each map entry contains the node's hostname and public IP address. >>> -output "public_ip_map" { >>> - description = "The public IP addresses assigned to each instance" >>> - value = zipmap(var.kdevops_nodes[*], oci_core_instance.kdevops_instance.*.public_ip) >>> +# Each map entry contains the node's hostname and public/private IP >>> +# address. >> >> Can you update the documenting comment in the output.tf file for the >> other providers as well? >> >> Ok. >>> +output "ansible_ip_map" { >>> + description = "The IP addresses assigned to each instance" >> >> Also, update the description for the ansible_ip_map output variable in >> all the output.tf files. >> Sure, I will do that. >> >>> + value = zipmap(var.kdevops_nodes[*], >>> + var.oci_assign_public_ip ? >>> + oci_core_instance.kdevops_instance.*.public_ip : >>> + oci_core_instance.kdevops_instance.*.private_ip) >> >> Weird indentation. I assume this was the result of "terraform fmt" ? Sorry, I had used my text editor's default indentation. I will fix it. >> >> >>> } >>> diff --git a/terraform/openstack/output.tf b/terraform/openstack/output.tf >>> index d5d3a6b1..3dd139a3 100644 >>> --- a/terraform/openstack/output.tf >>> +++ b/terraform/openstack/output.tf >>> @@ -21,7 +21,7 @@ output "kdevops_hosts_and_ipv4" { >>> # Each provider's output.tf needs to define a public_ip_map. This >>> # map is used to build the Ansible controller's ssh configuration. >>> # Each map entry contains the node's hostname and public IP address. >>> -output "public_ip_map" { >>> +output "ansible_ip_map" { >>> description = "The public IP addresses assigned to each instance" >>> value = zipmap(var.kdevops_nodes[*], openstack_compute_instance_v2.kdevops_instances[*].access_ip_v4) >>> } >> >> This patch makes sense to me, just needs a little polish. >> Thanks for reviewing all the patches. I will make the required modifications and post V2 soon. -- Chandan ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally 2025-05-02 6:46 [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chandan Babu R 2025-05-02 6:46 ` [PATCH 2/3] Remove kdevops_terraform_ssh_config_genkey_overwrite Chandan Babu R 2025-05-02 6:46 ` [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI Chandan Babu R @ 2025-05-02 15:32 ` Chuck Lever 2025-05-02 16:07 ` Chuck Lever 2 siblings, 1 reply; 9+ messages in thread From: Chuck Lever @ 2025-05-02 15:32 UTC (permalink / raw) To: Chandan Babu R, kdevops On 5/2/25 2:46 AM, Chandan Babu R wrote: > kdevops_terraform_ssh_config_privkey_file is not set on control systems which > use pre-existing ssh keys. Hence, adding entries of provisioned cloud > instances to the ephemeral ssh config file fails on such systems. > > Fix this by setting kdevops_terraform_ssh_config_privkey_file > unconditionally. > > Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> > --- > scripts/terraform.Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile > index 91469469..b6b26e69 100644 > --- a/scripts/terraform.Makefile > +++ b/scripts/terraform.Makefile > @@ -85,10 +85,10 @@ endif # CONFIG_KDEVOPS_SSH_CONFIG_UPDATE > export KDEVOPS_SSH_PUBKEY:=$(shell realpath $(subst ",,$(CONFIG_TERRAFORM_SSH_CONFIG_PUBKEY_FILE))) > TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_pubkey_file='$(KDEVOPS_SSH_PUBKEY)' > TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_user='$(SSH_CONFIG_USER)' > +TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_privkey_file='$(basename $(KDEVOPS_SSH_PUBKEY))' > > ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY)) > export KDEVOPS_SSH_PRIVKEY:=$(basename $(KDEVOPS_SSH_PUBKEY)) > -TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_privkey_file='$(KDEVOPS_SSH_PRIVKEY)' > > ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY_OVERWRITE)) > DEFAULT_DEPS += remove-ssh-key I need to think about this one / test it. Might have side effects, but maybe not. -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally 2025-05-02 15:32 ` [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chuck Lever @ 2025-05-02 16:07 ` Chuck Lever 0 siblings, 0 replies; 9+ messages in thread From: Chuck Lever @ 2025-05-02 16:07 UTC (permalink / raw) To: Chandan Babu R, kdevops On 5/2/25 11:32 AM, Chuck Lever wrote: > On 5/2/25 2:46 AM, Chandan Babu R wrote: >> kdevops_terraform_ssh_config_privkey_file is not set on control systems which >> use pre-existing ssh keys. Hence, adding entries of provisioned cloud >> instances to the ephemeral ssh config file fails on such systems. >> >> Fix this by setting kdevops_terraform_ssh_config_privkey_file >> unconditionally. >> >> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> >> --- >> scripts/terraform.Makefile | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile >> index 91469469..b6b26e69 100644 >> --- a/scripts/terraform.Makefile >> +++ b/scripts/terraform.Makefile >> @@ -85,10 +85,10 @@ endif # CONFIG_KDEVOPS_SSH_CONFIG_UPDATE >> export KDEVOPS_SSH_PUBKEY:=$(shell realpath $(subst ",,$(CONFIG_TERRAFORM_SSH_CONFIG_PUBKEY_FILE))) >> TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_pubkey_file='$(KDEVOPS_SSH_PUBKEY)' >> TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_user='$(SSH_CONFIG_USER)' >> +TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_privkey_file='$(basename $(KDEVOPS_SSH_PUBKEY))' >> >> ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY)) >> export KDEVOPS_SSH_PRIVKEY:=$(basename $(KDEVOPS_SSH_PUBKEY)) >> -TERRAFORM_EXTRA_VARS += kdevops_terraform_ssh_config_privkey_file='$(KDEVOPS_SSH_PRIVKEY)' >> >> ifeq (y,$(CONFIG_TERRAFORM_SSH_CONFIG_GENKEY_OVERWRITE)) >> DEFAULT_DEPS += remove-ssh-key > > I need to think about this one / test it. Might have side effects, but > maybe not. > > Reviewed-by: Chuck Lever <chuck.lever@oracle.com> and confirmed it's doesn't seem to break anything in a simple smoke test on Azure. -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-05-05 8:12 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-05-02 6:46 [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chandan Babu R 2025-05-02 6:46 ` [PATCH 2/3] Remove kdevops_terraform_ssh_config_genkey_overwrite Chandan Babu R 2025-05-02 15:30 ` Chuck Lever 2025-05-02 6:46 ` [PATCH 3/3] Allow private IP address to be assigned to instances created on OCI Chandan Babu R 2025-05-02 15:30 ` Chuck Lever 2025-05-02 16:31 ` Chuck Lever 2025-05-05 7:45 ` Chandan Babu R 2025-05-02 15:32 ` [PATCH 1/3] Set kdevops_terraform_ssh_config_privkey_file unconditionally Chuck Lever 2025-05-02 16:07 ` Chuck Lever
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox