-
Notifications
You must be signed in to change notification settings - Fork 34
Provisioning only Contrail Networking components (You bring in your own Openstack)
This document talks about provisioning just the Contrail Networking docker container components and the customers are expected to bring in their own Openstack solution. We will cover both HA and non-HA provisioning of these networking components)
- Provision the networking components using the following command from the ServeManager node
/opt/contrail/contrail-server-manager/provision_container.sh -j <combined.json>
{
"cluster" : [
{
"id": "demo-cluster",
"parameters" : {
"domain": "englab.juniper.net",
"provision": {
"openstack":{
"external_openstack_ip": "10.102.93.95",
"keystone": {
"ip": "10.102.93.95",
"admin_user": "admin",
"admin_password": "<password>"
}
}
}
}
}
],
"server": [
{
"id": "<id>",
"mac_address": "52:54:00:87:f0:02",
"ip_address": "10.102.93.80",
"network" : {
"interfaces": [
{
"ip_address": "10.102.93.80/24",
"mac_address": "52:54:00:87:f0:02",
"default_gateway": "10.102.93.1",
"name": "eth0"
}
],
"management_interface": "eth0",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.0",
"password": "<password>",
"domain": "englab.juniper.net"
}
],
"image": [
{
"id": "<ID>",
"category": "package",
"type": "contrail-ubuntu-package",
"version": "<version string>",
"path": "< Path to contrail-networking-docker tgz>",
"parameters": {
"openstack_sku": "mitaka"
}
}
]
}
a. Add the cluster using the command
server-manager add cluster -f <path_to_cluster_json_file>
"cluster" : [
{
"id": "<id>",
"parameters" : {
"domain": "englab.juniper.net",
"provision": {
"openstack":{
"external_openstack_ip": "10.102.93.95",
"keystone": {
"ip": "10.102.93.95",
"admin_user": "admin",
"admin_password": "<password>"
}
}
}
}
}
]
}
b. Add the severs using the command
server-manager add server -f <path_to_serer_json_file>
{
"server": [
{
"id": "<id>",
"mac_address": "52:54:00:87:f0:02",
"ip_address": "10.102.93.80",
"network" : {
"interfaces": [
{
"ip_address": "10.102.93.80/24",
"mac_address": "52:54:00:87:f0:02",
"default_gateway": "10.102.93.1",
"name": "eth0"
}
],
"management_interface": "eth0",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.0",
"password": "<password",
"domain": "englab.juniper.net"
}
]
}
c. Add the networking docker image using the following command
server-manager add image -f <path_to_image_json_file>
{
"image": [
{
"id": "<ID",
"category": "package",
"type": "contrail-ubuntu-package",
"version": "contrail-networking-docker-4-0-0-14",
"path": "<path_to_networking_docker_tgz_file>",
"parameters": {
"openstack_sku": "mitaka"
}
}
]
}
d. Provision the image using the command
server-manager provision --cluster_id <cluster_id> <image_id_to_be_provisioned>
/opt/contrail/contrail-server-manager/provision_container.sh -j <combined.json>
{
"cluster" : [
{
"id": "demo-cluster",
"parameters" : {
"domain": "englab.juniper.net",
"provision": {
"contrail":{
"ha": {
"contrail_internal_vip": "<control_data_interface_of_the_haproxy_node. Not_reqd_for_a_single_interface_node>",
"contrail_external_vip": "<mgmt_data_interface_of_the_haproxy_node>"
}
},
"openstack":{
"external_openstack_ip": "10.102.86.54",
"keystone": {
"ip": "10.102.86.54",
"admin_password": "admin",
"admin_user": "<password>"
}
}
}
}
}
],
"server": [
{
"id": "<id_1>",
"mac_address": "52:54:00:0a:34:f7",
"ip_address": "<mgmt_ipaddress>",
"network" : {
"interfaces": [
{
"ip_address": "10.102.86.42/25",
"mac_address": "52:54:00:0a:34:f7",
"default_gateway": "10.102.86.1",
"name": "eth0"
}
],
"management_interface": "<mgmt_interface_name>",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.128",
"password": "<password>",
"domain": "englab.juniper.net"
},
{
"id": "<id_2>",
"mac_address": "52:54:00:d7:2c:d2",
"ip_address": "<mgmt_ipaddress>",
"network" : {
"interfaces": [
{
"ip_address": "10.102.86.49/25",
"mac_address": "52:54:00:d7:2c:d2",
"default_gateway": "10.102.86.1",
"name": "eth0"
}
],
"management_interface": "eth0",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.128",
"password": "<password>",
"domain": "englab.juniper.net"
},
{
"id": "<id_3>",
"mac_address": "52:54:00:1b:d9:6a",
"ip_address": "<ipaddress>",
"network" : {
"interfaces": [
{
"ip_address": "10.102.86.65/25",
"mac_address": "52:54:00:1b:d9:6a",
"default_gateway": "10.102.86.1",
"name": "eth0"
}
],
"management_interface": "<mgmt_interface_name>",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.128",
"password": "<password>",
"domain": "englab.juniper.net"
}
],
"image": [
{
"id": "<ID",
"category": "package",
"type": "contrail-ubuntu-package",
"version": "contrail-networking-docker-4-0-0-14",
"path": "<path_to_networking_docker_tgz_file>",
"parameters": {
"openstack_sku": "mitaka"
}
}
]
}
4. HA (Provisioned using ServerManager running on a separate node and multiple instances of networking components in a separate node)
a. Add the cluster using the command
server-manager add cluster -f <path_to_cluster_json_file>
{
"cluster" : [
{
"id": "demo-cluster",
"parameters" : {
"domain": "englab.juniper.net",
"provision": {
"contrail":{
"ha": {
"contrail_internal_vip": "<control_data_interface_of_the_haproxy_node. Not_reqd_for_a_single_interface_node>",
"contrail_external_vip": "<mgmt_data_interface_of_the_haproxy_node>"
}
},
"openstack":{
"external_openstack_ip": "10.102.86.54",
"keystone": {
"ip": "10.102.86.54",
"admin_password": "admin",
"admin_user": "<password>"
}
}
}
}
}
]
}
b. Add the severs using the command
server-manager add server -f <path_to_serer_json_file>
{
"server": [
{
"id": "<id_1>",
"mac_address": "52:54:00:0a:34:f7",
"ip_address": "<mgmt_ipaddress>",
"network" : {
"interfaces": [
{
"ip_address": "10.102.86.42/25",
"mac_address": "52:54:00:0a:34:f7",
"default_gateway": "10.102.86.1",
"name": "eth0"
}
],
"management_interface": "<mgmt_interface_name>",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.128",
"password": "<password>",
"domain": "englab.juniper.net"
},
{
"id": "<id_2>",
"mac_address": "52:54:00:d7:2c:d2",
"ip_address": "<mgmt_ipaddress>",
"network" : {
"interfaces": [
{
"ip_address": "10.102.86.49/25",
"mac_address": "52:54:00:d7:2c:d2",
"default_gateway": "10.102.86.1",
"name": "eth0"
}
],
"management_interface": "eth0",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.128",
"password": "<password>",
"domain": "englab.juniper.net"
},
{
"id": "<id_3>",
"mac_address": "52:54:00:1b:d9:6a",
"ip_address": "<ipaddress>",
"network" : {
"interfaces": [
{
"ip_address": "10.102.86.65/25",
"mac_address": "52:54:00:1b:d9:6a",
"default_gateway": "10.102.86.1",
"name": "eth0"
}
],
"management_interface": "<mgmt_interface_name>",
"provisioning": "kickstart"
},
"roles" : ["contrail-analytics", "contrail-analyticsdb", "contrail-controller"],
"cluster_id": "demo-cluster",
"subnet_mask": "255.255.255.128",
"password": "<password>",
"domain": "englab.juniper.net"
}
],
}
c. Add the networking docker image using the following command
server-manager add image -f <path_to_image_json_file>
{
"image": [
{
"id": "<ID",
"category": "package",
"type": "contrail-ubuntu-package",
"version": "contrail-networking-docker-4-0-0-14",
"path": "<path_to_networking_docker_tgz_file>",
"parameters": {
"openstack_sku": "mitaka"
}
}
]
}
d. Provision the image using the command
server-manager provision --cluster_id <cluster_id> <image_id_to_be_provisioned>