--- /dev/null
+From ac6a60e4d65e33017f8db0eca499f8dd898acb3c Mon Sep 17 00:00:00 2001
+From: Kristine Bujold <kristine.bujold@windriver.com>
+Date: Fri, 15 Jul 2016 16:55:16 -0400
+Subject: [PATCH] US80802 - PXE Installation changes for UEFI support. Fixing
+ pvcreate issue.
+
+---
+ .../lvm/lib/puppet/provider/physical_volume/lvm.rb | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/packstack/puppet/modules/lvm/lib/puppet/provider/physical_volume/lvm.rb b/packstack/puppet/modules/lvm/lib/puppet/provider/physical_volume/lvm.rb
+index 6ac6e0a..18183ae 100644
+--- a/packstack/puppet/modules/lvm/lib/puppet/provider/physical_volume/lvm.rb
++++ b/packstack/puppet/modules/lvm/lib/puppet/provider/physical_volume/lvm.rb
+@@ -1,12 +1,27 @@
+ Puppet::Type.type(:physical_volume).provide(:lvm) do
+ desc "Manages LVM physical volumes"
+
+- commands :pvcreate => 'pvcreate', :pvremove => 'pvremove', :pvs => 'pvs', :vgs => 'vgs'
++
++ commands :pvcreate => 'pvcreate',
++ :pvremove => 'pvremove',
++ :pvs => 'pvs',
++ :vgs => 'vgs',
++ :dd => 'dd'
+
+ def create
++ # Delete the first few bytes at the start and end of the partition. This is required with
++ # GPT partitions, they save partition info at the start and the end of the block.
++ exec_cmd('dd', 'if=/dev/zero', "of=#{@resource[:name]}", "bs=512", "count=34")
++ exec_cmd('dd', 'if=/dev/zero', "of=#{@resource[:name]}", "bs=512", "count=34", "seek=$((`blockdev --getsz #{@resource[:name]}` - 34))")
++
+ pvcreate('-y', @resource[:name])
+ end
+
++ def exec_cmd(*cmd)
++ output = Puppet::Util::Execution.execute(cmd, :failonfail => false, :combine => true)
++ {:out => output, :exit => $CHILD_STATUS.exitstatus}
++ end
++
+ def destroy
+ pvremove(@resource[:name])
+ end
+--
+1.8.3.1
+