From 066afb15b42189bfa04360c52a08f534542e25ae Mon Sep 17 00:00:00 2001 From: ston1th Date: Sun, 28 Nov 2021 12:38:37 +0100 Subject: [PATCH] more int fixes --- server.go | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/server.go b/server.go index fb6079e..77117be 100644 --- a/server.go +++ b/server.go @@ -221,17 +221,22 @@ type ServerClient struct { } func (c *ServerClient) NextID(ctx context.Context) (id int, err error) { + id = -1 req, err := c.client.NewRequest(ctx, "GET", "/cluster/nextid", nil) if err != nil { return } - _, err = c.client.Do(req, &id) - return + var sid string + _, err = c.client.Do(req, &sid) + if err != nil { + return + } + return strconv.Atoi(sid) } func (c *ServerClient) getConfig(ctx context.Context, ref *ServerRef) (cfg serverConfig, err error) { cfg = make(serverConfig) - req, err := c.client.NewRequest(ctx, "GET", fmt.Sprintf("/nodes/%s/qemu/%s/config?current=1", ref.Node, ref.ID), nil) + req, err := c.client.NewRequest(ctx, "GET", fmt.Sprintf("/nodes/%s/qemu/%d/config?current=1", ref.Node, ref.ID), nil) if err != nil { return } @@ -342,7 +347,7 @@ func (c *ServerClient) CreateFromTemplate(ctx context.Context, opts *ServerTempl body["target"] = opts.TargetNode } url = NewURL(opts.Pool, node, nextid) - req, err := c.client.NewRequest(ctx, "POST", fmt.Sprintf("/nodes/%s/qemu/%s/clone", opts.TemplateNode, opts.TemplateID), body.Reader()) + req, err := c.client.NewRequest(ctx, "POST", fmt.Sprintf("/nodes/%s/qemu/%d/clone", opts.TemplateNode, opts.TemplateID), body.Reader()) if err != nil { return } @@ -381,7 +386,7 @@ func (c *ServerClient) Stop(ctx context.Context, ref *ServerRef) (t *Task, err e } func (c *ServerClient) setStatus(ctx context.Context, ref *ServerRef, status string) (t *Task, err error) { - req, err := c.client.NewRequest(ctx, "POST", fmt.Sprintf("/nodes/%s/qemu/%s/status/%s", ref.Node, ref.ID, status), nil) + req, err := c.client.NewRequest(ctx, "POST", fmt.Sprintf("/nodes/%s/qemu/%d/status/%s", ref.Node, ref.ID, status), nil) if err != nil { return } @@ -409,7 +414,7 @@ func (c *ServerClient) GetStatus(ctx context.Context, s *Server, lock *string) ( lockval = *lock } var status statusObj - req, err := c.client.NewRequest(ctx, "GET", fmt.Sprintf("/nodes/%s/qemu/%s/status/current", s.Node, s.ID), nil) + req, err := c.client.NewRequest(ctx, "GET", fmt.Sprintf("/nodes/%s/qemu/%d/status/current", s.Node, s.ID), nil) if err != nil { s.Status = ServerStatusUnknown return @@ -435,7 +440,7 @@ func diffBody(cur, n *Server) (b httpbody) { } func (c *ServerClient) updateConfig(ctx context.Context, s *Server, body httpbody) (err error) { - req, err := c.client.NewRequest(ctx, "PUT", fmt.Sprintf("/nodes/%s/qemu/%s/config", s.Node, s.ID), body.Reader()) + req, err := c.client.NewRequest(ctx, "PUT", fmt.Sprintf("/nodes/%s/qemu/%d/config", s.Node, s.ID), body.Reader()) if err != nil { return err } @@ -448,7 +453,7 @@ func (c *ServerClient) resizeDisk(ctx context.Context, s *Server) (err error) { "disk": s.Resources.Disk.Name, "size": s.Resources.Disk.String(), } - req, err := c.client.NewRequest(ctx, "PUT", fmt.Sprintf("/nodes/%s/qemu/%s/resize", s.Node, s.ID), body.Reader()) + req, err := c.client.NewRequest(ctx, "PUT", fmt.Sprintf("/nodes/%s/qemu/%d/resize", s.Node, s.ID), body.Reader()) if err != nil { return err } @@ -505,7 +510,7 @@ func (c *ServerClient) Delete(ctx context.Context, s *Server, f OnTaskChange) (t return nil, err } } - req, err := c.client.NewRequest(ctx, "DELETE", fmt.Sprintf("/nodes/%s/qemu/%s", s.Node, s.ID), nil) + req, err := c.client.NewRequest(ctx, "DELETE", fmt.Sprintf("/nodes/%s/qemu/%d", s.Node, s.ID), nil) if err != nil { return }