Hi Marco,
The error suggests that a VLAN with the same tag already exists on one of the
PIFs you are trying to create a VLAN on. Would that be possible in your setup?
I don't see anything in your code that checks for this. Note that
Pool.create_VLAN_from_PIF tries to create VLANs on all hosts in the pool.
Cheers,
Rob
> -----Original Message-----
> From: xen-api-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-api-
> bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Marco Sinhoreli
> Sent: 02 August 2010 15:40
> To: xen-api
> Subject: [Xen-API] problem to change VLAN tag in XCP 0.5.0
>
> Hello guys:
>
> I have an incompatible between XCP 0.1.0 and 0.5.0 to change VLAN tag.
> Before, to change the virtual machine VLAN tag in XCP 0.1.0, I used
> this code:
>
> <code>
> vm_rcd = self.master.VM.get_record(vm)
> for vif in vm_rcd['VIFs']:
> vif_rcd = self.master.VIF.get_record(vif)
> if vif_rcd['currently_attached'] == True:
> self.master.VIF.unplug(vif)
> self.master.VIF.destroy(vif)
>
> pifs = self.master.host.get_PIFs(master)
> pif_vlan = None
> for pif in pifs:
> pif_rcd = self.master.PIF.get_record(pif)
> if vlan == int(pif_rcd['VLAN']) and device ==
> pif_rcd['device']:
> pif_vlan = pif
> break
>
>
> ref_args = {
> 'current_operations': {},
> 'tags': [],
> 'other_config': {'automatic': 'false'},
> 'name_label': 'eth0',
> 'VIFs': [],
> 'allowed_operations': [],
> 'name_description': 'Added by globo.com orchestration
> system.',
> 'blobs': {}
> }
>
> network = self.master.network.create(ref_args)
> pif = self.__find_pif(host, device)
> self.master.pool.create_VLAN_from_PIF(pif, network, str(vlan))
> </code>
>
> These before was working fine. Now, using XCP 0.5.0 the last line
> "self.master.pool.create_VLAN_from_PIF(pif, network, str(vlan))"
> return an exception:
>
> <log>
> self.master.pool.create_VLAN_from_PIF(pif, network, str(vlan))
> File "/mnt/projetos/deploy-
> be/virt/orquestracao/integration/releases/24_03_2010_18_58_21/vmo-
> integration/lib/integration/xenapi/XenAPI.py",
> line 216, in __call__
> return self.__send(self.__name, args)
> File "/mnt/projetos/deploy-
> be/virt/orquestracao/integration/releases/24_03_2010_18_58_21/vmo-
> integration/lib/integration/xenapi/XenAPI.py",
> line 142, in xenapi_request
> result = _parse_result(getattr(self, methodname)(*full_params))
> File "/mnt/projetos/deploy-
> be/virt/orquestracao/integration/releases/24_03_2010_18_58_21/vmo-
> integration/lib/integration/xenapi/XenAPI.py",
> line 191, in _parse_result
> raise Failure(result['ErrorDescription'])
> Failure: PIF_VLAN_EXISTS
> </log>
>
> Thoughts?
>
> Cheers,
>
>
> --
> Marco Sinhoreli
>
> _______________________________________________
> xen-api mailing list
> xen-api@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/mailman/listinfo/xen-api
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
|