This guide provides an Ansible playbook to install RANCID on Debian/Ubuntu systems.
RANCID is available in standard repositories for Debian/Ubuntu:
rancid- name: Install RANCID
hosts: rancid
become: true
vars:
rancid_group: mycompany
rancid_user: rancid
tasks:
- name: Install RANCID package
apt:
name:
- rancid
- git
state: present
update_cache: true
- name: Create RANCID group directory
file:
path: "/var/lib/rancid/{{ rancid_group }}"
state: directory
owner: "{{ rancid_user }}"
group: "{{ rancid_user }}"
mode: "0755"
- name: Configure rancid.conf
lineinfile:
path: /etc/rancid/rancid.conf
line: 'LIST_OF_GROUPS="{{ rancid_group }}"'
regexp: '^LIST_OF_GROUPS='
- name: Create router.db file
copy:
dest: "/var/lib/rancid/{{ rancid_group }}/router.db"
content: |
# hostname:vendor
router1.example.com:cisco
switch1.example.com:cisco
firewall1.example.com:pix
owner: "{{ rancid_user }}"
group: "{{ rancid_user }}"
mode: "0644"
- name: Initialize Git repository
become_user: "{{ rancid_user }}"
git:
repo: file:///var/lib/rancid/{{ rancid_group }}
dest: "/var/lib/rancid/{{ rancid_group }}/configs"
state: present
failed_when: false
- name: Enable and start RANCID
service:
name: rancid
state: started
enabled: true
- name: Run initial collection test
become_user: "{{ rancid_user }}"
command: /usr/lib/rancid/bin/rancid-run
environment:
RANCID_BASE: /var/lib/rancid
failed_when: false
changed_when: false
- name: Display setup information
debug:
msg: |
RANCID installation complete!
Group: {{ rancid_group }}
Config directory: /var/lib/rancid/{{ rancid_group }}
Git repository: /var/lib/rancid/{{ rancid_group }}/configs
Edit router.db to add devices
Logs: /var/log/rancid/
RANCID is not in standard RHEL repositories. Options:
dnf install epel-release && dnf install rancidrancid package in Debian/Ubuntu repositoriesAny questions?
Feel free to contact us. Find all contact information on our contact page.