tripleo-heat-templates/deployment/vpp/vpp-baremetal-puppet.yaml
Emilien Macchi 851bbb31e0 Remove all ignore_errors to avoid confusion when debugging
- deploy-steps-tasks-step-1.yaml: Do not ignore errors when dealing
  with check-mode directories. The file module is resilient enough to
  not fail if the path is already absent.

- deploy-steps-tasks.yaml: Replace ignore_errors by another condition,
  "not ansible_check_mode"; this task is not needed in check mode.

- generate-config-tasks.yaml: Replace ignore_errors by another
  condition, "not ansible_check_mode"; this task is not needed in check mode.

- Neutron wrappers: use fail_key: False instead of ignore_errors: True
  if a key can't be found in /etc/passwd.

- All services with service checks: Replace "ignore_errors: true" by
  "failed_when: false". Since we don't care about whether or not the
  task returns 0, let's just make the task never fail. It will only
  improve UX when scrawling logs; no more failure will be shown for
  these tasks.

- Same as above for cibadmin commands, cluster resources show
  commands and keepalived container restart command; and all other shell
  or command or yum modules uses where we just don't care about their potential
  failures.

- Aodh/Gnocchi: Add pipefail so the task isn't support to fail

- tripleo-packages-baremetal-puppet and undercloud-upgrade: check shell
  rc instead of "succeeded", since the task will always succeed.

Change-Id: I0c44db40e1b9a935e7dde115bb0c9affa15c42bf
(cherry picked from commit 38bad5283f)
2020-03-05 21:51:19 -05:00

73 lines
2.1 KiB
YAML

heat_template_version: rocky
description: >
Vpp service configured with Puppet
parameters:
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
VppCpuMainCore:
default: ''
description: VPP main thread core pinning.
type: string
VppCpuCorelistWorkers:
default: ''
description: List of cores for VPP worker thread pinning
type: string
MonitoringSubscriptionVpp:
default: 'overcloud-vpp'
type: string
outputs:
role_data:
description: Role data for the Vpp role.
value:
service_name: vpp
monitoring_subscription: {get_param: MonitoringSubscriptionVpp}
config_settings:
fdio::vpp_cpu_main_core: {get_param: VppCpuMainCore}
fdio::vpp_cpu_corelist_workers: {get_param: VppCpuCorelistWorkers}
step_config: |
include ::tripleo::profile::base::vpp
upgrade_tasks:
- name: Check if vpp is deployed
command: systemctl is-enabled vpp
tags: common
failed_when: false
register: vpp_enabled
- name: "PreUpgrade step0,validation: Check service vpp is running"
shell: /usr/bin/systemctl show 'vpp' --property ActiveState | grep '\bactive\b'
when:
- step|int == 0
- vpp_enabled.rc == 0
tags: validation
- name: Stop vpp service
when:
- step|int == 1
- vpp_enabled.rc == 0
service: name=vpp state=stopped