Installing and Configuring the Cloud CPE Centralized Deployment Model
Before You Begin
Before you begin, provision the virtual machines (VM) for the Contrail Service Orchestration nodes.
Creating the Deployment Directory
The deployment directory contains the files that you need to install the Cloud CPE Centralized Deployment Model. You need to run a script to create the directory.
To create the deployment directory:
- Log in as root to the host on which you deployed the installer.
- Access the directory that contains the example configuration
file. For example, if the name of the installer is
cspVersion
:root@host:~/# cd cspVersion
- Run the script that creates the directory.
This action creates a directory called
/deployments/default
in the home directory of the installer host. The/deployments/default
directory contains files that you use for the installation.root@host:~/cspVersion# ./create_deployment_env.sh
Customizing the Roles Configuration File
In the roles
file, you specify
network-specific settings that you configured for Contrail OpenStack,
the Junos Space Virtual Appliance, and the Junos Space database. The
installer uses the settings in this file to configure the Cloud CPE
Centralized Deployment Model. The roles
file is located in the deployments/default
directory and is in YAML format.
To customize the configuration file:
- Log in as root to the host on which you deployed the installer.
- Access the directory that contains the
roles
file. For example, if the name of the installer iscspVersion
:root@host:~/# cd cspVersion/deployments/default
- Open the file
roles.conf
with a text editor. - Search for the text string <Fill Value> to find settings that you need to specify.
- In the contrail_openstack section, specify the following
values that you configured for Contrail Openstack:
Note: You can view the Keystone settings on the primary Contrail configure and control node in the
/etc/contrail/keystonerc
and/etc/contrail/openstackrc
files.- OS_domain—OpenStack Keystone domain
- OS_password—OpenStack Keystone password
- OS_tenant—OpenStack Keystone tenant
- OS_username—OpenStack Keystone username
- service_token—OpenStack Keystone service token
- ip_address—IP address of management interface of primary Contrail configure and control node
- keystone_ip—OpenStack Keystone IP address
For example:
OS_domain: default OS_password: contrail123 OS_tenant: admin OS_username: admin service_token: 229537 ip_address: 192.168.2.10/24 keystone_ip: 192.168.2.11/24
- In the elasticsearch section, specify the following value:
- es_cluster_name—Name of the Elastic Search
Cluster. The name is arbitrary; however, we recommend using the hostname
of the node on which the Elastic Search instance resides.
For example:
es_cluster_name: ccra-35
- es_cluster_name—Name of the Elastic Search
Cluster. The name is arbitrary; however, we recommend using the hostname
of the node on which the Elastic Search instance resides.
- In the mysql section, specify the following values:
- ip_address—IP address of the VM that contains the primary Junos Space database.
- username—Username for logging in to the
Junos Space database. This value must match the value you specified
in the
provision_vm.conf
file or the username that you configured manually for MySQL. - password—Password for logging in to the
Junos Space database. This value must match the value you specified
in the
provision_vm.conf
file or the password that you configured manually for MySQL.
For example:
ip_address: 192.168.1.23/24 password: passw0rd
- In the space section, specify the following values:
- ip_address—IP address of the VM that contains the primary Junos Space Virtual Appliance
- web_ip_address—Virtual IP (VIP) address of the primary Junos Space Virtual Appliance
For example:
ip_address: 192.168.1.21/24 web_ip_address: 192.168.1.22/24
- Save the file.
Customizing the Configuration File for the Cloud CPE Centralized Deployment Model Installation
The Cloud CPE Centralized Deployment Model installer uses a
configuration file, which you must customize for your network. After
you customize the configuration file, you run the installer to deploy
and configure the software on the servers and VMs. An example configuration
file is located in the server_manager
directory of the installer and has the name csp_topology_example.conf
. The configuration file is in YAML format.
To customize the configuration file:
- Log in as root to the host on which you deployed the installer.
- Access the directory that contains the example configuration
file. For example, if the name of the installer is
cspVersion
:root@host:~/# cd /cspVersion
- If you used the provisioning tool, generate the
topology.conf
file from theprovisioning_vm.conf
. If you did not use the provisioning tool to provision VMs, proceed to Step 4.root@host:~/cspVersion# ./ import_topology_info.sh
This action uses the
provisioning_vm.conf
file to generate a correspondingtopology.conf
file in the/~cspVersion/deployments/default
directory. - With a text editor, open
the
topology.conf
file in the/~cspVersion/deployments/default
directory. - In the [TARGETS] section, specify
the following values for the network on which the Cloud CPE Centralized
Deployment Model resides.
- ha_mode—Status of Contrail Service Orchestration
high availability. Use true for both a
redundant configuration and for a non-redundant configuration.
The non-redundant installation uses two redundant Notification Engine components in different VMs.
- installer_ip—IP address of the management interface of the host on which you deployed the installer.
- ntp_servers—Comma-separated list of Network Time Protocol (NTP) servers in your domain. For networks within firewalls, specify NTP servers specific to your network.
- servers—Comma-separated list of names
of:
- For a non-redundant Contrail Service Orchestration installation, all three Contrail configure and control nodes
- For a redundant Contrail Service Orchestration installation, the primary Contrail configure and control node
- All Contrail Service Orchestration VMs except Junos Space Virtual Appliance and Junos Space database VMs
- ha_mode—Status of Contrail Service Orchestration
high availability. Use true for both a
redundant configuration and for a non-redundant configuration.
- Specify the following configuration values for the nodes
and the VMs that you specified in Step 5.
- [hostname]—Name of the machine.
- management_address—IP address of the Ethernet management interface.
- hostname—Fully qualified domain name
(FQDN) of the machine.
Caution: If you do not configure DNS for your network, specify the IP address of the machine in the hostname field. Otherwise, the Cloud CPE Centralized Deployment Model may not work correctly.
- username—Username for logging in to the machine. Always specify root.
- password—Root password for logging in to the machine.
- Roles—Components installed on the machine:
- cassandra—Cassandra
- contrail_openstack—Contrail OpenStack
- elasticsearch—Elastic Search
- elk_filebeat—Filebeat
- elk_index—Component that enables redundancy of logging components
- elk_kibana—Kibana
- elk_logstash—Logstash
- iam—Identity and Access Manager
- ne—Notification Engine
- nsd—Network Service Designer
- nsd_import—Component that enables import of network service profiles to Administration Portal
- nso—Network Service Orchestrator
- rabbitmq—RabbitMQ
- redis—Redis, a database used for Cassandra, RabbitMQ, and Zookeeper
- sim—Icinga server software
- sim_client—Icinga client software, which resides on the same machine as any component monitored by Service and Infrastructure Monitor
- sim_cluster—Service and Infrastructure Monitor (redundant configuration)
- sse—Server sent event
- tssm—Cloud CPE Tenant, Site and Service Manager
- vnfm—VNF Manager
- zookeeper—Zookeeper
- Save the file.
The following examples show customized configuration files for non-redundant and redundant Contrail Service Orchestration installations.
Sample Configuration File for a Non-Redundant Contrail Service Orchestration Installation
[TARGETS] installer_ip = #IMPORTANT: Please make sure to keep "ha_mode = true", even with standalone deployment as we are using load_balancer just for one of the micro services. ha_mode = true # The ntp server to sync all machines to. If you are within a firewall, provide ntp_servers specific to your network ntp_servers = ntp.juniper.net # List of server present in topology. Each of them should be configured further in their own section # Only the servers which are included in this list will be provisioned # with the corresponding roles. # Each server must have hostname (fqdn) set correctly as specified in this config file. 'hostname -f' must return the correct fqdn. servers = controller1-host, controller2-host, controller3-host, csp-ms-vm, csp-infra1-vm, csp-infra2-vm, csp-ui-vm, csp-sim-vm, csp-simcontroller-vm, csp-elk-vm # The existing contrail installation details [controller1-host] # the address configured or to be configured on the primary interface management_address = 192.168.10.1/19 # Host name of the machine hostname = controller1.example.net # the configured or to be configured username and password username = root password = passw0rd # The list of roles realized by this server. roles = contrail_openstack [controller2-host] management_address = 192.168.10.2/19 hostname = controller2.example.net username = root password = passw0rd roles = contrail_openstack [controller3-host] management_address = 192.168.10.3/19 hostname = controller3.example.net username = root password = passw0rd roles = contrail_openstack [csp-ms-vm] management_address = 192.168.1.3/24 hostname = ms-vm.example.net username = root password = passw0rd roles = nso, vnfm, ne, sse, tssm, iam, sim_client, elk_filebeat [csp-infra1-vm] management_address = 192.168.1.4/24 hostname = infra1-vm.example.net username = root password = passw0rd roles = cassandra, elasticsearch, elk_index, load_balancer [csp-infra2-vm] management_address = 192.168.1.5/24 hostname = infra2-vm.example.net username = root password = passw0rd roles = zookeeper, rabbitmq, redis [csp-ui-vm] management_address = 192.168.1.6/24 hostname = ui-vm.example.net username = root password = passw0rd roles = nsd, ne, sim_client, nsd_import [csp-sim-vm] management_address = 192.168.1.7/24 hostname = sim-vm.example.net username = root password = passw0rd roles = sim_cluster [csp-simcontroller-vm] management_address = 192.168.1.8/24 hostname = simcontroller-vm.example.net username = root password = passw0rd roles = sim, sim_client [csp-elk-vm] management_address = 192.168.1.9/24 hostname = elk-vm.example.net username = root password = passw0rd roles = elk_kibana, elk_logstash
Sample Configuration File for a Redundant Contrail Service Orchestration Installation
[TARGETS] installer_ip = # The ntp server to sync all machines to. If you are within a firewall, provide ntp_servers specific to your network ntp_servers = ntp.juniper.net # List of server present in topology. Each of them should be configured further in their own section # Only the servers which are included in this list will be provisioned # with the corresponding roles. # Each server must have hostname (fqdn) set correctly as specified in this config file. 'hostname -f' must return the correct fqdn. servers = controller1-host, csp-ui-vm1, csp-ui-vm2, csp-ms-vm1, csp-ms-vm2, csp-infra-vm1, csp-infra-vm2, csp-infra-vm3, csp-infra-vm4, csp-infra-vm5, csp-infra-vm6, csp-sim-vm1, csp-ha-vm, csp-elk-vm1, csp-elk-vm2, csp-simcontroller-vm1, csp-simcontroller-vm2 [controller1-host] management_address = 192.168.10.1/19 hostname = controller1.example.net username = root password = passw0rd roles = contrail_openstack [csp-ui-vm1] management_address = 192.168.1.4/24 hostname = ui1-vm.example.net username = root password = passw0rd roles = nsd, sim_client, nsd_import [csp-ui-vm2] management_address = 192.168.1.5/24 hostname = ui2-vm.example.net username = root password = passw0rd roles = nsd, sim_client [csp-ms-vm1] management_address = 192.168.1.6/24 hostname = ms1-vm.example.net username = root password = passw0rd roles = nso, vnfm, ne, sse, tssm, iam, sim_client, elk_filebeat [csp-ms-vm2] management_address = 192.168.1.7/24 hostname = ms2-vm.example.net username = root password = passw0rd roles = nso, vnfm, ne, sse, tssm, iam, sim_client, elk_filebeat [csp-infra-vm1] management_address = 192.168.1.8/24 hostname = infra1-vm.example.net username = root password = passw0rd roles = cassandra, elasticsearch, elk_index, redis [csp-infra-vm2] management_address = 192.168.1.9/24 hostname = infra2-vm.example.net username = root password = passw0rd roles = cassandra, elasticsearch [csp-infra-vm3] management_address = 192.168.1.10/24 hostname = infra3-vm.example.net username = root password = passw0rd roles = cassandra, elasticsearch [csp-infra-vm4] management_address = 192.168.1.11/24 hostname = infra4-vm.example.net username = root password = passw0rd roles = zookeeper [csp-infra-vm5] management_address = 192.168.1.12/24 hostname = infra5-vm.example.net username = root password = passw0rd roles = zookeeper, rabbitmq [csp-infra-vm6] management_address = 192.168.1.13/24 hostname = infra6-vm.example.net username = root password = passw0rd roles = zookeeper [csp-sim-vm1] management_address = 192.168.1.14/24 hostname = sim1-vm.example.net username = root password = passw0rd roles = sim_cluster [csp-ha-vm] management_address = 192.168.1.16/24 hostname = ha-vm.example.net username = root password = passw0rd roles = load_balancer [csp-elk-vm1] management_address = 192.168.1.17/24 hostname = elk1-vm.example.net username = root password = passw0rd roles = elk_kibana, elk_logstash [csp-elk-vm2] management_address = 192.168.1.18/24 hostname = elk2-vm.example.net username = root password = passw0rd roles = elk_kibana, elk_logstash [csp-simcontroller-vm1] management_address = 192.168.1.19/24 hostname = simcontroller1-vm.example.net username = root password = passw0rd roles = sim, sim_client [csp-simcontroller-vm2] management_address = 192.168.1.20/24 hostname = simcontroller2-vm.example.net username = root password = passw0rd roles = sim, sim_client
Deploying the Cloud CPE Centralized Deployment Model
After you have completed all previous installation tasks, you can run the installer from the installer host.
To deploy the Cloud CPE Centralized Deployment Model:
- Log in to the installer host as root.
- Access the directory for the installer, which has a name
specific to the release. For example, if the name of the installer
directory is
cspVersion
:root@host:~/# cd cspVersion
- Run the installer.
root@host:~/cspVersion# ./run_deployment.sh
The installation begins.
- During installation, observe detailed messages in the
log files about the installation of the components.
deploy.log
—Contains details about the installation processdeploy_error.log
—Contains details about errors that occur during installationdeploy_console.log
—Contains details about the installation of the Contrail Service Orchestration components
For example:
root@host:~/cspVersion# cd logs
root@host:~/cspVersion# tailf deploy.log