Note: This is a post taken from tcpcloud blog. Click here for the original post.
nce, cinder, nova, heat with modular neutron, cinder and nova plugins. These formulas might
libvirt_vif_driver = nova_contrail_vif.contrailvif.VRouterVIFDriver
core_plugin = neutron.plugins.juniper.contrail.contrailplugin.ContrailPlugin
/etc/neutron/plugins/opencontrail/ContrailPlugin.ini
[APISERVER]
api_server_ip = 10.0.106.34
api_server_port = 8082
multi_tenancy = False
[KEYSTONE]
admin_user=admin
admin_password=pswd
admin_tenant_name=admin
HORIZON_CONFIG['customization_module'] = 'contrail_openstack_dashboard.overrides'
Now you have to create pillar with definition for all roles located at OpenContrail controller. As you can see, some definitions are repeated, because roles are independent and can run on different servers and scale up.
opencontrail:
common:
identity:
engine: keystone
host: 10.0.106.30
port: 35357
token: pwd
password: pwd
network:
engine: neutron
host: 10.0.106.34
port: 9696
config:
enabled: true
id: 1
network:
engine: neutron
host: 10.0.106.34
port: 9696
bind:
address: 10.0.106.34
database:
members:
- host: 10.0.106.34
port: 9160
cache:
host: 10.0.106.34
identity:
engine: keystone
region: RegionOne
host: 10.0.106.30
port: 35357
user: admin
password: pwd
token: pwd
tenant: admin
members:
- host: 10.0.106.34
id: 1
control:
enabled: true
bind:
address: 10.0.106.34
master:
host: 10.0.106.34
members:
- host: 10.0.106.34
id: 1
collector:
enabled: true
bind:
address: 10.0.106.34
master:
host: 10.0.106.34
database:
members:
- host: 10.0.106.34
port: 9160
database:
enabled: true
name: 'Contrail'
original_token: 0
data_dirs:
- /home/cassandra
bind:
host: 10.0.106.34
port: 9042
rpc_port: 9160
members:
- 10.0.106.34
web:
enabled: True
bind:
address: 10.0.106.34
master:
host: 10.0.106.34
cache:
engine: redis
host: 10.0.106.34
port: 6379
members:
- host: 10.0.106.34
id: 1
identity:
engine: keystone
host: 10.0.106.30
port: 35357
user: admin
password: pwd
token: pwd
tenant: admin
OpenStack Controller:
opencontrail:
common:
identity:
engine: keystone
host: 10.0.106.30
port: 35357
token: pwd
password: pwd
network:
engine: neutron
host: 10.0.106.34
port: 9696
OpenStack Compute
opencontrail:
common:
identity:
engine: keystone
host: 10.0.106.30
port: 35357
token: pwd
password: pwd
network:
engine: neutron
host: 10.0.106.34
port: 9697
compute:
enabled: True
hostname: compute1
discovery:
host: 10.0.106.34
interface:
dev: bond0
default_pmac: a0:36:9f:02:95:2c
address: 10.0.106.102
gateway: 10.0.106.1
mask: 24
dns: 8.8.8.8
mtu: 9000
control_instances: 1
Deploy OpenContrail
Run this command at all infrastructure nodes:
salt-call state.sls opencontrail
Deploy Compute nodes
Add virtual router
python /etc/contrail/provision_vrouter.py --host_name compute1 --host_ip 10.0.106.106
--api_server_ip 10.0.106.34 --oper add --admin_user admin --admin_password pwd --admin_tenant_name admin
ADD CONTROL BGP
Finally you have to add control BGP through python script stored in /etc/contrail at OpenContrail Controller:
python /etc/contrail/provision_control.py --api_server_ip 10.0.106.34 --api_server_port
8082 --host_name network1.contrail.domain.com --host_ip 10.0.106.34 --router_asn 64512
Now you should have OpenContrail deployed. Run your instance first instance and try the amazing network performance. For whole automation contact us for Private Cloud
Jakub Pavlík – @JakubPav
TCP Cloud platform engineer