fix: replace log with slog
This commit is contained in:
10
helper.go
10
helper.go
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
@@ -50,24 +50,24 @@ func authenticatedRequest(method, url, authorization string, urlparams url.Value
|
|||||||
|
|
||||||
request, err := http.NewRequest(method, url, body)
|
request, err := http.NewRequest(method, url, body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error: ", err)
|
slog.Error("Error creating request", "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
request.Header.Set("Authorization", authorization)
|
request.Header.Set("Authorization", authorization)
|
||||||
|
|
||||||
resp, err := client.Do(request)
|
resp, err := client.Do(request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error: ", err)
|
slog.Error("Error executing request", "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := io.ReadAll(resp.Body)
|
data, err := io.ReadAll(resp.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error: ", err)
|
slog.Error("Error reading response", "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("URL: ", method, "Status Code:", resp.Status, "Body: ", string(data))
|
slog.Debug("Executed Request", "url", method, "status code", resp.Status, "body", string(data))
|
||||||
|
|
||||||
return data, nil
|
return data, nil
|
||||||
}
|
}
|
||||||
|
|||||||
34
lxc.go
34
lxc.go
@@ -4,7 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -29,7 +29,7 @@ func parseLXCProperties(data json.RawMessage) (*LXCProperties, error) {
|
|||||||
func (p *Plugin) CreateLXC(ctx context.Context, req *resource.CreateRequest) (*resource.CreateResult, error) {
|
func (p *Plugin) CreateLXC(ctx context.Context, req *resource.CreateRequest) (*resource.CreateResult, error) {
|
||||||
props, err := parseLXCProperties(req.Properties)
|
props, err := parseLXCProperties(req.Properties)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err.Error())
|
slog.Error(err.Error())
|
||||||
return &resource.CreateResult{
|
return &resource.CreateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -42,7 +42,7 @@ func (p *Plugin) CreateLXC(ctx context.Context, req *resource.CreateRequest) (*r
|
|||||||
|
|
||||||
config, err := parseTargetConfig(req.TargetConfig)
|
config, err := parseTargetConfig(req.TargetConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err.Error())
|
slog.Error(err.Error())
|
||||||
return &resource.CreateResult{
|
return &resource.CreateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -55,7 +55,7 @@ func (p *Plugin) CreateLXC(ctx context.Context, req *resource.CreateRequest) (*r
|
|||||||
|
|
||||||
username, token, err := getCredentials()
|
username, token, err := getCredentials()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err.Error())
|
slog.Error(err.Error())
|
||||||
return &resource.CreateResult{
|
return &resource.CreateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -83,6 +83,7 @@ func (p *Plugin) CreateLXC(ctx context.Context, req *resource.CreateRequest) (*r
|
|||||||
data, err := authenticatedRequest(http.MethodPost, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc", createAuthorizationString(username, token), urlparams)
|
data, err := authenticatedRequest(http.MethodPost, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc", createAuthorizationString(username, token), urlparams)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.CreateResult{
|
return &resource.CreateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -98,6 +99,7 @@ func (p *Plugin) CreateLXC(ctx context.Context, req *resource.CreateRequest) (*r
|
|||||||
err = json.Unmarshal(data, &taskData)
|
err = json.Unmarshal(data, &taskData)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.CreateResult{
|
return &resource.CreateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -121,6 +123,7 @@ func (p *Plugin) CreateLXC(ctx context.Context, req *resource.CreateRequest) (*r
|
|||||||
func (p *Plugin) ReadLXC(ctx context.Context, req *resource.ReadRequest) (*resource.ReadResult, error) {
|
func (p *Plugin) ReadLXC(ctx context.Context, req *resource.ReadRequest) (*resource.ReadResult, error) {
|
||||||
username, token, err := getCredentials()
|
username, token, err := getCredentials()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.ReadResult{
|
return &resource.ReadResult{
|
||||||
ErrorCode: resource.OperationErrorCodeInvalidRequest,
|
ErrorCode: resource.OperationErrorCodeInvalidRequest,
|
||||||
}, err
|
}, err
|
||||||
@@ -128,11 +131,13 @@ func (p *Plugin) ReadLXC(ctx context.Context, req *resource.ReadRequest) (*resou
|
|||||||
|
|
||||||
config, err := parseTargetConfig(req.TargetConfig)
|
config, err := parseTargetConfig(req.TargetConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.ReadResult{}, nil
|
return &resource.ReadResult{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := authenticatedRequest(http.MethodGet, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+req.NativeID+"/config", createAuthorizationString(username, token), nil)
|
data, err := authenticatedRequest(http.MethodGet, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+req.NativeID+"/config", createAuthorizationString(username, token), nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.ReadResult{
|
return &resource.ReadResult{
|
||||||
ErrorCode: resource.OperationErrorCodeNetworkFailure,
|
ErrorCode: resource.OperationErrorCodeNetworkFailure,
|
||||||
}, err
|
}, err
|
||||||
@@ -142,7 +147,7 @@ func (p *Plugin) ReadLXC(ctx context.Context, req *resource.ReadRequest) (*resou
|
|||||||
|
|
||||||
err = json.Unmarshal(data, &props)
|
err = json.Unmarshal(data, &props)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error unmarshaling json: ", data)
|
slog.Error("Error unmarshalling json", "data", data, "err", err.Error())
|
||||||
return &resource.ReadResult{
|
return &resource.ReadResult{
|
||||||
ErrorCode: resource.OperationErrorCodeInvalidRequest,
|
ErrorCode: resource.OperationErrorCodeInvalidRequest,
|
||||||
}, err
|
}, err
|
||||||
@@ -161,6 +166,7 @@ func (p *Plugin) ReadLXC(ctx context.Context, req *resource.ReadRequest) (*resou
|
|||||||
|
|
||||||
propsJSON, err := json.Marshal(properties)
|
propsJSON, err := json.Marshal(properties)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.ReadResult{
|
return &resource.ReadResult{
|
||||||
ErrorCode: resource.OperationErrorCodeInternalFailure,
|
ErrorCode: resource.OperationErrorCodeInternalFailure,
|
||||||
}, err
|
}, err
|
||||||
@@ -175,6 +181,7 @@ func (p *Plugin) ReadLXC(ctx context.Context, req *resource.ReadRequest) (*resou
|
|||||||
func (p *Plugin) UpdateLXC(ctx context.Context, req *resource.UpdateRequest) (*resource.UpdateResult, error) {
|
func (p *Plugin) UpdateLXC(ctx context.Context, req *resource.UpdateRequest) (*resource.UpdateResult, error) {
|
||||||
prior, err := parseLXCProperties(req.PriorProperties)
|
prior, err := parseLXCProperties(req.PriorProperties)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.UpdateResult{
|
return &resource.UpdateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationUpdate,
|
Operation: resource.OperationUpdate,
|
||||||
@@ -187,6 +194,7 @@ func (p *Plugin) UpdateLXC(ctx context.Context, req *resource.UpdateRequest) (*r
|
|||||||
|
|
||||||
desir, err := parseLXCProperties(req.DesiredProperties)
|
desir, err := parseLXCProperties(req.DesiredProperties)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.UpdateResult{
|
return &resource.UpdateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationUpdate,
|
Operation: resource.OperationUpdate,
|
||||||
@@ -218,7 +226,7 @@ func (p *Plugin) UpdateLXC(ctx context.Context, req *resource.UpdateRequest) (*r
|
|||||||
|
|
||||||
config, err := parseTargetConfig(req.TargetConfig)
|
config, err := parseTargetConfig(req.TargetConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err.Error())
|
slog.Error(err.Error())
|
||||||
return &resource.UpdateResult{
|
return &resource.UpdateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -231,6 +239,7 @@ func (p *Plugin) UpdateLXC(ctx context.Context, req *resource.UpdateRequest) (*r
|
|||||||
|
|
||||||
username, token, err := getCredentials()
|
username, token, err := getCredentials()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.UpdateResult{
|
return &resource.UpdateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationUpdate,
|
Operation: resource.OperationUpdate,
|
||||||
@@ -255,6 +264,7 @@ func (p *Plugin) UpdateLXC(ctx context.Context, req *resource.UpdateRequest) (*r
|
|||||||
_, err = authenticatedRequest("PUT", config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+desir.VMID+"/config", createAuthorizationString(username, token), urlparams)
|
_, err = authenticatedRequest("PUT", config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+desir.VMID+"/config", createAuthorizationString(username, token), urlparams)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.UpdateResult{
|
return &resource.UpdateResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -284,7 +294,7 @@ func (p *Plugin) UpdateLXC(ctx context.Context, req *resource.UpdateRequest) (*r
|
|||||||
func (p *Plugin) DeleteLXC(ctx context.Context, req *resource.DeleteRequest) (*resource.DeleteResult, error) {
|
func (p *Plugin) DeleteLXC(ctx context.Context, req *resource.DeleteRequest) (*resource.DeleteResult, error) {
|
||||||
config, err := parseTargetConfig(req.TargetConfig)
|
config, err := parseTargetConfig(req.TargetConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err.Error())
|
slog.Error(err.Error())
|
||||||
return &resource.DeleteResult{
|
return &resource.DeleteResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -297,7 +307,7 @@ func (p *Plugin) DeleteLXC(ctx context.Context, req *resource.DeleteRequest) (*r
|
|||||||
|
|
||||||
username, token, err := getCredentials()
|
username, token, err := getCredentials()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err.Error())
|
slog.Error(err.Error())
|
||||||
return &resource.DeleteResult{
|
return &resource.DeleteResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -311,6 +321,7 @@ func (p *Plugin) DeleteLXC(ctx context.Context, req *resource.DeleteRequest) (*r
|
|||||||
_, err = authenticatedRequest(http.MethodDelete, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+req.NativeID, createAuthorizationString(username, token), nil)
|
_, err = authenticatedRequest(http.MethodDelete, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc/"+req.NativeID, createAuthorizationString(username, token), nil)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.DeleteResult{
|
return &resource.DeleteResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCreate,
|
Operation: resource.OperationCreate,
|
||||||
@@ -347,7 +358,7 @@ type RequestStatusProxmoxResponse struct {
|
|||||||
func (p *Plugin) StatusLXC(ctx context.Context, req *resource.StatusRequest) (*resource.StatusResult, error) {
|
func (p *Plugin) StatusLXC(ctx context.Context, req *resource.StatusRequest) (*resource.StatusResult, error) {
|
||||||
config, err := parseTargetConfig(req.TargetConfig)
|
config, err := parseTargetConfig(req.TargetConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err.Error())
|
slog.Error(err.Error())
|
||||||
return &resource.StatusResult{
|
return &resource.StatusResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCheckStatus,
|
Operation: resource.OperationCheckStatus,
|
||||||
@@ -360,6 +371,7 @@ func (p *Plugin) StatusLXC(ctx context.Context, req *resource.StatusRequest) (*r
|
|||||||
|
|
||||||
username, token, err := getCredentials()
|
username, token, err := getCredentials()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.StatusResult{
|
return &resource.StatusResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCheckStatus,
|
Operation: resource.OperationCheckStatus,
|
||||||
@@ -376,6 +388,7 @@ func (p *Plugin) StatusLXC(ctx context.Context, req *resource.StatusRequest) (*r
|
|||||||
|
|
||||||
err = json.Unmarshal(data, &proxmoxResponse)
|
err = json.Unmarshal(data, &proxmoxResponse)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.StatusResult{
|
return &resource.StatusResult{
|
||||||
ProgressResult: &resource.ProgressResult{
|
ProgressResult: &resource.ProgressResult{
|
||||||
Operation: resource.OperationCheckStatus,
|
Operation: resource.OperationCheckStatus,
|
||||||
@@ -407,6 +420,7 @@ func (p *Plugin) ListLXC(ctx context.Context, req *resource.ListRequest) (*resou
|
|||||||
|
|
||||||
username, token, err := getCredentials()
|
username, token, err := getCredentials()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.ListResult{
|
return &resource.ListResult{
|
||||||
NativeIDs: []string{},
|
NativeIDs: []string{},
|
||||||
}, err
|
}, err
|
||||||
@@ -414,6 +428,7 @@ func (p *Plugin) ListLXC(ctx context.Context, req *resource.ListRequest) (*resou
|
|||||||
|
|
||||||
config, err := parseTargetConfig(req.TargetConfig)
|
config, err := parseTargetConfig(req.TargetConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.ListResult{
|
return &resource.ListResult{
|
||||||
NativeIDs: []string{},
|
NativeIDs: []string{},
|
||||||
}, err
|
}, err
|
||||||
@@ -423,6 +438,7 @@ func (p *Plugin) ListLXC(ctx context.Context, req *resource.ListRequest) (*resou
|
|||||||
|
|
||||||
data, err := authenticatedRequest(http.MethodGet, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc", createAuthorizationString(username, token), nil)
|
data, err := authenticatedRequest(http.MethodGet, config.URL+"/api2/json/nodes/"+config.NODE+"/lxc", createAuthorizationString(username, token), nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
return &resource.ListResult{
|
return &resource.ListResult{
|
||||||
NativeIDs: []string{},
|
NativeIDs: []string{},
|
||||||
}, err
|
}, err
|
||||||
|
|||||||
@@ -3,10 +3,9 @@ package main
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"log"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -170,7 +169,7 @@ func TestList(t *testing.T) {
|
|||||||
})
|
})
|
||||||
require.NoError(t, err, "ListRequest should not return an error")
|
require.NoError(t, err, "ListRequest should not return an error")
|
||||||
|
|
||||||
log.Printf("Received Ids: %s", strings.Join(result.NativeIDs, ", "))
|
slog.Info("Received Ids", "ids", result.NativeIDs)
|
||||||
|
|
||||||
require.Contains(t, result.NativeIDs, "200", "List should include created LXC")
|
require.Contains(t, result.NativeIDs, "200", "List should include created LXC")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user