--_000_5698EDE73020607dmcamcnetworkscom_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
On 15-01-16 12:20, Juan Hern=E1ndez wrote:
On 01/14/2016 01:28 PM, Bloemen, Jurri=EBn wrote:
On 14-01-16 12:16, Juan Hern=E1ndez wrote:
On 01/14/2016 11:24 AM, Bloemen, Jurri=EBn 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=3Deno1
--bonding-slaves-host_nic host_nic.name=3Deno2
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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
ERROR
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
wrong number of arguments, try 'help update' for help.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Looking at this document
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Virtualiza=
tion/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=3D"https://engine.example.com/ovirt-engine/api"<https://...
com/ovirt-engine/api>
user=3D"admin@internal"
password=3D"..."
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=3D"255.255.255.0"
address=3D"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=3D"mode" value=3D"4"/>
<option name=3D"miimon" value=3D"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 =3D API(
url=3D"https://engine.example.com/ovirt-engine/api"<https://...
ple.com/ovirt-engine/api>,
username=3D"admin@internal",
password=3D"...",
ca_file=3D"/etc/pki/ovirt-engine/ca.pem",
debug=3DTrue
)
# Find the host:
host =3D api.hosts.get(name=3D"myhost")
# Set up the networks:
host.setupnetworks(
params.Action(
modified_bonds=3Dparams.HostNics(
host_nic=3D[
params.HostNIC(
name=3D"bond0",
bonding=3Dparams.Bonding(
options=3Dparams.Options(
option=3D[
params.Option(name=3D"mode", value=3D"4"),
params.Option(name=3D"miimon", value=3D"100"),
],
),
slaves=3Dparams.Slaves(
host_nic=3D[
params.HostNIC(name=3D"eth1"),
params.HostNIC(name=3D"eth2"),
],
),
),
),
],
),
modified_network_attachments=3Dparams.NetworkAttachments(
network_attachment=3D[
params.NetworkAttachment(
network=3Dparams.Network(name=3D"VLAN602"),
host_nic=3Dparams.HostNIC(name=3D"bond0"),
ip_address_assignments=3Dparams.IpAddressAssignments(
ip_address_assignment=3D[
params.IpAddressAssignment(
assignment_method=3D"static",
ip=3Dparams.IP(
address=3D"10.10.10.10",
netmask=3D"255.255.255.0",
),
),
],
),
),
],
),
),
)
# Close the connection:
api.disconnect()
---8<---
Wow! Thanks for the effort. I will have a look at it and try it in a differ=
ent way via xml or sdk.
Thanks!
This message (including any attachments) may contain information that is pr=
ivileged or confidential. If you are not the intended recipient, please not=
ify the sender and delete this email immediately from your systems and dest=
roy all copies of it. You may not, directly or indirectly, use, disclose, d=
istribute, print or copy this email or any part of it if you are not the in=
tended recipient
--_000_5698EDE73020607dmcamcnetworkscom_
Content-Type: text/html; charset="Windows-1252"
Content-ID: <C85DB7D69D351E48AEAE2CBFD1E3D5CC(a)chellomedia.com>
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html;
charset=3DWindows-1=
252">
</head>
<body text=3D"#000000" bgcolor=3D"#FFFFFF">
<br>
<div class=3D"moz-cite-prefix">On 15-01-16 12:20, Juan Hern=E1ndez
wrote:<b=
r>
</div>
<blockquote cite=3D"mid:5698D5F1.3070300@redhat.com"
type=3D"cite">
<pre wrap=3D"">On 01/14/2016 01:28 PM, Bloemen, Jurri=EBn wrote:
</pre>
<blockquote type=3D"cite">
<blockquote type=3D"cite">
<pre wrap=3D"">
On 14-01-16 12:16, Juan Hern=E1ndez wrote:
</pre>
<blockquote type=3D"cite">
<pre wrap=3D"">On 01/14/2016 11:24 AM, Bloemen, Jurri=EBn wrote:
</pre>
<blockquote type=3D"cite">
<pre wrap=3D"">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=3Deno1
--bonding-slaves-host_nic host_nic.name=3Deno2
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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
ERROR
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
=
=20
wrong number of arguments, try 'help update' for help.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Looking at this document
<a class=3D"moz-txt-link-freetext"
href=3D"https://access.redhat.com/docume=
ntation/en-US/Red_Hat_Enterprise_Virtualization/3.6-Beta/html/RHEVM_Shell_G=
uide/nic.html">https://access.redhat.com/documentation/en-US/Red_...
rise_Virtualization/3.6-Beta/html/RHEVM_Shell_Guide/nic.html</a>
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?
</pre>
</blockquote>
<pre wrap=3D"">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".
</pre>
</blockquote>
<pre wrap=3D"">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?
</pre>
</blockquote>
<pre wrap=3D"">
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 disappear=
s....
But when I check the box "Sync Network" within the VLAN602 option=
s it
gets pushed to the host.
Is there a difference between the both? And how do I run both via
ovirt-shell?
</pre>
</blockquote>
<pre wrap=3D"">
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=3D<a class=3D"moz-txt-link-rfc2396E"
href=3D"https://engine.example.com=
/ovirt-engine/api">"https://engine.example.com/ovirt-engine/api"<=
/a>
user=3D"admin@internal"
password=3D"..."
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=3D"255.255.255.0"
address=3D"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=3D"mode"
value=3D"4"/>
<option name=3D"miimon"
value=3D"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 =3D API(
url=3D<a class=3D"moz-txt-link-rfc2396E"
href=3D"https://engine.example=
.com/ovirt-engine/api">"https://engine.example.com/ovirt-engine/api&qu=
ot;</a>,
username=3D"admin@internal",
password=3D"...",
ca_file=3D"/etc/pki/ovirt-engine/ca.pem",
debug=3DTrue
)
# Find the host:
host =3D api.hosts.get(name=3D"myhost")
# Set up the networks:
host.setupnetworks(
params.Action(
modified_bonds=3Dparams.HostNics(
host_nic=3D[
params.HostNIC(
name=3D"bond0",
bonding=3Dparams.Bonding(
options=3Dparams.Options(
option=3D[
params.Option(name=3D"mode",
value=3D"4"=
;),
params.Option(name=3D"miimon",
value=3D"100&=
quot;),
],
),
slaves=3Dparams.Slaves(
host_nic=3D[
params.HostNIC(name=3D"eth1"),
params.HostNIC(name=3D"eth2"),
],
),
),
),
],
),
modified_network_attachments=3Dparams.NetworkAttachments(
network_attachment=3D[
params.NetworkAttachment(
network=3Dparams.Network(name=3D"VLAN602"),
host_nic=3Dparams.HostNIC(name=3D"bond0"),
ip_address_assignments=3Dparams.IpAddressAssignments(
ip_address_assignment=3D[
params.IpAddressAssignment(
assignment_method=3D"static",
ip=3Dparams.IP(
address=3D"10.10.10.10",
netmask=3D"255.255.255.0",
),
),
],
),
),
],
),
),
)
# Close the connection:
api.disconnect()
---8<---
</pre>
</blockquote>
<small>Wow! Thanks for the effort. I will have a look at it and try it in a=
different way via xml or sdk.<br>
<br>
Thanks!<br>
</small><br>
This message (including any attachments) may contain information that is pr=
ivileged or confidential. If you are not the intended recipient, please not=
ify the sender and delete this email immediately from your systems and dest=
roy all copies of it. You may not,
directly or indirectly, use, disclose, distribute, print or copy this emai=
l or any part of it if you are not the intended recipient
</body>
</html>
--_000_5698EDE73020607dmcamcnetworkscom_--