Hi All,
I have an issue with the python ovirt sdk.
I made a script that creates a new host, hypervisor, in the ovirt environment.
The host is created and is put in maintenance state.
So far it works, but then i try to create the networks on the new host and
there i got an error.
>
> Creating the host:
>
> try:
> if api.hosts.add(pHst):
> print("Host was added successfully")
> print("Waiting for host, {}, to reach the 'up' or 'non
> operational' status").format(host)
> while api.hosts.get(name = host).status.state != 'up' and
> api.hosts.get(name = host).status.state != 'non_operational':
> sleep(1)
> sleep(5)
> print("Host, {}, is '{}'").format(host)
>
> except Exception as e:
> print("Failed to install Host: {}").format(str(e))
> return None
>
> Host = api.hosts.get(name = host)
>
> Host.deactivate()
> sleep(5)
> address, netmask = getDefaultAddress(api, oc, DC, host)
> if address is not None:
> So far all's well.
> Then the part for the network...
>
> rc = setBondAndDefVLan(api, oc, DC, cluster, host, address, netmask)
> if rc is not None:
> Host.update()
> Host.activate()
>
> ---
>
> def setBondParams(api, oc, DC, host):
> nic0 = params.HostNIC(name = oc.nic1,
> network = params.Network(),
> boot_protocol = 'none',
> ip = params.IP(
> address = '',
> netmask = '',
> gateway = '',
> ),
> )
> nic1 = params.HostNIC(name = oc.nic2,
> network = params.Network(),
> boot_protocol = 'none',
> ip = params.IP(
> address = '',
> netmask = '',
> gateway = '',
> ),
> )
>
> bond = params.Bonding(slaves = params.Slaves(host_nic = [
> nic0,
> nic1,
> ]),
> options = params.Options(option = [
>
> params.Option(name = 'miimon',
>
> value = '100'),
>
> params.Option(name = 'mode',
>
> value = '4'),
> ])
> )
>
> team = params.HostNIC(name = 'bond0',
> boot_protocol = 'none',
> ip = params.IP(
> address = '',
> netmask = '',
> gateway = '',
> ),
> override_configuration = 1,
> bonding = bond)
> return team
>
>
> def setDefVLanParams(api, oc, DC, cluster, host, address, netmask):
> defvlan = oc.defaultvlan
> clusterNW = api.clusters.get(cluster).networks.get(name = defvlan)
> vlan = params.HostNIC(name =
> "bond0.{}".format(clusterNW.vlan.id),
> network = params.Network(name =
> defvlan),
> boot_protocol = 'none',
> ip = params.IP(
> address =
> address,
> netmask =
> netmask,
> gateway = ''
> ),
> override_configuration = 1,
> )
> return vlan
>
>
> def setBondAndDefVLan(api, oc, DC, cluster, host, address, netmask):
> try:
> Host = api.hosts.get(name = host)
> except Exception as e:
> print("Could not find host {}, this is extremly
> wrong!\n{}").format(host, str(e))
> return None
>
> team = setBondParams(api, oc, DC, Host)
> vlan = setDefVLan(api, oc, DC, cluster, Host, address, netmask)
>
> try:
> Host.nics.setupnetworks(params.Action(force = 0,
> check_connectivity = 0,
> host_nics =
> params.HostNics(host_nic = [
>
> team,
>
> vlan,
>
> ])
> ),
> )
> except Exception as e:
> print("Could not setup a management interface for host
> {}.\n--\n{}\n--").format(host, str(e))
> return None
>
> return host
>
>
> The setting for oc.nic1 is 'eno1' and oc.nic2 is 'eno2'.
> This part of the script times out on "Host.nics.setupnetworks(...) with:
>
> "Host was added successfully"
> "Waiting for host, X, to reach the 'up' or 'non operational' status"
> "Host, X, is 'non_operational'"
>
> "Could not setup a management interface for host X."
> "--"
>
> "status: 400"
> "reason: Bad Request"
> "detail: Network error during communication with the Host."
> "--"
>
> The problem with the communication is that on the new host X all the ip
> configuration is gone.
> The question i have is "Why is the ip configuration gone?"
> What am i donig wrong here?
> ->Rein.
(vanaf BigI)
_______________________________________________
Users mailing list
Users@ovirt.org
http://lists.ovirt.org/mailman/listinfo/users