Unable to upload image to disk - due to a network error
by Alan Aguinaga
Hi. Is there a way to send an ISO to self hosted server?
Because I 've been searching for help and a lot of people complaining about it.
1 - What is the way to send ISOs to oVirt? Are there a command line tool to send ISOs to my server?
"The ISO Uploader tool has been deprecated. Red Hat recommends uploading ISO images to the data domain with the Administration Portal or with the REST API. See Section 11.8.1, “Uploading Images to a Data Storage Domain” for details."
https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/...
2 - ISO sending from portal worked for a smaller image. It could be done for OL 7.9 with 4 GB. But I am trying to upload OL 8.9 ISO with 13.5 GB and it is not finishing. It is not resuming. It started to upload. I have a configured certificate installed and ok tested connection.
I got this error: "Unable to upload image to disk a72b0da4-1bbb-453c-b846-701eef9761f6 due to a network error. Ensure ovirt-engine's CA certificate is registered as a trusted CA in the browser. The certificate can be fetched from"
It started but not finished: "Sent 1732 of 12812 MB"
This message is related to network not to certificate because it is installed otherwise it cannot even started to upload.
Are there a user-friendly way to upload a ISO to a server using any command line tool? Latter versions I can send a ISO to a storage pool and it appears in server. Now I read it is impossible. Does it impossible by now?
My is 4.4.10.7-1.0.25.el8. I am using NFS share and self hosted engine.
11 months
Ovirt engine deply error- urgently need help
by ihaqikram@gmail.com
2024-02-16 21:05:28,499+0000 DEBUG var changed: host "localhost" var "ovirt_sso_auth" type "<type 'dict'>" value: "{
"attempts": 50,
"changed": false,
"exception": "Traceback (most recent call last):\n File \"/tmp/ansible_ovirt_auth_payload_GY8VTT/ansible_ovirt_auth_payload.zip/ansible/modules/cloud/ovirt/ovirt_auth.py\", line 276, in main\n File \"/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py\", line 382, in authenticate\n self._sso_token = self._get_access_token()\n File \"/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py\", line 618, in _get_access_token\n sso_response = self._get_sso_response(self._sso_url, post_data)\n File \"/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py\", line 703, in _get_sso_response\n self._check_content_type(self.__JSON_CONTENT_TYPE_RE, 'JSON', header_lines)\n File \"/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py\", line 890, in _check_content_type\n raise Error(msg)\nError: The response content type 'text/html; charset=iso-8859-1' isn't the expected JSON\n",
"failed": true,
"msg": "The response content type 'text/html; charset=iso-8859-1' isn't the expected JSON"
}"
2024-02-16 21:05:28,499+0000 DEBUG var changed: host "localhost" var "ansible_play_hosts" type "<type 'list'>" value: "[]"
2024-02-16 21:05:28,499+0000 DEBUG var changed: host "localhost" var "play_hosts" type "<type 'list'>" value: "[]"
2024-02-16 21:05:28,499+0000 DEBUG var changed: host "localhost" var "ansible_play_batch" type "<type 'list'>" value: "[]"
2024-02-16 21:05:28,500+0000 ERROR ansible failed {'status': 'FAILED', 'ansible_type': 'task', 'ansible_task': u'Obtain SSO token using username/password credentials', 'ansible_result': u'type: <type \'dict\'>\nstr: {u\'exception\': u\'Traceback (most recent call last):\\n File "/tmp/ansible_ovirt_auth_payload_GY8VTT/ansible_ovirt_auth_payload.zip/ansible/modules/cloud/ovirt/ovirt_auth.py", line 276, in main\\n File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 382, in authenticate\\n self._ss', 'task_duration': 955, 'ansible_host': u'localhost', 'ansible_playbook': u'/usr/share/ovirt-hosted-engine-setup/ansible/trigger_role.yml'}
2024-02-16 21:05:28,500+0000 DEBUG ansible on_any args <ansible.executor.task_result.TaskResult object at 0x7f70e7500750> kwargs ignore_errors:None
2024-02-16 21:05:28,506+0000 INFO ansible stats {
"ansible_playbook": "/usr/share/ovirt-hosted-engine-setup/ansible/trigger_role.yml",
"ansible_playbook_duration": "16:00 Minutes",
"ansible_result": "type: <type 'dict'>\nstr: {u'localhost': {'ignored': 0, 'skipped': 1, 'ok': 4, 'failures': 1, 'unreachable': 0, 'rescued': 0, 'changed': 0}}",
"ansible_type": "finish",
"status": "FAILED"
}
2024-02-16 21:05:28,506+0000 INFO SUMMARY:
Duration Task Name
-------- --------
[ < 1 sec ] Execute just a specific set of steps
[ 00:01 ] Force facts gathering
[ < 1 sec ] Check local VM dir stat
[ FAILED ] Obtain SSO token using username/password credentials
2024-02-16 21:05:28,507+0000 DEBUG ansible on_any args <ansible.executor.stats.AggregateStats object at 0x7f70f6095690> kwargs
11 months
Urgent: Assistance Needed - oVirt Host Unresponsive
by Sachendra Shukla
HI Team,
I am writing to inform you about an issue we are currently facing with our
oVirt host. Unfortunately, the host has become unresponsive, and our
attempts to place it in maintenance mode have been unsuccessful.
Additionally, when checking the VDSM status, we encountered an error.
Here is a snapshot for your reference:
[image: image.png]
VDSM error -
[image: image.png]
--
Regards,
Sachendra Shukla
Yagna iQ, Inc. and subsidiaries
HQ Address: Yagna iQ Inc. 7700 Windrose Ave, Suite G300, Plano, TX 75024,
USA 75024,
Website: https://yagnaiq.com
Contact Customer Support: support(a)yagnaiq.com
Privacy Policy: https://www.yagnaiq.com/privacy-policy/
*This communication and any attachments may contain confidential
information and/or copyright material of Yagna iQ, Inc. *
All unauthorized use, disclosure or distribution is prohibited. If you are
not the intended recipient, please notify Yagna iQ immediately by replying
to the email and destroy all copies of this communication.
This email has been scanned for all known viruses. The sender does not
accept liability for any damage inflicted by viewing the content of this
email.
11 months
change iscsi auth on hosted engine storage domain
by Jirka Simon
Hello oVirt community,
I have hosted engine on iSCSI storage without any authentication, I
would like to change it. Is there any way how to do it without redeploy
hosted engine ?
Thank you for any help.
Jirka
11 months
Internal pentest result : Ovirt-engine authentication bypass
by Jirka Simon
Hello ovirt comunity.
We had an internal pentest here and one finding is
*Ovirt-engine authentication bypass.*
Ovirt-engine, as deployed on ovirtm.XXX.XXX.cz, contains an
authentication bypass. It is
possible to directly call the CreateUserSessionCommand using runAction
exposed by /ovirt-
engine/webadmin/GenericApiGWTService.
*This action explicitly enables everyone to call it:*
```/
@Override
protected boolean isUserAuthorizedToRunAction() {
return true;
}
/```
The behavior of this call differs based on the
ENGINE_SSO_ENABLE_EXTERNAL_SSO configuration
option:
```
/boolean externalSsoEnabled =
EngineLocalConfig.getInstance().getBoolean("ENGINE_SSO_ENABLE_EXTERNAL_SSO");
DbUser dbUser = externalSsoEnabled ?
dbUserDao.getByUsernameAndDomain(params.getPrincipalName(), authzName) :
dbUserDao.getByExternalId(authzName, params.getPrincipalId());/
```
If this option is enabled, usernames are used to locate users. If it's
disabled, the externalId
(which seems to be a randomly generated GUID) is used to locate users.
If the specified user exists, a session is returned for the user. If the
specified user doesn't exist,
the user is created in the system. However, the user doesn't get
assigned any group membership
or rights, therefore the session creation fails because of the missing
Login right.
The attempt to modify the users table can be seen in the SQL error
message when attempting to
use a null value for the username (as the endpoint uses GWT, the payload
is mostly unreadable):
```
/POST /ovirt-engine/webadmin/GenericApiGWTService HTTP/1.1
Host: ovirtm.xxx.xxx.cz
14
Final Report: Results of penetration testing (internal, external, Wi-Fi)
21 December 2023
Cookie: JSESSIONID=wsp3WAo63LZGHfpB__stEt4lZ7z_zZycpzIprNlT.ovirtm45;
Content-Type: text/x-gwt-rpc; charset=utf-8
X-GWT-Module-Base: https://ovirtm.xxx.xx.cz/ovirt-engine/webadmin
X-GWT-Permutation: D7ECB5EF5E29205D18271CC08183A28D
Ovirt-Xsrf-Token:
4D87D03B631F8506FC668AA4C3FE3F443D723A9F379FDBB8B0D6DA0668650375
Content-Length: 869
7|0|23|https://ovirtm.xxx.xxx.cz/ovirt-
engine/webadmin|0D1B4DEE9D1424E18C443F1CD1C11574|org.ovirt.engine.ui.frontend.gwtservices.GenericApiGWT
Service|runAction|org.ovirt.engine.core.common.action.ActionType/2930387551|org.ovirt.engine.core.commo
n.action.ActionParametersBase/2903049429|org.ovirt.engine.core.common.action.CreateUserSessionParameter
s/2744166832|appScope|email|firstName|java.util.ArrayList/4159755760|lastName|namespace|principalId|adm
in|internal|sourceIp|ssoScope|ssoToken|org.ovirt.engine.core.common.action.ActionParametersBase$EndProc
edure/1568822488|java.util.Collections$EmptyMap/4174664486|org.ovirt.engine.core.common.businessentitie
s.VDSStatus/1938301532|org.ovirt.engine.core.compat.TransactionScopeOption/1475850853|1|2|3|4|2|5|6|5|2
01|7|0|8|9|10|11|0|12|13|14|0|16|17|18|19|0|5|0|0|0|0|20|1|0|11|0|0|0|0|0|0|21|0|-
4|22|0|1|0|1|23|2|0|0|0|
HTTP/1.1 200 OK
Date: Fri, 15 Dec 2023 09:42:35 GMT
Server: Apache/2.4.37 (CentOS Stream) OpenSSL/1.1.1k mod_auth_gssapi/1.6.1
Expires: Thu, 14 Dec 2023 09:42:35 GMT
Cache-Control: no-cache, no-store, must-revalidate
Set-Cookie: locale=cs_CZ; path=/; secure; HttpOnly; Max-Age=2147483647;
Expires=Wed, 02-Jan-2092
12:56:42 GMT
X-XSS-PROTECTION: 1; MODE=BLOCK
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
Content-Disposition: attachment
X-CONTENT-TYPE-OPTIONS: NOSNIFF
Content-Length: 1794
Content-Type: application/json;charset=utf-8
Correlation-Id: 664c1c1f-9a75-4e14-94d7-aba12c5442f5
Connection: close
//OK[0,5,4,8,3,1,2,474,7,6,1,0,2,0,2,5,1,0,4,3,1,2,0,2,1,1,["org.ovirt.engine.core.common.action.Action
ReturnValue/4163585948","java.util.ArrayList/4159755760","java.lang.String/2004016611","ENGINE","","org
.ovirt.engine.core.common.errors.EngineFault/2377218566","org.ovirt.engine.core.common.errors.EngineErr
or/2640515959","ERROR: null value in column \"username\" violates
not-null constraint\n Detail:
Failing row contains (6dad5e2f-7c95-4547-8f08-6936494c91b6, firstName,
lastName, internal-authz, null,
, email, , f, principalId, 2023-12-14 17:51:04.757747+01, 2023-12-15
10:42:35.125994+01, namespace,
firstName(a)internal-authz).\n Where: SQL statement \"UPDATE users\n SET
department \u003D
v_department,\n domain \u003D v_domain,\n email \u003D v_email,\n name
\u003D
v_name,\n note \u003D v_note,\n surname \u003D v_surname,\n username \u003D
v_username,\n external_id \u003D v_external_id,\n namespace \u003D
v_namespace,\n
_update_date \u003D CURRENT_TIMESTAMP\n WHERE external_id \u003D
v_external_id\n AND domain
\u003D v_domain\"\nPL/pgSQL function updateuserimpl(character
varying,character varying,character
varying,character varying,character varying,character
varying,uuid,character varying,text,character
varying) line 5 at SQL statement\nSQL statement \"SELECT
UpdateUserImpl(\n v_department,\n
v_domain,\n v_email,\n v_name,\n v_note,\n v_surname,\n v_user_id,\n
v_username,\n v_external_id,\n v_namespace)\"\nPL/pgSQL function
updateuser(character
varying,character varying,character varying,character varying,character
varying,character
varying,uuid,character varying,boolean,text,character varying) line 3 at
PERFORM"],0,7]/
```
Fortunately, in our deplyoment the ENGINE_SSO_ENABLE_EXTERNAL_SSO
configuration was
set to false, so to create a session for the admin it would be necessary
to know the admin's user
externalId. However, as this is not the default configuration, it is
possible that a later
reinstallation could change the value. Still, it was possible to create
users in the system without
any authentication.
What is the best way to report this security issue?
Thank you
Jirka
11 months
hosted-engine --deploy fails, apparently due to not finding storage pool
by iucounu@gmail.com
Hi,
I'm trying to deploy a self hosted engine, and it gets to 'Wait for the host to be up' and then fails about 20mins later. Checking the hosted engine setup log, the failure seems to be to do with a storage pool not being found (see error below). Is this error referring to the storage pool that the hosted engine will use? The setup script does not ask me what kind of storage I want to use, or the path for it, does it auto detect this? The host I am running the engine setup on is part of a gluster cluster, which I have provisioned for this purpose. Do I need to edit a file somewhere to specify this, or is there something else I need to do (permissions etc)? The hosted engine VM itself comes up fine, and I can get a console on it via virsh.
Thanks for any help,
kind regards,
Cam
2024-02-08 16:39:04,438+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 {'changed': True, 'stdout': '', 'stderr': "error: failed to get pool 'localvm0bod0wzw'\nerror: Storage pool not found: no storage pool with matching name 'localvm0bod0wzw'", 'rc': 1, 'cmd': ['virsh', '-c', 'qemu:///system?authfile=/etc/ovirt-hosted-engine/virsh_auth.conf', 'pool-destroy', 'localvm0bod0wzw'], 'start': '2024-02-08 16:39:04.246510', 'end': '2024-02-08 16:39:04.301790', 'delta': '0:00:00.055280', 'msg': 'non-zero return code', 'invocation': {'module_args': {'_raw_params': 'virsh -c qemu:///system?authfile=/etc/ovirt-hosted-engine/virsh_auth.conf pool-destroy localvm0bod0wzw', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stdout_lines': [], 'stderr_lines': ["error: failed to get pool 'localvm0bod0wzw'", "error: Storage pool not fou
nd: no storage pool with matching name 'localvm0bod0wzw'"], '_ansible_no_log': None}
2024-02-08 16:39:04,539+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 ignored: [localhost]: FAILED! => {"changed": true, "cmd": ["virsh", "-c", "qemu:///system?authfile=/etc/ovirt-hosted-engine/virsh_auth.conf", "pool-destroy", "localvm0bod0wzw"], "delta": "0:00:00.055280", "end": "2024-02-08 16:39:04.301790", "msg": "non-zero return code", "rc": 1, "start": "2024-02-08 16:39:04.246510", "stderr": "error: failed to get pool 'localvm0bod0wzw'\nerror: Storage pool not found: no storage pool with matching name 'localvm0bod0wzw'", "stderr_lines": ["error: failed to get pool 'localvm0bod0wzw'", "error: Storage pool not found: no storage pool with matching name 'localvm0bod0wzw'"], "stdout": "", "stdout_lines": []}
2024-02-08 16:39:04,839+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 {'changed': True, 'stdout': '', 'stderr': "error: failed to get pool 'localvm0bod0wzw'\nerror: Storage pool not found: no storage pool with matching name 'localvm0bod0wzw'", 'rc': 1, 'cmd': ['virsh', '-c', 'qemu:///system?authfile=/etc/ovirt-hosted-engine/virsh_auth.conf', 'pool-undefine', 'localvm0bod0wzw'], 'start': '2024-02-08 16:39:04.638774', 'end': '2024-02-08 16:39:04.691953', 'delta': '0:00:00.053179', 'msg': 'non-zero return code', 'invocation': {'module_args': {'_raw_params': 'virsh -c qemu:///system?authfile=/etc/ovirt-hosted-engine/virsh_auth.conf pool-undefine localvm0bod0wzw', '_uses_shell': False, 'stdin_add_newline': True, 'strip_empty_ends': True, 'argv': None, 'chdir': None, 'executable': None, 'creates': None, 'removes': None, 'stdin': None}}, 'stdout_lines': [], 'stderr_lines': ["error: failed to get pool 'localvm0bod0wzw'", "error: Storage pool not f
ound: no storage pool with matching name 'localvm0bod0wzw'"], '_ansible_no_log': None}
2024-02-08 16:39:04,940+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 ignored: [localhost]: FAILED! => {"changed": true, "cmd": ["virsh", "-c", "qemu:///system?authfile=/etc/ovirt-hosted-engine/virsh_auth.conf", "pool-undefine", "localvm0bod0wzw"], "delta": "0:00:00.053179", "end": "2024-02-08 16:39:04.691953", "msg": "non-zero return code", "rc": 1, "start": "2024-02-08 16:39:04.638774", "stderr": "error: failed to get pool 'localvm0bod0wzw'\nerror: Storage pool not found: no storage pool with matching name 'localvm0bod0wzw'", "stderr_lines": ["error: failed to get pool 'localvm0bod0wzw'", "error: Storage pool not found: no storage pool with matching name 'localvm0bod0wzw'"], "stdout": "", "stdout_lines": []}
2024-02-08 16:39:05,141+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 {'msg': 'The task includes an option with an undefined variable. The error was: \'local_vm_disk_path\' is undefined. \'local_vm_disk_path\' is undefined\n\nThe error appears to be in \'/usr/share/ansible/collections/ansible_collections/ovirt/ovirt/roles/hosted_engine_setup/tasks/clean_local_storage_pools.yml\': line 16, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n changed_when: true\n - name: Destroy local storage-pool {{ local_vm_disk_path.split(\'/\')[5] }}\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - "{{ foo }}"\n', '_ansible_no_log': False}
2024-02-08 16:39:05,241+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 ignored: [localhost]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'local_vm_disk_path' is undefined. 'local_vm_disk_path' is undefined\n\nThe error appears to be in '/usr/share/ansible/collections/ansible_collections/ovirt/ovirt/roles/hosted_engine_setup/tasks/clean_local_storage_pools.yml': line 16, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n changed_when: true\n - name: Destroy local storage-pool {{ local_vm_disk_path.split('/')[5] }}\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - \"{{ foo }}\"\n"}
2024-02-08 16:39:05,442+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 {'msg': 'The task includes an option with an undefined variable. The error was: \'local_vm_disk_path\' is undefined. \'local_vm_disk_path\' is undefined\n\nThe error appears to be in \'/usr/share/ansible/collections/ansible_collections/ovirt/ovirt/roles/hosted_engine_setup/tasks/clean_local_storage_pools.yml\': line 22, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n changed_when: true\n - name: Undefine local storage-pool {{ local_vm_disk_path.split(\'/\')[5] }}\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - "{{ foo }}"\n', '_ansible_no_log': False}
2024-02-08 16:39:05,543+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 ignored: [localhost]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'local_vm_disk_path' is undefined. 'local_vm_disk_path' is undefined\n\nThe error appears to be in '/usr/share/ansible/collections/ansible_collections/ovirt/ovirt/roles/hosted_engine_setup/tasks/clean_local_storage_pools.yml': line 22, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n changed_when: true\n - name: Undefine local storage-pool {{ local_vm_disk_path.split('/')[5] }}\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - \"{{ foo }}\"\n"}
2024-02-08 16:39:05,643+0000 DEBUG otopi.ovirt_hosted_engine_setup.ansible_utils ansible_utils._process_output:109 PLAY RECAP [localhost] : ok: 22 changed: 4 unreachable: 0 skipped: 2 failed: 0
11 months, 1 week