Skip to content

Centos Networking Provisioning

Pulkit Tandon edited this page Aug 9, 2017 · 5 revisions

This page describes provisioning of Contrail networking on Centos.

Prerequisites

  • Centos 7.3 (CentOS-7-x86_64-Minimal-1611.iso)
  • 3 nodes with centos-minimal (openstack, compute, contrail network node)
  • Contrail-Networking-Docker for centos
  • Contrail-Openstack-Packages.tgz (for nova compute packages)

Bringing up openstack (via FAB)

  • Download contrail-install-packages rpm from github-build or continuous build server (centos71 is the OS name).
  • install the rpm (yum install contrail-install-packages-4.0.1.0-25~mitaka.el7.centos.noarch.rpm)
  • run /opt/contrail/contrail_packages/setup.sh
  • goto cd /opt/contrail/utils
  • Copy your testbed.py to fabfile/testbeds/. Ensure to cfgm role as fab if openstack has its own rabbitmq cluster. It would be better if keystone_password is explicitly configured.
  • Install Openstack packages ( fab install_orchestrator )
  • Configure Openstack now ( fab setup_orchestrator )
  • Setup the rabbitmq_cluster ( fab setup_rabbitmq_cluster )
  • Install Neutron-Server on openstack node (yum install openstack-neutron)
  • yum install neutron-plugin-contrail python-neutron-lbaas contrail-heat
  • Edit /opt/contrail/bin/quantum-server-setup.sh and remove all contrail-plugin configurations. Else this will configure contrail-plugin as well.
  • Run /opt/contrail/bin/quantum-server-setup.sh
  • Configure neutron server endpoints :
/opt/contrail/bin/setup-quantum-in-keystone \
 --ks_server_ip  <keystone-ctrl-data-ip> \
 --quant_server_ip  <keystone-control-data-ip> \
 --tenant  admin \
 --user admin \
 --password <keystone-password> \
 --svc_password <keystone-password> \
 --svc_tenant_name  service \
 --root_password None \
 --region_name RegionOne
  • Verify glance image-list, nova list, keystone endpoint-list are working
  • edit /etc/neutron/neutron.conf keystone_authtoken/admin_tenant_name to service. by default it is empty. for RBAC, it is needed, else use no-auth for aaa-mode.

Add packages for nova-compute (to be followed after adding contrail-networking-docker image)

  • download contrail-openstack-packages.tgz
  • untar contrail-openstack-packages.tgz at a folder (e.g /tmp/cento-os-packages/ )
  • copy rpm from above to SM image repo location ( cp *.rpm /var/www/html/contrail/repo//contrail-repo )
  • cd /var/www/html/contrail/repo/<centos-networking-image-id>/contrail-repo
  • createrepo .
  • cobbler reposync --only=<centos-networking-image-id>

Provisioning Contrail-Networking

  • Add cluster with keystone password same above
  • Add external keystone server.
  • Configure about openstack_manage_amqp flag and external_rabbitmq_servers under contrail_4 )
  • To configure neutron-plugin on openstack (provide external_openstack_servers under contrail_4 )
  • Add at-least 2 servers to Server-Manager. (1 with contrail-compute and another with contrail-controller, contrail-analytics, contrail-analyticsdb)
  • Ensure target centos nodes have internet connectivity.
  • Issue provisioning.
  • Variable names for cluster configuration:
       "parameters": {
           "provision": {
               "contrail_4": {
                   "global_config": {
                       "external_openstack_servers": "<openstack-mgmt-ip>",
                       "external_rabbitmq_servers": "<rabbitmq-host>"
                   }
               "openstack": {
                   "external_openstack_ip": "<openstack-ctrl-data-ip>",
                   "openstack_manage_amqp": false
                   },
                   "keystone": {
                       "admin_password": "<keystone-admin-password>"
                   }
               }
           },

Known Behavior

  • default tenant_name should be same compute and openstack. ansible provisioning configures services but openstack configured with above steps will have service.
  • Change /etc/nova/nova.conf (compute node), change services to service and restart openstack-nova-compute service, else launching VM will fail.

Limitations

  • contrail-compute and other contrail-roles can't be on same node. This was causing failure for analytics container to fail. and nova-compute may fail to come
  • Internet connectivity is needed for provisioning (this is old requirement of centos provisioning via SM)
Clone this wiki locally