For the complete documentation index, see llms.txt. This page is also available as Markdown.

VM Creation Fails with Network Allocation Timeout

Problem

Virtual machine creation fails consistently on a freshly deployed or re-deployed PCD region. VMs enter ERROR state after approximately 300 seconds and never reach ACTIVE. The fault message reports that network allocation failed.

Symptoms observed:

  • openstack server show reports vm_state: error with fault message Failed to allocate the network(s), not rescheduling

  • All VM builds on the affected region fail — the issue is not isolated to specific flavors, images, or networks

  • The compute host Hostagent log shows a 300-second timeout waiting for a network-vif-plugged event that never arrives

Environment

  • Private Cloud Director Virtualization - v2026-4.89 and later

  • Self-Hosted Private Cloud Director Virtualization - v2026-4.89 and later

  • Component: Networking Service, Compute Service

Cause

The Networking Service uses a dedicated service credential to notify the Compute Service when a VM's network port has been successfully bound (the network-vif-plugged event). These credentials are stored in neutron.conf under the [nova] section.

During a fresh region installation, a race condition can cause the Networking Service configuration to be written before the Compute Service has persisted its service password to the configuration store. The result is neutron.conf with password = <no value> in the [nova] section, as shown below:

[nova]
auth_type = password
auth_url = http://keystone.[REGION].svc.cluster.local:5000/keystone/v3
auth_version = v3
endpoint_type = internal
password = <no value>
project_domain_name = default
project_name = services
region_name = [REGION_NAME]
user_domain_name = default
username = nova

Every attempt by the Networking Service to notify the Compute Service of a port-bind event fails with an HTTP 401 Unauthorized from the Identity Service. The Compute Service waits 300 seconds for the network-vif-plugged notification that never arrives, then aborts the build.

This issue is tracked under PCD-7657.

Diagnostics

1

Step 1 — Confirm the VM fault message

Retrieve the fault from the failed VM. The fault message confirms the network allocation failure.

2

Step 2 — Check the compute host Hostagent log for the VIF plug timeout

On the compute host, search the Hostagent log for the affected VM UUID to confirm the timeout pattern.

3

Step 3 — Confirm the Networking Service is failing Keystone authentication

Check the Networking Service pod logs for HTTP 401 errors on Compute Service notification calls. This confirms the root cause.

Self-Hosted only: These steps require kubectl access to the control plane namespace. SaaS customers cannot perform this step — contact Platform9 Support to have this confirmed and resolved on behalf of the environment.

4

Step 4 — Confirm the missing Nova password in neutron.conf

Inspect the neutron-etc Secret to confirm password = <no value> in the [nova] section.

Self-Hosted only: This step requires kubectl access to the control plane namespace. SaaS customers cannot perform this step — contact Platform9 Support to have this checked on behalf of the environment.

password = <no value> confirms the race condition occurred during region deployment. Proceed to the Workaround.

Workaround

The fix requires injecting the correct Nova service password into the neutron-etc Secret and restarting the Networking Service pods. The correct password value is retrieved from the Compute Service configuration in the same region.

SaaS customers: All steps below require kubectl access to the control plane namespace. Contact Platform9 Support to have this workaround applied on behalf of the environment.

1

Step 1 — Back up the current neutron-etc Secret and deployment

Before making any changes, back up both the Secret and the Networking Service deployment.

2

Step 2 — Retrieve the correct Nova service password

Get the Compute Service password from the Compute Service configuration in the same namespace.

Note the password value. This is the shared service credential the Networking Service must use to authenticate to the Identity Service as the nova service account.

3

Step 3 — Extract and edit neutron.conf

Decode neutron.conf from the Secret into a temporary file and set the correct password.

In the editor, locate the [nova] section and replace password = <no value> with the password retrieved in Step 2:

Save and exit the editor.

4

Step 4 — Patch the neutron-etc Secret with the corrected configuration

Re-encode the updated neutron.conf and patch the Secret in the cluster.

5

Step 5 — Restart the Networking Service pods

Delete the existing Networking Service pods to trigger a rolling restart with the corrected configuration.

Wait for the new pods to reach Running state:

6

Step 6 — Verify VM creation succeeds

Attempt to provision a new VM on the affected region and confirm it reaches ACTIVE state.

Confirm the Networking Service logs no longer show HTTP 401 errors on Compute Service notification calls.

Resolution

A permanent fix for the race condition that causes this issue is planned to be included in the upcoming 2026.AUG release. After upgrading to that release, the Networking Service configuration will always contain the correct Compute Service password regardless of the deployment order of dependent services.

The fix for PCD-7657 ensures that the Compute Service password is pre-seeded in the Networking Service configuration store before either chart is deployed, eliminating the ordering dependency.

Additional Information

Related articles:

  • VM Creation Failed Due to Port Binding Failure — covers a similar symptom (VM creation failure from Networking Service issues) where the root cause is an OVN controller problem rather than a missing service credential. Review this article if the [nova] section in neutron.conf shows a valid password but VM creation still fails.

Last updated