kvm2: SSH transport, ctx-first libvirt seam, host table and span decorator
Every go-libvirt call runs under its own budget and a cancelled or overlong call kills the connection; credentials are read on every dial; one span and one log line per RPC come from a decorator applied where connections are made. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -146,7 +146,7 @@ func TestHost_table(t *testing.T) {
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
p := newProvider("kvm2-home", provider.KVMConfig{Hosts: tc.hosts})
|
||||
p := newProvider("kvm2-home", provider.KVMConfig{Hosts: tc.hosts}, &stubDialer{})
|
||||
h, err := p.host(tc.zone)
|
||||
if tc.wantErr != "" {
|
||||
if err == nil {
|
||||
@@ -250,7 +250,7 @@ func TestWithDefaults_doesNotAliasInput(t *testing.T) {
|
||||
|
||||
func TestWrapErr_carriesProviderNameOpAndID(t *testing.T) {
|
||||
t.Parallel()
|
||||
p := newProvider("kvm2-home", twoHosts())
|
||||
p := newProvider("kvm2-home", twoHosts(), &stubDialer{})
|
||||
err := p.wrapErr("get", "hosts/beelink/domains/proxy-x", permanentf("boom"))
|
||||
var pe *provider.Error
|
||||
if !errors.As(err, &pe) {
|
||||
@@ -264,7 +264,7 @@ func TestWrapErr_carriesProviderNameOpAndID(t *testing.T) {
|
||||
func TestStubs_returnPermanentWithProviderName(t *testing.T) {
|
||||
t.Parallel()
|
||||
ctx := context.Background()
|
||||
p := newProvider("kvm2-home", twoHosts())
|
||||
p := newProvider("kvm2-home", twoHosts(), &stubDialer{})
|
||||
_, createErr := p.Create(ctx, provider.CreateRequest{Name: "proxy-x"})
|
||||
inst, getErr := p.Get(ctx, "hosts/beelink/domains/proxy-x")
|
||||
deleteErr := p.Delete(ctx, "hosts/beelink/domains/proxy-x")
|
||||
|
||||
Reference in New Issue
Block a user