Merge ~bjornt/maas:bug-2053033-3.4-hotfix into maas:branch-3.4.0-hotfix-bug-2053033

Proposed by Björn Tillenius
Status: Merged
Approved by: Björn Tillenius
Approved revision: f53db3bca985d5527d58ce464c20c39b7daf6d74
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~bjornt/maas:bug-2053033-3.4-hotfix
Merge into: maas:branch-3.4.0-hotfix-bug-2053033
Diff against target: 49 lines (+25/-1)
2 files modified
src/provisioningserver/drivers/pod/tests/test_virsh.py (+23/-0)
src/provisioningserver/drivers/pod/virsh.py (+2/-1)
Reviewer Review Type Date Requested Status
MAAS Lander Needs Fixing
Björn Tillenius Approve
Review via email: mp+460504@code.launchpad.net

Commit message

Bug #2053033: Creating MAAS Virsh VM does not work (libvirt: error)

For some reason virsh prints out an error about executing
pkttyagent. This happens only on some machines, and we don't know why.

But the error seems harmless. This patch ignores the error and
lets the connection succeed.

(cherry picked from commit f0005e39bcadfc366c76e713c444739179743c84)
(cherry picked from commit 9eb3ca242e3c57f1b7ab1a1b6537ee4dfffb2aa6)

To post a comment you must log in.
Revision history for this message
Björn Tillenius (bjornt) wrote :

Self-approve backport.

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b bug-2053033-3.4-hotfix lp:~bjornt/maas/+git/maas into -b branch-3.4.0-hotfix-bug-2053033 lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/4630/console
COMMIT: f53db3bca985d5527d58ce464c20c39b7daf6d74

review: Needs Fixing
Revision history for this message
MAAS Lander (maas-lander) wrote :
Revision history for this message
MAAS Lander (maas-lander) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/provisioningserver/drivers/pod/tests/test_virsh.py b/src/provisioningserver/drivers/pod/tests/test_virsh.py
index bd1f362..f56ca9b 100644
--- a/src/provisioningserver/drivers/pod/tests/test_virsh.py
+++ b/src/provisioningserver/drivers/pod/tests/test_virsh.py
@@ -575,7 +575,30 @@ class TestVirshSSH(MAASTestCase):
575 self.assertFalse(conn.login(poweraddr=factory.make_name("poweraddr")))575 self.assertFalse(conn.login(poweraddr=factory.make_name("poweraddr")))
576 self.assertThat(mock_close, MockCalledOnceWith())576 self.assertThat(mock_close, MockCalledOnceWith())
577577
578 def test_pkttyagent_permission_denied(self):
579 # Sometimes pkttyagent can't be executed in the snap. The connection
580 # itself still works, though.
581 # See https://bugs.launchpad.net/maas/+bug/2053033
582 virsh_outputs = [
583 "libvirt: error : cannot execute binary /usr/bin/pkttyagent: Permission denied",
584 "Welcome to virsh, the virtualization interactive terminal.",
585 "",
586 "Type: 'help' for help with commands",
587 " 'quit' to quit",
588 "",
589 "virsh # ",
590 ]
591 conn = self.configure_virshssh_pexpect(virsh_outputs)
592 self.assertTrue(conn.login(poweraddr=factory.make_name("poweraddr")))
593
578 def test_login_invalid(self):594 def test_login_invalid(self):
595 virsh_outputs = ["Permission denied, please try again."]
596 conn = self.configure_virshssh_pexpect(virsh_outputs)
597 mock_close = self.patch(conn, "close")
598 self.assertFalse(conn.login(poweraddr=factory.make_name("poweraddr")))
599 mock_close.assert_called_once_with()
600
601 def test_unknown(self):
579 virsh_outputs = [factory.make_string()]602 virsh_outputs = [factory.make_string()]
580 conn = self.configure_virshssh_pexpect(virsh_outputs)603 conn = self.configure_virshssh_pexpect(virsh_outputs)
581 mock_close = self.patch(conn, "close")604 mock_close = self.patch(conn, "close")
diff --git a/src/provisioningserver/drivers/pod/virsh.py b/src/provisioningserver/drivers/pod/virsh.py
index fb2bff3..f357205 100644
--- a/src/provisioningserver/drivers/pod/virsh.py
+++ b/src/provisioningserver/drivers/pod/virsh.py
@@ -286,7 +286,8 @@ class VirshSSH(pexpect.spawn):
286 PROMPT = r"virsh \#"286 PROMPT = r"virsh \#"
287 PROMPT_SSHKEY = "(?i)are you sure you want to continue connecting"287 PROMPT_SSHKEY = "(?i)are you sure you want to continue connecting"
288 PROMPT_PASSWORD = "(?i)(?:password)|(?:passphrase for key)"288 PROMPT_PASSWORD = "(?i)(?:password)|(?:passphrase for key)"
289 PROMPT_DENIED = "(?i)permission denied"289 # Credential problems
290 PROMPT_DENIED = "(?i)permission denied, please try again"
290 PROMPT_CLOSED = "(?i)connection closed by remote host"291 PROMPT_CLOSED = "(?i)connection closed by remote host"
291292
292 PROMPTS = [293 PROMPTS = [

Subscribers

People subscribed via source and target branches