On 01/14/2016 01:28 PM, Bloemen, Jurriën wrote: >> >> On 14-01-16 12:16, Juan Hernández wrote: >>> On 01/14/2016 11:24 AM, Bloemen, Jurriën wrote: >>>> Hi, >>>> >>>> First I created a bonding interface: >>>> >>>> # add nic --parent-host-name server01 --name bond0 --network-name >>>> VLAN602 --bonding-slaves-host_nic host_nic.name=eno1 >>>> --bonding-slaves-host_nic host_nic.name=eno2 >>>> >>>> This works great but no IP is set on VLAN602. >>>> >>>> Then I'm trying to add an ip address to a network with the following >>>> command: >>>> >>>> # update hostnic --parent-host-name server01 --network-name VLAN602 >>>> --boot_protocol static --ip-address 10.10.10.10 --ip-netmask 255.255.255.0 >>>> >>>> ============================================================================================================== >>>> ERROR >>>> ============================================================================================================ >>>> >>>> >>>> wrong number of arguments, try 'help update' for help. >>>> ================================================================================================================================================================================================================================ >>>> >>>> Looking at this document >>>> https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.6-Beta/html/RHEVM_Shell_Guide/nic.html >>>> I need to use "nic" instead of "hostnic" but then I don't have the >>>> options to say this is a --parent-host-name. Only VM related command >>>> options. >>>> >>>> So I think the documentation is behind. >>>> >>>> Can somebody help me with what the command is to add a IP to a >>>> VLAN/Network for a host? >>>> >>>> >>> The command should be like this: >>> >>> # update nic bond0 --parent-host-name server01 --network-name VLAN602 >>> --boot_protocol static --ip-address 10.10.10.10 --ip-netmask 255.255.255.0 >>> >>> Note that the it is "nic" instead of "hostnic" and that you need to >>> specify the name of that NIC, in this case "bond0". >>> >>> The command will work if you type it like that, but auto-completion >>> won't work. This is a bug in the CLI, indirectly caused by the fact that >>> the name of the URL segment used in the RESTAPI is "nics" (from >>> /hosts/{host:id}/*nics*) but the name of the XML schema complex type is >>> "HostNIC". >>> >> Thanks! That works! >> >> Another question: >> >> Now I got the message that my network is out-of-sync. How can i force >> within the ovirt-shell that it syncs the networks? > > hmz.... pressed sent by accident > > What I want to say is: > > Now I got the message that my network is out-of-sync. How can i force > within the ovirt-shell that it syncs the networks? > Because when I press "Sync All Networks" the IP address disappears.... > > But when I check the box "Sync Network" within the VLAN602 options it > gets pushed to the host. > > Is there a difference between the both? And how do I run both via > ovirt-shell? >
The "sync network" operation is not supported by ovirt-shell. If you want to set the network configuration, and make it persistent, then you will need to use one of the "setupNetworks" operations. These aren't fully usable with ovirt-shell either, so if you want to use it you will need to use directly the API or one of the SDKs. For example, lets assume that you have a host with network interfaces eth0, eth1, and eth2, and that you want to configure eth1 and eth2 as a bond, to put your VLAN and IP address on top. You can do that with a script like this: ---8<--- #!/bin/sh -ex url="https://engine.example.com/ovirt-engine/api" user="admin@internal" password="..." curl \ --verbose \ --cacert /etc/pki/ovirt-engine/ca.pem \ --user "${user}:${password}" \ --request POST \ --header "Content-Type: application/xml" \ --header "Accept: application/xml" \ --data ' <action> <modified_network_attachments> <network_attachment> <network> <name>VLAN602</name> </network> <host_nic> <name>bond0</name> </host_nic> <ip_address_assignments> <assignment_method>static</assignment_method> <ip_address_assignment> <ip netmask="255.255.255.0" address="10.10.10.10"/> </ip_address_assignment> </ip_address_assignments> </network_attachment> </modified_network_attachments> <modified_bonds> <host_nic> <name>bond0</name> <bonding> <options> <option name="mode" value="4"/> <option name="miimon" value="100"/> </options> <slaves> <host_nic> <name>eth1</name> </host_nic> <host_nic> <name>eth2</name> </host_nic> </slaves> </bonding> </host_nic> </modified_bonds> </action> ' \ "${url}/1ff7a191-2f3b-4eff-812b-9f91a30c3acc/setupnetworks" --->8--- If you prefer to use one of the SDKs, the Python SDK for example, then it should look like this: ---8<--- #!/usr/bin/python from ovirtsdk.api import API from ovirtsdk.xml import params # Connect to the server: api = API( url="https://engine.example.com/ovirt-engine/api", username="admin@internal", password="...", ca_file="/etc/pki/ovirt-engine/ca.pem", debug=True ) # Find the host: host = api.hosts.get(name="myhost") # Set up the networks: host.setupnetworks( params.Action( modified_bonds=params.HostNics( host_nic=[ params.HostNIC( name="bond0", bonding=params.Bonding( options=params.Options( option=[ params.Option(name="mode", value="4"), params.Option(name="miimon", value="100"), ], ), slaves=params.Slaves( host_nic=[ params.HostNIC(name="eth1"), params.HostNIC(name="eth2"), ], ), ), ), ], ), modified_network_attachments=params.NetworkAttachments( network_attachment=[ params.NetworkAttachment( network=params.Network(name="VLAN602"), host_nic=params.HostNIC(name="bond0"), ip_address_assignments=params.IpAddressAssignments( ip_address_assignment=[ params.IpAddressAssignment( assignment_method="static", ip=params.IP( address="10.10.10.10", netmask="255.255.255.0", ), ), ], ), ), ], ), ), ) # Close the connection: api.disconnect() ---8<--- -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L. _______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users