Testbed Definitions File Settings for Deploying Contrail with an Existing OpenStack Node
It is possible to deploy Contrail when there is already an existing OpenStack node on your system.
The following shows additional testbed.py definitions that are required to deploy Contrail when there is already an existing OpenStack node.
- Update the OpenStack admin password in the testbed.py.
For example, use the following to update the OpenStack admin password.
env.openstack_admin_password = '<password>'
- Update the Keystone environment section.
In the following example, the entries shown in the env.keystone section override the following previously-supported options:
- service_token
- keystone_ip
- keystone_admin_user
- keystone_admin_password
- region_name
Options include the following:
- keystone_ip—IP Address of the Keystone server. If using Openstack high availability (HA), provide the OpenStack VIP.
- auth_protocol—The authentication protocol used by Keystone.
- auth_port—The authentication port used by Keystone.
- admin_token—The admin token of Keystone.
- admin_user—The admin user name of Keystone.
- admin_password—The password of the admin user of Keystone.
- nova_password—The password of the Nova service.
- neutron_password—The password of the Neutron networking service.
- service_tenant—The tenant name of services such as Nova, Neutron, Glance, and so on.
- admin_tenant—The name of the tenant admin user.
- region_name—The OpenStack region to use. The default is RegionOne.
- insecure—The insecure
option set for Keystone. The default is False.
Note: The option "insecure" is applicable only when the protocol is https.
- manage_neutron—Option to configure a Neutron user or role in the Keystone server. The default = 'yes'.
The following is a sample configuration:
env.keystone = { 'keystone_ip' : '<ip address>', 'auth_protocol' : 'http' 'auth_port' : '35357' 'admin_token' : '$ABC123' 'admin_user' : 'admin', 'admin_password' : '<password>', 'nova_password' : '$ABC123', 'neutron_password' : '$ABC123', 'service_tenant' : 'services', 'admin_tenant' : 'admin', 'region_name' : 'RegionOne', 'insecure' : 'False', 'manage_neutron' : 'no', }
- Update the OpenStack environment section.
Options include the following:
- service_token-–the tenant name of services such as Nova, Neutron, Glance, and so on.
- amqp_host---the IP address of the Advanced Message Queuing Protocol (AMQP) server to be used in the OpenStack node. If using OpenStack high availability, provide the OpenStack VIP.
- manage_amqp---Option to manage separate AMQP for OpenStack services in OpenStack nodes. The default = 'no'. If set to 'yes', AMQP is provisioned in OpenStack nodes, and OpenStack services use the AMQP in OpenStack nodes instead of config nodes. The amqp_host is neglected if the manage_amqp value is set.
- osapi_compute_workers—The default is 40. For a low memory system, reduce the osapi compute workers thread.
- conductor_workers—The default is 40. For a low memory system, reduce the conductor workers thread.
The following is a sample configuration:
env.openstack = { 'service_token' : '$ABC123', 'amqp_host' : '<ip address>', 'manage_amqp' : 'no', 'osapi_compute_workers' : 40, 'conductor_workers' : 40, }
- Update the configuration options for the Contrail config
node in the OpenStack node.
Options include the following:
- amqp_hosts—List of customer-deployed AMQP servers to be used by config services.
- amqp_port—Port of the customer-deployed AMQP servers.
The following is a sample configuration:
env.cfgm = { 'amqp_hosts' : ['<ip address>'], 'amqp_port' : '5672' }