Skip to content

Bulk Import Devices in rConfig V8 Core

Importing devices into rConfig V8 Core means configuring a set of supporting components first, then loading devices that reference them. After reading this page you can plan those prerequisites, prepare a CSV import file, run the import, and fix the most common failures.

Use this workbook when you are populating rConfig with more than a handful of devices, for example a fresh install or a migration from a legacy configuration management tool. For one or two devices, add them directly on the Devices page instead. A migration is also the right moment to standardise naming, model strings, and tag taxonomy, because cleaning the data in a spreadsheet before import is far cheaper than fixing it afterwards.

Before you run an import, create the components each device row references. Without them the importer skips rows with an Invalid ... ID warning. Build them in this order so each component’s dependencies already exist:

  • Vendors (no dependencies). See Vendors
  • Connection templates (no dependencies). See Connection Templates
  • Commands (no dependencies). See Commands
  • Command groups (depend on commands). See Command Groups
  • Tags (no dependencies). See Tags
  • Credential sets (no dependencies), created under Settings → Device Credentials

You also need access to the import file format, which you download from Settings → Import / Export. The Import & Export page is the canonical reference for the column headers and how each row is validated.

Each device connects to several supporting records. Understanding these relationships explains why the build order above matters.

ComponentPer-device countPurpose
VendorOneManufacturer label used for filtering and reporting
Connection templateOneHow rConfig connects: protocol, port, prompts, enable mode
Command groupOneWhich commands run during a configuration download
TagsZero or moreCross-cutting categorisation (site, environment, criticality)
Credential setOne (or inline per device)Stored username, password, and enable password

Templates are the most critical prerequisite, because a device cannot connect without one. Command groups link a device to the right command set for its role. Tags are the only multi-value relationship: a device can carry several tags, which makes them useful for filtering and reporting across hierarchical boundaries.

A migration is the point to fix inconsistency that legacy systems accumulate:

  • Device names: adopt a location-role-sequence format, for example NYC-CORE-RTR-01.
  • Model strings: consolidate variants (C3850, Cat3850, WS-C3850 all become Cisco-Catalyst-3850).
  • Template names: use a platform-protocol format, for example Cisco-IOS-SSH.
  • Tags: design one taxonomy across geography, environment, criticality, and function before you assign any.
  • Credentials: consolidate to role-based credential sets rather than per-device passwords, which simplifies rotation.

rConfig offers three ways to add devices. Pick the one that matches your scale.

ScenarioMethodScaleEffort
Initial setup or learningManual entry1 to 10Low
Many similar devicesClone an existing device10 to 50Low
Migration or large rolloutCSV import50 to 5,000Medium

Manual entry gives full control over every field and immediate validation feedback, which suits unique devices or learning the data model. It does not scale: it is slow and error-prone past a handful of devices.

  1. Go to Devices → Add Device.
  2. Complete the required fields.
  3. Select the vendor, template, and command group.
  4. Assign any tags and a credential set.
  5. Submit, then download the first configuration to verify connectivity.

CSV import is the standard method for bulk onboarding and migration. Download the template, populate it, and validate it before upload.

  1. Go to Settings → Import / Export.
  2. Choose Download Device Import Template.
  3. Save it to a working directory and review the headers and example rows.

The template columns are:

Required columns (must not be blank, and ID columns must reference existing records):

  • device_name: unique device name (invalid characters are stripped on import)
  • device_ip: valid IPv4 or IPv6 address
  • device_main_prompt: device CLI prompt
  • device_enable_prompt: privilege mode prompt
  • device_model: model designation (free text)
  • device_category_id: reference to a command group
  • device_template: reference to a connection template
  • device_vendor: reference to a vendor
  • device_tag: tag ID or comma-separated tag IDs (for example "1,2,5")
  • device_default_creds_on: 1 to use a saved credential set, 0 to use inline credentials
  • device_cred_id: saved credential set ID when device_default_creds_on is 1, otherwise 0

Optional columns (used only when device_default_creds_on is 0):

  • device_username: inline username
  • device_password: inline password (stored encrypted)
  • device_enable_password: inline enable password (stored encrypted)
  1. Export the device inventory from your legacy system to a spreadsheet.
  2. Build mapping tables that translate legacy values to rConfig IDs (legacy vendor name to vendor ID, legacy template to template ID, legacy category to command group ID).
  3. Standardise the data: normalise device names, validate IP addresses, and map model strings to the agreed format.
  4. Populate the template columns, using VLOOKUP against your mapping tables for the ID columns and TEXTJOIN to compile multi-tag values.
  5. Set device_default_creds_on and either device_cred_id or the inline credential columns on every row.

A completed file looks like this:

device_name,device_ip,device_username,device_password,device_enable_password,device_main_prompt,device_enable_prompt,device_category_id,device_template,device_model,device_vendor,device_tag,device_default_creds_on,device_cred_id
NYC-CORE-RTR-01,192.168.1.1,admin,s3cret,en4ble,>,#,1,1,Cisco-ASR-1000,1,"1,3,7",0,0
NYC-CORE-SW-01,192.168.1.2,,,,>,#,2,1,Cisco-Catalyst-9500,1,"1,3,7",1,1
LON-ACCESS-SW-01,192.168.2.10,,,,>,#,3,1,Cisco-Catalyst-2960X,1,"2,3,5",1,2
SFO-FW-DMZ-01,192.168.10.1,admin,s3cret,en4ble,>,#,5,4,PaloAlto-PA-3020,3,"7,8",0,0

The first row, NYC-CORE-RTR-01, supplies inline credentials (device_default_creds_on is 0, so device_cred_id is 0), references vendor 1 and template 1, and carries tags 1,3,7. The second row uses saved credential set 1 instead, so its inline credential cells are blank.

Confirm every item below before you upload:

  • Every device_vendor, device_template, device_category_id, device_tag, and (where used) device_cred_id references a record that exists in rConfig.
  • Every row has all required fields populated.
  • device_default_creds_on is 0 or 1; rows using a saved set have a valid device_cred_id; rows using inline credentials supply username, password, and enable password.
  • No duplicate device names or IP addresses inside the file, and none already in rConfig (the importer does not de-duplicate).
  • Device names contain only letters, numbers, dot, dash, or underscore; IPs are valid; the file is at most 500 devices for best performance.
  1. Go to Settings → Import / Export.
  2. In the device import section, choose the file (.csv or .xlsx, up to 2 MB) and confirm the file name shows correctly.
  3. Choose Import Devices. rConfig validates and imports in a single action: there is no separate options or confirm screen.

Each row is validated in order. Valid rows are created immediately as new devices. Any row that fails a check is skipped and listed with the exact reason, for example Import Error device5: Invalid Template ID. A summary such as 3 Devices successfully imported is shown, and every event is written to the Application Log. For the full list of validation checks, see Import & Export.

After the summary appears, confirm the result and pull the first configurations.

  1. Open the Devices page and confirm the imported devices appear and the count matches.
  2. Spot-check a few device detail pages for correct vendor, template, model, and tags.
  3. Select the imported devices and choose Download Configurations to retrieve the first backup.
  4. Open the Queue Manager and filter by status to watch the download jobs.

Symptom: a skipped row reading Invalid Category ID, Invalid Vendor ID, Invalid Template ID, Invalid Tag ID, or Invalid Credentials ID.

Cause: the row references an ID that does not exist in rConfig.

Fix: read the skipped-row warnings (and the Application Log) to find the missing ID, create the prerequisite on its page (Vendors, Connection Templates, Command Groups, Tags, or Settings → Device Credentials), correct the file, and re-upload.

Configuration download failures after import

Section titled “Configuration download failures after import”
IssueSymptom in logsFix
AuthenticationAuthentication failedConfirm the credential set or inline credentials, then test SSH or Telnet to the device manually
ConnectivityConnection timeout or Network unreachableConfirm the IP is reachable from the rConfig server and check firewall rules and the port
Prompt mismatchTimeout waiting for promptCorrect the main and enable prompt to match the device exactly, or use a regex such as .*[>#]
TemplateImmediate failure on connectionReview the template settings and test against a representative device

For a stubborn prompt mismatch, see Device Prompts, then run the download in debug mode to see the live session:

Terminal window
cd /var/www/html/rconfig
php artisan rconfig:download-device 1234 -d

For 1,000 or more devices, split the inventory into files of 500 devices, run imports during off-peak hours, and schedule downloads separately rather than all at once. Database query performance can degrade after importing thousands of devices, so run database optimisation if you notice slowdowns. Very large deployments are better served by the Pro, Enterprise, and Vector editions, documented separately at docs.rconfig.com.