Ben, Signed off says: >> Signed-off-by: Lucian Petrut <lpet...@cloudbasesolutions.com>
I don't know what: >> From: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> implies then. -- Nithin On Oct 8, 2014, at 10:43 AM, Ben Pfaff <b...@nicira.com> wrote: > I'm confused. The "From:" at the top of the email indicates you're > the author. You can't sensibly ack your own patch. > > Who is the author? > > Thanks, > > Ben. > > On Wed, Oct 08, 2014 at 05:20:50PM +0000, Alin Serdean wrote: >> Acked-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> >> >> >> >> >> -----Mesaj original----- >> De la: Lucian Petrut [mailto:petrutlucia...@gmail.com] >> Trimis: Wednesday, October 8, 2014 8:05 PM >> C?tre: dev@openvswitch.org >> Cc: Alin Serdean; Lucian Petrut >> Subiect: [PATCH] Update the WMI Script handling Hyper-V friendly port names >> >> From: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> >> >> This patch ensures that the friendly port name has no more than 16 >> characters and also if it is not in use. >> >> The method which checks the WMI jobs has been updated in order to provide >> relevant error codes/descriptions. >> >> Methods retrieving the according VM and VM network adapter mapped to an OVS >> port have been added as well. They are called: >> Get-VMNetworkAdapterByOVSPort >> Get-VMByOVSPort >> >> Example of usage: >> 2 import-module .\OVS.psm1 >> 3 $vnic = Get-VMNetworkAdapter test_2_1 >> 4 $vnic[0] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-1 >> 5 $vnic[1] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-1 >> 6 $vnic[0] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-2 >> 7 $vnic[1] | Set-VMNetworkAdapterOVSPort -OVSPortName ovs-port-1 >> 8 Get-VMNetworkAdapterByOVSPort ovs-port-1 >> 9 Get-VMByOVSPort ovs-port-2 >> >> Signed-off-by: Lucian Petrut <lpet...@cloudbasesolutions.com> >> Tested-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> >> --- >> datapath-windows/misc/OVS.psm1 | 88 >> +++++++++++++++++++++++++++++++++++++++--- >> 1 file changed, 83 insertions(+), 5 deletions(-) >> >> diff --git a/datapath-windows/misc/OVS.psm1 b/datapath-windows/misc/OVS.psm1 >> index 52ed3ba..b83b263 100644 >> --- a/datapath-windows/misc/OVS.psm1 >> +++ b/datapath-windows/misc/OVS.psm1 >> @@ -14,6 +14,10 @@ See the License for the specific language governing >> permissions and limitations under the License. >> #> >> >> +$WMI_JOB_STATUS_STARTED = 4096 >> +$WMI_JOB_STATE_RUNNING = 4 >> +$WMI_JOB_STATE_COMPLETED = 7 >> + >> $hvassembly = >> [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.HyperV.PowerShell") >> >> function Set-VMNetworkAdapterOVSPort >> @@ -25,12 +29,23 @@ function Set-VMNetworkAdapterOVSPort >> [Microsoft.HyperV.PowerShell.VMNetworkAdapter]$VMNetworkAdapter, >> >> [parameter(Mandatory=$true)] >> + [ValidateLength(1, 16)] >> [string]$OVSPortName >> ) >> process >> { >> $ns = "root\virtualization\v2" >> $EscapedId = $VMNetworkAdapter.Id.Replace('\', '\\') >> + >> + $sd = gwmi -namespace $ns -class >> Msvm_EthernetPortAllocationSettingData -Filter "ElementName = '$OVSPortName'" >> + if($sd) >> + { >> + if($sd.InstanceId.Contains($VMNetworkAdapter.Id)){ >> + throw "The OVS port name '$OVSPortName' is already assigned >> to this port." >> + } >> + throw "Cannot assign the OVS port name '$OVSPortName' as it is >> already assigned to an other port." >> + } >> + >> $sd = gwmi -namespace $ns -class >> Msvm_EthernetPortAllocationSettingData -Filter "InstanceId like >> '$EscapedId%'" >> >> if($sd) >> @@ -51,26 +66,89 @@ function Set-VMNetworkAdapterOVSPort >> } >> } >> >> +function Get-VMNetworkAdapterByOVSPort >> +{ >> + [CmdletBinding()] >> + param >> + ( >> + >> + [parameter(Mandatory=$true)] >> + [ValidateLength(1, 16)] >> + [string]$OVSPortName >> + ) >> + process >> + { >> + $ns = "root\virtualization\v2" >> + >> + $sd = gwmi -namespace $ns -class >> Msvm_EthernetPortAllocationSettingData -Filter "ElementName = '$OVSPortName'" >> + if($sd) >> + { >> + return $sd >> + } >> + } >> +} >> + >> +function Get-VMByOVSPort >> +{ >> + [CmdletBinding()] >> + param >> + ( >> + [parameter(Mandatory=$true)] >> + [ValidateLength(1, 16)] >> + [string]$OVSPortName >> + ) >> + process >> + { >> + $ns = "root\virtualization\v2" >> + >> + $vms = gwmi -namespace $ns -class Msvm_VirtualSystemSettingData >> + ForEach($vm in $vms) >> + { >> + $ports = gwmi -Namespace $ns -Query " >> + Associators of {$vm} Where >> + ResultClass = Msvm_EthernetPortAllocationSettingData" >> + if ($ports.ElementName -eq $OVSPortName){ >> + return $vm >> + } >> + } >> + } >> +} >> + >> function Check-WMIReturnValue($retVal) >> { >> if ($retVal.ReturnValue -ne 0) >> { >> - if ($retVal.ReturnValue -eq 4096) >> + if ($retVal.ReturnValue -eq $WMI_JOB_STATUS_STARTED) >> { >> do >> { >> $job = [wmi]$retVal.Job >> } >> - while ($job.JobState -eq 4) >> + while ($job.JobState -eq $WMI_JOB_STATE_RUNNING) >> >> - if ($job.JobState -ne 7) >> + if ($job.JobState -ne $WMI_JOB_STATE_COMPLETED) >> { >> - throw "Job Failed" >> + echo $job.ReturnValue >> + $errorString = "Job Failed. Job State: " + >> $job.JobState.ToString() >> + if ($job.__CLASS -eq "Msvm_ConcreteJob") >> + { >> + $errorString += " Error Code: " + >> $job.ErrorCode.ToString() >> + $errorString += " Error Details: " + >> $job.ErrorDescription >> + } >> + else >> + { >> + $error = $job.GetError() >> + if ($error.Error) >> + { >> + $errorString += " Error:" + $error.Error >> + } >> + } >> + throw $errorString >> } >> } >> else >> { >> - throw "Job Failed" >> + throw "Job Failed. Return Value: {0}" -f $job.ReturnValue >> } >> } >> } >> -- >> 1.9.4.msysgit.1 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=ubrOpIWavCMqX4l4j1LEVpTfDj%2FD5Qyn8KCoJIBGvzo%3D%0A&m=z5n4vXDmHp8x967YXoFfSLn7Zn8boi0ZF4scp90KFZ8%3D%0A&s=fea6a070301fd3c4902cdf2e775dfd2296406dffa713c670d1d62974207c3a88 > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=ubrOpIWavCMqX4l4j1LEVpTfDj%2FD5Qyn8KCoJIBGvzo%3D%0A&m=z5n4vXDmHp8x967YXoFfSLn7Zn8boi0ZF4scp90KFZ8%3D%0A&s=fea6a070301fd3c4902cdf2e775dfd2296406dffa713c670d1d62974207c3a88 Thanks, -- Nithin _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev