- play_arrow Overview
- play_arrow Understanding Contrail Controller
-
- play_arrow Installing and Upgrading Contrail
- play_arrow Supported Platforms and Server Requirements
- play_arrow Installing Contrail and Provisioning Roles
- Introduction to Containerized Contrail Modules
- Introduction to Contrail Microservices Architecture
- Downloading Installation Software
- Overview of contrail-ansible-deployer used in Contrail Command for Installing Contrail with Microservices Architecture
- Installing Contrail with OpenStack and Kolla Ansible
- Configuring the Control Node with BGP
- Contrail Global Controller
- Role and Resource-Based Access Control
- play_arrow Installation and Configuration Scenarios
- Setting Up and Using a Simple Virtual Gateway with Contrail 4.0
- Configuring MD5 Authentication for BGP Sessions
- Configuring the Data Plane Development Kit (DPDK) Integrated with Contrail vRouter
- Configuring Contrail DPDK vRouter to Run in a Docker Container
- Configuring Single Root I/O Virtualization (SR-IOV)
- Configuring Virtual Networks for Hub-and-Spoke Topology
- Configuring Transport Layer Security-Based XMPP in Contrail
- Configuring Graceful Restart and Long-lived Graceful Restart
- Remote Compute
- Dynamic Kernel Module Support (DKMS) for vRouter
- play_arrow Upgrading Contrail Software
- play_arrow Backup and Restore Contrail Software
- play_arrow Multicloud Contrail
- play_arrow Using Contrail with Kubernetes
- Contrail Integration with Kubernetes
- Installing and Managing Contrail 5.0 Microservices Architecture Using Helm Charts
- Provisioning of Kubernetes Clusters
- Using Helm Charts to Provision Multinode Contrail OpenStack Ocata with High Availability
- Using Helm Charts to Provision All-in-One Contrail with OpenStack Ocata
- Accessing a Contrail OpenStack Helm Cluster
- Frequently Asked Questions About Contrail and Helm Charts
- Contrail Deployment with Helm
- Verifying Configuration for CNI for Kubernetes
- Kubernetes Updates to IP Fabric
- Implementation of Kubernetes Network Policy with Contrail Firewall Policy
- play_arrow Using VMware vCenter with Containerized Contrail
- vCenter Integration for Contrail Release 5.0
- vCenter Integration for Contrail Release 5.0.1
- vCenter Integration for Contrail Release 5.0.2
- Underlay Network Configuration for ContrailVM
- Using the Contrail and VMware vCenter User Interfaces to Manage the Network For Contrail Releases 5.0 and 5.0.1
- Using the Contrail and VMware vCenter User Interfaces to Manage the Network For Contrail Release 5.0.2
- Integrating Contrail Release 5.0.X with VMware vRealize Orchestrator
- Installing and Provisioning Contrail VMware vRealize Orchestrator Plugin
- play_arrow Using Contrail with Red Hat
- play_arrow Contrail and AppFormix Kolla/Ocata OpenStack Deployment
- Contrail and AppFormix Deployment Requirements
- Preparing for the Installation
- Run the Playbooks
- Accessing Contrail in AppFormix Management Infrastructure in UI
- Notes and Caveats
- Example Instances.yml for Contrail and AppFormix OpenStack Deployment
- Installing AppFormix for OpenStack
- Installing AppFormix for OpenStack in HA
- play_arrow Using Contrail with Juju Charms
- play_arrow Contrail Command
- play_arrow Extending Contrail to Physical Routers, Bare Metal Servers, Switches, and Interfaces
- Understanding Bare Metal Server Management
- Configuring High Availability for the Contrail OVSDB ToR Agent
- Using Device Manager to Manage Physical Routers
- SR-IOV VF as the Physical Interface of vRouter
- Using Gateway Mode to Support Remote Instances
- REST APIs for Extending the Contrail Cluster to Physical Routers, and Physical and Logical Interfaces
- play_arrow Contrail for Data Center Automation and Fabric Management
-
- play_arrow Configuring Contrail
- play_arrow Configuring Virtual Networks
- Creating Projects in OpenStack for Configuring Tenants in Contrail
- Creating a Virtual Network with Juniper Networks Contrail
- Creating a Virtual Network with OpenStack Contrail
- Creating an Image for a Project in OpenStack Contrail
- Creating a Floating IP Address Pool
- Using Security Groups with Virtual Machines (Instances)
- Support for IPv6 Networks in Contrail
- Configuring EVPN and VXLAN
- Support for EVPN Route Type 5
- play_arrow Example of Deploying a Multi-Tier Web Application Using Contrail
- play_arrow Configuring Services
- play_arrow Configuring Service Chaining
- play_arrow Examples: Configuring Service Chaining
- play_arrow Adding Physical Network Functions in Service Chains
- play_arrow QoS Support in Contrail
- play_arrow BGP as a Service
- play_arrow Load Balancers
- play_arrow Optimizing Contrail
-
- play_arrow Contrail Security
- play_arrow Contrail Security
-
- play_arrow Monitoring and Troubleshooting Contrail
- play_arrow Configuring Traffic Mirroring to Monitor Network Traffic
- play_arrow Understanding Contrail Analytics
- play_arrow Configuring Contrail Analytics
- Analytics Scalability
- High Availability for Analytics
- System Log Receiver in Contrail Analytics
- Sending Flow Messages to the Contrail System Log
- Ceilometer Support in a Contrail Cloud
- User Configuration for Analytics Alarms and Log Statistics
- Alarms History
- Node Memory and CPU Information
- Role- and Resource-Based Access Control for the Contrail Analytics API
- Configuring Analytics as a Standalone Solution
- Configuring Secure Sandesh and Introspect for Contrail Analytics
- play_arrow Using Contrail Analytics to Monitor and Troubleshoot the Network
- Monitoring the System
- Debugging Processes Using the Contrail Introspect Feature
- Monitor > Infrastructure > Dashboard
- Monitor > Infrastructure > Control Nodes
- Monitor > Infrastructure > Virtual Routers
- Monitor > Infrastructure > Analytics Nodes
- Monitor > Infrastructure > Config Nodes
- Monitor > Networking
- Query > Flows
- Query > Logs
- Understanding Flow Sampling
- Example: Debugging Connectivity Using Monitoring for Troubleshooting
- play_arrow Common Support Answers
-
Backing Up Contrail Databases Using JSON Format
This document shows how to backup Contrail databases (Cassandra and Zookeeper) using a JSON format. Instructions are given for both non-containerized and containerized versions of Contrail, starting with Contrail 4.0.
Preliminary Cautions
Because the state of the Contrail database is associated with other system databases, such as OpenStack databases, database backups must be consistent across all systems and database changes associated with northbound APIs must be stopped on all systems before performing any backup operation. For example, you might block the external VIP for northbound APIs at the load balancer level, such as HAproxy.
Simple Backup Using JSON Format
Perform a simple backup (database dump). Working from a controller
node, use db_json_exim.py
, located at /usr/lib/python2.7/site-packages/cfgm_common
.
The controller node for non-containerized Contrail is a virtual machine (VM).
The controller node for containerized Contrail is a controller container.
cd /usr/lib/python2.7/site-packages/cfgm_common
python db_json_exim.py --export-to db-dump.json
To see a cleaner version of the dump.
cat db-dump.json | python -m json.tool | less
To omit keyspace in the dump, for example, to share with Juniper.
python db_json_exim.py --export-to db-dump.json --omit-keyspace dm_keyspace
Restore Simple Database Backup
Use the following steps to restore a system from a simple backup.
Stop
supervisor-config
on all controllers, if present, or ensure it is already stopped.service supervisor-config stop
Stop Cassandra on all
config-db
controllers or ensure it is already stopped.service cassandra stop
Stop Zookeeper on all controllers or ensure it is already stopped.
service zookeeper stop
Stop Kafka on all controllers. Be sure to check analytics controllers.
service kafka stop
Stop
contrail-hamon
on all controllers, if it is running on controllers.service contrail-hamon stop
Backup the Zookeeper data directory on all controllers.
cd /var/lib/zookeeper/
cp -R version-2/ version-2-save
Backup the Cassandra data directory on all controllers.
cd /var/lib/
cp -R cassandra cassandra-save
Wipe out the Zookeeper data directory contents on all controllers.
rm -rf /var/lib/zookeeper/version-2/*
Wipe out the Cassandra data directory contents on all controllers.
rm -rf /var/lib/cassandra/*
Start Zookeeper on all controllers.
service zookeeper start
Start Cassandra on all controllers.
service cassandra start
Run
python db_json_exim.py --import-from db-dump.json
on any one controller.cd /usr/lib/python2.7/dist-packages/cfgm_common
python db_json_exim.py --import-from db-dump.json
Start
supervisor-config
on all controllers (if present).service supervisor-config start
Start Kafka on all controllers (check in analytics controllers).
service kafka start
Start
contrail-hamon
on all controllers, if previously stopped.service contrail-hamon start
Example Backup and Restore With JSON
This section provides an example of a simple database backup and restore of a system that has three controllers with config-db and separate IPs with the following host IDs:
5b5s42
5b5s43
5b5s44
Example: Perform Simple Backup
root@5b5s42:~# python db_json_exim.py --export-to db-dump.json root@5b5s42:~# cat db-dump.json | python -m json.tool | less { "cassandra": { "config_db_uuid": { "obj_fq_name_table": { "access_control_list": { <snip>
Example: Perform Restore
Stop
supervisor-config
on all controllers, if present.content_copy zoom_out_mapNon-Containerized Version: root@5b5s42:~# service supervisor-config stop supervisor-config stop/waiting root@5b5s42:~# root@5b5s43:~# service supervisor-config stop supervisor-config stop/waiting root@5b5s43:~# root@5b5s44:~# service supervisor-config stop supervisor-config stop/waiting root@5b5s44:~#
content_copy zoom_out_mapContainerized Version: root@host-4.1:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8802395bc033 172.30.109.59:5100/contrail410-contrail-analytics:mainline "/lib/systemd/syst..." 7 weeks ago Up 2 weeks analytics f5aed0a2efc3 172.30.109.59:5100/contrail410-contrail-analyticsdb:mainline "/lib/systemd/syst..." 7 weeks ago Up 2 weeks analyticsdb 0ff200b12112 172.30.109.59:5100/contrail410-contrail-controller:mainline "/lib/systemd/syst..." 7 weeks ago Up 2 weeks controller 6fec888f8145 registry:2 "/entrypoint.sh /e..." 7 weeks ago Up 2 weeks registry root@host-4.1:~# docker exec -it 0ff200b12112 /bin/bash
Stop Cassandra on all controllers.
content_copy zoom_out_maproot@5b5s42:~# service cassandra stop root@5b5s42:~# root@5b5s43:~# service cassandra stop root@5b5s43:~# root@5b5s44:~# service cassandra stop root@5b5s44:~#
Stop Zookeeper on all controllers.
content_copy zoom_out_maproot@5b5s42:~# service zookeeper stop zookeeper stop/waiting root@5b5s42:~# root@5b5s43:~# service zookeeper stop zookeeper stop/waiting root@5b5s43:~# root@5b5s44:~# service zookeeper stop zookeeper stop/waiting root@5b5s44:~#
Stop Kafka on all controllers.
content_copy zoom_out_maproot@5b5s42:~# service kafka stop kafka: stopped root@5b5s42:~# root@5b5s43:~# service kafka stop kafka: stopped root@5b5s43:~# root@5b5s44:~# service kafka stop kafka: stopped root@5b5s44:~#
Stop
contrail-hamon
on all controllers, if present.content_copy zoom_out_maproot@5b5s42:~# service contrail-hamon stop contrail-hamon stop/waiting root@5b5s43:~# service contrail-hamon stop contrail-hamon stop/waiting root@5b5s44:~# service contrail-hamon stop contrail-hamon stop/waiting
Backup the Zookeeper data directory on all controllers.
content_copy zoom_out_maproot@5b5s42:~# cd /var/lib/zookeeper/ root@5b5s42:/var/lib/zookeeper# cp -R version-2/ version-2-save root@5b5s42:/var/lib/zookeeper# root@5b5s43:~# cd /var/lib/zookeeper/ root@5b5s43:/var/lib/zookeeper# cp -R version-2/ version-2-save root@5b5s43:/var/lib/zookeeper# root@5b5s44:~# cd /var/lib/zookeeper/ root@5b5s44:/var/lib/zookeeper# cp -R version-2/ version-2-save root@5b5s44:/var/lib/zookeeper#
Backup the Cassandra data directory on all controllers.
content_copy zoom_out_maproot@5b5s42:~# cd /var/lib/ root@5b5s42:/var/lib# cp -R cassandra cassandra-save root@5b5s42:/var/lib# root@5b5s43:~# cd /var/lib/ root@5b5s43:/var/lib# cp -R cassandra cassandra-save root@5b5s43:/var/lib# root@5b5s44:~# cd /var/lib/ root@5b5s44:/var/lib# cp -R cassandra/ cassandra-save root@5b5s44:/var/lib#
Wipe out the Zookeeper data directory contents on all controllers.
content_copy zoom_out_maproot@5b5s42:~# rm -rf /var/lib/zookeeper/version-2/* root@5b5s42:~# root@5b5s43:~# rm -rf /var/lib/zookeeper/version-2/* root@5b5s43:~# root@5b5s44:~# rm -rf /var/lib/zookeeper/version-2/* root@5b5s44:~#
Wipe out the Cassandra data directory contents on all controllers.
content_copy zoom_out_maproot@5b5s42:~# rm -rf /var/lib/cassandra/* root@5b5s42:~# root@5b5s43:~# rm -rf /var/lib/cassandra/* root@5b5s43:~# root@5b5s44:~# rm -rf /var/lib/cassandra/* root@5b5s44:~#
Start Zookeeper on all controllers.
content_copy zoom_out_maproot@5b5s42:~# service zookeeper start zookeeper start/running, process 14180 root@5b5s42:~# root@5b5s43:~# service zookeeper start zookeeper start/running, process 11635 root@5b5s43:~# root@5b5s44:~# service zookeeper start zookeeper start/running, process 28040 root@5b5s44:~#
Start Cassandra on all controllers.
content_copy zoom_out_maproot@5b5s42:~# service cassandra start root@5b5s42:~# root@5b5s43:~# service cassandra start root@5b5s43:~# root@5b5s44:~# service cassandra start root@5b5s44:~#
Run
python db_json_exim.py --import-from db-dump.json
on any one controller.content_copy zoom_out_maproot@5b5s42:~# python db_json_exim.py --import-from db-dump.json root@5b5s42:~#
Start
supervisor-config
on all controllers, if present.content_copy zoom_out_maproot@5b5s42:~# service supervisor-config start supervisor-config start/running, process 19286 root@5b5s42:~# root@5b5s43:~# service supervisor-config start supervisor-config start/running, process 28937 root@5b5s43:~# root@5b5s44:~# service supervisor-config start supervisor-config start/running, process 21242 root@5b5s44:~#
Start Kafka on all controllers.
content_copy zoom_out_maproot@5b5s42:~# service kafka start kafka: started root@5b5s42:~# root@5b5s43:~# service kafka start kafka: started root@5b5s43:~# root@5b5s44:~# service kafka start kafka: started root@5b5s44:~#
Start
contrail-hamon
on all controllers, if present.content_copy zoom_out_maproot@5b5s42:~# service contrail-hamon start contrail-hamon start/running, process 1379 root@5b5s42:~# root@5b5s43:~# service contrail-hamon start contrail-hamon start/running, process 1230 root@5b5s43:~# root@5b5s44:~# service contrail-hamon start contrail-hamon start/running, process 26843 root@5b5s44:~#