Bug 1562479

Summary: FFU: fast_forward_upgrade_playbook.yaml fails with ERROR! Syntax Error while loading YAML on deployment with OS::TripleO::Tasks::ComputePostConfig customizations
Product: Red Hat OpenStack Reporter: Marius Cornea <mcornea>
Component: openstack-tripleo-commonAssignee: Carlos Camacho <ccamacho>
Status: CLOSED ERRATA QA Contact: Marius Cornea <mcornea>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 13.0 (Queens)CC: ccamacho, dbecker, jschluet, mbracho, mburns, morazi, rhel-osp-director-maint, sathlang, sclewis, slinaber
Target Milestone: betaKeywords: Triaged
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-common-8.6.1-0.20180410041244.7d3c20d.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-27 13:49:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
overcloud-nova-compute-1 none

Description Marius Cornea 2018-03-31 02:38:50 UTC
Created attachment 1415353 [details]
overcloud-nova-compute-1

Description of problem:

FFU: fast_forward_upgrade_playbook.yaml fails with ERROR! Syntax Error while loading YAML on deployment with OS::TripleO::Tasks::ComputePostConfig customizations

Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-8.0.2-0.20180327213843.f25e2d8.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Deploy OSP10 with OS::TripleO::Tasks::ComputePostConfig  customization
2. Upgrade to OSP13 via FFU workflow
3. Run fast_forward_upgrade_playbook.yaml playbook

Actual results:
 [WARNING]: Skipping unexpected key (hostvars) in group (_meta), only "vars", "children" and "hosts" are valid

PLAY [overcloud] *****************************************************************************************************************************************************************************************************************************
ERROR! Syntax Error while loading YAML.


The error appears to have been in '/home/stack/tripleo-thkIg2-config/group_vars/overcloud-novacompute-1': line 3029, column 1, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


:
^ here

exception type: <class 'yaml.parser.ParserError'>
exception: while parsing a block mapping
  in "<unicode string>", line 1, column 1
did not find expected key
  in "<unicode string>", line 3029, column 1


Expected results:
fast_forward_upgrade_playbook.yaml  doesn't fail

Additional info:
Attaching /home/stack/tripleo-thkIg2-config/group_vars/overcloud-novacompute-1

Comment 2 Marius Cornea 2018-03-31 02:41:21 UTC
Deploy command:

openstack overcloud deploy --templates /usr/share/openstack-tripleo-heat-templates \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-management.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml \
-e ~/openstack_deployment/environments/enable-cpu-pinning.yaml \
-e ~/openstack_deployment/environments/nodes.yaml \
-e ~/openstack_deployment/environments/network-environment.yaml \
-e ~/openstack_deployment/environments/disk-layout.yaml \
-e ~/openstack_deployment/environments/scheduler_hints_env.yaml \
-e ~/openstack_deployment/environments/ips-from-pool-all.yaml \
-e ~/openstack_deployment/environments/neutron-settings.yaml \
-e ~/openstack_deployment/environments/custom_hiera.yaml \


customization enviroment file:

~/openstack_deployment/environments/enable-cpu-pinning.yaml

[stack@undercloud-0 ~]$ cat ~/openstack_deployment/environments/enable-cpu-pinning.yaml
resource_registry:
  OS::TripleO::Tasks::ComputePostConfig: update-grub.yaml

parameter_defaults:
  # Replace device with the name of the device that contains the boot record, usually sda. 
  compute_root_disk: '/dev/vda'

  # Use the list of CPU cores reserved for guest processes as a parameter of this argument.
  compute_isol_cpu: '1'

  ControllerExtraConfig:
    nova::scheduler::filter::scheduler_default_filters: ['RetryFilter' , 'AvailabilityZoneFilter' , 'RamFilter' , 'ComputeFilter' , 'ComputeCapabilitiesFilter' , 'ImagePropertiesFilter' , 'CoreFilter' , 'NUMATopologyFilter' , 'AggregateInstanceExtraSpecsFilter' ]

  NovaComputeExtraConfig:
    nova::compute::vcpu_pin_set: [ '1' ]
    nova::compute::reserved_host_memory: '1024'


[stack@undercloud-0 ~]$ cat ~/openstack_deployment/environments/update-grub.yaml 
heat_template_version: 2014-10-16

description: >
  Extra hostname configuration

parameters:
  servers:
    type: json
  compute_root_disk:
    type: string
  compute_isol_cpu:
    type: string
  input_values:
    type: json
    description: input values for the software deployments

resources:
  ExtraConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config:
        str_replace:
          template: |
            #!/bin/bash
            if ! `cat /proc/cmdline  | grep -q isolcpus`;then
            grubby --update-kernel=ALL --args="isolcpus=_ISOL_CPU_"
            grub2-install _ROOT_DISK_
            fi
          params:
            _ROOT_DISK_: {get_param: compute_root_disk}
            _ISOL_CPU_: {get_param: compute_isol_cpu}

  ExtraDeployments:
    type: OS::Heat::SoftwareDeployments
    properties:
      servers:  {get_param: [servers, 'Compute']}
      config: {get_resource: ExtraConfig}
      actions: ['CREATE','UPDATE']
      input_values: {get_param: input_values}

Comment 3 Carlos Camacho 2018-04-05 12:44:14 UTC
Both fixes are merged/backported

Comment 9 errata-xmlrpc 2018-06-27 13:49:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:2086