Code Monkey home page Code Monkey logo

manageiq-providers-ovirt's Introduction

ManageIQ::Providers::Ovirt

CI Maintainability Test Coverage

Chat

Build history for master branch

ManageIQ plugin for the oVirt provider.

Development

See the section on plugins in the ManageIQ Developer Setup

For quick local setup run bin/setup, which will clone the core ManageIQ repository under the spec directory and setup necessary config files. If you have already cloned it, you can run bin/update to bring the core ManageIQ code up to date.

License

The gem is available as open source under the terms of the Apache License 2.0.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

manageiq-providers-ovirt's People

Contributors

agrare avatar alonakaplan avatar bdunne avatar blomquisg avatar borod108 avatar chessbyte avatar chrisarcand avatar djberg96 avatar dsatsura avatar durandom avatar fabiendupont avatar fryguy avatar gekorob avatar gmcculloug avatar jhernand avatar jprause avatar jrafanie avatar kbrock avatar ladas avatar lfu avatar masayag avatar matobet avatar mzazrivec avatar nasark avatar oourfali avatar pkliczewski avatar roliveri avatar skateman avatar slemrmartin avatar vojtechszocs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

manageiq-providers-ovirt's Issues

Rhev refresh failes

I'm using latest gaprindashvili version of manageiq-providers-ovirt and all refresh requests are failing with following error

ERROR -- : /root/icdc/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:9:in refresh'
/root/icdc/manageiq/app/models/ems_refresh.rb:97:in block in refresh' /root/icdc/manageiq/app/models/ems_refresh.rb:96:in each'
/root/icdc/manageiq/app/models/ems_refresh.rb:96:in refresh' /root/icdc/manageiq/app/models/miq_queue.rb:449:in block in dispatch_method'
/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/timeout.rb:93:in block in timeout' /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/timeout.rb:33:in block in catch'
/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/timeout.rb:33:in catch' /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/timeout.rb:33:in catch'
/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/timeout.rb:108:in timeout' /root/icdc/manageiq/app/models/miq_queue.rb:448:in dispatch_method'
/root/icdc/manageiq/app/models/miq_queue.rb:425:in block in deliver' /root/icdc/manageiq/app/models/user.rb:332:in with_user_group'
/root/icdc/manageiq/app/models/miq_queue.rb:425:in deliver'

Datacenter re-creation after refresh

irb(main):007:0> pp ExtManagementSystem.all[1].ems_folders
  ExtManagementSystem Load (1.9ms)  SELECT "ext_management_systems".* FROM "ext_management_systems"
{"@timestamp":"2020-12-04T11:27:57.463506 ","hostname":"26r1-generic-644989b84-sz4nk","pid":51,"tid":"2aefd92c9964","level":"debug","message":"  \u001b[1m\u001b[36mExtManagementSystem Load (1.9ms)\u001b[0m  \u001b[1m\u001b[34mSELECT \"ext_management_systems\".* FROM \"ext_management_systems\"\u001b[0m"}
  ExtManagementSystem Inst Including Associations (1.0ms - 3rows)
{"@timestamp":"2020-12-04T11:27:57.465278 ","hostname":"26r1-generic-644989b84-sz4nk","pid":51,"tid":"2aefd92c9964","level":"debug","message":"  ExtManagementSystem Inst Including Associations (1.0ms - 3rows)"}
  EmsFolder Load (76.9ms)  SELECT "ems_folders".* FROM "ems_folders" WHERE "ems_folders"."ems_id" = $1  [["ems_id", 26000000000002]]
{"@timestamp":"2020-12-04T11:27:57.543830 ","hostname":"26r1-generic-644989b84-sz4nk","pid":51,"tid":"2aefd92c9964","level":"debug","message":"  \u001b[1m\u001b[36mEmsFolder Load (76.9ms)\u001b[0m  \u001b[1m\u001b[34mSELECT \"ems_folders\".* FROM \"ems_folders\" WHERE \"ems_folders\".\"ems_id\" = $1\u001b[0m  [[\"ems_id\", 26000000000002]]"}
  EmsFolder Inst Including Associations (0.6ms - 4rows)
{"@timestamp":"2020-12-04T11:27:57.545002 ","hostname":"26r1-generic-644989b84-sz4nk","pid":51,"tid":"2aefd92c9964","level":"debug","message":"  EmsFolder Inst Including Associations (0.6ms - 4rows)"}
[#<ManageIQ::Providers::Redhat::InfraManager::Folder:0x000055dfbbc9da60
  id: 26000000000001,
  name: "Datacenters",
  ems_id: 26000000000002,
  created_on: Fri, 12 Jun 2020 08:56:47 UTC +00:00,
  updated_on: Fri, 12 Jun 2020 08:56:47 UTC +00:00,
  uid_ems: "root_dc",
  ems_ref: nil,
  type: "ManageIQ::Providers::Redhat::InfraManager::Folder",
  hidden: true,
  ems_ref_type: nil>,
 #<ManageIQ::Providers::Redhat::InfraManager::Folder:0x000055dfbbca3708
  id: 26000000000002,
  name: "host",
  ems_id: 26000000000002,
  created_on: Fri, 12 Jun 2020 08:56:47 UTC +00:00,
  updated_on: Fri, 12 Jun 2020 08:56:47 UTC +00:00,
  uid_ems: "7a559bec-5c4b-11ea-8813-00163e629632_host",
  ems_ref: nil,
  type: "ManageIQ::Providers::Redhat::InfraManager::Folder",
  hidden: true,
  ems_ref_type: nil>,
 #<ManageIQ::Providers::Redhat::InfraManager::Folder:0x000055dfbbca26f0
  id: 26000000000003,
  name: "vm",
  ems_id: 26000000000002,
  created_on: Fri, 12 Jun 2020 08:56:47 UTC +00:00,
  updated_on: Fri, 12 Jun 2020 08:56:47 UTC +00:00,
  uid_ems: "7a559bec-5c4b-11ea-8813-00163e629632_vm",
  ems_ref: nil,
  type: "ManageIQ::Providers::Redhat::InfraManager::Folder",
  hidden: true,
  ems_ref_type: nil>,
 #<ManageIQ::Providers::Redhat::InfraManager::Datacenter:0x000055dfbbca08c8
  id: 26000000000414,
  name: "Default",
  ems_id: 26000000000002,
  created_on: Fri, 04 Dec 2020 11:27:42 UTC +00:00,
  updated_on: Fri, 04 Dec 2020 11:27:42 UTC +00:00,
  uid_ems: "7a559bec-5c4b-11ea-8813-00163e629632",
  ems_ref: "/api/datacenters/7a559bec-5c4b-11ea-8813-00163e629632",
  type: "ManageIQ::Providers::Redhat::InfraManager::Datacenter",
  hidden: nil,
  ems_ref_type: nil>]

Hello
We have a problems, after ems refresh we have a recreated datacenter (every time)
version jansa
Anyone know what is it?

Adam Grare @agrare 16:07
Weird, it does that on a full refresh as well? (E.g. running refresh relationships and power states on the the provider)
And is the old data center deleted right away or only after the next full refresh?

Aliaksei Hrechushkin @ahrechushkin 16:20
Yes, yes

Adam Grare @agrare 16:35
 I was able to reproduce

After Oparin upgrade provisioning not working anymore

Hi,

I upgraded our MiQ instance from Najdorf to Oparin recently and when i try to provision a VM using a template the VM is correctly create on oVirt side but never boot up and so never play Cloud init script.

Here is the situation on MiQ side :

image

How can i know what's is going on?

Regards,

Both CNAME and Aname of rhev provider is shown in RHEV host summary page

our RHV provider is configured using this A name - cfme-smicro-628-a05.cfme2.lab.eng.rdu2.redhat.com
and in the CFME UI it actually shows the host item with its CNAME - env-rhv41-01.cfme2.lab.eng.rdu2.redhat.com - but on the details page for that host, the A name is used for the 'hostname' field.

Also , In Service catalogs , the CNAME of the host is displayed .

Can we show one hostname at all places ?

screenshot from 2017-09-07 08 58 40

[kasparov-1] Provisioning Virtual Machines : vm not autostarted during provisioning

Since upgrading the appliance from Jansa-3 to Kasparov-1,

When provisioning a vm from template on ovirt 4.4.6, the vm is not autodetected after being cloned
Request gets stuck :

[ManageiQ-fr-502] VM [vs-inf-prd-exp-fr-504] Step [CheckProvisioned] Status [Creating VM] Message [Validating New Vm] Current Retry Number [59]

If I force "Refresh Policies and Power States" in Compute -> Infrastructure -> Providers
then the vm is detected and the provisioning proceeds

evm.log

Avoid parsing the descriptions of events

Currently the oVirt provider parses the descriptions of events in order to extract details like the virtual machine name. For example, from the parse_target_name method inside the event_parser.rb file:

def self.parse_target_name(message, event_type)
    case event_type
    when "NETWORK_ADD_VM_INTERFACE"
      # sample message: "Interface nic1 (VirtIO) was added to VM v5. (User: admin@internal-authz)"
      message.split(/\s/)[7][0...-1]
    when "NETWORK_INTERFACE_PLUGGED_INTO_VM"
      # sample message: "Network Interface nic1 (VirtIO) was plugged to VM v5. (User: admin@internal)"
      message.split(/\s/)[8][0...-1]
    else
      # sample message: "VM v5 was created by admin@internal."
      message.split(/\s/)[1]
    end
end

This is very fragile, as the description of the event may change at any point without notice. For the specific events that this code is handling it is better to follow the <vm .../> link that is included in the event, and extract the virtual machine name from there:

  <event href="/ovirt-engine/api/events/99" id="99">
    <description>Interface nic2 (VirtIO) was added to VM myvm. (User: admin@internal-authz)</description>
    <code>932</code>
    ...
    <vm href="/ovirt-engine/api/vms/34bc8a23-8749-481c-a67e-dd855960cf79" id="34bc8a23-8749-481c-a67e-dd855960cf79"/>
    ...
  </event>

Using the Ruby SDK this could be done with the following code:

event = ...
vm = connection.follow_link(event.vm)
vm_name = vm.name

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/ci.yaml
  • actions/checkout v4
  • ruby/setup-ruby v1
  • paambaati/codeclimate-action v8
  • manageiq/postgresql 13

  • Check this box to trigger a request for Renovate to run again on this repository

Error "path conflicts with opaque" while setting up RHEV/oVirt Metrics connection

Howdy! I am standing up a brand new instance of ManageIQ Kasparov and attempting to connect it to a brand new instance of oVirt 4.4.4.7-1.el8. I can create and connect the infrastructure provider to oVirt and see the clusters, VMs, etc., but when I try to enable the Metrics part, it fails with the error “Validation failed: path conflicts with opaque”

Screen Shot 2021-03-02 at 5 22 34 PM

I followed the ManageIQ documentation for creating a DWH user for ManageIQ and granting it the appropriate permissions in the Postgres database, and I can connect to the database using those credentials from my ManageIQ server, so I know the firewall and credentials are correct. I’m at a loss for what could be wrong except for a version mismatch between the version of oVirt I installed and what’s supported by ManageIQ…

image

evm.log excerpt:
evm.log

rhevm.log excerpt:
rhevm.log

Appreciate the support!
Stefan

If a single inventory "futures" API call fails, the entire full inventory collection is aborted

There was an incident reported in the ManageIQ forum (http://talk.manageiq.org/t/infra-provider-wont-populate/5202) whereby a problem with a single VM caused the RHV-M API to return a 500 error in a query for that VM. This however caused the whole inventory refresh to be aborted.

Would it be possible to just skip the RHV object that was causing the refresh error and continue processing the remainder of the inventory?

Thanks,
pemcg

NetworkManager credentials aren't marked as invalid ever

If we cannot authenticate to the OVN API we do not mark the credentials as invalid so refresh and event catcher tries to run constantly. Specifically the Redhat::NetworkManager::EventCatcher restarts every 15 seconds constantly dumping errors to the logs.

This is because the authentication_status is delegated to the parent manager:
https://github.com/ManageIQ/manageiq-providers-ovirt/blob/master/app/models/manageiq/providers/redhat/network_manager.rb#L25-L30

We should at least be checking the status against the network manager API even if we use the parent_manager's authentications

[RFE] Add SSH credentials to the oVirt Manager

oVirt is adding roles and playbooks to the oVirt Manager as a way to extend operations. Not all of them are available through the API (yet?). It would be great to add SSH credentials to the oVirt Manager, in order to run these extra playbooks on the oVirt Manager, as it has password-less credentials to the whole oVirt infrastructure.

The first use case is to leverage the oVirt.v2v-conversion-host role (https://github.com/oVirt/ovirt-ansible-v2v-conversion-host) from ManageIQ, from within the V2V plugin. We could enable/disable the role from custom (naitve?) buttons, by connecting to the oVirt Manager and running the corresponding playbooks.

Further, this would allow for quick prototyping of new actions in the oVirt environment by creating roles and playbooks. Once the action and its interface (inputs and outputs) is stable, it can be exposed through the oVirt API.

Ideally, the credentials type is SSH keys, as it works better with ProxyCommand or ProxyJump options.

RHEV Refresh Fails

I've been unable to do a refresh/inventory collect using the ManageIQ ovirt provider. Credentials and URL are correct. Refresh fails with the error Failed to fetch attributes for vm

Stack trace from evm log:

---] E, [2017-11-16T20:48:44.787987 #21589:3fdcce82b12c] ERROR -- : MIQ(MiqQueue#deliver) Message id: [18845], Error: [Failed to fetch attributes for vm]
[----] E, [2017-11-16T20:48:44.788415 #21589:3fdcce82b12c] ERROR -- : [EmsRefresh::Refreshers::EmsRefresherMixin::PartialRefreshError]: Failed to fetch attributes for vm  Method:[block in method_missing]
[----] E, [2017-11-16T20:48:44.788842 #21589:3fdcce82b12c] ERROR -- : /root/.rbenv/manageiq/app/models/ems_refresh/refreshers/ems_refresher_mixin.rb:50:in `refresh'
/root/.rbenv/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:9:in `refresh'
/root/.rbenv/manageiq/app/models/ems_refresh.rb:95:in `block in refresh'
/root/.rbenv/manageiq/app/models/ems_refresh.rb:94:in `each'
/root/.rbenv/manageiq/app/models/ems_refresh.rb:94:in `refresh'
/root/.rbenv/manageiq/app/models/miq_queue.rb:449:in `block in dispatch_method'
/root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/timeout.rb:91:in `block in timeout'
/root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/timeout.rb:33:in `block in catch'
/root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/timeout.rb:33:in `catch'
/root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/timeout.rb:33:in `catch'
/root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/timeout.rb:106:in `timeout'
/root/.rbenv/manageiq/app/models/miq_queue.rb:448:in `dispatch_method'
/root/.rbenv/manageiq/app/models/miq_queue.rb:425:in `block in deliver'
/root/.rbenv/manageiq/app/models/user.rb:253:in `with_user_group'
/root/.rbenv/manageiq/app/models/miq_queue.rb:425:in `deliver'
/root/.rbenv/manageiq/app/models/miq_queue_worker_base/runner.rb:104:in `deliver_queue_message'
/root/.rbenv/manageiq/app/models/miq_queue_worker_base/runner.rb:134:in `deliver_message'
/root/.rbenv/manageiq/app/models/miq_queue_worker_base/runner.rb:152:in `block in do_work'
/root/.rbenv/manageiq/app/models/miq_queue_worker_base/runner.rb:146:in `loop'
/root/.rbenv/manageiq/app/models/miq_queue_worker_base/runner.rb:146:in `do_work'
/root/.rbenv/manageiq/app/models/miq_worker/runner.rb:329:in `block in do_work_loop'
/root/.rbenv/manageiq/app/models/miq_worker/runner.rb:326:in `loop'
/root/.rbenv/manageiq/app/models/miq_worker/runner.rb:326:in `do_work_loop'
/root/.rbenv/manageiq/app/models/miq_worker/runner.rb:153:in `run'
/root/.rbenv/manageiq/app/models/miq_worker/runner.rb:127:in `start'
/root/.rbenv/manageiq/app/models/miq_worker/runner.rb:22:in `start_worker'
/root/.rbenv/manageiq/app/models/miq_worker.rb:357:in `block in start_runner_via_fork'
/root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/root/.rbenv/manageiq/app/models/miq_worker.rb:355:in `start_runner_via_fork'
/root/.rbenv/manageiq/app/models/miq_worker.rb:349:in `start_runner'
/root/.rbenv/manageiq/app/models/miq_worker.rb:396:in `start'
/root/.rbenv/manageiq/app/models/miq_worker.rb:266:in `start_worker'
/root/.rbenv/manageiq/app/models/mixins/per_ems_worker_mixin.rb:68:in `start_worker_for_ems'
/root/.rbenv/manageiq/app/models/mixins/per_ems_worker_mixin.rb:46:in `block in sync_workers'
/root/.rbenv/manageiq/app/models/mixins/per_ems_worker_mixin.rb:45:in `each'
/root/.rbenv/manageiq/app/models/mixins/per_ems_worker_mixin.rb:45:in `sync_workers'
/root/.rbenv/manageiq/app/models/miq_server/worker_management/monitor.rb:53:in `block in sync_workers'
/root/.rbenv/manageiq/app/models/miq_server/worker_management/monitor.rb:50:in `each'
/root/.rbenv/manageiq/app/models/miq_server/worker_management/monitor.rb:50:in `sync_workers'
/root/.rbenv/manageiq/app/models/miq_server/worker_management/monitor.rb:22:in `monitor_workers'
/root/.rbenv/manageiq/app/models/miq_server.rb:329:in `block in monitor'
/root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/bundler/gems/manageiq-gems-pending-bc37126c25d0/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/bundler/gems/manageiq-gems-pending-bc37126c25d0/lib/gems/pending/util/extensions/miq-benchmark.rb:28:in `realtime_block'
/root/.rbenv/manageiq/app/models/miq_server.rb:329:in `monitor'
/root/.rbenv/manageiq/app/models/miq_server.rb:351:in `block (2 levels) in monitor_loop'
/root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/bundler/gems/manageiq-gems-pending-bc37126c25d0/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/bundler/gems/manageiq-gems-pending-bc37126c25d0/lib/gems/pending/util/extensions/miq-benchmark.rb:35:in `realtime_block'
/root/.rbenv/manageiq/app/models/miq_server.rb:351:in `block in monitor_loop'
/root/.rbenv/manageiq/app/models/miq_server.rb:350:in `loop'
/root/.rbenv/manageiq/app/models/miq_server.rb:350:in `monitor_loop'
/root/.rbenv/manageiq/app/models/miq_server.rb:234:in `start'
/root/.rbenv/manageiq/lib/workers/evm_server.rb:27:in `start'
/root/.rbenv/manageiq/lib/workers/evm_server.rb:48:in `start'
/root/.rbenv/manageiq/lib/workers/bin/evm_server.rb:4:in `<main>'
[----] I, [2017-11-16T20:48:44.789191 #21589:3fdcce82b12c]  INFO -- : MIQ(MiqQueue#delivered) Message id: [18845], State: [error], Delivered in [41.542988239] seconds

UiWorker trying to talk to the actual provider

No code run from the UI should talk to the provider directly.

Right now, trying to display a VM provisioning screen for an ovirt template (Compute > Infra > VM, toolbar Lifecycle > Provisio, pick ovirt template, press Continue) leads to:

[----] I, [2019-05-16T12:41:36.925232 #30570:2affaa46d8fc]  INFO -- : Started POST "/vm_infra/pre_prov?button=continue" for ::1 at 2019-05-16 12:41:36 +0000
[----] I, [2019-05-16T12:41:36.952298 #30570:2affaa46d8fc]  INFO -- : Processing by VmInfraController#pre_prov as JS
[----] I, [2019-05-16T12:41:36.952382 #30570:2affaa46d8fc]  INFO -- :   Parameters: {"button"=>"continue"}
[----] F, [2019-05-16T12:41:44.783372 #30570:2affaa46d8fc] FATAL -- : Error caught: [OvirtSDK4::AuthError] Error during SSO authentication: access_denied: Cannot authenticate user 'admin@internal': Unable to log in. Verify your login information or contact the system administrator..
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:473:in `create_access_token'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:643:in `internal_send'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:203:in `block in send'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:203:in `synchronize'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:203:in `send'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/service.rb:191:in `internal_get'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/services.rb:33313:in `list'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/bundler/gems/manageiq-providers-ovirt-679eebaaabf9/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:910:in `block in get_vnic_profiles_in_cluster'
/home/himdel/manageiq/app/models/ext_management_system.rb:483:in `with_provider_connection'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/bundler/gems/manageiq-providers-ovirt-679eebaaabf9/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:909:in `get_vnic_profiles_in_cluster'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/bundler/gems/manageiq-providers-ovirt-679eebaaabf9/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:867:in `private_load_allowed_networks'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/bundler/gems/manageiq-providers-ovirt-679eebaaabf9/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:113:in `load_allowed_networks'
/home/himdel/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/bundler/gems/manageiq-providers-ovirt-679eebaaabf9/app/models/manageiq/providers/redhat/infra_manager/provision_workflow.rb:230:in `load_allowed_vlans'
/home/himdel/manageiq/app/models/miq_provision_virt_workflow.rb:233:in `available_vlans_and_hosts'
/home/himdel/manageiq/app/models/miq_provision_virt_workflow.rb:220:in `allowed_vlans'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:287:in `get_field'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:274:in `block in get_all_fields'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:274:in `each_key'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:274:in `get_all_fields'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:102:in `block in init_from_dialog'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:101:in `each'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:101:in `init_from_dialog'
/home/himdel/manageiq-ui-classic/app/controllers/application_controller/miq_request_methods.rb:844:in `prov_set_form_vars'
/home/himdel/manageiq-ui-classic/app/controllers/application_controller/miq_request_methods.rb:224:in `prov_edit'
/home/himdel/manageiq-ui-classic/app/controllers/application_controller/miq_request_methods.rb:104:in `pre_prov'

A similar problem is happening in Services > Catalogs > Service Catalogs accordion, when you click on an ovirt service:

Error caught: [OvirtSDK4::ConnectionError] Can't send request: Couldn't resolve host name
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:525:in `get_sso_response'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:468:in `create_access_token'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:643:in `internal_send'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:203:in `block in send'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:203:in `synchronize'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/connection.rb:203:in `send'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/service.rb:191:in `internal_get'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/ovirt-engine-sdk-4.2.5/lib/ovirtsdk4/services.rb:33313:in `list'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/bundler/gems/manageiq-providers-ovirt-a86dcf2019da/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:910:in `block in get_vnic_profiles_in_cluster'
/home/himdel/manageiq/app/models/ext_management_system.rb:483:in `with_provider_connection'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/bundler/gems/manageiq-providers-ovirt-a86dcf2019da/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:909:in `get_vnic_profiles_in_cluster'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/bundler/gems/manageiq-providers-ovirt-a86dcf2019da/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:867:in `private_load_allowed_networks'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/bundler/gems/manageiq-providers-ovirt-a86dcf2019da/app/models/manageiq/providers/redhat/infra_manager/ovirt_services/strategies/v4.rb:113:in `load_allowed_networks'
/home/himdel/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/bundler/gems/manageiq-providers-ovirt-a86dcf2019da/app/models/manageiq/providers/redhat/infra_manager/provision_workflow.rb:230:in `load_allowed_vlans'
/home/himdel/manageiq/app/models/miq_provision_virt_workflow.rb:233:in `available_vlans_and_hosts'
/home/himdel/manageiq/app/models/miq_provision_virt_workflow.rb:220:in `allowed_vlans'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:287:in `get_field'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:274:in `block in get_all_fields'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:274:in `each_key'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:274:in `get_all_fields'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:102:in `block in init_from_dialog'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:101:in `each'
/home/himdel/manageiq/app/models/miq_request_workflow.rb:101:in `init_from_dialog'
/home/himdel/manageiq-ui-classic/app/controllers/application_controller/miq_request_methods.rb:788:in `prov_set_show_vars'
/home/himdel/manageiq-ui-classic/app/controllers/catalog_controller.rb:1730:in `get_node_info_handle_leaf_node'
/home/himdel/manageiq-ui-classic/app/controllers/catalog_controller.rb:1796:in `get_node_info'
/home/himdel/manageiq-ui-classic/app/controllers/catalog_controller.rb:1900:in `replace_right_cell'
/home/himdel/manageiq-ui-classic/app/controllers/application_controller/explorer.rb:177:in `tree_select'
/home/himdel/manageiq-ui-classic/app/controllers/catalog_controller.rb:275:in `x_show'

Can't refresh oVirt 4.2 provider

When I try to refresh an oVirt 4.2 provider, it gives me the following error:

[----] E, [2020-01-09T14:48:37.324676 #61496:3719a0] ERROR -- : [NoMethodError]: undefined method `external_provider' for nil:NilClass  Method:[block (2 levels) in <class:LogProxy>]
[----] E, [2020-01-09T14:48:37.324856 #61496:3719a0] ERROR -- : /home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:44:in `id_of_external_network?'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:519:in `block in vm_hardware_guest_devices'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:511:in `each'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:511:in `vm_hardware_guest_devices'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:439:in `vm_hardware'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:400:in `block in vms'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:348:in `each'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:348:in `vms'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/inventory/parser/infra_manager.rb:11:in `parse'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/inventory.rb:42:in `block in parse'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/inventory.rb:39:in `each'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/inventory.rb:39:in `parse'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/infra_manager/refresher.rb:57:in `block in parse_targeted_inventory'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-gems-pending-255ba904f052/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-gems-pending-255ba904f052/lib/gems/pending/util/extensions/miq-benchmark.rb:28:in `realtime_block'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-providers-ovirt-c544028e4aea/app/models/manageiq/providers/redhat/infra_manager/refresher.rb:56:in `parse_targeted_inventory'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:92:in `block in refresh_targets_for_ems'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-gems-pending-255ba904f052/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-gems-pending-255ba904f052/lib/gems/pending/util/extensions/miq-benchmark.rb:28:in `realtime_block'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:91:in `refresh_targets_for_ems'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:41:in `block (2 levels) in refresh'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-gems-pending-255ba904f052/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/home/skateman/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bundler/gems/manageiq-gems-pending-255ba904f052/lib/gems/pending/util/extensions/miq-benchmark.rb:35:in `realtime_block'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:41:in `block in refresh'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:31:in `each'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:31:in `refresh'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/manageiq/providers/base_manager/refresher.rb:11:in `refresh'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/ems_refresh.rb:93:in `block in refresh'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/ems_refresh.rb:92:in `each'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/ems_refresh.rb:92:in `refresh'
/home/skateman/Repositories/ManageIQ/manageiq/app/models/miq_queue.rb:480:in `block in dispatch_method'

OVN network_manager event catcher always fails

The Ovirt OVN service doesn't not have any service which can be used for events leaving the event_catcher to fail continuously:

[----] I, [2023-02-16T14:21:00.694829 #376658:a1f4]  INFO -- evm: ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner started. ID [350], PID [376658], GUID [f7913259-7f5f-4bba-9429-21c97bfc68c2], Zone [default], Role [automate,database_operations,database_owner,ems_inventory,event,reporting,scheduler,user_interface,web_services]
[----] I, [2023-02-16T14:21:00.694922 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#start_event_monitor) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Validating Connection/Credentials
[----] I, [2023-02-16T14:21:01.121992 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#start_event_monitor) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Starting Event Monitor Thread
[----] I, [2023-02-16T14:21:01.122281 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#start_event_monitor) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Started Event Monitor Thread
[----] I, [2023-02-16T14:21:16.266152 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#do_work) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Event Monitor Thread gone. Restarting...
[----] I, [2023-02-16T14:21:16.266621 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#start_event_monitor) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Validating Connection/Credentials
[----] I, [2023-02-16T14:21:16.266863 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#start_event_monitor) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Starting Event Monitor Thread
[----] I, [2023-02-16T14:21:16.267047 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#start_event_monitor) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Started Event Monitor Thread
[----] I, [2023-02-16T14:21:31.268889 #376658:a1f4]  INFO -- evm: MIQ(ManageIQ::Providers::Redhat::NetworkManager::EventCatcher::Runner#do_work) EMS [RHVdev1.rtp.raleigh.ibm.com] as [admin@internal] Event Monitor Thread gone. Restarting...

The only services available are "nova", "keystone", and "neutron":

    "serviceCatalog"=>
      [{"endpoints"=>
         [{"adminURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:9696/",
           "internalURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:9696/",
           "publicURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:9696/",
           "region"=>"RegionOne",
           "id"=>"00000000000000000000000000000001"}],
        "endpoints_links"=>[],
        "type"=>"network",
        "name"=>"neutron"},
       {"endpoints"=>
         [{"adminURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:35357/",
           "region"=>"RegionOne",
           "internalURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:35357/",
           "id"=>"00000000000000000000000000000002",
           "publicURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:35357/"}],
        "endpoints_links"=>[],
        "type"=>"identity",
        "name"=>"keystone"},
       {"endpoints"=>
         [{"adminURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:9696/v2.1/",
           "region"=>"RegionOne",
           "internalURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:9696/v2.1/",
           "id"=>"00000000000000000000000000000002",
           "publicURL"=>"https://RHVdev1.rtp.raleigh.ibm.com:9696/v2.1/"}],
        "endpoints_links"=>[],
        "type"=>"compute",
        "name"=>"nova"}]}}}

Q: Redefine openstack_management_url

Hello!
Anybody know can we redefine openstack_management url for network service? (mb when we create connection?)

I wanna test PoC with two instances of ovirt-provider-ovn on differents ports. (e.g. 9696 and 9697)
ovirt instance will connect to ovn using port 9696
miq instance will connect to ovn using port 9697

Switch ID and Lan ID constantly changing for ExternalDistributedVirtualSwitch

Switch ID and Lan ID constantly changing for ExternalDistributedVirtualSwitch

 #<ManageIQ::Providers::Ovirt::InfraManager::DistributedVirtualSwitch:0x00007ff649455c08
  id: 4,
  name: "awesomenet",
  ports: nil,
  created_on: Fri, 19 Apr 2024 11:32:14.906231000 UTC +00:00,
  updated_on: Fri, 19 Apr 2024 11:32:14.906231000 UTC +00:00,
  uid_ems: "63031fe4-518b-4e96-a248-ff85078f3d26",
  allow_promiscuous: nil,
  forged_transmits: nil,
  mac_changes: nil,
  switch_uuid: nil,
  shared: nil,
  mtu: nil,
  ems_id: 3,
  type: "ManageIQ::Providers::Ovirt::InfraManager::DistributedVirtualSwitch",
  health_state: nil,
  power_state: nil,
  host_id: nil>,
 #<ManageIQ::Providers::Ovirt::InfraManager::ExternalDistributedVirtualSwitch:0x00007ff6494558e8
  id: 9,
  name: "external_awesomenet",
  ports: nil,
  created_on: Fri, 19 Apr 2024 11:33:57.168437000 UTC +00:00,
  updated_on: Fri, 19 Apr 2024 11:33:57.168437000 UTC +00:00,
  uid_ems: "4d4cdbea-448a-4fe8-a691-e4bb633ce907",
  allow_promiscuous: nil,
  forged_transmits: nil,
  mac_changes: nil,
  switch_uuid: nil,
  shared: nil,
  mtu: nil,
  ems_id: 3,
  type: "ManageIQ::Providers::Ovirt::InfraManager::ExternalDistributedVirtualSwitch",
  health_state: nil,
  power_state: nil,
  host_id: nil>,

 #<ManageIQ::Providers::Ovirt::InfraManager::DistributedVirtualSwitch:0x00007ff641537b38
  id: 4,
  name: "awesomenet",
  ports: nil,
  created_on: Fri, 19 Apr 2024 11:32:14.906231000 UTC +00:00,
  updated_on: Fri, 19 Apr 2024 11:32:14.906231000 UTC +00:00,
  uid_ems: "63031fe4-518b-4e96-a248-ff85078f3d26",
  allow_promiscuous: nil,
  forged_transmits: nil,
  mac_changes: nil,
  switch_uuid: nil,
  shared: nil,
  mtu: nil,
  ems_id: 3,
  type: "ManageIQ::Providers::Ovirt::InfraManager::DistributedVirtualSwitch",
  health_state: nil,
  power_state: nil,
  host_id: nil>,
 #<ManageIQ::Providers::Ovirt::InfraManager::ExternalDistributedVirtualSwitch:0x00007ff6415379d0
  id: 11,
  name: "external_awesomenet",
  ports: nil,
  created_on: Fri, 19 Apr 2024 11:34:07.989047000 UTC +00:00,
  updated_on: Fri, 19 Apr 2024 11:34:07.989047000 UTC +00:00,
  uid_ems: "4d4cdbea-448a-4fe8-a691-e4bb633ce907",
  allow_promiscuous: nil,
  forged_transmits: nil,
  mac_changes: nil,
  switch_uuid: nil,
  shared: nil,
  mtu: nil,
  ems_id: 3,
  type: "ManageIQ::Providers::Ovirt::InfraManager::ExternalDistributedVirtualSwitch",
  health_state: nil,
  power_state: nil,
  host_id: nil>,

The logs here from latest image petrosian-1, also i tested in on jansa

Is it normal behaviour ? If yes - why?

Credential validation was not successful: undefined method 'raw_connect_v'

On current master (d6e2ab3), trying to add a RHEV provider in the UI...

==> ../manageiq/log/evm.log <==
[----] I, [2017-10-09T11:48:51.281287 #22331:2b1d8b29ba0c]  INFO -- : MIQ(ManageIQ::Providers::Redhat::InfraManager#with_provider_connection) Connecting through ManageIQ::Providers::Redhat::InfraManager: [dev-rhev36.yada.yada]
[----] E, [2017-10-09T11:48:51.886892 #22331:2b1d8b29ba0c] ERROR -- : MIQ(ManageIQ::Providers::Redhat::InfraManager#supported_api_versions_from_sdk) Error while probing supported api versions Unauthorized
[----] E, [2017-10-09T11:48:51.921184 #22331:2b1d8b29ba0c] ERROR -- : MIQ(ManageIQ::Providers::Redhat::InfraManager#verify_credentials_for_rhevm) Error while verifying credentials undefined method `raw_connect_v' for #<Class:0x007f6f7bcc56b8>
Did you mean?  raw_connect_v3
               raw_connect_v4
               raw_connect
[----] W, [2017-10-09T11:48:51.921936 #22331:2b1d8b29ba0c]  WARN -- : MIQ(ManageIQ::Providers::Redhat::InfraManager#authentication_check_no_validation) type: ["default"] for [] [dev-rhev36.yada.yada] Validation failed: invalid, undefined method `raw_connect_v' for #<Class:0x007f6f7bcc56b8>
Did you mean?  raw_connect_v3
               raw_connect_v4
               raw_connect

What seems to happen is that the connect does connect_method = "raw_connect_v#{version}".to_sym while version is nil.

version comes from version = options[:version] || highest_allowed_api_version, but options is just..

{:save=>false,                                                                        
 :database=>"ovirt_engine_history",
 :skip_supported_api_validation=>true}

and highest_allowed_api_version returns nil.

For me, use_ovirt_sdk? returns true, which means it just calls highest_supported_api_version .. which returns nil because supported_api_versions returns [].

Indeed, supported_api_versions_from_sdk returns [] ... only logging a simple

175034:[----] E, [2017-10-09T11:59:24.062447 #25248:2afcebd67e9c] ERROR -- : MIQ(ManageIQ::Providers::Redhat::InfraManager#supported_api_versions_from_sdk) Error while probing supported api versions Unauthorized

(IMHO this is a bug by itself, since it's just hiding errors from the server.).

When I fix my login info, it works :) .. but still, failing the validation with some message about the user not being authorized would be a better error than undefined method 'raw_connect_v'.

miq provider api to ovirt 4.2.0 is outdated

Please update the version 3.0 to 4.0 as state in following message.

  • message from ovirt-4.2.0 dashboard. 10.10.184.21 is from miq fine-4 and master branch of miq instances.
Client from address "10.10.184.21" is using version 3 of the API, which has been deprecated since version 4.0 of the engine, and will no longer be supported starting with version 4.3. Make sure to update that client to use a supported versions of the API and the SDKs, before upgrading to version 4.3 of the engine.

image

Hot unplug memory

I use RHV and Ovirt (4.3+) as providers
When i try to start hot reconfiguration VM (decrease CPU and RAM)
CPU decreased after restart VM, but RAM is not decreased
In automation log i see this message.

[----] I, [2019-10-21T14:33:05.212956 #862:598f80] INFO -- : Instance [/ManageIQ/System/Event/EmsEvent/RHEVM/NO_MEMORY_DEVICE_TO_HOT_UNPLUG] not found in MiqAeDatastore - trying [.missing]
[----] I, [2019-10-21T14:33:05.219186 #870:598f80] INFO -- : Updated namespace [System/event_handlers/event_action_policy ManageIQ/System]
[----] I, [2019-10-21T14:33:05.223049 #862:598f80] INFO -- : Followed Relationship [miqaedb:/System/Event/EmsEvent/RHEVM/NO_MEMORY_DEVICE_TO_HOT_UNPLUG#create]
And when i try use hot decrease memory from UI Ovirt/RHV - all works fine (memory decreased after restart)

Think that problem exists cause we have no exceptions on this event

Refactor ovirt_services and inventory

Currently these classes became to big without clear responsibility, they should be refactored into smaller classes. Perhaps a class that only does queries and another that does the operations.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.