-
Notifications
You must be signed in to change notification settings - Fork 34
Provisioning Contrail Networking components and Contrail Openstack in separate nodes
sgurumurthy edited this page Sep 1, 2017
·
2 revisions
The contrail-networking-docker package has been introduced where the the customers can have their own openstack solution and use the contrail-networking solution. In this case we are covering the case where customers want to install Contrail networking components separately and the Openstack is provisioned using Contrail Openstack
The following are things that needs to be done for provisioning the contrail-networking docker image.
- Add the container networking image using the networking json file
{
"image": [
{
"category": "package",
"id": "<ID>",
"path": "< Path to contrail-networking-docker tgz>",
"type": "contrail-ubuntu-package",
"version": "mainline",
"parameters": {
"openstack_sku": "mitaka"
}
}
]
}
- Add the container cloud image using the container-cloud json file (This is needed only to bring up Openstack on a separate cluster).
{
"image": [
{
"category": "package",
"id": "<ID>",
"path": "< Path to contrail-cloud-docker tgz>",
"type": "contrail-ubuntu-package",
"version": "mainline",
}
]
}
- Need an external Openstack. Create a separate cluster for provisioning Openstack. The cluster json for provisioning only Openstack will look like this:
{
"cluster": [
{
"id": "<ID>",
"parameters": {
"provision": {
"contrail": {
"config" : {
"config_ip_list": ["<Control Data IP of Config Node>"]
}
},
"openstack": {
"openstack_manage_amqp": true,
"keystone": {
"admin_password": "contrail123"
}
}
}
}
}
]
}
- Create a separate cluster for provisioning containers. Specify the external openstack ip in the json file to point to the external Openstack
{
"cluster": [
{
"id": "<ID>",
"parameters": {
"provision": {
"contrail_4": {
"keystone_config": {
"ip": "<Keystone Ip>",
"admin_password": "contrail123",
"admin_tenant": "admin"
},
"global_config": {
"external_rabbitmq_servers": ["<Control data ip of Openstack Node>"]
},
},
"openstack": {
"external_openstack_ip": "Control data ip of Openstack Node"
}
}
}
}
]
}
- The server jsons for Openstack and Container provisioning will look like this
{
"server": [
{
"id": "<id>",
"mac_address": "c4:54:44:44:d7:4a",
"ip_address": "172.16.70.30",
"network" : {
"interfaces": [
{
"dhcp": "true",
"ip_address": "172.16.70.30/24",
"mac_address": "c4:54:44:44:d7:4a",
"name": "em1",
}
],
"management_interface": "em1",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-compute","contrail-controller"],
"cluster_id": "config-cluster",
"subnet_mask": "255.255.255.0",
"password": "<password>",
"domain": "<domain>",
"ipmi_address": "<ipmi_address>",
"ipmi_username":"<ipmi_username>",
"ipmi_password":"<ipmi_password>",
}
]
}
{
"server": [
{
"id": "<id>",
"mac_address": "c4:54:44:44:d6:bd",
"ip_address": "172.16.70.40",
"network" : {
"interfaces": [
{
"dhcp": "true",
"ip_address": "172.16.70.40/24",
"mac_address": "c4:54:44:44:d6:bd",
"name": "em1"
}
],
"management_interface": "em1",
"provisioning": "kickstart",
},
"roles" : ["openstack"],
"cluster_id": "openstack-cluster",
"password": "<password>",
"domain": "<domain>",
"ipmi_address": "<ipmi_address>",
"ipmi_username":"<username>",
"ipmi_password":"<password>"
}
]
}
- Provision the Openstack node with the contrail-cloud-docker tgz image that was added
server-manager provision --cluster_id <openstack-cluster> <contrail_cloud_docker_image>
- Provision the contrail-networking docker container with the usual command
server-manager provision --cluster_id <config-cluster> <contrail_networking_docker_image>