Skip to content

Device Import Workbook

  • rConfig v8 installed and accessible.
  • Access to System Settings → Data Management → Import/ Export.
  • Vendor, template, command group, and credential data ready before importing devices (see Section 1 below).

Successfully importing devices into rConfig requires careful planning and a systematic approach to managing dependencies. This workbook provides a structured methodology for designing, preparing, and executing device imports, whether onboarding a handful of devices or migrating thousands from legacy systems. The guidance here addresses the challenge of maintaining data consistency, establishing proper relationships between system components, and ensuring operational readiness from day one.

Organizations migrating from legacy configuration management tools face the additional complexity of data transformation and standardization. This workbook helps you leverage the migration process as an opportunity to improve naming conventions, refine organizational taxonomies, and align device attributes with current operational requirements. By following this structured approach, network teams can achieve faster time-to-value while building a foundation for long-term scalability.

rConfig’s device management relies on a relational architecture where devices connect to multiple supporting components. Understanding these relationships is essential for successful imports, as missing or incorrectly configured dependencies will cause import failures or operational issues.

Why dependencies matter: Each device requires connections to vendors, templates, command groups, and optionally tags and credential sets. These relationships enable rConfig to determine how to connect to devices, what commands to execute, and how to organize the resulting configurations. Attempting to import devices without properly configured dependencies results in validation errors and failed imports.

Import sequence best practice: Always configure dependencies before importing devices. The recommended order ensures each component’s prerequisites exist when needed:

  1. Vendors (no dependencies)
  2. Templates (no dependencies)
  3. Commands (no dependencies initially, later linked to command groups)
  4. Command Groups (depends on commands)
  5. Tags (no dependencies)
  6. Credential Sets (no dependencies)
  7. Devices (depends on all above components)

This sequence prevents circular dependency issues and allows for validation at each step before proceeding to the next layer.

Migration from legacy systems presents an opportunity to improve data quality and operational consistency. Organizations should use the import process to implement standardization across several key areas.

Naming convention evolution: Legacy systems often accumulate inconsistent naming patterns over years of operation. The import process enables enforcement of modern naming standards:

  • Device names: Implement location-role-sequence format (e.g., NYC-CORE-RTR-01)
  • Model designations: Standardize model strings to prevent duplication (CS1000 vs Cisco-1000 vs C1K)
  • Template names: Use consistent platform-protocol format (Cisco-IOS-SSH, Juniper-Junos-SSH)
  • Command group names: Align with network architecture terminology

Tag taxonomy design: Legacy category systems may not align with current operational needs. Design a comprehensive tag taxonomy that supports:

  • Geographic organization (Region-EMEA, Site-London, Building-HQ)
  • Environmental separation (Production, Staging, Development)
  • Criticality tiers (Tier1-Critical, Tier2-Important, Tier3-Standard)
  • Functional roles (Core, Distribution, Access, Security)
  • Compliance requirements (PCI-DSS, HIPAA, SOX)

Credential consolidation: Rather than maintaining unique credentials per device, consolidate to role-based credential sets that simplify password rotation and reduce administrative overhead.

Before importing devices, establish the foundational components that devices will reference. This section provides detailed guidance on each prerequisite, including design considerations and best practices.

Vendors identify device manufacturers and enable manufacturer-based filtering, reporting, and template associations.

Purpose and function: While vendor designation is required for each device, vendors primarily serve organizational purposes rather than functional requirements. The vendor association enables filtering device lists by manufacturer, generating vendor-specific reports, and associating devices with vendor-specific templates and command sets.

Design considerations:

  • Use official manufacturer names for consistency (Cisco, not Cisco Systems Inc.)
  • Include both hardware vendors and virtual appliance providers
  • Consider subsidiary relationships (Arista vs Arista Networks)
  • Plan for multi-vendor platforms (white-box switches with multiple OS options)

Vendor table structure:

IDVendor NameUse CasesNotes
1CiscoEnterprise routing, switching, securityPrimary vendor for campus infrastructure
2JuniperCore routing, data center switchingSecondary vendor for DC fabric
3Palo AltoNext-gen firewallsSecurity infrastructure
4AristaData center leaf-spineCloud-scale networking
5F5Application delivery controllersLoad balancing infrastructure

Import preparation:

  1. Extract unique vendor list from legacy system
  2. Standardize vendor names to official designations
  3. Add vendors via rConfig UI or API before device import
  4. Document vendor ID mappings for device import reference

Templates define the connection protocols, authentication methods, and access parameters required to interact with devices. Templates are the most critical prerequisite: devices cannot function without properly configured templates.

Purpose and function: Templates specify how rConfig connects to devices (SSH, Telnet, SNMP), what authentication credentials to use, and how to navigate device CLI interfaces. Each device must reference exactly one template, making template design crucial for successful device operations.

Design considerations:

  • Create platform-specific templates for major device types (Cisco IOS, Juniper Junos, Palo Alto PAN-OS)
  • Include protocol variations (SSH standard port vs non-standard port)
  • Consider security zone requirements (management VLAN vs production VLAN may use different templates)
  • Plan for privilege escalation requirements (enable mode for Cisco devices)

Template table structure:

IDTemplate NameConnection TypePortTimeoutNotes
1Cisco-IOS-SSHSSH2230sStandard Cisco IOS devices
2Cisco-IOS-SSH-AltSSH222230sNon-standard SSH port
3Juniper-Junos-SSHSSH2245sJuniper devices (longer timeout)
4PaloAlto-SSHSSH2230sPalo Alto firewalls
5Generic-TelnetTelnet2320sLegacy devices (use sparingly)

Template file preparation: For advanced templates requiring custom connection logic, prepare template YAML files before import:

cisco-ios-ssh.yaml
name: Cisco-IOS-SSH
connection_type: ssh
port: 22
timeout: 30
enable_mode: true
prompts:
main: ".*[>#]"
enable: ".*#"
authentication:
method: password
enable_required: true

Import preparation:

  1. Identify unique platform-protocol combinations in device inventory
  2. Create or upload template files for each combination
  3. Test templates against representative devices before bulk import
  4. Document template ID mappings for device import reference

Commands define the specific CLI instructions executed on devices to retrieve configurations and operational data. Commands are later organized into command groups, but can be created independently first.

Purpose and function: Commands specify the exact syntax executed on device CLI interfaces. A comprehensive command library ensures complete configuration backup and operational visibility. Commands can be reused across multiple command groups, promoting efficiency.

Design considerations:

  • Include configuration retrieval commands (show running-config, show startup-config)
  • Add operational visibility commands (show version, show inventory, show interfaces)
  • Consider vendor-specific command variations (show run vs display current-configuration)
  • Plan for incremental configuration commands (show running-config changes)

Command table structure:

IDCommandDescriptionVendor CompatibilityNotes
1show running-configFull running configurationCisco IOS, IOS-XEPrimary backup command
2show startup-configSaved configurationCisco IOS, IOS-XEValidation command
3show versionSoftware version and hardwareCisco IOS, IOS-XEDevice inventory
4show ip interface briefInterface summaryCisco IOS, IOS-XEQuick status check
5show configurationFull configurationJuniper JunosPrimary backup command
6show system informationSystem detailsPalo Alto PAN-OSDevice inventory

Command group associations: Commands will later be associated with command groups. Plan which commands belong to which groups:

  • Core-Switches: Commands 1, 2, 3, 4 (Cisco-focused configuration and status)
  • Data-Center-Fabric: Commands 5 (Juniper-focused configuration)
  • Firewalls: Command 6 (Palo Alto-focused)

Import preparation:

  1. Extract command lists from legacy system or create from scratch
  2. Standardize command syntax and descriptions
  3. Add commands via rConfig UI or API
  4. Document command ID mappings and planned command group associations

Command groups organize related commands for execution against specific device types. Devices are assigned to exactly one command group, which determines which commands execute during configuration downloads.

Purpose and function: Command groups link devices to appropriate command sets based on device role or platform. A core router command group might include routing-specific commands, while an access switch command group focuses on VLAN and port configuration commands.

Design considerations:

  • Align command groups with network architecture layers (Core, Distribution, Access)
  • Consider device functional roles (Routing, Switching, Security, Wireless)
  • Plan for platform-specific command groups when command syntax differs significantly
  • Balance granularity (many specific groups) vs simplicity (fewer general groups)

Command group table structure:

IDGroup NameDescriptionCommand IDsDevice Types
1Core-SwitchesCommands for core switching1, 2, 3, 4Cisco core switches
2Access-SwitchesCommands for access layer1, 2, 3, 4Cisco access switches
3Core-RoutersCommands for core routing1, 2, 3Cisco routers
4Data-Center-FabricCommands for DC fabric5Juniper QFX series
5FirewallsCommands for firewalls6Palo Alto firewalls

Command group design example:

Network Architecture Mapping:
Core Layer
├── Core-Routers (Group ID: 3)
│ └── Commands: show run, show startup, show version
└── Core-Switches (Group ID: 1)
└── Commands: show run, show startup, show version, show ip int brief
Distribution Layer
├── Distribution-Switches (Group ID: 6)
└── Commands: show run, show version, show spanning-tree
Access Layer
├── Access-Switches (Group ID: 2)
└── Commands: show run, show version, show interface status

Import preparation:

  1. Map device types to command requirements
  2. Create command groups aligned with network architecture
  3. Associate commands with appropriate groups (many-to-many relationship)
  4. Add command groups via rConfig UI or API
  5. Document command group ID mappings for device import reference

Tags provide flexible, multi-dimensional categorization for devices. Unlike command groups (one-per-device), devices can have multiple tags, enabling cross-cutting organizational capabilities.

Purpose and function: Tags enable filtering, reporting, and automation based on attributes that cross traditional hierarchical boundaries. Tag-based RBAC also controls user access to device populations without rigid structural constraints.

Design considerations:

  • Plan multi-dimensional taxonomy (geography, environment, criticality, function)
  • Establish naming conventions to prevent tag proliferation
  • Consider RBAC requirements (tags can inherit role assignments)
  • Balance specificity (London-HQ-Building-A) vs simplicity (London)

Tag table structure:

IDTag NameCategoryDescriptionRBAC Use
1CoreFunctionCore infrastructure devicesNo
2AccessFunctionAccess layer devicesNo
3ProductionEnvironmentProduction environmentYes - Production-Team
4StagingEnvironmentStaging environmentYes - Staging-Team
5Region-EMEAGeographyEMEA region devicesYes - EMEA-Team
6Region-AMERGeographyAmericas region devicesYes - AMER-Team
7Tier1-CriticalCriticalityMission-critical devicesNo
8PCI-ScopeCompliancePCI-DSS compliance scopeYes - Compliance-Team

Tag taxonomy design example:

Recommended Tag Structure:
Geographic Tags:
- Region-EMEA, Region-AMER, Region-APAC
- Country-UK, Country-US, Country-SG
- Site-London, Site-NewYork, Site-Singapore
Environmental Tags:
- Production, Staging, Development, DR
Criticality Tags:
- Tier1-Critical, Tier2-Important, Tier3-Standard
Functional Tags:
- Core, Distribution, Access, DMZ, Management
Compliance Tags:
- PCI-DSS, HIPAA, SOX, GDPR

Import preparation:

  1. Design comprehensive tag taxonomy aligned with operational needs
  2. Extract device attributes from legacy system for tag assignment
  3. Add tags via rConfig UI or API
  4. Document tag ID mappings for device import reference
  5. Plan role assignments for RBAC-enabled tags

Credential sets provide secure storage of device authentication information. Rather than storing credentials per-device, credential sets enable reuse across device populations.

Purpose and function: Credential sets store usernames, passwords, and enable passwords for device authentication. Devices can reference credential sets or use device-specific credentials. Credential set usage significantly simplifies password rotation and reduces security risks.

Design considerations:

  • Create role-based credential sets (Core-Device-Creds, Access-Device-Creds)
  • Plan for security zone separation (DMZ-Creds vs Internal-Creds)
  • Consider compliance requirements (PCI devices may require separate credentials)
  • Implement credential rotation schedule aligned with security policy

Credential table structure:

IDCredential NameUsernamePasswordEnable PasswordDescriptionDevices
1Core-Device-Credscore-admin●●●●●●●●●●●●Core infrastructure devices50
2Access-Device-Credsaccess-admin●●●●●●●●●●●●Access layer devices200
3Firewall-Credsfw-admin●●●●●●N/AFirewall devices15
4DMZ-Credsdmz-admin●●●●●●●●●●●●DMZ segment devices25
5Readonly-Credsreadonly-user●●●●●●N/ARead-only access10

Credential security considerations:

  • Encryption at rest: rConfig encrypts stored credentials using AES-256
  • Access control: Limit credential visibility to authorized administrators
  • Rotation schedule: Implement quarterly rotation minimum, monthly for critical infrastructure
  • Audit trail: Monitor credential usage through activity logs
  • Emergency access: Maintain separate “break-glass” credentials with strict audit requirements

Import preparation:

  1. Identify unique credential requirements across device population
  2. Create consolidated credential sets for device roles
  3. Add credentials via rConfig UI (never via API for security)
  4. Document credential ID mappings for device import reference
  5. Plan credential rotation schedule post-import

Consistent model designation ensures accurate inventory tracking, reporting, and operational clarity. Model standardization prevents duplication and enables efficient device lifecycle management.

Purpose and function: Model names identify specific device hardware or software platforms. Standardized model naming enables accurate inventory reports, warranty tracking, and capacity planning. Model names also assist in template and command group assignment.

Design considerations:

  • Standardize model format (manufacturer-series-model: Cisco-Catalyst-9300)
  • Handle vendor variations (C9300 vs Catalyst-9300 vs WS-C9300)
  • Include platform designations for virtual devices (Cisco-CSR1000V)
  • Document model-to-template mappings for consistent configuration

Model standardization examples:

Legacy Model NameStandardized ModelNotes
C3850, Cat3850, WS-C3850Cisco-Catalyst-3850Consolidate variations
ASR1K, ASR-1000Cisco-ASR-1000Standardize format
SRX-345Juniper-SRX-345Add vendor prefix
PA-220PaloAlto-PA-220Standardize vendor name
vSRXJuniper-vSRXVirtual platform designation

Import preparation:

  1. Extract unique model list from legacy device inventory
  2. Identify model name variations requiring consolidation
  3. Create model standardization mapping table
  4. Apply transformations during import file preparation
  5. Document model standards for future device additions

rConfig provides multiple methods for adding devices to the inventory. Understanding when to use each method ensures efficient onboarding aligned with your operational requirements.

Manual Device Entry

When to use:

  • Adding 1-10 devices
  • Unique or specialized devices requiring careful configuration
  • Training and system familiarization
  • Proof-of-concept environments

Process:

  1. Navigate to Devices → Add Device
  2. Complete all required fields
  3. Select prerequisite components (vendor, template, command group)
  4. Assign optional tags and credentials
  5. Submit and verify initial configuration download

Advantages:

  • Complete control over each field
  • Immediate validation feedback
  • Ideal for learning device structure
  • No preparation overhead

Limitations:

  • Time-consuming for multiple devices
  • Prone to manual entry errors
  • Not suitable for bulk operations
ScenarioRecommended MethodScaleEffortAutomation
Initial setup, learningManual1-10LowNone
Similar device additionsClone10-50LowMinimal
Legacy system migrationCSV Import50-5,000MediumPartial
CMDB integrationREST APIUnlimitedHighFull
Continuous syncThird-Party IntegrationUnlimitedHighFull

CSV import is the most common method for bulk device onboarding and legacy system migration. This section provides detailed guidance on preparing import files for successful execution.

rConfig ships an XLSX import template with every column the importer reads. You can upload it as XLSX or save it as CSV first. Column names must match the template exactly. The importer ignores any column it doesn’t recognise, so a misspelled header is silently skipped rather than reported.

Obtaining the template:

  1. Navigate to System Settings → Data Management → Import/ Export
  2. Click Download Template in step 1 of the Device Import Wizard
  3. Save the file to your working directory
  4. Fill in one row per device under the header row

The template is served by your rConfig server, so it always matches the columns your installed version accepts. Templates downloaded before V8.4.0 are missing device_snippet_cred_id, agent_id, device_port_override and snmp_polling_group_id. Templates downloaded before V8.4.1 are also missing device_roles. Download a fresh copy, or add those headers to your existing file.

Template structure overview:

Required columns (a blank cell in any of these fails the row with Blank Fields):

  • device_name: Unique device name, no spaces
  • device_ip: IPv4 or IPv6 address, or a hostname
  • device_vendor: Vendor ID
  • device_template: Connection template ID
  • device_category_id: Command group ID
  • device_tag: Tag ID, or comma-separated tag IDs (e.g., “1,2,5”)
  • device_model: Model name (free text)
  • device_main_prompt: Device CLI prompt
  • device_enable_prompt: Privilege mode prompt. Use placeholder text if the device has no enable mode.

Credential columns:

  • device_default_creds_on: 1 to use a credential set, 0 to use the inline username and password columns
  • device_cred_id: Credential set ID when device_default_creds_on is 1, otherwise 0
  • device_username, device_password, device_enable_password: Inline credentials, used when device_default_creds_on is 0
  • device_snippet_cred_id: Optional separate credential set for snippet pushes. Leave 0 to reuse the backup credentials.

Optional columns (leave blank to skip):

  • device_port_override: Connection port, 1-65535. Leave blank to use the port set in the device’s connection template.
  • snmp_polling_group_id: SNMP polling group ID. Leave blank or 0 for no SNMP polling.
  • agent_id: Vector agent ID. Leave blank to use the default agent.
  • device_roles: Role IDs that can see the device, as one ID or a comma-separated list (e.g., “2,3”). The Admin role (1) is always added. Leave blank for Admin only.

Successful CSV import requires systematic data preparation addressing validation, transformation, and quality assurance.

Step 1: Extract Legacy Data

Export device inventory from legacy system to spreadsheet format:

  • Include all device attributes available
  • Export supporting data (vendors, tags, credentials if possible)
  • Preserve any existing organizational structure
  • Document data format and field meanings

Step 2: Create Prerequisite Mapping Tables

Build reference tables mapping legacy values to rConfig IDs:

Vendor mapping example:

Legacy Vendor | rConfig Vendor | Vendor ID
-------------|---------------|----------
Cisco | Cisco | 1
Jun | Juniper | 2
PA | Palo Alto | 3

Template mapping example:

Legacy Template | Device Types | rConfig Template | Template ID
---------------|-------------------|-------------------|------------
ssh_cisco | IOS, IOS-XE | Cisco-IOS-SSH | 1
ssh_juniper | Junos | Juniper-Junos-SSH | 2
ssh_paloalto | PAN-OS | PaloAlto-SSH | 3

Command group mapping example:

Legacy Category | Device Role | rConfig Command Group | CG ID
---------------|---------------|---------------------|------
core_switches | Core switching | Core-Switches | 1
access_layer | Access layer | Access-Switches | 2

Step 3: Transform and Standardize Data

Apply transformations to align legacy data with rConfig standards:

Device name standardization:

=UPPER(SUBSTITUTE(TRIM(A2)," ","-"))
# Converts "core switch 01" to "CORE-SWITCH-01"

IP address validation:

=IF(AND(LEN(B2)>6,ISNUMBER(FIND(".",B2))),B2,"INVALID")
# Flags invalid IP addresses for review

Model standardization:

=VLOOKUP(C2,ModelMapping!A:B,2,FALSE)
# Maps legacy model names to standardized format

Tag ID compilation (if tags stored in separate columns):

=TEXTJOIN(",",TRUE,IF(D2="Core","1",""),IF(E2="Production","3",""))
# Combines tag assignments into comma-separated ID list

Step 4: Populate Import Template

Map transformed data to rConfig template columns:

  1. Copy device_name from standardized names
  2. Copy device_ip from validated IPs
  3. VLOOKUP device_vendor from vendor mapping table
  4. VLOOKUP device_template from template mapping table
  5. VLOOKUP device_category_id from command group mapping
  6. Compile device_tag from tag assignments
  7. Set device_default_creds_on and device_cred_id, or fill the inline credential columns
  8. Add device_model, device_main_prompt and device_enable_prompt
  9. Add optional fields (device_port_override, snmp_polling_group_id, agent_id, device_roles)

Step 5: Validate Import Data

Perform comprehensive validation before import:

Required field validation:

=IF(OR(ISBLANK(A2),ISBLANK(B2),ISBLANK(C2),ISBLANK(D2),ISBLANK(E2)),"MISSING REQUIRED","OK")
# Flags rows with missing required fields

ID existence validation:

  • Cross-reference device_vendor against vendor table
  • Cross-reference device_template against template table
  • Cross-reference device_category_id against command group table
  • Validate device_tag IDs exist (split comma-separated values and check each)
  • Cross-reference snmp_polling_group_id against SNMP polling groups (if used)
  • Cross-reference device_roles against the Roles page (if used)

Data format validation:

  • Device names: No spaces, minimum 3 characters, alphanumeric with dash/dot/underscore only
  • IP addresses: Valid IPv4 or IPv6 format
  • Port numbers: Numeric, range 1-65535
  • Tag IDs: Comma-separated numeric values with no spaces

Complete import CSV example (same columns, in the same order, as the downloaded template):

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,device_snippet_cred_id,agent_id,device_port_override,snmp_polling_group_id,device_roles
NYC-CORE-RTR-01,192.168.1.1,,,,"NYC-CORE-RTR-01#","NYC-CORE-RTR-01>",1,1,Cisco-ASR-1000,1,"1,3,7",1,1,0,,,2,"2,3"
NYC-CORE-SW-01,192.168.1.2,,,,"NYC-CORE-SW-01#","NYC-CORE-SW-01>",2,1,Cisco-Catalyst-9500,1,"1,3,7",1,1,0,,,2,"2,3"
LON-ACCESS-SW-01,192.168.2.10,,,,"LON-ACCESS-SW-01#","LON-ACCESS-SW-01>",3,1,Cisco-Catalyst-2960X,1,"2,3,5",1,2,0,,,,2
LON-ACCESS-SW-02,192.168.2.11,,,,"LON-ACCESS-SW-02#","LON-ACCESS-SW-02>",3,1,Cisco-Catalyst-2960X,1,"2,3,5",1,2,0,,,,2
SFO-FW-DMZ-01,192.168.10.1,fwadmin,secret,,"SFO-FW-DMZ-01>","SFO-FW-DMZ-01>",5,4,PaloAlto-PA-3020,3,"7,8",0,0,0,,2222,,

Field breakdown for first device (NYC-CORE-RTR-01):

FieldValueExplanation
device_nameNYC-CORE-RTR-01Standardized naming: Location-Role-Type-Sequence
device_ip192.168.1.1Management interface IP
device_username, device_password, device_enable_password(blank)Not used, because this row uses a credential set
device_main_prompt“NYC-CORE-RTR-01#”Privileged exec prompt
device_enable_prompt“NYC-CORE-RTR-01>”User mode prompt, before enable
device_category_id1Core-Routers command group
device_template1Cisco-IOS-SSH connection template (ID 1)
device_modelCisco-ASR-1000Standardized model designation
device_vendor1Cisco vendor (ID 1)
device_tag“1,3,7”Core (1), Production (3), Tier1-Critical (7)
device_default_creds_on1Use the credential set in device_cred_id
device_cred_id1Core-Device-Creds credential set
device_snippet_cred_id0Snippet pushes reuse the backup credentials
agent_id(blank)Default agent
device_port_override(blank)Use the connection template’s port
snmp_polling_group_id2Poll this device with SNMP polling group 2
device_roles“2,3”Users in roles 2 and 3 can see the device. Admin (1) is added automatically

The SFO-FW-DMZ-01 row shows the other options: inline credentials (device_default_creds_on set to 0) and a non-standard SSH port of 2222. It also leaves device_roles blank, so only Admin users see it until roles are added.

Before uploading your CSV file, verify completion of all validation steps:

Prerequisite validation:

Required field validation:

Optional field validation:

Data quality validation:

With prerequisites configured and CSV file prepared, execute the import process through rConfig’s import interface.

Step 1: Access Import Interface

  1. Navigate to System Settings → Data Management → Import/ Export
  2. Locate the Device Import section
  3. Review any system messages or warnings
  4. Ensure sufficient system resources for import size

Step 2: Upload Import File

  1. Click “Choose File” or “Browse” button
  2. Select prepared CSV file from local system
  3. Verify file name displayed correctly
  4. Review file size and estimated device count

Step 3: Configure Import Options

The import interface provides configuration options affecting import behavior:

OptionDescriptionRecommendation
Update Existing DevicesModify devices if name/IP matchesEnable for updates, disable for new-only
Skip Validation ErrorsContinue import despite validation failuresDisable: address errors before importing
Send NotificationEmail notification on completionEnable for large imports (100+ devices)
Start Downloads ImmediatelyBegin configuration downloads post-importDisable for large imports, schedule separately

Step 4: Review Validation Results

rConfig performs comprehensive validation before executing the import:

Validation checks performed:

  • Required field presence and format
  • Prerequisite ID existence (vendors, templates, command groups, credentials, tags)
  • Device name uniqueness within import and existing devices
  • IP address uniqueness within import and existing devices
  • Data format compliance (IP addresses, port numbers, etc.)
  • Credential completeness (device_cred_id OR username/password)

Validation result scenarios:

All Validation Checks Pass

Indication: Green checkmark icon, “Validation Successful” message, device count summary

Actions available:

  • Review device list to be imported
  • Confirm and proceed with import
  • Cancel if final review reveals issues

Recommendation: Review the device summary one final time, then proceed with confidence.

Step 5: Execute Import

Once validation passes (or acceptable warnings reviewed):

  1. Click “Confirm Import” button
  2. Monitor progress indicator (for large imports)
  3. Wait for completion notification
  4. Review import summary report

Import progress indicators:

  • Devices validated: XXX/YYY
  • Devices imported: XXX/YYY
  • Errors encountered: XXX
  • Estimated time remaining: XX minutes

Step 6: Review Import Summary

Upon completion, rConfig displays comprehensive import results:

Summary report includes:

  • Total devices processed
  • Successful imports
  • Failed imports (with error details)
  • Updated devices (if update mode enabled)
  • Skipped devices (duplicates if update mode disabled)

Example import summary:

Import Summary
──────────────────────────────────
Total Devices in File: 247
Successfully Imported: 245
Failed to Import: 2
Updated Existing: 0
──────────────────────────────────
Failed Devices:
1. Import Error LON-ACCESS-SW-99: Invalid Template ID
2. NYC-FW-02 - Duplicate IP address: 192.168.10.1 already exists
Import completed in 3 minutes, 42 seconds

After successful import, perform verification steps to ensure devices operational:

Immediate verification:

  1. Review device table: Navigate to Devices page, verify imported devices appear
  2. Check device count: Confirm total device count matches import expectations
  3. Spot check devices: Open several device detail pages, verify all attributes correct
  4. Verify tag assignments: Use tag filters to confirm tag associations
  5. Check role assignments: If RBAC configured, verify appropriate users see devices

Configuration download verification:

If immediate downloads enabled, monitor initial configuration retrieval:

  1. Navigate to Queue Manager
  2. Filter jobs by status (Running, Pending, Failed)
  3. Review failed downloads for credential or connectivity issues
  4. Check Activity Logs for detailed error messages

Troubleshooting initial download failures:

IssueSymptomResolution
Authentication failure“Authentication failed” in logsVerify credentials correct, test manual SSH/Telnet
Network unreachable“Connection timeout” in logsVerify IP reachable, check firewall rules
Prompt mismatch“Timeout waiting for prompt”Correct main/enable prompt configuration
Template misconfigurationImmediate failure on connectionReview template settings, test against device

Bulk download scheduling:

For imports with immediate downloads disabled, schedule configuration retrieval:

  1. Select imported devices in device table (filter by import date/time)
  2. Choose bulk action: “Download Configurations”
  3. Schedule job execution (immediately or specific time)
  4. Monitor queue manager for job progress

Section 5: Post-Import Actions and Optimization

Section titled “Section 5: Post-Import Actions and Optimization”

Successful import is only the beginning. Post-import optimization ensures long-term operational efficiency and data quality.

Address failed imports: Review import summary and address any failed devices:

  1. Export failed device list from import summary
  2. Identify root causes (missing prerequisites, validation errors)
  3. Correct issues in original CSV or prerequisites
  4. Re-import corrected device subset

Validate RBAC configuration: If role-based access control configured, verify proper access:

  1. Test user access with non-admin accounts
  2. Verify tag-based role inheritance working correctly
  3. Run RBAC data update if inconsistencies found:
    Terminal window
    cd /var/www/html/rconfig8/current
    php artisan rconfig:update-rbac-data

Configure scheduled downloads: Establish regular configuration backup schedules:

  1. Navigate to Scheduled Jobs
  2. Create download schedule aligned with change control windows
  3. Configure frequency based on device criticality (daily for Tier1, weekly for Tier3)
  4. Enable email notifications for failed downloads

Document import results: Maintain import documentation for audit and operational reference:

  • Import date and time
  • Import file name and location
  • Device count (total, successful, failed)
  • Prerequisite IDs used (vendors, templates, command groups, credentials, tags)
  • Any issues encountered and resolutions applied
  • Next steps and follow-up actions required

Section 6: Common Issues and Troubleshooting

Section titled “Section 6: Common Issues and Troubleshooting”

Understanding common import issues and their resolutions accelerates troubleshooting and reduces import failures.

The importer checks each row on its own. A bad row is skipped with an Import Error <device_name>: <reason> message, and the other rows still import. See Import error messages for the full list.

Prerequisite ID Does Not Exist

Symptom: Invalid Vendor ID, Invalid Template ID, Invalid Category ID, Invalid Tag ID, Invalid Credentials ID, Invalid SNMP Polling Group ID, or Invalid Role ID

Cause: The row references an ID that hasn’t been created in rConfig yet, or a typo in the ID.

Resolution:

  1. Note which column the error names
  2. Create the missing item in rConfig, or look up the correct ID in the relevant table (Vendors, Templates, Command Groups, Tags, Device Credentials, SNMP Groups, Roles)
  3. Fix the ID in your file
  4. Re-upload only the rows that failed, so the rows that already imported aren’t added twice

Prevention: Create every prerequisite before preparing the import file, and keep an ID mapping table next to it.

Devices Fail Initial Download - Authentication

Symptom: Activity logs show “Authentication failed” for newly imported devices

Diagnostic steps:

  1. Verify credentials correct in rConfig (credential set or inline)
  2. Test credentials manually via SSH/Telnet to affected device
  3. Check for credential typos or incorrect enable passwords
  4. Verify device not using different credentials than specified

Resolution:

  • Update device credentials if incorrect
  • Re-test manual download after credential correction
  • If multiple devices affected, consider credential set issue
  • Verify credential set hasn’t been modified since import

Import performance degradation: For very large imports (1,000+ devices), consider these optimizations:

  • Split import into multiple files (500 devices per file maximum)
  • Schedule imports during off-peak hours
  • Disable immediate downloads, schedule separately
  • Monitor system resources during import (CPU, memory, disk I/O)

Queue congestion after import: If hundreds of downloads queued simultaneously:

  • Pause queue workers temporarily
  • Implement staggered download scheduling
  • Scale queue workers to handle load (1 worker per 500 devices)
  • Prioritize critical devices for immediate download

Database performance: After importing thousands of devices:

  • Run database optimization if query performance degrades
  • Contact rConfig support for deployments exceeding 5,000 devices
  • Consider enterprise architecture consultation for large-scale deployments

Section 7: Best Practices and Recommendations

Section titled “Section 7: Best Practices and Recommendations”

Start small, scale gradually:

  • Begin with pilot import (10-20 devices) validating process end-to-end
  • Expand to larger subset (100 devices) refining approach
  • Execute full import only after successful validation

Maintain data quality at source:

  • Clean and standardize data before import, not after
  • Leverage spreadsheet tools for bulk transformations
  • Implement validation formulas catching errors during preparation

Document everything:

  • Maintain prerequisite ID mapping tables
  • Document naming conventions and standards
  • Record lessons learned for future imports
  • Create runbooks for repeatable import processes

Test thoroughly:

  • Validate credentials against actual devices before import
  • Test templates with representative devices from each platform
  • Verify network connectivity from rConfig server to device subnets
  • Run pilot imports identifying issues before full-scale execution

Establish data governance:

  • Define standards for device naming, model designation, tagging
  • Implement approval workflows for prerequisite creation
  • Schedule regular data quality audits
  • Enforce standards through validation and training

Implement continuous improvement:

  • Collect metrics on import success rates and common failures
  • Refine import processes based on operational experience
  • Update documentation reflecting current best practices
  • Train team members on import procedures and troubleshooting

Plan for scale:

  • Design tag taxonomy supporting future growth
  • Create reusable credential sets reducing administrative overhead
  • Establish template library covering current and future platforms
  • Implement API integration for continuous synchronization at scale

Credential management:

  • Never store credentials in unencrypted files during import preparation
  • Use credential sets instead of inline credentials when possible
  • Implement credential rotation schedule post-import
  • Audit credential usage through activity logs

Access control:

  • Configure RBAC during import (assign roles with the device_roles column)
  • Validate user access post-import ensuring proper restrictions
  • Review and approve access requests following defined procedures
  • Regularly audit access patterns for anomalies

Data protection:

  • Secure import files containing device data and credentials
  • Delete import files after successful import
  • Maintain audit trail of all import activities
  • Implement backup procedures for rConfig database

Pre-Import Phase:

CSV Preparation Phase:

Import Execution Phase:

Post-Import Phase:

Terminal window
# Navigate to rConfig directory
cd /var/www/html/rconfig8/current
# Update RBAC data after import with role assignments
php artisan rconfig:update-rbac-data
# Debug specific device download issues (replace 1234 with device ID)
php artisan rconfig:download-device 1234 -d
# Review system logs for import errors
tail -f storage/logs/laravel.log
FieldRequiredFormatNotes
device_nameYesLetters, numbers, _, ., - (no spaces)Other characters are stripped on import
device_ipYesIPv4, IPv6 or hostnameManagement address
device_usernameNo*TextUsed when device_default_creds_on is 0
device_passwordNo*TextUsed when device_default_creds_on is 0
device_enable_passwordNoTextUsed when device_default_creds_on is 0
device_main_promptYesTextDevice CLI prompt
device_enable_promptYesTextPrivilege mode prompt. Placeholder text if unused.
device_category_idYesNumericMust reference existing command group
device_templateYesNumericMust reference existing connection template
device_modelYesTextStandardized model designation
device_vendorYesNumericMust reference existing vendor
device_tagYesNumeric, or comma-separated (“1,2,3”)Tag IDs must exist
device_default_creds_onNo0 or 1Defaults to 0 when the column is missing
device_cred_idNo*NumericMust reference existing credential set when device_default_creds_on is 1. Use 0 otherwise.
device_snippet_cred_idNoNumericCredential set for snippet pushes. 0 or blank reuses backup credentials.
agent_idNoNumericVector agent ID. Blank uses the default agent.
device_port_overrideNoNumeric (1-65535)Blank uses the connection template’s port
snmp_polling_group_idNoNumericMust reference existing SNMP polling group. Blank or 0 for none.
device_rolesNoNumeric, or comma-separated (“2,3”)Role IDs that can see the device. Admin (1) is always added. Blank gives Admin only.

*Set device_default_creds_on to 1 with a device_cred_id, or to 0 with device_username and device_password.

Rows that fail validation are skipped and the rest of the file still imports. Each skipped row is listed after the upload and in the activity log as Import Error <device_name>: <reason>.

ReasonCause
Blank FieldsA required column is empty
Invalid Credentials IDdevice_default_creds_on is 1 and device_cred_id doesn’t exist
Invalid Snippet Credentials IDdevice_snippet_cred_id is non-zero and doesn’t exist
Invalid Category IDdevice_category_id doesn’t exist
Invalid Vendor IDdevice_vendor doesn’t exist
Invalid Template IDdevice_template doesn’t exist
Invalid Tag IDNone of the IDs in device_tag exist
Invalid Device Portdevice_port_override isn’t a whole number from 1 to 65535
Invalid SNMP Polling Group IDsnmp_polling_group_id is non-zero and doesn’t exist, or isn’t a number
Invalid Agent IDagent_id doesn’t exist (Vector installs only)
Invalid Role IDAn ID in device_roles doesn’t exist, or the value isn’t whole numbers separated by commas
IssueQuick CheckQuick Fix
Validation: Missing prerequisite IDVerify ID exists in rConfigCreate prerequisite, update CSV with correct ID
Validation: Duplicate deviceCheck for duplicates in CSVRemove duplicate or enable update mode
Validation: Invalid formatCheck device name, IP formatApply format corrections in CSV
Import: Authentication failureTest credentials manuallyUpdate device credentials
Import: Connection timeoutPing device from rConfig serverFix network/firewall, correct IP
Import: Prompt timeoutReview actual device promptUpdate prompt configuration to match
  • Connection Templates - Template configuration best practices
  • Device Prompts - Prompt configuration troubleshooting
  • REST API - Programmatic import and continuous synchronization
  • RBAC - Role-based access control for credential visibility