----- Original Message -----
> From: "Tejesh M" <[email protected]>
> To: "Moti Asayag" <[email protected]>
> Cc: "[email protected]" <[email protected]>
> Sent: Tuesday, March 11, 2014 8:53:15 AM
> Subject: Re: Delete & Detach Logical Network
>
> Managed to delete network which is attached to Bond with below code:
>
> HostNIC nic =
> api.getHosts().get("rhevhost").getHostNics().get("bond1.1231");
> nic.delete();
>
>
> But not able to delete the same when attached to ethernet:
>
> HostNIC nic = api.getHosts().get("rhevhost").getHostNics().get("eth1.1187");
> nic.delete();
>
> i want to unmap the logical network which is mapped to eth1.
>
For this specific case I'd suggest using the attached example.
> *Result*:
> code : 400
> reason: Bad Request
> detail: Invalid Bonding definition
>
>
>
>
>
> On Mon, Mar 10, 2014 at 6:54 PM, Moti Asayag <[email protected]> wrote:
>
> >
> >
> > ----- Original Message -----
> > > From: "Tejesh M" <[email protected]>
> > > To: "Moti Asayag" <[email protected]>, "[email protected]" <
> > [email protected]>
> > > Sent: Monday, March 10, 2014 1:22:08 PM
> > > Subject: Delete & Detach Logical Network
> > >
> > > Hi,
> > >
> > > I'm able to delete the logical network but this logical network after
> > > deletion shows as unmanaged network in "Setup Host Networks" against the
> > > hostnic.
> > >
> > > I tried with this code to detach the logical network.
> > >
> > > *Code 1:*
> > > HostNIC nic = api.getHosts().get("rhevhost").getHostNics().get("eth1");
> > > Action action = new Action();
> > > action.setNetwork(api.getNetworks().get(nw_name));
> > > action.setDetach(true);
> > > action.setCheckConnectivity(false);
> > > nic.detach(action);
> > >
> > > *Returns*:
> > > code : 409
> > > reason: Conflict
> > > detail: Network Interface is not attached to Logical Network.
> > >
> >
> > I can guess by the error message that the logical network 'rhevhost' is
> > vlan,
> > so the proper interface should be the vlan device.
> >
> >
> > > *Code 2:*
> > > HostNIC nic =
> > api.getHosts().get("rhevhost").getHostNics().get("eth1.1345");
> > > Action action = new Action();
> > > action.setNetwork(api.getNetworks().get(nw_name));
> > > action.setDetach(true);
> > > action.setCheckConnectivity(false);
> > > nic.detach(action);
> > >
> > > *Returns*:
> > > code : 409
> > > reason: Conflict
> > > detail: Cannot edit Network while Host is Active, change the Host to
> > > Maintenance mode and try again.
> > >
> >
> > This is the 3.0 api which required the host to be in maintenance for
> > network
> > operations on the host. You could use setup networks instead which is the
> > recommended api and doesn't require the host to be in maintenance.
> >
> > you can modify the example from [1] and set null for the network name you
> > wish to detach from the specific interface.
> >
> > Try by replacing only lines 28-41 with:
> > HostNIC nic = nicsByNames.get("eth1.1345");
> > nic.setNetwork(null);
> >
> > [1]
> > https://motiasayag.wordpress.com/2014/02/24/invoke-setup-networks-from-the-java-sdk/
> >
> > >
> > > --
> > > Thanks & Regards
> > > Tejesh
> > >
> >
>
>
>
> --
> Thanks & Regards
> Tejesh
>
package org.ovirt.test;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.ovirt.engine.sdk.Api;
import org.ovirt.engine.sdk.decorators.Host;
import org.ovirt.engine.sdk.decorators.HostNIC;
import org.ovirt.engine.sdk.decorators.HostNICs;
import org.ovirt.engine.sdk.entities.Action;
import org.ovirt.engine.sdk.entities.BaseResource;
import org.ovirt.engine.sdk.entities.HostNics;
public class SetupNetworksDetachNetworkExample {
public static void main(String[] args) throws Exception {
try (Api api = new Api("http://localhost:8080/api",
"admin@internal",
"1",
null, null, null, null, null, null, true)) {
String hostName = "venus-vdsb";
Host hostApi = api.getHosts().get(hostName);
HostNICs nicsApi = hostApi.getHostNics();
List<HostNIC> nics = nicsApi.list();
Map<String, HostNIC> nicsByNames = entitiesByName(nics);
nics.remove(nicsByNames.get("eth4.20"));
nicsApi.setupnetworks(createSetupNetworksParams(nics));
hostApi.commitnetconfig(new Action());
}
}
public static Action createSetupNetworksParams(List<HostNIC> nics) {
Action action = new Action();
HostNics nicsParams = new HostNics();
nicsParams.getHostNics().addAll(nics);
action.setHostNics(nicsParams);
action.setCheckConnectivity(true);
return action;
}
public static <E extends BaseResource> Map<String, E> entitiesByName(List<E> entityList) {
if (entityList != null) {
Map<String, E> map = new HashMap<String, E>();
for (E e : entityList) {
map.put(e.getName(), e);
}
return map;
} else {
return Collections.emptyMap();
}
}
}
_______________________________________________
Users mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/users