Ocata deployment:
openstack overcloud deploy \
--templates \
-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ovs-dpdk.yaml \
-e /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/network-environment.yaml \
When running major-upgrade-composable-steps-docker to upgrade to Pike it fails with:
openstack overcloud deploy \
--templates \
-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ovs-dpdk.yaml \
-e /home/stack/ospd-11-vlan-dpdk-single-port-ctlplane-bonding/network-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/major-upgrade-composable-steps-docker.yaml \
Started Mistral Workflow tripleo.deployment.v1.deploy_plan. Execution ID: beff9250-d546-4239-b119-f70bd0b07adc
{u'execution': {u'created_at': u'2017-10-31 16:16:48',
u'id': u'beff9250-d546-4239-b119-f70bd0b07adc',
u'input': {u'container': u'overcloud',
u'queue_name': u'fa7fa51f-3a5e-4504-a9a3-b2fbba433708',
u'run_validations': False,
u'skip_deploy_identifier': False,
u'timeout': 240},
u'name': u'tripleo.deployment.v1.deploy_plan',
u'params': {u'namespace': u''},
u'spec': {u'description': u'Deploy the overcloud for a plan.\n',
u'input': [u'container',
{u'run_validations': False},
{u'timeout': 240},
{u'skip_deploy_identifier': False},
{u'queue_name': u'tripleo'}],
u'name': u'deploy_plan',
u'tags': [u'tripleo-common-managed'],
u'tasks': {u'add_validation_ssh_key': {u'input': {u'container': u'<% $.container %>',
u'queue_name': u'<% $.queue_name %>'},
u'name': u'add_validation_ssh_key',
u'on-complete': [{u'run_validations': u'<% $.run_validations %>'},
{u'create_swift_rings_backup_plan': u'<% not $.run_validations %>'}],
u'type': u'direct',
u'version': u'2.0',
u'workflow': u'tripleo.validations.v1.add_validation_ssh_key_parameter'},
u'create_swift_rings_backup_plan': {u'input': {u'container': u'<% $.container %>',
u'queue_name': u'<% $.queue_name %>',
u'use_default_templates': True},
u'name': u'create_swift_rings_backup_plan',
u'on-error': u'create_swift_rings_backup_plan_set_status_failed',
u'on-success': u'get_heat_stack',
u'type': u'direct',
u'version': u'2.0',
u'workflow': u'tripleo.swift_rings_backup.v1.create_swift_rings_backup_container_plan'},
u'create_swift_rings_backup_plan_set_status_failed': {u'name': u'create_swift_rings_backup_plan_set_status_failed',
u'on-success': u'send_message',
u'publish': {u'message': u'<% task(create_swift_rings_backup_plan).result %>',
u'status': u'FAILED'},
u'type': u'direct',
u'version': u'2.0'},
u'deploy': {u'action': u'tripleo.deployment.deploy',
u'input': {u'container': u'<% $.container %>',
u'skip_deploy_identifier': u'<% $.skip_deploy_identifier %>',
u'timeout': u'<% $.timeout %>'},
u'name': u'deploy',
u'on-error': u'set_deployment_failed',
u'on-success': u'send_message',
u'type': u'direct',
u'version': u'2.0'},
u'get_heat_stack': {u'action': u'heat.stacks_get stack_id=<% $.container %>',
u'name': u'get_heat_stack',
u'on-error': u'deploy',
u'on-success': [{u'set_stack_in_progress': u'<% "_IN_PROGRESS" in task(get_heat_stack).result.stack_status %>'},
{u'deploy': u'<% not "_IN_PROGRESS" in task(get_heat_stack).result.stack_status %>'}],
u'type': u'direct',
u'version': u'2.0'},
u'run_validations': {u'input': {u'group_names': [u'pre-deployment'],
u'plan': u'<% $.container %>',
u'queue_name': u'<% $.queue_name %>'},
u'name': u'run_validations',
u'on-error': u'set_validations_failed',
u'on-success': u'create_swift_rings_backup_plan',
u'type': u'direct',
u'version': u'2.0',
u'workflow': u'tripleo.validations.v1.run_groups'},
u'send_message': {u'action': u'zaqar.queue_post',
u'input': {u'messages': {u'body': {u'payload': {u'execution': u'<% execution() %>',
u'message': u"<% $.get('message', '') %>",
u'status': u"<% $.get('status', 'SUCCESS') %>"},
u'type': u'tripleo.deployment.v1.deploy_plan'}},
u'queue_name': u'<% $.queue_name %>'},
u'name': u'send_message',
u'on-success': [{u'fail': u'<% $.get(\'status\') = "FAILED" %>'}],
u'retry': u'count=5 delay=1',
u'type': u'direct',
u'version': u'2.0'},
u'set_deployment_failed': {u'name': u'set_deployment_failed',
u'on-success': u'send_message',
u'publish': {u'message': u'<% task(deploy).result %>',
u'status': u'FAILED'},
u'type': u'direct',
u'version': u'2.0'},
u'set_stack_in_progress': {u'name': u'set_stack_in_progress',
u'on-success': u'send_message',
u'publish': {u'message': u'The Heat stack is busy.',
u'status': u'FAILED'},
u'type': u'direct',
u'version': u'2.0'},
u'set_validations_failed': {u'name': u'set_validations_failed',
u'on-success': u'send_message',
u'publish': {u'message': u'<% task(run_validations).result %>',
u'status': u'FAILED'},
u'type': u'direct',
u'version': u'2.0'}},
u'version': u'2.0'}},
u'message': u"Failed to run action [action_ex_id=46c2a132-902c-4dd2-93e3-608e15353376, action_cls='<class 'mistral.actions.action_factory.DeployStackAction'>', attributes='{}', params='{u'skip_deploy_identifier': False, u'container': u'overcloud', u'timeout': 240}']\n ERROR: resources.Networks<http://192.0.20.1:8080/v1/AUTH_ecb57f4c91ff488ab8677af7358a18c0/overcloud/network/networks.yaml>: : The Resource Type (OS::TripleO::Network::Management) could not be found.",
u'status': u'FAILED'}
(undercloud) [stack@undercloud-0 ~]$ cat /usr/share/ openstack- tripleo- heat-templates/ environments/ neutron- ovs-dpdk. yaml :Services: :ComputeNeutron OvsDpdk: ../puppet/ services/ neutron- ovs-dpdk- agent.yaml
# A Heat environment that can be used to deploy DPDK with OVS
# Deploying DPDK requires enabling hugepages for the overcloud nodes
resource_registry:
OS::TripleO:
parameter_defaults: thType: "netdev" serSocketDir: "/var/lib/ vhost_sockets" DefaultFilters: "RamFilter, ComputeFilter, AvailabilityZon eFilter, ComputeCapabili tiesFilter, ImageProperties Filter, NUMATopologyFil ter" Type: "vfio-pci"
NeutronDatapa
NeutronVhostu
NovaScheduler
OvsDpdkDriver
#ComputeOvsDp dkParameters: leName: "cpu-partitioning"
# It is mandatory to provide isolated cpus for tuned to achive optimal performance.
# Example: "3-8,12-15,18"
# Deploying DPDK requires enabling hugepages for the overcloud compute nodes.
# It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType.
# This should be done by configuring parameters via host-config- and-reboot. yaml environment file.
## Host configuration Parameters
#TunedProfi
#IsolCpusList: "" # Logical CPUs list to be isolated from the host process (applied via cpu-partitioning tuned).
#KernelArgs: "" # Space separated kernel args to configure hugepage and IOMMU.
## Attempting to deploy DPDK without appropriate values for the below parameters may lead to unstable deployments ketMemory: "" # Sets the amount of hugepage memory to assign per NUMA node.
# It is recommended to use the socket closest to the PCIe slot used for the
# desired DPDK NIC. Format should be comma separated per socket string such as:
# "<socket 0 mem MB>,<socket 1 mem MB>", for example: "1024,0". List: "" # List or range of CPU cores for PMD threads to be pinned to. Note, NIC
# location to cores on socket, number of hyper-threaded logical cores, and
# desired number of PMD threads can all play a role in configuring this setting.
# These cores should be on the same socket where OvsDpdkSocketMemory is assigned.
# If using hyperthreading then specify both logical cores that would equal the
# physical core. Also, specifying more than one core will trigger multiple PMD
# threads to be spawned, which may improve dataplane performance. nSet: "" # Cores to pin Nova instances to. For maximum performance, select cores
# on the sam...
## due to CPU contention of DPDK PMD threads.
## It is highly recommended to to enable isolcpus (via KernelArgs) on compute overcloud nodes and set the following parameters:
#OvsDpdkSoc
#OvsPmdCore
#NovaVcpuPi