You might want to take this step by step, for example get it working without bonding.
Is UCS doing trunking too? If not, then you'll need to set vlan 12 as the native port on the Catalyst, since UCS won't be tagging the frames.
Also, there is no need to "int vlan 12" if the Cataylyst is only acting as a Layer 2 switch for than vlan.
These IOS commands on the Catalyst might be useful for troubleshooting:
show etherchannel summary
show vlan id 12
show spanning-tree vlan 12
show mac address-table vlan 12
show interfaces trunk