Bug 1561964
Summary: | hosted-engine VM created with node zero misses the console device | |||
---|---|---|---|---|
Product: | [oVirt] ovirt-hosted-engine-setup | Reporter: | Yihui Zhao <yzhao> | |
Component: | General | Assignee: | Simone Tiraboschi <stirabos> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Nikolai Sednev <nsednev> | |
Severity: | urgent | Docs Contact: | ||
Priority: | urgent | |||
Version: | --- | CC: | bugs, cshao, emarcus, huzhao, irosenzw, michal.skrivanek, msivak, phbailey, qiyuan, rbarry, sbonazzo, stirabos, weiwang, yaniwang, ycui, yturgema | |
Target Milestone: | ovirt-4.3.0 | Keywords: | Reopened, Triaged | |
Target Release: | --- | Flags: | rule-engine:
ovirt-4.3+
ylavi: exception+ |
|
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: |
The serial console was missing in a self-hosted engine VM created with node zero deployment. In this release, the serial console is defined correctly.
|
Story Points: | --- | |
Clone Of: | ||||
: | 1590943 1628836 (view as bug list) | Environment: | ||
Last Closed: | 2019-02-13 07:45:06 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | Integration | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1590943, 1628836 |
Description
Yihui Zhao
2018-03-29 09:22:39 UTC
works for me on ovirt-hosted-engine-setup-2.2.16 [root@host1 ~]# hosted-engine --console The engine VM is running on this host Connected to domain HostedEngine Escape character is ^] CentOS Linux 7 (Core) Kernel 3.10.0-693.21.1.el7.x86_64 on an x86_64 she-engine login: root Password: Last login: Sun Apr 1 05:08:37 from 192.168.122.1 [root@she-engine ~]# on virsh xmldump I have: <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='virtio' port='0'/> <alias name='console0'/> </console> Also met this issue on these versions: rhvh-4.2.2.1-0.20180410.0+1 cockpit-bridge-160-3.el7.x86_64 cockpit-160-3.el7.x86_64 cockpit-dashboard-160-3.el7.x86_64 cockpit-ws-160-3.el7.x86_64 cockpit-system-160-3.el7.noarch cockpit-storaged-160-3.el7.noarch cockpit-ovirt-dashboard-0.11.20-1.el7ev.noarch ovirt-hosted-engine-setup-2.2.16-1.el7ev.noarch ovirt-hosted-engine-ha-2.2.10-1.el7ev.noarch rhvm-appliance-4.2-20180410.0.el7.noarch [root@dell-per515-02 ~]# hosted-engine --console The engine VM is running on this host Connected to domain HostedEngine Escape character is ^] error: internal error: cannot find character device <null> Ido please check on Yihui Zhao system why this happens while on your system it works. I think it could be due to https://gerrit.ovirt.org/#/c/90288/ Moving to 4.2.4 not being acknowledged as blocker for 4.2.3 As pointed out by Francesco on https://bugzilla.redhat.com/show_bug.cgi?id=1420115#c34 the XML for libvirt generated by the engine misses the console device. From the ansible playbook we are creating a regular VM and we are requiring the serial console device: https://github.com/oVirt/ovirt-hosted-engine-setup/blob/master/src/ansible/create_target_vm.yml#L109 At this point the VM is just a regular VM and the serial console works; but then we flag that VM as the hosted-engine VM explicitly setting origin=6 at DB level and at that point the console device disappears. https://github.com/oVirt/ovirt-hosted-engine-setup/blob/master/src/ansible/create_target_vm.yml#L160 The use can still try to manually edit the engine VM and set "Enable VirtIO serial console" but the checkbox seams to be always reset to False status. Manually setting origin=3 at DB level makes it working again so it seams we have some explicit restriction in the engine fro hosted-engine VM about the console device. This breaks: - hosted-engine --console - the serial console through vmconsole proxy Michal, can you help with this? cleaning NEEDINFO flag (In reply to Sandro Bonazzola from comment #8) > Michal, can you help with this? Michal, has anyone looked at this? (In reply to Simone Tiraboschi from comment #7) > As pointed out by Francesco on > https://bugzilla.redhat.com/show_bug.cgi?id=1420115#c34 > the XML for libvirt generated by the engine misses the console device. > > From the ansible playbook we are creating a regular VM and we are requiring > the serial console device: > https://github.com/oVirt/ovirt-hosted-engine-setup/blob/master/src/ansible/ > create_target_vm.yml#L109 > > At this point the VM is just a regular VM and the serial console works; but > then we flag that VM as the hosted-engine VM explicitly setting > origin=6 at DB level and at that point the console device disappears. > https://github.com/oVirt/ovirt-hosted-engine-setup/blob/master/src/ansible/ > create_target_vm.yml#L160 right, this should create the proper serial console devices, same as when you use "Enable VIRTIO serial console" checkbox. > The use can still try to manually edit the engine VM and set "Enable VirtIO > serial console" but the checkbox seams to be always reset to False status. this is most likely coming form the HE specific code then. Previously the serial console used to be disabled for HE VM (I assume), as it used it's own bare console device not supported by the rest of oVirt. These restrictions and differences are handled by SLA team - reassigning. > Manually setting origin=3 at DB level makes it working again so it seams we > have some explicit restriction in the engine fro hosted-engine VM about the > console device. likely > This breaks: > - hosted-engine --console Simone, was it changed to use the vmconsole's way of accessing console via ssh? > - the serial console through vmconsole proxy (In reply to Michal Skrivanek from comment #11) > Simone, was it changed to use the vmconsole's way of accessing console via > ssh? No it's still directly wrapping 'virsh console'. 'hosted-engine --console' is basically a troubleshooting tool to be used when the engine VM is not working as expected. Will the vmconsole work when the engine VM is not accessible over the network or something like that? (In reply to Simone Tiraboschi from comment #12) > (In reply to Michal Skrivanek from comment #11) > > Simone, was it changed to use the vmconsole's way of accessing console via > > ssh? > > No it's still directly wrapping 'virsh console'. I see. No, AFAIK virsh console requires a PTY but oVirt implementation binds it to a socket accessed through ssh from vmconsole-proxy host > 'hosted-engine --console' is basically a troubleshooting tool to be used > when the engine VM is not working as expected. > Will the vmconsole work when the engine VM is not accessible over the > network or something like that? you'd have to hook in the middle, I guess. The vmconsole-proxy requires running engine for authentication and then invokes the vmconsole-host on the target host. If you'd invoke that helper from within "hosted-engine --console" it could work Plus engine change to allow enabling it, apparently it's blocked somewhere from before when the ovirt vmconsole was disallowed for HE Tracking 4.3 side here: 4.2.5 is tracked in bug #1590943 Moving back to assigned forth to https://bugzilla.redhat.com/show_bug.cgi?id=1590943#c10. Update: Tested with rhvh-4.2.5.1-0.20180801.0+1, also met. packages: rhvm-appliance-4.2-20180801.0.el7.noarch ovirt-vmconsole-host-1.0.5-4.el7ev.noarch ovirt-node-ng-nodectl-4.2.0-0.20170814.0.el7.noarch ovirt-hosted-engine-setup-2.2.25-1.el7ev.noarch cockpit-machines-ovirt-169-1.el7.noarch ovirt-imageio-common-1.4.2-0.el7ev.noarch ovirt-imageio-daemon-1.4.2-0.el7ev.noarch cockpit-ovirt-dashboard-0.11.31-1.el7ev.noarch ovirt-host-deploy-1.7.4-1.el7ev.noarch ovirt-engine-sdk-python-3.6.9.1-1.el7ev.noarch python-ovirt-engine-sdk4-4.2.7-1.el7ev.x86_64 ovirt-vmconsole-1.0.5-4.el7ev.noarch ovirt-hosted-engine-ha-2.2.16-1.el7ev.noarch ovirt-host-4.2.3-1.el7ev.x86_64 ovirt-setup-lib-1.1.4-1.el7ev.noarch ovirt-provider-ovn-driver-1.2.13-1.el7ev.noarch ovirt-host-dependencies-4.2.3-1.el7ev.x86_64 Result: [root@localhost ~]# hosted-engine --console The engine VM is running on this host Connected to domain HostedEngine Escape character is ^] error: internal error: cannot find character device <null> Yes, met as well once over 4 attempts. I fear we still have a kind of race condition between the definition of the console device and the update of the OVF_STORE on disk. Forth to https://bugzilla.redhat.com/show_bug.cgi?id=1590943#c21, moving to verified. This bugzilla is included in oVirt 4.2.7 release, published on November 2nd 2018. Since the problem described in this bug report should be resolved in oVirt 4.2.7 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report. Closed by mistake, moving back to qa -> verified This bugzilla is included in oVirt 4.3.0 release, published on February 4th 2019. Since the problem described in this bug report should be resolved in oVirt 4.3.0 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report. |