Skip to content
This repository has been archived by the owner on Dec 7, 2023. It is now read-only.

Commit

Permalink
Import filters, remove loader, use client for all storage interaction
Browse files Browse the repository at this point in the history
This gets rid of the old loading/filtering framework entirely, it's now
replaced by resource clients. The filtering is provided by the filterer,
which can be fed filters from the `filter` package. With this commit,
Ignite builds, `ps`, `start` and `run` are confirmed working, but this
bug persists: #102
  • Loading branch information
twelho committed Jul 6, 2019
1 parent 96fcd1f commit a173283
Show file tree
Hide file tree
Showing 52 changed files with 529 additions and 599 deletions.
8 changes: 5 additions & 3 deletions cmd/ignite-spawn/ignite-spawn.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import (
"os"
"path"

"github.com/weaveworks/ignite/pkg/container/prometheus"

api "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha1"

"github.com/weaveworks/ignite/pkg/container"
"github.com/weaveworks/ignite/pkg/container/prometheus"
"github.com/weaveworks/ignite/pkg/metadata/loader"
)

func main() {
Expand All @@ -27,7 +27,7 @@ func Run() error {
}

vmID := os.Args[1]
opts, err := NewOptions(loader.NewResLoader(), vmID)
opts, err := NewOptions(vmID)
if err != nil {
return err
}
Expand All @@ -47,6 +47,8 @@ func StartVM(co *options) error {
}

// Serve metrics over an unix socket in the VM's own directory
// TODO: when restarting a VM using `start`, we get a panic:
// panic: listen unix /var/lib/firecracker/vm/6a2b6ebafcb0e75c/prometheus.sock: bind: address already in use
metricsSocket := path.Join(co.vm.ObjectPath(), "prometheus.sock")
go prometheus.ServeMetrics(metricsSocket)

Expand Down
11 changes: 5 additions & 6 deletions cmd/ignite-spawn/options.go
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
package main

import (
"github.com/weaveworks/ignite/pkg/metadata/loader"
"github.com/weaveworks/ignite/pkg/client"
"github.com/weaveworks/ignite/pkg/filter"
"github.com/weaveworks/ignite/pkg/metadata/vmmd"
)

type options struct {
vm *vmmd.VM
}

func NewOptions(l *loader.ResLoader, vmMatch string) (*options, error) {
func NewOptions(vmMatch string) (*options, error) {
co := &options{}

if allVMS, err := l.VMs(); err == nil {
if co.vm, err = allVMS.MatchSingle(vmMatch); err != nil {
return nil, err
}
if vm, err := client.VMs().Find(filter.NewIDNameFilter(vmMatch)); err == nil {
co.vm = &vmmd.VM{vm}
} else {
return nil, err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/imgcmd/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package imgcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -25,7 +23,7 @@ func NewCmdImage(out io.Writer) *cobra.Command {
Aliases: []string{"images"},
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
i, err := run.NewImagesOptions(loader.NewResLoader())
i, err := run.NewImagesOptions()
if err != nil {
return err
}
Expand Down
3 changes: 1 addition & 2 deletions cmd/ignite/cmd/imgcmd/import.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"github.com/spf13/cobra"
"github.com/weaveworks/ignite/cmd/ignite/run"
"github.com/weaveworks/ignite/pkg/errutils"
"github.com/weaveworks/ignite/pkg/metadata/loader"
)

// NewCmdImport imports a new VM image
Expand All @@ -28,7 +27,7 @@ func NewCmdImport(out io.Writer) *cobra.Command {
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
io, err := run.NewImportOptions(loader.NewResLoader(), args[0])
io, err := run.NewImportOptions(args[0])
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/imgcmd/rm.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package imgcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -29,7 +27,7 @@ func NewCmdRm(out io.Writer) *cobra.Command {
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
ro, err := rf.NewRmiOptions(loader.NewResLoader(), args)
ro, err := rf.NewRmiOptions(args)
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/kerncmd/kernel.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package kerncmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -25,7 +23,7 @@ func NewCmdKernel(out io.Writer) *cobra.Command {
Aliases: []string{"kernels"},
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
ko, err := run.NewKernelsOptions(loader.NewResLoader())
ko, err := run.NewKernelsOptions()
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/kerncmd/rm.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package kerncmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -29,7 +27,7 @@ func NewCmdRm(out io.Writer) *cobra.Command {
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
ro, err := rf.NewRmkOptions(loader.NewResLoader(), args)
ro, err := rf.NewRmkOptions(args)
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/attach.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package vmcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -25,7 +23,7 @@ func NewCmdAttach(out io.Writer) *cobra.Command {
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
ao, err := run.NewAttachOptions(loader.NewResLoader(), args[0])
ao, err := run.NewAttachOptions(args[0])
if err != nil {
return err
}
Expand Down
3 changes: 1 addition & 2 deletions cmd/ignite/cmd/vmcmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (
"github.com/weaveworks/ignite/cmd/ignite/run"
"github.com/weaveworks/ignite/pkg/constants"
"github.com/weaveworks/ignite/pkg/errutils"
"github.com/weaveworks/ignite/pkg/metadata/loader"
)

// NewCmdCreate creates a new VM given an image and a kernel
Expand Down Expand Up @@ -41,7 +40,7 @@ func NewCmdCreate(out io.Writer) *cobra.Command {
Args: cobra.RangeArgs(0, 1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
co, err := cf.NewCreateOptions(loader.NewResLoader(), args)
co, err := cf.NewCreateOptions(args)
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/kill.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package vmcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -25,7 +23,7 @@ func NewCmdKill(out io.Writer) *cobra.Command {
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
so, err := (&run.StopFlags{Kill: true}).NewStopOptions(loader.NewResLoader(), args)
so, err := (&run.StopFlags{Kill: true}).NewStopOptions(args)
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package vmcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/weaveworks/ignite/cmd/ignite/run"
Expand All @@ -25,7 +23,7 @@ func NewCmdLogs(out io.Writer) *cobra.Command {
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
lo, err := run.NewLogsOptions(loader.NewResLoader(), args[0])
lo, err := run.NewLogsOptions(args[0])
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/ps.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package vmcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -27,7 +25,7 @@ func NewCmdPs(out io.Writer) *cobra.Command {
`),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
po, err := pf.NewPsOptions(loader.NewResLoader())
po, err := pf.NewPsOptions()
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/rm.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package vmcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -30,7 +28,7 @@ func NewCmdRm(out io.Writer) *cobra.Command {
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
ro, err := rf.NewRmOptions(loader.NewResLoader(), args)
ro, err := rf.NewRmOptions(args)
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package vmcmd
import (
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand Down Expand Up @@ -41,7 +39,7 @@ func NewCmdRun(out io.Writer) *cobra.Command {
Args: cobra.RangeArgs(0, 1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
ro, err := rf.NewRunOptions(loader.NewResLoader(), args)
ro, err := rf.NewRunOptions(args)
if err != nil {
return err
}
Expand Down
6 changes: 2 additions & 4 deletions cmd/ignite/cmd/vmcmd/ssh.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ package vmcmd
import (
"io"

"github.com/spf13/pflag"
"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"
"github.com/spf13/pflag"

"github.com/spf13/cobra"
"github.com/weaveworks/ignite/cmd/ignite/run"
Expand All @@ -29,7 +27,7 @@ func NewCmdSSH(out io.Writer) *cobra.Command {
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
so, err := sf.NewSSHOptions(loader.NewResLoader(), args[0])
so, err := sf.NewSSHOptions(args[0])
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import (
"fmt"
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"

"github.com/spf13/cobra"
Expand All @@ -30,7 +28,7 @@ func NewCmdStart(out io.Writer) *cobra.Command {
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
so, err := sf.NewStartOptions(loader.NewResLoader(), args[0])
so, err := sf.NewStartOptions(args[0])
if err != nil {
return err
}
Expand Down
4 changes: 1 addition & 3 deletions cmd/ignite/cmd/vmcmd/stop.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import (
"fmt"
"io"

"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"
"github.com/weaveworks/ignite/pkg/constants"

Expand Down Expand Up @@ -34,7 +32,7 @@ func NewCmdStop(out io.Writer) *cobra.Command {
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
so, err := sf.NewStopOptions(loader.NewResLoader(), args)
so, err := sf.NewStopOptions(args)
if err != nil {
return err
}
Expand Down
3 changes: 1 addition & 2 deletions cmd/ignite/cmd/vmcmd/vm.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (

"github.com/weaveworks/ignite/cmd/ignite/run"
"github.com/weaveworks/ignite/pkg/errutils"
"github.com/weaveworks/ignite/pkg/metadata/loader"

"github.com/lithammer/dedent"
"github.com/spf13/cobra"
Expand All @@ -22,7 +21,7 @@ func NewCmdVM(out io.Writer) *cobra.Command {
Aliases: []string{"vms"},
Run: func(cmd *cobra.Command, args []string) {
errutils.Check(func() error {
po, err := (&run.PsFlags{All: true}).NewPsOptions(loader.NewResLoader())
po, err := (&run.PsFlags{All: true}).NewPsOptions()
if err != nil {
return err
}
Expand Down
11 changes: 5 additions & 6 deletions cmd/ignite/run/attach.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ package run
import (
"fmt"

"github.com/weaveworks/ignite/pkg/metadata/loader"
"github.com/weaveworks/ignite/pkg/client"
"github.com/weaveworks/ignite/pkg/filter"

"github.com/weaveworks/ignite/pkg/constants"
"github.com/weaveworks/ignite/pkg/metadata/vmmd"
Expand All @@ -17,13 +18,11 @@ type attachOptions struct {
vm *vmmd.VM
}

func NewAttachOptions(l *loader.ResLoader, vmMatch string) (*attachOptions, error) {
func NewAttachOptions(vmMatch string) (*attachOptions, error) {
ao := &attachOptions{checkRunning: true}

if allVMs, err := l.VMs(); err == nil {
if ao.vm, err = allVMs.MatchSingle(vmMatch); err != nil {
return nil, err
}
if vm, err := client.VMs().Find(filter.NewIDNameFilter(vmMatch)); err == nil {
ao.vm = &vmmd.VM{vm}
} else {
return nil, err
}
Expand Down
Loading

0 comments on commit a173283

Please sign in to comment.