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

Replace vm.status.state with vm.status.running #292

Merged
merged 4 commits into from
Aug 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ api-doc:
mv bin/tmp/${GROUPVERSION}/*.go $(shell pwd)/pkg/apis/${GROUPVERSION}/
rm -r bin/tmp/${GROUPVERSION}
# Format the docs with pandoc
docker run -it \
docker run -it --rm \
-v $(shell pwd):/data \
-u $(shell id -u):$(shell id -g) \
pandoc/core \
Expand Down Expand Up @@ -211,8 +211,8 @@ build-docs: bin/docs/builder-image.tar
docker build -t ignite-docs docs

test-docs: build-docs
docker run -it ignite-docs /usr/bin/linkchecker _build/html/index.html
docker run -it --rm ignite-docs /usr/bin/linkchecker _build/html/index.html

serve-docs: build-docs
@echo Stating docs website on http://localhost:${DOCS_PORT}/_build/html/index.html
@docker run -i -p ${DOCS_PORT}:8000 -e USER_ID=$$UID ignite-docs
@docker run -i --rm -p ${DOCS_PORT}:8000 -e USER_ID=$$UID ignite-docs
4 changes: 2 additions & 2 deletions cmd/ignite-spawn/ignite-spawn.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,15 @@ func serveMetrics(metricsSocket string) {

func patchRunning(vm *api.VM, ipAddrs []net.IP) error {
return patchVM(vm, func(patchVM *api.VM) error {
patchVM.Status.State = api.VMStateRunning
patchVM.Status.Running = true
patchVM.Status.IPAddresses = ipAddrs
return nil
})
}

func patchStopped(vm *api.VM) error {
return patchVM(vm, func(patchVM *api.VM) error {
patchVM.Status.State = api.VMStateStopped
patchVM.Status.Running = false
patchVM.Status.IPAddresses = nil
return nil
})
Expand Down
4 changes: 2 additions & 2 deletions cmd/ignite/run/ps.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ func Ps(po *psOptions) error {
o := util.NewOutput()
defer o.Flush()

o.Write("VM ID", "IMAGE", "KERNEL", "CREATED", "SIZE", "CPUS", "MEMORY", "STATE", "IPS", "PORTS", "NAME")
o.Write("VM ID", "IMAGE", "KERNEL", "CREATED", "SIZE", "CPUS", "MEMORY", "RUNNING", "IPS", "PORTS", "NAME")
for _, vm := range po.allVMs {
o.Write(vm.GetUID(), vm.Spec.Image.OCIClaim.Ref, vm.Spec.Kernel.OCIClaim.Ref, vm.GetCreated(),
vm.Spec.DiskSize, vm.Spec.CPUs, vm.Spec.Memory, vm.Status.State, vm.Status.IPAddresses,
vm.Spec.DiskSize, vm.Spec.CPUs, vm.Spec.Memory, vm.Running(), vm.Status.IPAddresses,
vm.Spec.Network.Ports, vm.GetName())
}

Expand Down
24 changes: 24 additions & 0 deletions docs/api/ignite_v1alpha1.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,15 @@
- [func Convert\_ignite\_VMSpec\_To\_v1alpha1\_VMSpec(in
*ignite.VMSpec, out *VMSpec, s conversion.Scope)
error](#Convert_ignite_VMSpec_To_v1alpha1_VMSpec)
- [func Convert\_ignite\_VMStatus\_To\_v1alpha1\_VMStatus(in
*ignite.VMStatus, out *VMStatus, s conversion.Scope)
error](#Convert_ignite_VMStatus_To_v1alpha1_VMStatus)
- [func Convert\_v1alpha1\_VMSpec\_To\_ignite\_VMSpec(in *VMSpec, out
*ignite.VMSpec, s conversion.Scope)
error](#Convert_v1alpha1_VMSpec_To_ignite_VMSpec)
- [func Convert\_v1alpha1\_VMStatus\_To\_ignite\_VMStatus(in
*VMStatus, out *ignite.VMStatus, s conversion.Scope)
error](#Convert_v1alpha1_VMStatus_To_ignite_VMStatus)
- [func SetDefaults\_OCIImageClaim(obj
\*OCIImageClaim)](#SetDefaults_OCIImageClaim)
- [func SetDefaults\_PoolSpec(obj \*PoolSpec)](#SetDefaults_PoolSpec)
Expand Down Expand Up @@ -118,6 +124,15 @@ func Convert_ignite_VMSpec_To_v1alpha1_VMSpec(in *ignite.VMSpec, out *VMSpec, s
Convert\_ignite\_VMSpec\_To\_v1alpha1\_VMSpec calls the autogenerated
conversion function along with custom conversion logic

## <a name="Convert_ignite_VMStatus_To_v1alpha1_VMStatus">func</a> [Convert\_ignite\_VMStatus\_To\_v1alpha1\_VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/conversion.go?s=1038:1149#L21)

``` go
func Convert_ignite_VMStatus_To_v1alpha1_VMStatus(in *ignite.VMStatus, out *VMStatus, s conversion.Scope) error
```

Convert\_ignite\_VMStatus\_To\_v1alpha1\_VMStatus calls the
autogenerated conversion function along with custom conversion logic

## <a name="Convert_v1alpha1_VMSpec_To_ignite_VMSpec">func</a> [Convert\_v1alpha1\_VMSpec\_To\_ignite\_VMSpec](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/conversion.go?s=637:740#L15)

``` go
Expand All @@ -127,6 +142,15 @@ func Convert_v1alpha1_VMSpec_To_ignite_VMSpec(in *VMSpec, out *ignite.VMSpec, s
Convert\_ignite\_VMSpec\_To\_v1alpha1\_VMSpec calls the autogenerated
conversion function along with custom conversion logic

## <a name="Convert_v1alpha1_VMStatus_To_ignite_VMStatus">func</a> [Convert\_v1alpha1\_VMStatus\_To\_ignite\_VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/conversion.go?s=1522:1633#L37)

``` go
func Convert_v1alpha1_VMStatus_To_ignite_VMStatus(in *VMStatus, out *ignite.VMStatus, s conversion.Scope) error
```

Convert\_v1alpha1\_VMStatus\_To\_ignite\_VMStatus calls the
autogenerated conversion function along with custom conversion logic

## <a name="SetDefaults_OCIImageClaim">func</a> [SetDefaults\_OCIImageClaim](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha1/defaults.go?s=263:313#L13)

``` go
Expand Down
28 changes: 2 additions & 26 deletions docs/api/ignite_v1alpha2.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
- [func SetDefaults\_VMNetworkSpec(obj
\*VMNetworkSpec)](#SetDefaults_VMNetworkSpec)
- [func SetDefaults\_VMSpec(obj \*VMSpec)](#SetDefaults_VMSpec)
- [func SetDefaults\_VMStatus(obj \*VMStatus)](#SetDefaults_VMStatus)
- [type BlockDeviceVolume](#BlockDeviceVolume)
- [type FileMapping](#FileMapping)
- [type Image](#Image)
Expand Down Expand Up @@ -52,7 +51,6 @@
- [type VMKernelSpec](#VMKernelSpec)
- [type VMNetworkSpec](#VMNetworkSpec)
- [type VMSpec](#VMSpec)
- [type VMState](#VMState)
- [type VMStatus](#VMStatus)
- [type VMStorageSpec](#VMStorageSpec)
- [type Volume](#Volume)
Expand Down Expand Up @@ -136,12 +134,6 @@ func SetDefaults_VMNetworkSpec(obj *VMNetworkSpec)
func SetDefaults_VMSpec(obj *VMSpec)
```

## <a name="SetDefaults_VMStatus">func</a> [SetDefaults\_VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/defaults.go?s=1641:1681#L70)

``` go
func SetDefaults_VMStatus(obj *VMStatus)
```

## <a name="BlockDeviceVolume">type</a> [BlockDeviceVolume](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8095:8155#L218)

``` go
Expand Down Expand Up @@ -493,27 +485,11 @@ type VMSpec struct {

VMSpec describes the configuration of a VM

## <a name="VMState">type</a> [VMState](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=9336:9355#L261)

``` go
type VMState string
```

VMState defines different states a VM can be in

``` go
const (
VMStateCreated VMState = "Created"
VMStateRunning VMState = "Running"
VMStateStopped VMState = "Stopped"
)
```

## <a name="VMStatus">type</a> [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=9515:9736#L270)
## <a name="VMStatus">type</a> [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=9324:9547#L261)

``` go
type VMStatus struct {
State VMState `json:"state"`
Running bool `json:"running"`
IPAddresses meta.IPAddresses `json:"ipAddresses,omitempty"`
Image OCIImageSource `json:"image"`
Kernel OCIImageSource `json:"kernel"`
Expand Down
11 changes: 1 addition & 10 deletions pkg/apis/ignite/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,6 @@ func GetImageSourceTypes() []ImageSourceType {
}
}

// GetVMStates gets the list of available VM states
func GetVMStates() []VMState {
return []VMState{
VMStateCreated,
VMStateRunning,
VMStateStopped,
}
}

// SetImage populates relevant fields to an Image on the VM object
func (vm *VM) SetImage(image *Image) {
vm.Spec.Image.OCIClaim = image.Spec.OCIClaim
Expand All @@ -50,7 +41,7 @@ func (vm *VM) SnapshotDev() string {

// Running returns true if the VM is running, otherwise false
func (vm *VM) Running() bool {
return vm.Status.State == VMStateRunning
return vm.Status.Running
}

// OverlayFile returns the path to the overlay.dm file for the VM.
Expand Down
11 changes: 1 addition & 10 deletions pkg/apis/ignite/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -257,18 +257,9 @@ const (
// Whenever updating this list, also update GetNetworkModes in helpers.go
)

// VMState defines different states a VM can be in
type VMState string

const (
VMStateCreated VMState = "Created"
VMStateRunning VMState = "Running"
VMStateStopped VMState = "Stopped"
)

// VMStatus defines the status of a VM
type VMStatus struct {
State VMState `json:"state"`
Running bool `json:"running"`
IPAddresses meta.IPAddresses `json:"ipAddresses,omitempty"`
Image OCIImageSource `json:"image"`
Kernel OCIImageSource `json:"kernel"`
Expand Down
28 changes: 28 additions & 0 deletions pkg/apis/ignite/v1alpha1/conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,31 @@ func Convert_v1alpha1_VMSpec_To_ignite_VMSpec(in *VMSpec, out *ignite.VMSpec, s
// VMSpecStorage is not supported by v1alpha1, so just ignore the warning by calling this manually
return autoConvert_v1alpha1_VMSpec_To_ignite_VMSpec(in, out, s)
}

// Convert_ignite_VMStatus_To_v1alpha1_VMStatus calls the autogenerated conversion function along with custom conversion logic
func Convert_ignite_VMStatus_To_v1alpha1_VMStatus(in *ignite.VMStatus, out *VMStatus, s conversion.Scope) error {
if err := autoConvert_ignite_VMStatus_To_v1alpha1_VMStatus(in, out, s); err != nil {
return err
}

// Convert in.Running to out.State
if in.Running {
out.State = VMStateRunning
} else {
out.State = VMStateStopped
}

return nil
}

// Convert_v1alpha1_VMStatus_To_ignite_VMStatus calls the autogenerated conversion function along with custom conversion logic
func Convert_v1alpha1_VMStatus_To_ignite_VMStatus(in *VMStatus, out *ignite.VMStatus, s conversion.Scope) error {
if err := autoConvert_v1alpha1_VMStatus_To_ignite_VMStatus(in, out, s); err != nil {
return err
}

// Convert in.State to out.Running
out.Running = in.State == VMStateRunning

return nil
}
24 changes: 12 additions & 12 deletions pkg/apis/ignite/v1alpha1/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 0 additions & 6 deletions pkg/apis/ignite/v1alpha2/defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,6 @@ func SetDefaults_VMNetworkSpec(obj *VMNetworkSpec) {
}
}

func SetDefaults_VMStatus(obj *VMStatus) {
if obj.State == "" {
obj.State = VMStateCreated
}
}

func calcMetadataDevSize(obj *PoolSpec) meta.Size {
// The minimum size is 2 MB and the maximum size is 16 GB
minSize := meta.NewSizeFromBytes(2 * constants.MB)
Expand Down
11 changes: 1 addition & 10 deletions pkg/apis/ignite/v1alpha2/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -257,18 +257,9 @@ const (
// Whenever updating this list, also update GetNetworkModes in helpers.go
)

// VMState defines different states a VM can be in
type VMState string

const (
VMStateCreated VMState = "Created"
VMStateRunning VMState = "Running"
VMStateStopped VMState = "Stopped"
)

// VMStatus defines the status of a VM
type VMStatus struct {
State VMState `json:"state"`
Running bool `json:"running"`
IPAddresses meta.IPAddresses `json:"ipAddresses,omitempty"`
Image OCIImageSource `json:"image"`
Kernel OCIImageSource `json:"kernel"`
Expand Down
4 changes: 2 additions & 2 deletions pkg/apis/ignite/v1alpha2/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion pkg/apis/ignite/v1alpha2/zz_generated.defaults.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 0 additions & 16 deletions pkg/apis/ignite/validation/validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ func ValidateVM(obj *api.VM) (allErrs field.ErrorList) {
allErrs = append(allErrs, ValidateOCIImageClaim(&obj.Spec.Kernel.OCIClaim, field.NewPath(".spec.kernel.ociClaim"))...)
allErrs = append(allErrs, ValidateFileMappings(&obj.Spec.CopyFiles, field.NewPath(".spec.copyFiles"))...)
allErrs = append(allErrs, ValidateVMStorage(&obj.Spec.Storage, field.NewPath(".spec.storage"))...)
allErrs = append(allErrs, ValidateVMState(obj.Status.State, field.NewPath(".status.state"))...)
// TODO: Add vCPU, memory, disk max and min sizes
return
}
Expand Down Expand Up @@ -94,18 +93,3 @@ func ValidateImageSourceType(t api.ImageSourceType, fldPath *field.Path) (allErr
}
return
}

// ValidateVMState validates if an VM state is valid
func ValidateVMState(s api.VMState, fldPath *field.Path) (allErrs field.ErrorList) {
found := false
states := api.GetVMStates()
for _, state := range states {
if state == s {
found = true
}
}
if !found {
allErrs = append(allErrs, field.Invalid(fldPath, s, fmt.Sprintf("VM state must be one of %v", states)))
}
return
}
2 changes: 1 addition & 1 deletion pkg/filter/vm.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func (f *VMFilter) Filter(object meta.Object) (filterer.Match, error) {
return nil, fmt.Errorf("invalid Object type for VMFilter: %T", object)
}

if vm.Status.State != api.VMStateRunning {
if !vm.Running() {
return nil, nil
}
}
Expand Down
Loading