equinix-labs / terraform-equinix-metal-nutanix-cluster

Nutanix Cluster on Equinix Metal
https://deploy.equinix.com/labs/terraform-equinix-metal-nutanix-cluster/
Apache License 2.0
2 stars 7 forks source link

Unable to Provision Nutanix Cluster with script prohibited error #70

Closed aayushrangwala closed 5 months ago

aayushrangwala commented 6 months ago

What is the Problem?

Following the README Cluster installation steps, getting error while provisioning:

Error: remote-exec provisioner error
│
│   with null_resource.wait_for_firstboot[0],
│   on main.tf line 156, in resource "null_resource" "wait_for_firstboot":
│  156:   provisioner "remote-exec" {
│
│ Failed to upload script: Error chmodding script file to 0777 in remote machine: ssh: rejected: administratively prohibited (open failed)

From the console, it is confirmed that all the instances are created successfully.

terraform version

Terraform v1.7.5
on darwin_arm64
+ provider registry.terraform.io/equinix/equinix v1.36.4
+ provider registry.terraform.io/hashicorp/local v2.5.1
+ provider registry.terraform.io/hashicorp/null v3.2.2
+ provider registry.terraform.io/hashicorp/random v3.6.1
+ provider registry.terraform.io/hashicorp/tls v4.0.5

terraform init

Initializing the backend...
Initializing modules...

Initializing provider plugins...
- terraform.io/builtin/terraform is built in to Terraform
- Reusing previous version of hashicorp/null from the dependency lock file
- Reusing previous version of hashicorp/tls from the dependency lock file
- Reusing previous version of hashicorp/random from the dependency lock file
- Reusing previous version of hashicorp/local from the dependency lock file
- Reusing previous version of equinix/equinix from the dependency lock file
- Using previously-installed hashicorp/random v3.6.1
- Using previously-installed hashicorp/local v2.5.1
- Using previously-installed equinix/equinix v1.36.4
- Using previously-installed hashicorp/null v3.2.2
- Using previously-installed hashicorp/tls v4.0.5

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

terraform apply

data.equinix_metal_project.nutanix[0]: Reading...
data.equinix_metal_project.nutanix[0]: Read complete after 1s [id=671173ca-6d30-4862-92b8-e39fc2c0823d]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # data.local_file.cvm_ip_address will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "local_file" "cvm_ip_address" {
      + content              = (known after apply)
      + content_base64       = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + filename             = "./cvm_ip_address.txt"
      + id                   = (known after apply)
    }

  # equinix_metal_device.bastion will be created
  + resource "equinix_metal_device" "bastion" {
      + access_private_ipv4              = (known after apply)
      + access_public_ipv4               = (known after apply)
      + access_public_ipv6               = (known after apply)
      + always_pxe                       = false
      + billing_cycle                    = (known after apply)
      + created                          = (known after apply)
      + deployed_facility                = (known after apply)
      + deployed_hardware_reservation_id = (known after apply)
      + force_detach_volumes             = false
      + hostname                         = "bastion"
      + id                               = (known after apply)
      + locked                           = (known after apply)
      + metro                            = "sl"
      + network                          = (known after apply)
      + network_type                     = (known after apply)
      + operating_system                 = "ubuntu_22_04"
      + plan                             = "m3.small.x86"
      + ports                            = (known after apply)
      + project_id                       = "671173ca-6d30-4862-92b8-e39fc2c0823d"
      + project_ssh_key_ids              = (known after apply)
      + root_password                    = (sensitive value)
      + sos_hostname                     = (known after apply)
      + ssh_key_ids                      = (known after apply)
      + state                            = (known after apply)
      + updated                          = (known after apply)
      + user_data                        = (sensitive value)
      + wait_for_reservation_deprovision = false
    }

  # equinix_metal_device.nutanix[0] will be created
  + resource "equinix_metal_device" "nutanix" {
      + access_private_ipv4              = (known after apply)
      + access_public_ipv4               = (known after apply)
      + access_public_ipv6               = (known after apply)
      + always_pxe                       = false
      + billing_cycle                    = (known after apply)
      + created                          = (known after apply)
      + deployed_facility                = (known after apply)
      + deployed_hardware_reservation_id = (known after apply)
      + force_detach_volumes             = false
      + hostname                         = "nutanix-devrel-test-0"
      + id                               = (known after apply)
      + locked                           = (known after apply)
      + metro                            = "sl"
      + network                          = (known after apply)
      + network_type                     = (known after apply)
      + operating_system                 = "nutanix_lts_6_5"
      + plan                             = "m3.large.x86"
      + ports                            = (known after apply)
      + project_id                       = "671173ca-6d30-4862-92b8-e39fc2c0823d"
      + root_password                    = (sensitive value)
      + sos_hostname                     = (known after apply)
      + ssh_key_ids                      = (known after apply)
      + state                            = (known after apply)
      + updated                          = (known after apply)
      + wait_for_reservation_deprovision = false

      + ip_address {
          + type = "private_ipv4"
        }
    }

  # equinix_metal_gateway.gateway will be created
  + resource "equinix_metal_gateway" "gateway" {
      + id                       = (known after apply)
      + ip_reservation_id        = (known after apply)
      + private_ipv4_subnet_size = (known after apply)
      + project_id               = "671173ca-6d30-4862-92b8-e39fc2c0823d"
      + state                    = (known after apply)
      + vlan_id                  = (known after apply)
      + vrf_id                   = (known after apply)
    }

  # equinix_metal_port.bastion_bond0 will be created
  + resource "equinix_metal_port" "bastion_bond0" {
      + bond_id           = (known after apply)
      + bond_name         = (known after apply)
      + bonded            = true
      + disbond_supported = (known after apply)
      + id                = (known after apply)
      + layer2            = false
      + mac               = (known after apply)
      + name              = (known after apply)
      + network_type      = (known after apply)
      + port_id           = (known after apply)
      + type              = (known after apply)
      + vlan_ids          = (known after apply)
      + vxlan_ids         = (known after apply)
    }

  # equinix_metal_port.nutanix[0] will be created
  + resource "equinix_metal_port" "nutanix" {
      + bond_id           = (known after apply)
      + bond_name         = (known after apply)
      + bonded            = true
      + disbond_supported = (known after apply)
      + id                = (known after apply)
      + layer2            = true
      + mac               = (known after apply)
      + name              = (known after apply)
      + network_type      = (known after apply)
      + port_id           = (known after apply)
      + type              = (known after apply)
      + vlan_ids          = (known after apply)
      + vxlan_ids         = (known after apply)
    }

  # equinix_metal_reserved_ip_block.nutanix will be created
  + resource "equinix_metal_reserved_ip_block" "nutanix" {
      + address        = (known after apply)
      + address_family = (known after apply)
      + cidr           = 22
      + cidr_notation  = (known after apply)
      + custom_data    = jsonencode({})
      + description    = "Reserved IP block (192.168.100.0/22) taken from on of the ranges in the VRF's pool of address space."
      + gateway        = (known after apply)
      + global         = (known after apply)
      + id             = (known after apply)
      + manageable     = (known after apply)
      + management     = (known after apply)
      + metro          = "sl"
      + netmask        = (known after apply)
      + network        = "192.168.100.0"
      + project_id     = "671173ca-6d30-4862-92b8-e39fc2c0823d"
      + public         = (known after apply)
      + quantity       = (known after apply)
      + type           = "vrf"
      + vrf_id         = (known after apply)
      + wait_for_state = "created"
    }

  # equinix_metal_vlan.nutanix[0] will be created
  + resource "equinix_metal_vlan" "nutanix" {
      + description = "ntnx-demo"
      + facility    = (known after apply)
      + id          = (known after apply)
      + metro       = "sl"
      + project_id  = "671173ca-6d30-4862-92b8-e39fc2c0823d"
      + vxlan       = (known after apply)
    }

  # equinix_metal_vrf.nutanix will be created
  + resource "equinix_metal_vrf" "nutanix" {
      + description = "VRF with ASN 65000 and a pool of address space that includes 192.168.100.0/25"
      + id          = (known after apply)
      + ip_ranges   = [
          + "192.168.100.0/22",
        ]
      + local_asn   = 65000
      + metro       = "sl"
      + name        = (known after apply)
      + project_id  = "671173ca-6d30-4862-92b8-e39fc2c0823d"
    }

  # null_resource.finalize_cluster[0] will be created
  + resource "null_resource" "finalize_cluster" {
      + id = (known after apply)
    }

  # null_resource.get_cvm_ip[0] will be created
  + resource "null_resource" "get_cvm_ip" {
      + id = (known after apply)
    }

  # null_resource.reboot_nutanix[0] will be created
  + resource "null_resource" "reboot_nutanix" {
      + id = (known after apply)
    }

  # null_resource.wait_for_dhcp will be created
  + resource "null_resource" "wait_for_dhcp" {
      + id = (known after apply)
    }

  # null_resource.wait_for_firstboot[0] will be created
  + resource "null_resource" "wait_for_firstboot" {
      + id = (known after apply)
    }

  # random_string.vrf_name_suffix will be created
  + resource "random_string" "vrf_name_suffix" {
      + id          = (known after apply)
      + length      = 5
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = true
      + numeric     = true
      + result      = (known after apply)
      + special     = false
      + upper       = true
    }

  # terraform_data.input_validation will be created
  + resource "terraform_data" "input_validation" {
      + id = (known after apply)
    }

  # module.ssh.equinix_metal_project_ssh_key.ssh_pub_key will be created
  + resource "equinix_metal_project_ssh_key" "ssh_pub_key" {
      + created     = (known after apply)
      + fingerprint = (known after apply)
      + id          = (known after apply)
      + name        = (known after apply)
      + owner_id    = (known after apply)
      + project_id  = "671173ca-6d30-4862-92b8-e39fc2c0823d"
      + public_key  = (known after apply)
      + updated     = (known after apply)
    }

  # module.ssh.local_file.project_private_key_pem will be created
  + resource "local_file" "project_private_key_pem" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0600"
      + filename             = (known after apply)
      + id                   = (known after apply)
    }

  # module.ssh.random_string.ssh_unique will be created
  + resource "random_string" "ssh_unique" {
      + id          = (known after apply)
      + length      = 5
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = true
      + numeric     = true
      + result      = (known after apply)
      + special     = false
      + upper       = false
    }

  # module.ssh.tls_private_key.ssh_key_pair will be created
  + resource "tls_private_key" "ssh_key_pair" {
      + algorithm                     = "RSA"
      + ecdsa_curve                   = "P224"
      + id                            = (known after apply)
      + private_key_openssh           = (sensitive value)
      + private_key_pem               = (sensitive value)
      + private_key_pem_pkcs8         = (sensitive value)
      + public_key_fingerprint_md5    = (known after apply)
      + public_key_fingerprint_sha256 = (known after apply)
      + public_key_openssh            = (known after apply)
      + public_key_pem                = (known after apply)
      + rsa_bits                      = 4096
    }

Plan: 19 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + bastion_public_ip        = (known after apply)
  + cvim_ip_address          = (known after apply)
  + iscsi_data_services_ip   = "192.168.103.253"
  + nutanix_sos_hostname     = [
      + (known after apply),
    ]
  + prism_central_ip_address = "192.168.103.252"
  + ssh_forward_command      = (known after apply)
  + ssh_private_key          = (known after apply)
  + virtual_ip_address       = "192.168.103.254"

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

terraform_data.input_validation: Creating...
terraform_data.input_validation: Creation complete after 0s [id=d301ab1a-a3f2-3cc6-ebad-a0bbb2176bd3]
module.ssh.tls_private_key.ssh_key_pair: Creating...
module.ssh.random_string.ssh_unique: Creating...
random_string.vrf_name_suffix: Creating...
random_string.vrf_name_suffix: Creation complete after 0s [id=ancPB]
module.ssh.random_string.ssh_unique: Creation complete after 0s [id=94azn]
equinix_metal_vrf.nutanix: Creating...
equinix_metal_vlan.nutanix[0]: Creating...
equinix_metal_device.nutanix[0]: Creating...
module.ssh.tls_private_key.ssh_key_pair: Creation complete after 1s [id=c89e124e26f91b9674ceaca1441a5bfdcd9d07e1]
module.ssh.equinix_metal_project_ssh_key.ssh_pub_key: Creating...
module.ssh.local_file.project_private_key_pem: Creating...
module.ssh.local_file.project_private_key_pem: Creation complete after 0s [id=7d43e7af8091aa84aaba65cc5af738f18209c56d]
equinix_metal_vrf.nutanix: Creation complete after 0s [id=83efef8a-5d02-4211-b266-155a7181b44f]
equinix_metal_reserved_ip_block.nutanix: Creating...
equinix_metal_vlan.nutanix[0]: Creation complete after 1s [id=237d37f4-1c47-4d92-8a7d-c77cf225ddb5]
module.ssh.equinix_metal_project_ssh_key.ssh_pub_key: Creation complete after 1s [id=8212a071-a430-4724-b3c4-d638428f83ee]
equinix_metal_device.bastion: Creating...
equinix_metal_reserved_ip_block.nutanix: Creation complete after 2s [id=002f9fbe-7cb4-4ff0-9715-4e69bb5478d4]
equinix_metal_gateway.gateway: Creating...
equinix_metal_gateway.gateway: Creation complete after 1s [id=4135ab8d-5d66-4298-8f96-20b6f53f355d]
equinix_metal_device.nutanix[0]: Still creating... [10s elapsed]
equinix_metal_device.bastion: Still creating... [10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [20s elapsed]
equinix_metal_device.bastion: Still creating... [20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [30s elapsed]
equinix_metal_device.bastion: Still creating... [30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [40s elapsed]
equinix_metal_device.bastion: Still creating... [40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [50s elapsed]
equinix_metal_device.bastion: Still creating... [50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [1m0s elapsed]
equinix_metal_device.bastion: Still creating... [1m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [1m10s elapsed]
equinix_metal_device.bastion: Still creating... [1m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [1m20s elapsed]
equinix_metal_device.bastion: Still creating... [1m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [1m30s elapsed]
equinix_metal_device.bastion: Still creating... [1m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [1m40s elapsed]
equinix_metal_device.bastion: Still creating... [1m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [1m50s elapsed]
equinix_metal_device.bastion: Still creating... [1m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [2m0s elapsed]
equinix_metal_device.bastion: Still creating... [2m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [2m10s elapsed]
equinix_metal_device.bastion: Still creating... [2m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [2m20s elapsed]
equinix_metal_device.bastion: Still creating... [2m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [2m30s elapsed]
equinix_metal_device.bastion: Still creating... [2m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [2m40s elapsed]
equinix_metal_device.bastion: Still creating... [2m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [2m50s elapsed]
equinix_metal_device.bastion: Still creating... [2m50s elapsed]
equinix_metal_device.bastion: Creation complete after 2m52s [id=2d8c2058-af25-4af5-a0ea-965d65147bdc]
equinix_metal_port.bastion_bond0: Creating...
equinix_metal_device.nutanix[0]: Still creating... [3m0s elapsed]
equinix_metal_port.bastion_bond0: Still creating... [10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [3m10s elapsed]
equinix_metal_port.bastion_bond0: Still creating... [20s elapsed]
equinix_metal_port.bastion_bond0: Creation complete after 23s [id=3955b094-673e-49cf-9f38-8d53ef6969e4]
equinix_metal_device.nutanix[0]: Still creating... [3m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [3m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [3m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [3m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [4m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [4m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [4m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [4m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [4m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [4m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [5m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [5m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [5m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [5m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [5m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [5m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [6m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [6m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [6m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [6m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [6m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [6m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [7m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [7m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [7m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [7m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [7m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [7m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [8m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [8m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [8m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [8m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [8m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [8m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [9m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [9m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [9m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [9m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [9m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [9m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [10m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [10m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [10m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [10m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [10m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [10m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [11m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [11m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [11m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [11m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [11m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [11m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [12m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [12m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [12m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [12m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [12m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [12m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [13m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [13m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [13m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [13m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [13m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [13m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [14m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [14m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [14m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [14m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [14m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [14m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [15m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [15m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [15m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [15m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [15m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [15m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [16m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [16m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [16m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [16m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [16m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [16m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [17m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [17m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [17m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [17m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [17m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [17m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [18m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [18m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [18m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [18m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [18m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [18m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [19m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [19m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [19m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [19m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [19m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [19m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [20m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [20m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [20m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [20m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [20m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [20m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [21m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [21m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [21m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [21m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [21m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [21m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [22m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [22m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [22m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [22m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [22m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [22m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [23m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [23m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [23m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [23m30s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [23m40s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [23m50s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [24m0s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [24m10s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [24m20s elapsed]
equinix_metal_device.nutanix[0]: Still creating... [24m30s elapsed]
equinix_metal_device.nutanix[0]: Creation complete after 24m31s [id=dccb049a-357c-4805-95dc-5ad7e3e0f591]
null_resource.wait_for_firstboot[0]: Creating...
null_resource.wait_for_firstboot[0]: Provisioning with 'remote-exec'...
null_resource.wait_for_firstboot[0] (remote-exec): Connecting to remote host via SSH...
null_resource.wait_for_firstboot[0] (remote-exec):   Host: 10.9.34.135
null_resource.wait_for_firstboot[0] (remote-exec):   User: root
null_resource.wait_for_firstboot[0] (remote-exec):   Password: true
null_resource.wait_for_firstboot[0] (remote-exec):   Private key: false
null_resource.wait_for_firstboot[0] (remote-exec):   Certificate: false
null_resource.wait_for_firstboot[0] (remote-exec):   SSH Agent: true
null_resource.wait_for_firstboot[0] (remote-exec):   Checking Host Key: false
null_resource.wait_for_firstboot[0] (remote-exec):   Target Platform: unix
null_resource.wait_for_firstboot[0] (remote-exec): Using configured bastion host...
null_resource.wait_for_firstboot[0] (remote-exec):   Host: 145.40.91.67
null_resource.wait_for_firstboot[0] (remote-exec):   User: root
null_resource.wait_for_firstboot[0] (remote-exec):   Password: true
null_resource.wait_for_firstboot[0] (remote-exec):   Private key: true
null_resource.wait_for_firstboot[0] (remote-exec):   Certificate: false
null_resource.wait_for_firstboot[0] (remote-exec):   SSH Agent: true
null_resource.wait_for_firstboot[0] (remote-exec):   Checking Host Key: false
null_resource.wait_for_firstboot[0] (remote-exec): Connected!
╷
│ Error: remote-exec provisioner error
│
│   with null_resource.wait_for_firstboot[0],
│   on main.tf line 156, in resource "null_resource" "wait_for_firstboot":
│  156:   provisioner "remote-exec" {
│
│ Failed to upload script: Error chmodding script file to 0777 in remote machine: ssh: rejected: administratively prohibited (open failed)
ctreatma commented 6 months ago

If looks like you're running on macOS and the SSH agent is being used. You will need to run the command documented here to successfully run the remote-exec provisioners: https://github.com/equinix-labs/terraform-equinix-metal-nutanix-cluster/blob/main/README.md#ssh-failures-while-running-on-macos

If you still run into errors after disabling the SSH agent using the method documented in the linked section of the README, please share updated output so we can debug further.

displague commented 5 months ago

Closing under the assumption that the instructions above resolved the issue. Please reopen if needed, @aayushrangwala