COMP347 Unit 8 – Network Management and Network Operations
After completing this extended tutorial, you should be able to:
Configuration management is the discipline of systematically handling the state of network devices — from initial deployment to ongoing maintenance, updates, and decommissioning. It ensures that devices are in a known, consistent, and compliant state, and that changes are tracked, reviewed, and reversible. This tutorial provides a comprehensive, in‑depth exploration of configuration management and change control, covering the full lifecycle: planning, deployment, monitoring, auditing, and optimization.
We start with the fundamentals: why configuration management is critical for reliability and security. Then we dive into specific practices: configuration backup (automated retrieval and archiving), version control (using Git for network configurations), and compliance auditing (detecting drift and policy violations). The change control process — including request, review, approval, implementation, and rollback — is detailed within the ITIL and DevOps context. We explore automation: using infrastructure‑as‑code (IaC) tools like Ansible and Terraform, and leveraging NETCONF/RESTCONF with YANG for programmable configuration. Best practices, common pitfalls, and case studies are provided to ground the theory in real‑world operations.
Configuration management (CM) encompasses the processes, tools, and practices used to manage the configuration of network devices. Its key goals:
Configuration management is a core part of the FCAPS framework (Configuration Management). It interacts with other areas: fault management (errors often due to misconfigurations), performance (optimizing parameters), and security (ensuring secure settings).
The configuration lifecycle (adapted from ITIL) includes:
The lifecycle is continuous: monitoring feeds back into planning, and changes are documented and versioned.
Regular backups of device configurations are essential. Strategies:
Backup frequency should match change frequency: daily for stable networks, after each change for dynamic environments.
Treating network configurations as code (IaC) enables modern DevOps practices:
This practice is foundational for network automation and aligns with infrastructure‑as‑code (IaC) methodologies used in cloud and on‑prem environments.
Configuration auditing ensures devices adhere to security and operational policies. Key aspects:
Tools like Ansible (with compliance modules), Chef InSpec, or vendor‑specific solutions (Cisco DNA Center) help automate auditing.
Change control is the formal process for managing modifications to the network. Based on ITIL, the process includes:
In agile/automated environments, changes may be more frequent; approval processes may be streamlined with automated testing and gradual rollout (canary deployments).
Automation reduces manual errors and speeds deployments:
Protocols: NETCONF and RESTCONF enable programmatic configuration using YANG models, with transactional and candidate configurations.
Choice depends on environment (cloud vs. on‑prem), device types, and team skills.
All answers are hidden; click Show Answer to reveal.
What is the primary goal of configuration management in network operations?
List the five stages of the configuration lifecycle as described in the tutorial.
Why is regular configuration backup important?
What is configuration drift?
How does version control (e.g., Git) benefit configuration management?
Name two tools commonly used for automated configuration backup.
What is the purpose of a Change Advisory Board (CAB)?
List the steps of a typical change control process.
What is the role of a rollback plan in change management?
How can automation improve configuration management?
What are the key elements of a configuration template?
Explain the concept of "infrastructure as code" (IaC) in networking.
What is the advantage of using NETCONF over CLI scripting for configuration?
How does a compliance audit help in network management?
What is a "candidate configuration" in NETCONF?
Why is it important to include a "peer review" in the change process?
List three common configuration management tools mentioned in the tutorial.
What is the difference between a "push" and a "pull" configuration deployment model?
What is the purpose of a "diff" tool in configuration management?
How can you detect unauthorized changes in network devices?
Explain the concept of "configuration drift" and its potential impact.
What is a "baseline" configuration?
Why should change implementation be scheduled during maintenance windows?
What is the role of a "change log"?
How does Infrastructure as Code (IaC) support disaster recovery?
What is the purpose of using variables in configuration templates?
What is a "change window"?
How can automation help in compliance remediation?
What are the risks of not having a formal change control process?
What is the difference between "running" and "startup" configuration?
Why should you validate a configuration before deploying it?
What is a "post‑implementation review" in change management?
How can you use Git hooks in a network automation pipeline?
What is the advantage of using a declarative approach (e.g., Terraform) over imperative scripts?
Explain the term "configuration golden image".
What is the role of a "network automation engineer" in configuration management?
How can you ensure that changes are not applied during critical business hours?
What is the purpose of a "configuration management database" (CMDB)?
What is the difference between a "commit" and a "rollback" in version control?
Why is it important to keep configuration backups in a different location from the devices?
What is a "known good" configuration?
What is the purpose of a "staged" deployment in network automation?
How does configuration management contribute to security?
What is the role of "documentation" in configuration management?
Sample solutions are hidden – click to reveal.
You have a network of 500 routers. Design an automated backup strategy using an open‑source tool. Specify the frequency, storage format, and retention policy.
Write an Ansible playbook snippet to push a new ACL configuration to a Cisco router, including a rollback plan if the connection is lost.
- name: Apply ACL
hosts: routers
tasks:
- name: Push ACL config
ios_config:
lines:
- ip access-list extended 101
- permit ip any any
before: "no ip access-list extended 101"
register: result
- name: Rollback if failed
fail:
msg: "Rollback needed"
when: result.failed
- name: Backup before change
ios_config:
backup: yes
Explain how you would detect configuration drift on a set of firewalls and automatically remediate it to a desired baseline.
Define a change control process for a medium‑sized enterprise, including roles and approval gates. Include a rollback procedure.
You need to change the OSPF hello interval on all core routers. How would you automate this and ensure it is done without causing adjacency flaps?
What are the advantages of using Git for network configuration versioning? How would you enforce code reviews?
Design a compliance policy for SSH access on routers. Specify the required settings and how you would audit them.
You have a legacy device that only supports CLI. How would you integrate it into a modern configuration automation framework?
Explain the difference between a "candidate" configuration and a "running" configuration in NETCONF. How would you use a candidate to perform a safe change?
Write a Python script using Netmiko to backup all devices defined in a YAML inventory file, storing the output in a directory with timestamp.
import netmiko
import yaml
import datetime
with open('devices.yml') as f:
devices = yaml.safe_load(f)
timestamp = datetime.datetime.now().strftime('%Y%m%d_%H%M')
for device in devices:
conn = netmiko.ConnectHandler(**device)
output = conn.send_command('show running-config')
with open(f'backups/{device["host"]}_{timestamp}.cfg', 'w') as f:
f.write(output)
How can you use a CI/CD pipeline to automatically deploy a configuration change after it is merged in Git?
Describe the steps to perform a configuration rollback on a router using CLI and using NETCONF.
What are the security implications of storing network configurations in plain text in Git?
You need to deploy a new standard ACL on 50 firewalls. How would you generate the device‑specific configs from a template?
What is the purpose of a "configuration management database" (CMDB) and how does it relate to asset management?
You have a network with devices from multiple vendors. How would you standardize configuration management across them?
Describe how to implement a "change freeze" period (e.g., before an audit) and how to enforce it.
What is the purpose of a "dry run" in configuration automation?
Write a YANG module snippet for a simple interface configuration (name, enabled, description).
container interfaces {
list interface {
key "name";
leaf name { type string; }
leaf enabled { type boolean; default true; }
leaf description { type string; }
}
}
How can you ensure that configuration changes do not cause network outages due to mismatched MTU or duplex settings?
Explain the concept of "idempotency" in configuration automation and why it is important.
You have a network with 200 devices and you need to change the SNMP community string across all of them. How would you do it with minimal risk?
Sample answers are hidden; use them to guide your study.
Write a comprehensive guide on setting up a configuration backup and version control system for a large enterprise network using Git and RANCID/oxidized. Include installation, configuration, and automation steps.
Guide should cover: setting up oxidized with Git integration, configuring device groups, setting up cron jobs for periodic backups, and using Git hooks to trigger compliance checks.
Analyze a recent major network outage caused by a configuration error (e.g., Facebook 2021, AWS S3). Describe the change that caused it, and what configuration management practices could have prevented it.
Facebook 2021: BGP configuration error caused loss of DNS resolution. Prevention: peer review, staged rollout, automated validation of BGP changes, and rollback procedures.
Design a change control policy for a financial institution with strict compliance requirements. Include approval workflows, emergency change procedures, and audit trails.
Policy: standard changes require CAB approval, emergency changes require immediate manager approval and post‑fix review. All changes logged with timestamp, approver, and outcome. Audit logs retained for 7 years.
Explain the role of YANG in configuration management and how it enables automation. Compare it with CLI‑based methods.
YANG provides a structured data model for config and state, enabling programmatic access, validation, and transactional changes. CLI is brittle and difficult to parse. YANG reduces errors and supports multi‑vendor.
Describe the steps to migrate a network from manual CLI‑based configuration management to an automated IaC approach using Ansible and Git.
Phase 1: Inventory and document current configs. Phase 2: Create templates and variable files. Phase 3: Use Ansible to push configs to a lab environment. Phase 4: Staged rollout to production. Phase 5: Enable CI/CD pipeline for future changes.
Explain the concept of "configuration drift" and how it can be detected and remediated using automation. Provide a real‑world example.
Drift is when device configs deviate from the desired baseline. Detection: periodic compliance scans (e.g., with Ansible) compare running config to stored baseline. Remediation: automatically reapply the baseline or alert operators.
How would you handle configuration management for a hybrid network that includes both on‑premises hardware and cloud‑based virtual network functions (VNFs)?
Use a unified tool like Terraform for cloud and Ansible for on‑prem. Store all configs in a single Git repository with separate directories. Use common templating for consistency. Implement CI/CD for both environments.
Discuss the advantages and disadvantages of using a push model (e.g., Ansible) vs. a pull model (e.g., device pulls from a server) for configuration deployment.
Push: simple, immediate, but requires network connectivity to devices. Pull: scales better for many devices, but devices need to be configured to pull. Push is more common for network devices.
Write a detailed analysis of the security risks associated with storing device passwords in configuration files and how to mitigate them in an automated environment.
Risks: plain‑text passwords in Git. Mitigations: use Ansible Vault, store secrets in a vault (HashiCorp Vault), and use AAA (TACACS/RADIUS) for authentication without local passwords.
Explain the concept of "candidate configuration" and how it facilitates safe changes. Contrast it with the traditional CLI method.
Candidate config is a copy of the running config that can be edited and validated before committing. CLI changes are applied immediately. Candidate reduces risk and allows transactional changes.
Design a configuration audit framework for a network with 1000 devices from multiple vendors. Include the policies to be audited and the frequency.
Policies: SSH v2, SNMPv3, strong passwords, ACLs. Use a tool like Ansible with custom modules or Chef InSpec. Audit daily with reporting to dashboard; automatic remediation for critical issues.
How can you use configuration management to assist in network inventory and lifecycle management?
By maintaining a CMDB with device details (model, OS version, serial, location) and configuration versions, you can track assets, plan upgrades, and avoid unsupported devices.
Write a case study on a successful implementation of configuration automation in a large enterprise, highlighting the challenges and benefits.
Include: initial state (manual CLI), project goals, tool selection (Ansible), pilot phase, rollout, training, results (reduced outages, faster deployments).
Explain the role of "change management" in DevOps culture. How does it differ from traditional ITIL change management?
DevOps emphasizes automation, peer review, and continuous deployment. Traditional ITIL is more bureaucratic. DevOps changes are smaller, more frequent, and automated with automated testing and rollback.
Design a comprehensive configuration backup strategy that includes both running and startup configs, with encryption and off‑site storage.
Automated daily backup using oxidized. Encrypt with GPG before storing in Git (or store in encrypted repo). Push encrypted backups to a secondary location (AWS S3) with versioning.
What are the common pitfalls in automated configuration management and how can you avoid them?
Pitfalls: untested changes, lack of rollback, hard‑coded values, ignoring device differences. Avoid by: staging, testing, using variables, and implementing idempotency.
Explain how to implement configuration management for a network that uses SDN controllers (e.g., Cisco ACI, VMware NSX). How does it differ from traditional device config management?
SDN controllers have centralized APIs (REST). Configuration is done via the controller, not individual devices. Use tools like Terraform or Ansible to interact with controller APIs. Configuration management becomes policy‑driven.
Write a research paper on the future of configuration management in the context of intent‑based networking and self‑driving networks.
Paper should discuss: shift from low‑level configs to high‑level policies, automation of remediation, closed‑loop verification, and the role of AI in detecting and correcting drift.
This extended tutorial has provided a comprehensive exploration of configuration management and change control. We covered the fundamentals: the importance of consistency, traceability, and auditability. We examined the configuration lifecycle, backup strategies, version control with Git, compliance auditing, and the formal change control process. Automation using Infrastructure as Code (IaC) tools like Ansible and Terraform, and standard protocols like NETCONF, was discussed in detail. Best practices and common pitfalls were highlighted, and case studies illustrated real‑world applications.
Effective configuration management is foundational to reliable, secure, and agile network operations. It reduces downtime, speeds up troubleshooting, and enables the automation required for modern networks. The quiz, exercises, and homework assignments are designed to reinforce both theoretical understanding and practical skills.
In the next tutorial, we will explore Network Automation, NETCONF, RESTCONF, and APIs, diving deeper into the programmatic interfaces that underpin modern network management.
COMP347 Unit 8 – Extended Tutorial 9 • TrustOpen University • Last updated: August 2026