# Provisioning Flow
This article explains how EasyDCIM matches a server to an order and what happens when the order is accepted and activated. Server matching and service activation are separate stages: EasyDCIM first prepares a ranked list of suitable devices, and then validates the selected device again before provisioning starts.
# Flow overview
The standard server provisioning flow consists of the following stages:
- An order is created with server matching criteria and service configuration.
- EasyDCIM builds a list of eligible servers and Blade Servers.
- Each candidate receives a matching score based on the configured criteria.
- EasyDCIM proposes the highest-scoring device, while an administrator can select another device manually.
- The order is accepted and a service record is created.
- When the service is activated, EasyDCIM validates and assigns the target device, then runs the configured provisioning actions.
- The service status is finalized after the queued actions and any required asynchronous tasks complete.
Accepting an order does not have to activate it immediately. Automatic activation depends on the configured Order Accept Action. API-created orders can also be accepted and activated immediately when the auto_accept option is enabled.
# Configure server matching criteria
Server matching criteria are stored with the order and can be edited before the order is accepted. The Server provisioning module supports the following criteria:
- Target Server Model - selects a specific server or Blade Server model. Select Any Model when the model should not affect matching.
- Location - prefers devices assigned to the selected location.
- PDU Connection Verification - requires the server to have a connected power port.
- Switch Connection Verification - requires the server to have a traffic port connected to a network device.
- Required Parts - checks selected component types, models, quantities, and provisionable part metadata.
- Required Metadata - checks selected device metadata fields and their values.
# Part value formats
Provisionable part fields such as disk size, RAM size, or CPU core count can use the following formats:
1048576- exact value524288|1048576- one of the listed values1048576-2097152- a value within the specified range
For example, you can require a specific SSD model and restrict its SSD Size metadata to an exact value or range. The same matching mechanism can be used with custom part types and their provisionable fields.
To learn how to configure item types, models, parts, and metadata, see Items, Types And Models.
# Eligible devices
Before calculating matching scores, EasyDCIM limits the candidate list to managed Server and Blade Server devices that:
- have the Available inventory status
- are not assigned to a client
- are not assigned to another order or colocation
- are not marked as unmanaged
Before the selected device is activated, EasyDCIM performs another validation. The device must still be available, assigned to a location, unlocked, and free from another active, suspended, or provisioning service. This second check prevents a device that changed after the order was created from being assigned incorrectly.
# Matching score
Each configured matching condition contributes an equal share of the final score. Conditions can include the model, location, required connections, each required part type, and each required metadata field.
For a condition to be counted as matched:
- the model and location must match the selected values
- all requested parts within a required part type must be found on the device
- required metadata must match the stored value
- connection checks must find the required switch or PDU connection
The result is shown as a percentage. Hover over the matching score to see which conditions matched and which did not. Candidates are sorted from the highest to the lowest score.
# Minimum matching percentage
EasyDCIM automatically selects the highest-scoring server only when its score meets the configured Minimum Matching Percentage for the Server provisioning module. If no device reaches the threshold, the order cannot be activated automatically until its criteria or target device are changed.
You can configure this threshold in the advanced order and service settings. The system uses 75% as the fallback value when no module-specific threshold has been saved.
# Exact parts specification
Enable Require Exact Parts Specifications when a candidate must have exactly the requested number of parts for each required part type.
For example, when an order requires three disks:
- with exact specification disabled, a server can match when it contains the three requested disks even if it has additional disks
- with exact specification enabled, only a server with exactly three disks of that type satisfies the part condition
# Manual device selection
The order summary displays the matching preview and the proposed target device. An administrator can use Change Target Device or Choose Device to override the automatic choice.
A manually selected device bypasses the matching percentage requirement, but it does not bypass the activation safety checks. It must still be managed, available, assigned to a location, unlocked, and not assigned to another client, order, or active service.
If a selected device becomes unavailable before activation, EasyDCIM rejects the activation and records the reason instead of silently selecting or assigning an invalid device.
# Matching example
Suppose an order contains the following criteria:
- model:
SSG-6028R-E1CR24NC-LC019 - location:
Dubai - one SSD with the selected model
- SSD Size:
245760MB
EasyDCIM evaluates every eligible server against the model, location, and SSD requirements. A server that satisfies all configured conditions receives the highest score. A server that matches only some of them remains visible in the preview with a lower score, but it is selected automatically only if it reaches the configured minimum percentage.
The administrator can review the detailed matching breakdown and choose another eligible device when necessary.
# Order acceptance and service activation
When an administrator accepts an order, EasyDCIM:
- changes the order status to Accepted
- creates the related service with the Waiting status
- starts activation immediately only when automatic activation on order acceptance is enabled
When activation starts, EasyDCIM validates the selected device again and then:
- changes its inventory status to In Use
- assigns the hostname from the service configuration
- assigns the client and order to the device
- links the device to the service
- changes the service status to Provisioning
- dispatches the configured Activate provisioning actions in their saved order
Provisioning actions are optional and configuration-dependent. For example, operating system installation, IP assignment, switch or PDU operations, DNS changes, and device boot actions run only when they have been added to the activation flow.
Each action runs as a queue job. Actions can have a delay, and supported asynchronous actions can block the remaining sequence when Wait for completion is enabled. After all required tasks finish, EasyDCIM changes the service status to Activated. Depending on the configured error handling, a failed action can be logged and skipped or can abort the provisioning flow.
For the available actions and their execution settings, see Accepting Order.
# OS installation and Provisioning VLAN
OS installation is one of the optional provisioning actions; it is not started by server matching alone. When OS installation and IPAM are configured to use a temporary provisioning network, EasyDCIM can move the connected switch port to a Provisioning VLAN for PXE installation and restore its original VLANs after boot confirmation or the timeout fallback.
For configuration details, see Provisioning VLAN.
# Monitoring and troubleshooting
Use the order's Provisioning Logs and Provisioning Queue tabs to monitor the flow.
| Symptom | What to check |
|---|---|
| No devices appear in the matching preview | Confirm that managed Server or Blade Server devices exist with the Available status and no client, order, or colocation assignment. |
| Devices appear, but none can be selected automatically | Check the matching breakdown and the configured Minimum Matching Percentage. |
| A part condition does not match | Verify the part type, model, quantity, and raw provisionable metadata values used by the criterion. |
| A manually selected device cannot be activated | Confirm that it has a location, remains available and unlocked, and is not assigned to another client, order, or active service. |
| The service remains in Provisioning | Check active tasks, delayed actions, asynchronous wait settings, and the Provisioning Queue. |
| Provisioning changes to Aborted | Check the Provisioning Logs for the failed action and its configured error-handling mode. |