The corona Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The corona Reference Manual

This is the corona Reference Manual, version 0.1, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:46:29 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Corona

Corona is a library for creating and managing virtual machines from Common Lisp. All you need is VirtualBox and an internet connection.

Corona uses Vagrant Cloud as a source of base systems to bootstrap virtual machines from.

Usage

(defmachine my-app
  :system (:ubuntu :14.04 :64)
  :memory 1024)

(start my-app)

(stop my-app)

That's it.

Use Cases

Development Environments

Corona can be used to create isolated, reproducible development environments so you and your team can work on the same system.

No more 'works on my machine', no more difference between development and production.

Testing

If you have a library that uses an external tool, like a database server or something equally large, you can use Corona to set up a virtual machine and install whatever dependencies you need, so the user doesn't actually have to run anything on their computer.

Additionally, since you can set up multiple virtual machines with different systems, you can use Corona to ensure your library works on most operating systems. This is especially useful for testing compilers and similar applications where portability is critical.

Building

You can use Corona as a build server: Fire up virtual machines of the operating system you want to build on, set them up with everything you need, and run the builds.

Usage

Defining Machines

Machines are defined with the defmachine macro. The first argument to defmachine is a symbol, which will be the machine's name (Including the package). The other arguments are:

system : This is a system triple, a literal list with three elements which uniquely identifies a base system: The system's name, version, and architecture.

memory : The amount of RAM given to the VM in megabytes. Default: 512.

cpu-count : The number of virtual CPUs. One by default.

ip : The system's IP address. By default this is not used.

Examples:

(defmachine my-app:db-server
  :system (:debian :7.4 :32)
  :memory 2048
  :ip "192.128.65.20")

(defmachine my-app:web-server
  :system (:freebsd :10.0 :64)
  :memory 512
  :cpu-count 2)

Controlling VM State

The following six functions can be used to control the state of the virtual machines:

start, stop : Start and shut down the VM. If possible, shut it down gently.

pause, resume : Pause and resume the VM.

reboot : Reboot the virtual machine.

poweroff : Force VM shutdown.

Examples:

(start my-app:web-server)

;; Do some work

(pause my-app:web-server)

;; Come back to work next morning

(resume my-app:web-server)

;; Shut it down

(stop my-app:web-server)

FAQ

Why not Vagrant?

The advantage over Vagrant is simply that it's written in Common Lisp and, as such, available in Quicklisp without any external commands. This way, the library can be included as a dependency and used without anyone having to set up an external tool other than VirtualBox.

Where are disk images stored?

Everything is stored in specific subdirectories under ~/.config/corona/. Vagrant Cloud images are stored, in their extracted form, in ~/.config/corona/files/vagrant-cloud/. The disk images of virtual machines are stored in ~/.config/corona/files/virtual-machines.

How are VM names handled?

Virtual machines are identified by a name, which is a Common Lisp symbol. Inside the VM directory, all the data for a virtual machine is stored inside a folder for the package and another folder for the symbol name. For example:

virtual-machines/
  COMMON-LISP/
    TEST-VM/
    UBUNTU-PERSONAL/
  MY-APP/
    TESTING/
    STAGING/

The names of your virtual machines are restricted by the limitations of your filesystem (Allowed characters, pathname length, etc.). Rather than add specific checks for meaningless edge cases, I'll just warn you not to name your virtual machines myapp:My/Test\<<VM>>.

License

Copyright (c) 2014-2015 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 corona

Maintainer

Fernando Borretti <eudoxiahp@gmail.com>

Author

Fernando Borretti <eudoxiahp@gmail.com>

Home Page

http://eudoxia.me/corona

Source Control

(:git "git@github.com:eudoxia0/corona.git")

Bug Tracker

https://github.com/eudoxia0/corona/issues

License

MIT

Description

Isolated, reproducible virtual development environments.

Long Description

# Corona

Corona is a library for creating and managing virtual machines from Common Lisp. All you need is VirtualBox and an internet connection.

Corona uses [Vagrant Cloud][vc] as a source of base systems to bootstrap virtual machines from.

[vc]: https://vagrantcloud.com/

## Usage

~~~lisp
(defmachine my-app
:system (:ubuntu :14.04 :64)
:memory 1024)

(start my-app)

(stop my-app)
~~~

That’s it.

# Use Cases

## Development Environments

Corona can be used to create isolated, reproducible development environments so you and your team can work on the same system.

No more ’works on my machine’, no more difference between development and production.

## Testing

If you have a library that uses an external tool, like a database server or something equally large, you can use Corona to set up a virtual machine and install whatever dependencies you need, so the user doesn’t actually have to run anything on their computer.

Additionally, since you can set up multiple virtual machines with different systems, you can use Corona to ensure your library works on most operating systems. This is especially useful for testing compilers and similar applications where portability is critical.

## Building

You can use Corona as a build server: Fire up virtual machines of the operating system you want to build on, set them up with everything you need, and run the builds.

# Usage

## Defining Machines

Machines are defined with the ‘defmachine‘ macro. The first argument to ‘defmachine‘ is a symbol, which will be the machine’s name (Including the package). The other arguments are:

‘system‘
: This is a system triple, a literal list with three elements which uniquely identifies a base system: The system’s name, version, and architecture.

‘memory‘
: The amount of RAM given to the VM in megabytes. Default: ‘512‘.

‘cpu-count‘
: The number of virtual CPUs. One by default.

‘ip‘
: The system’s IP address. By default this is not used.

Examples:

“‘lisp
(defmachine my-app:db-server
:system (:debian :7.4 :32)
:memory 2048
:ip "192.128.65.20")

(defmachine my-app:web-server
:system (:freebsd :10.0 :64)
:memory 512
:cpu-count 2)
“‘

## Controlling VM State

The following six functions can be used to control the state of the virtual machines:

‘start‘, ‘stop‘
: Start and shut down the VM. If possible, shut it down gently.

‘pause‘, ‘resume‘
: Pause and resume the VM.

‘reboot‘
: Reboot the virtual machine.

‘poweroff‘
: Force VM shutdown.

Examples:

“‘lisp
(start my-app:web-server)

;; Do some work

(pause my-app:web-server)

;; Come back to work next morning

(resume my-app:web-server)

;; Shut it down

(stop my-app:web-server)
“‘

# FAQ

## Why not Vagrant?

The advantage over Vagrant is simply that it’s written in Common Lisp and, as such, available in Quicklisp without any external commands. This way, the library can be included as a dependency and used without anyone having to set up an external tool other than VirtualBox.

## Where are disk images stored?

Everything is stored in specific subdirectories under
‘~/.config/corona/‘. Vagrant Cloud images are stored, in their extracted form, in ‘~/.config/corona/files/vagrant-cloud/‘. The disk images of virtual machines are stored in ‘~/.config/corona/files/virtual-machines‘.

## How are VM names handled?

Virtual machines are identified by a name, which is a Common Lisp symbol. Inside the VM directory, all the data for a virtual machine is stored inside a folder for the package and another folder for the symbol name. For example:

~~~
virtual-machines/
COMMON-LISP/
TEST-VM/
UBUNTU-PERSONAL/
MY-APP/
TESTING/
STAGING/
~~~

The names of your virtual machines are restricted by the limitations of your filesystem (Allowed characters, pathname length, etc.). Rather than add specific checks for meaningless edge cases, I’ll just warn you not to name your virtual machines ‘myapp:My/Test\<<VM>>‘.

# License

Copyright (c) 2014-2015 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.

Version

0.1

Dependencies
Source

corona.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 corona/src

Parent

corona (system)

Location

src/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 corona.asd

Location

corona.asd

Systems

corona (system)

Packages

corona-asd


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 corona/src/files.lisp

Parent

src (module)

Location

src/files.lisp

Packages

corona.files

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 corona/src/vagrant-cloud.lisp

Dependency

files.lisp (file)

Parent

src (module)

Location

src/vagrant-cloud.lisp

Packages

corona.cloud

Exported Definitions
Internal Definitions

+vagrant-cloud-url-fmt+ (special variable)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 corona/src/system.lisp

Dependency

vagrant-cloud.lisp (file)

Parent

src (module)

Location

src/system.lisp

Packages

corona.sys

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 corona/src/system-list.lisp

Dependency

system.lisp (file)

Parent

src (module)

Location

src/system-list.lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 corona/src/virtual-machines.lisp

Dependency

system-list.lisp (file)

Parent

src (module)

Location

src/virtual-machines.lisp

Packages

corona.vm

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.7 corona/src/corona.lisp

Dependency

virtual-machines.lisp (file)

Parent

src (module)

Location

src/corona.lisp

Packages

corona

Exported Definitions

defmachine (macro)


Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 corona-asd

Source

corona.asd

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 corona.files

Source

files.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.3 corona.cloud

Source

vagrant-cloud.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

+vagrant-cloud-url-fmt+ (special variable)


Next: , Previous: , Up: Packages   [Contents][Index]

5.4 corona.sys

Source

system.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.5 corona.vm

Source

virtual-machines.lisp (file)

Use List
Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

5.6 corona

Source

corona.lisp (file)

Use List

common-lisp

Exported Definitions

defmachine (macro)


Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: +corona-directory+

The directory where Corona stores everything it needs. By default, this is ‘~/.corona‘, but when testing this is overriden to the path to the Corona system definition, plus ‘t/corona‘.

Package

corona.files

Source

files.lisp (file)

Special Variable: +vagrant-cloud-directory+

The directory where Corona stores Vagrant Cloud images.

Package

corona.files

Source

files.lisp (file)

Special Variable: +vm-directory+

The directory where images of specific virtual machines are stored.

Package

corona.files

Source

files.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Macros

Macro: defmachine NAME &key SYSTEM MEMORY CPU-COUNT IP
Package

corona

Source

corona.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Functions

Function: copy-files-to-directory FILES DESTINATION

Copy a list of files to the ‘destination‘ directory.

Package

corona.files

Source

files.lisp (file)

Function: download URL PATHNAME

Download the file from ‘url‘ to its pathname if it doesn’t exist, returning ‘t‘. If it already exists, return ‘nil‘.

Package

corona.files

Source

files.lisp (file)

Function: find-system NAME VERSION ARCHITECTURE
Package

corona.sys

Source

system.lisp (file)

Function: gb AMOUNT

Convert ‘amount‘ gigabytes to megabytes.

Package

corona.vm

Source

virtual-machines.lisp (file)

Function: list-archs-for-system NAME

List the available architectures of a given system.

Package

corona.sys

Source

system.lisp (file)

Function: list-system-names ()

List the names of available systems.

Package

corona.sys

Source

system.lisp (file)

Function: list-systems &optional STREAM

Return a summary of available systems, their versions and architectures.

Package

corona.sys

Source

system.lisp (file)

Function: list-versions-for-system NAME

List the available versions of a given system.

Package

corona.sys

Source

system.lisp (file)

Function: verify-file PATHNAME CHECKSUM-TYPE CHECKSUM

Verify the ‘checksum-type‘ checksum of the file at ‘pathname‘ is equal to ‘checksum‘.

Package

corona.files

Source

files.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Generic functions

Generic Function: already-built-p VM
Package

corona.vm

Methods
Method: already-built-p (VM <vm>)

Have we already built the VM?

Source

virtual-machines.lisp (file)

Generic Function: arch OBJECT
Package

corona.sys

Methods
Method: arch (<SYSTEM> <system>)

The operating system’s architecture as a keyword, e.g. :64, :sparc.

Source

system.lisp (file)

Generic Function: author OBJECT
Package

corona.cloud

Methods
Method: author (<CLOUD-BOX> <cloud-box>)

The author name in Vagrant Cloud.

Source

vagrant-cloud.lisp (file)

Generic Function: box OBJECT
Package

corona.sys

Methods
Method: box (<SYSTEM> <system>)

The box that bootstraps this system.

Source

system.lisp (file)

Generic Function: box-directory BOX
Package

corona.cloud

Methods
Method: box-directory (BOX <cloud-box>)

Directory where a box contents would be/are stored.

Source

vagrant-cloud.lisp (file)

Generic Function: build-vm VM
Package

corona.vm

Methods
Method: build-vm (VM <vm>)

Build a virtual machine if it’s not yet built, downloading its base box if it’s not yet available. Returns ‘t‘ if everything went as planned, ‘nil‘ if the VM was already built.

Source

virtual-machines.lisp (file)

Generic Function: checksum OBJECT
Package

corona.cloud

Methods
Method: checksum (<CLOUD-BOX> <cloud-box>)

The checksum string.

Source

vagrant-cloud.lisp (file)

Generic Function: checksum-type OBJECT
Package

corona.cloud

Methods
Method: checksum-type (<CLOUD-BOX> <cloud-box>)

The type of checksum used to verify the download, e.g. :sha1, :md5.

Source

vagrant-cloud.lisp (file)

Generic Function: cpu-count OBJECT
Package

corona.vm

Methods
Method: cpu-count (<HARDWARE> <hardware>)

The number of virtual CPUs.

Source

virtual-machines.lisp (file)

Generic Function: download-and-extract-box BOX
Package

corona.cloud

Methods
Method: download-and-extract-box (BOX <cloud-box>)

Download a box from Vagrant Cloud, and extract its contents unless it already exists.

Source

vagrant-cloud.lisp (file)

Generic Function: ensure-box SYS
Package

corona.sys

Methods
Method: ensure-box (SYS <system>)

Ensure the system’s box is ready to be imported.

Source

system.lisp (file)

Generic Function: hardware OBJECT
Package

corona.vm

Methods
Method: hardware (<VM> <vm>)

The virtual hardware.

Source

virtual-machines.lisp (file)

Generic Function: local-box-p BOX
Package

corona.cloud

Methods
Method: local-box-p (BOX <cloud-box>)

Have we already downloaded the box?

Source

vagrant-cloud.lisp (file)

Generic Function: memory OBJECT
Package

corona.vm

Methods
Method: memory (<HARDWARE> <hardware>)

The virtual memory in megabytes.

Source

virtual-machines.lisp (file)

Generic Function: name OBJECT
Package

corona.cloud

Methods
Method: name (<CLOUD-BOX> <cloud-box>)

The box name in Vagrant Cloud.

Source

vagrant-cloud.lisp (file)

Generic Function: name OBJECT
Package

corona.sys

Methods
Method: name (<SYSTEM> <system>)

The name of the operating system, e.g. :ubuntu, :windows.

Source

system.lisp (file)

Generic Function: name OBJECT
Package

corona.vm

Methods
Method: name (<VM> <vm>)

The virtual machine name.

Source

virtual-machines.lisp (file)

Generic Function: pause VM
Package

corona.vm

Methods
Method: pause (VM <vm>)

Pause the VM.

Source

virtual-machines.lisp (file)

Generic Function: poweroff VM
Package

corona.vm

Methods
Method: poweroff (VM <vm>)

Force the VM to shut down.

Source

virtual-machines.lisp (file)

Generic Function: reboot VM
Package

corona.vm

Methods
Method: reboot (VM <vm>)

Reboot the VM.

Source

virtual-machines.lisp (file)

Generic Function: resume VM
Package

corona.vm

Methods
Method: resume (VM <vm>)

Resume a paused VM.

Source

virtual-machines.lisp (file)

Generic Function: setup-vm VM
Package

corona.vm

Methods
Method: setup-vm (VM <vm>)

Apply the virtual machine’s virtual hardware settings.

Source

virtual-machines.lisp (file)

Generic Function: source-url BOX
Package

corona.cloud

Methods
Method: source-url (BOX <cloud-box>)

URL to download a cloud box.

Source

vagrant-cloud.lisp (file)

Generic Function: start VM
Package

corona.vm

Methods
Method: start (VM <vm>)

Start the VM.

Source

virtual-machines.lisp (file)

Generic Function: stop VM
Package

corona.vm

Methods
Method: stop (VM <vm>)

Stop the VM.

Source

virtual-machines.lisp (file)

Generic Function: system OBJECT
Package

corona.vm

Methods
Method: system (<VM> <vm>)

The system this VM holds.

Source

virtual-machines.lisp (file)

Generic Function: version OBJECT
Package

corona.cloud

Methods
Method: version (<CLOUD-BOX> <cloud-box>)

The box version in Vagrant Cloud.

Source

vagrant-cloud.lisp (file)

Generic Function: version OBJECT
Package

corona.sys

Methods
Method: version (<SYSTEM> <system>)

The operating system’s version string as a keyword, e.g. :13.13.

Source

system.lisp (file)

Generic Function: vm-directory VM
Package

corona.vm

Methods
Method: vm-directory (VM <vm>)

Directory where VM configuration/disks are stored.

Source

virtual-machines.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Classes

Class: <cloud-box> ()

A base box.

Package

corona.cloud

Source

vagrant-cloud.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: name

The box name in Vagrant Cloud.

Type

string

Initargs

:name

Readers

name (generic function)

Slot: author

The author name in Vagrant Cloud.

Type

string

Initargs

:author

Readers

author (generic function)

Slot: version

The box version in Vagrant Cloud.

Type

keyword

Initargs

:version

Readers

version (generic function)

Slot: checksum-type

The type of checksum used to verify the download, e.g. :sha1, :md5.

Type

keyword

Initargs

:checksum-type

Readers

checksum-type (generic function)

Slot: checksum

The checksum string.

Type

string

Initargs

:checksum

Readers

checksum (generic function)

Class: <hardware> ()

Virtual machine hardware. Some of these are probably VirtualBox-specific.

Package

corona.vm

Source

virtual-machines.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: memory

The virtual memory in megabytes.

Type

integer

Initargs

:memory

Initform

1024

Readers

memory (generic function)

Slot: cpu-count

The number of virtual CPUs.

Type

integer

Initargs

:cpu-count

Initform

1

Readers

cpu-count (generic function)

Class: <system> ()
Package

corona.sys

Source

system.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: name

The name of the operating system, e.g. :ubuntu, :windows.

Type

keyword

Initargs

:name

Readers

name (generic function)

Slot: version

The operating system’s version string as a keyword, e.g. :13.13.

Type

keyword

Initargs

:version

Readers

version (generic function)

Slot: arch

The operating system’s architecture as a keyword, e.g. :64, :sparc.

Type

keyword

Initargs

:arch

Readers

arch (generic function)

Slot: box

The box that bootstraps this system.

Type

corona.cloud:<cloud-box>

Initargs

:box

Readers

box (generic function)

Class: <vm> ()

A virtual machine is an instance of a system’s base box with its own virtual drive and resources.

Package

corona.vm

Source

virtual-machines.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: name

The virtual machine name.

Type

symbol

Initargs

:name

Readers

name (generic function)

Slot: system

The system this VM holds.

Type

corona.sys:<system>

Initargs

:system

Readers

system (generic function)

Slot: hardware

The virtual hardware.

Type

corona.vm:<hardware>

Initargs

:hardware

Readers

hardware (generic function)

Slot: ip

The VM’s IP address as a string.

Type

string

Initargs

:ip

Readers

ip (generic function)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *known-systems*

A list of available systems.

Package

corona.sys

Source

system.lisp (file)

Special Variable: +files-directory+

The directory where Corona stores files (CD/DVD images, virtual machine images, virtual hard drives, etc.)

Package

corona.files

Source

files.lisp (file)

Special Variable: +vagrant-cloud-url-fmt+

The format control string for a Vagrant Cloud box URL. The first parameter is the username, then the box name, and finally the version number.

Package

corona.cloud

Source

vagrant-cloud.lisp (file)

Special Variable: +wait-time+
Package

corona.vm

Source

virtual-machines.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: define-box &rest PARAMS
Package

corona.sys

Source

system.lisp (file)

Macro: define-system &rest PARAMS
Package

corona.sys

Source

system.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: download-over-curl URL PATHNAME
Package

corona.files

Source

files.lisp (file)

Function: file-checksum CHECKSUM-TYPE PATHNAME

Generate the checksum of a file.

Package

corona.files

Source

files.lisp (file)

Function: have-curl-p ()
Package

corona.files

Source

files.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Generic functions

Generic Function: checksum-type CONDITION
Package

corona.files

Methods
Method: checksum-type (CONDITION checksum-mismatch)
Source

files.lisp (file)

Generic Function: ensure-vm VM
Package

corona.vm

Methods
Method: ensure-vm (VM <vm>)

Ensure the VM is built an setup.

Source

virtual-machines.lisp (file)

Generic Function: file-sum CONDITION
Package

corona.files

Methods
Method: file-sum (CONDITION checksum-mismatch)
Source

files.lisp (file)

Generic Function: ip OBJECT
Package

corona.vm

Methods
Method: ip (<VM> <vm>)

The VM’s IP address as a string.

Source

virtual-machines.lisp (file)

Generic Function: map-ports VM HOST-PORT GUEST-PORT
Package

corona.vm

Methods
Method: map-ports (VM <vm>) HOST-PORT GUEST-PORT

Map traffic going to ‘host-port‘ to ‘guest-port‘ if the machine has a ‘host‘.

Source

virtual-machines.lisp (file)

Generic Function: network-name VM
Package

corona.vm

Methods
Method: network-name (VM <vm>)

The name of the machine’s network.

Source

virtual-machines.lisp (file)

Generic Function: path CONDITION
Package

corona.files

Methods
Method: path (CONDITION checksum-mismatch)
Source

files.lisp (file)

Generic Function: readyp VM
Package

corona.vm

Methods
Method: readyp (VM <vm>)

Is the virtual machine ready to accept a login?

Source

virtual-machines.lisp (file)

Generic Function: stored-name VM
Package

corona.vm

Methods
Method: stored-name (VM <vm>)

The name of the virtual machine that VirtualBox knows.

Source

virtual-machines.lisp (file)

Generic Function: trusted-sum CONDITION
Package

corona.files

Methods
Method: trusted-sum (CONDITION checksum-mismatch)
Source

files.lisp (file)

Generic Function: wait-for-ready VM
Package

corona.vm

Methods
Method: wait-for-ready (VM <vm>)

Wait until the machine is ready for operation.

Source

virtual-machines.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Conditions

Condition: checksum-mismatch ()
Package

corona.files

Source

files.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: path
Initargs

:path

Readers

path (generic function)

Slot: checksum-type
Initargs

:checksum-type

Readers

checksum-type (generic function)

Slot: file-sum
Initargs

:file-sum

Readers

file-sum (generic function)

Slot: trusted-sum
Initargs

:trusted-sum

Readers

trusted-sum (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L   M  
Index Entry  Section

C
corona.asd: The corona<dot>asd file
corona/src: The corona/src module
corona/src/corona.lisp: The corona/src/corona<dot>lisp file
corona/src/files.lisp: The corona/src/files<dot>lisp file
corona/src/system-list.lisp: The corona/src/system-list<dot>lisp file
corona/src/system.lisp: The corona/src/system<dot>lisp file
corona/src/vagrant-cloud.lisp: The corona/src/vagrant-cloud<dot>lisp file
corona/src/virtual-machines.lisp: The corona/src/virtual-machines<dot>lisp file

F
File, Lisp, corona.asd: The corona<dot>asd file
File, Lisp, corona/src/corona.lisp: The corona/src/corona<dot>lisp file
File, Lisp, corona/src/files.lisp: The corona/src/files<dot>lisp file
File, Lisp, corona/src/system-list.lisp: The corona/src/system-list<dot>lisp file
File, Lisp, corona/src/system.lisp: The corona/src/system<dot>lisp file
File, Lisp, corona/src/vagrant-cloud.lisp: The corona/src/vagrant-cloud<dot>lisp file
File, Lisp, corona/src/virtual-machines.lisp: The corona/src/virtual-machines<dot>lisp file

L
Lisp File, corona.asd: The corona<dot>asd file
Lisp File, corona/src/corona.lisp: The corona/src/corona<dot>lisp file
Lisp File, corona/src/files.lisp: The corona/src/files<dot>lisp file
Lisp File, corona/src/system-list.lisp: The corona/src/system-list<dot>lisp file
Lisp File, corona/src/system.lisp: The corona/src/system<dot>lisp file
Lisp File, corona/src/vagrant-cloud.lisp: The corona/src/vagrant-cloud<dot>lisp file
Lisp File, corona/src/virtual-machines.lisp: The corona/src/virtual-machines<dot>lisp file

M
Module, corona/src: The corona/src module

Jump to:   C   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   A   B   C   D   E   F   G   H   I   L   M   N   P   R   S   T   V   W  
Index Entry  Section

A
already-built-p: Exported generic functions
already-built-p: Exported generic functions
arch: Exported generic functions
arch: Exported generic functions
author: Exported generic functions
author: Exported generic functions

B
box: Exported generic functions
box: Exported generic functions
box-directory: Exported generic functions
box-directory: Exported generic functions
build-vm: Exported generic functions
build-vm: Exported generic functions

C
checksum: Exported generic functions
checksum: Exported generic functions
checksum-type: Exported generic functions
checksum-type: Exported generic functions
checksum-type: Internal generic functions
checksum-type: Internal generic functions
copy-files-to-directory: Exported functions
cpu-count: Exported generic functions
cpu-count: Exported generic functions

D
define-box: Internal macros
define-system: Internal macros
defmachine: Exported macros
download: Exported functions
download-and-extract-box: Exported generic functions
download-and-extract-box: Exported generic functions
download-over-curl: Internal functions

E
ensure-box: Exported generic functions
ensure-box: Exported generic functions
ensure-vm: Internal generic functions
ensure-vm: Internal generic functions

F
file-checksum: Internal functions
file-sum: Internal generic functions
file-sum: Internal generic functions
find-system: Exported functions
Function, copy-files-to-directory: Exported functions
Function, download: Exported functions
Function, download-over-curl: Internal functions
Function, file-checksum: Internal functions
Function, find-system: Exported functions
Function, gb: Exported functions
Function, have-curl-p: Internal functions
Function, list-archs-for-system: Exported functions
Function, list-system-names: Exported functions
Function, list-systems: Exported functions
Function, list-versions-for-system: Exported functions
Function, verify-file: Exported functions

G
gb: Exported functions
Generic Function, already-built-p: Exported generic functions
Generic Function, arch: Exported generic functions
Generic Function, author: Exported generic functions
Generic Function, box: Exported generic functions
Generic Function, box-directory: Exported generic functions
Generic Function, build-vm: Exported generic functions
Generic Function, checksum: Exported generic functions
Generic Function, checksum-type: Exported generic functions
Generic Function, checksum-type: Internal generic functions
Generic Function, cpu-count: Exported generic functions
Generic Function, download-and-extract-box: Exported generic functions
Generic Function, ensure-box: Exported generic functions
Generic Function, ensure-vm: Internal generic functions
Generic Function, file-sum: Internal generic functions
Generic Function, hardware: Exported generic functions
Generic Function, ip: Internal generic functions
Generic Function, local-box-p: Exported generic functions
Generic Function, map-ports: Internal generic functions
Generic Function, memory: Exported generic functions
Generic Function, name: Exported generic functions
Generic Function, name: Exported generic functions
Generic Function, name: Exported generic functions
Generic Function, network-name: Internal generic functions
Generic Function, path: Internal generic functions
Generic Function, pause: Exported generic functions
Generic Function, poweroff: Exported generic functions
Generic Function, readyp: Internal generic functions
Generic Function, reboot: Exported generic functions
Generic Function, resume: Exported generic functions
Generic Function, setup-vm: Exported generic functions
Generic Function, source-url: Exported generic functions
Generic Function, start: Exported generic functions
Generic Function, stop: Exported generic functions
Generic Function, stored-name: Internal generic functions
Generic Function, system: Exported generic functions
Generic Function, trusted-sum: Internal generic functions
Generic Function, version: Exported generic functions
Generic Function, version: Exported generic functions
Generic Function, vm-directory: Exported generic functions
Generic Function, wait-for-ready: Internal generic functions

H
hardware: Exported generic functions
hardware: Exported generic functions
have-curl-p: Internal functions

I
ip: Internal generic functions
ip: Internal generic functions

L
list-archs-for-system: Exported functions
list-system-names: Exported functions
list-systems: Exported functions
list-versions-for-system: Exported functions
local-box-p: Exported generic functions
local-box-p: Exported generic functions

M
Macro, define-box: Internal macros
Macro, define-system: Internal macros
Macro, defmachine: Exported macros
map-ports: Internal generic functions
map-ports: Internal generic functions
memory: Exported generic functions
memory: Exported generic functions
Method, already-built-p: Exported generic functions
Method, arch: Exported generic functions
Method, author: Exported generic functions
Method, box: Exported generic functions
Method, box-directory: Exported generic functions
Method, build-vm: Exported generic functions
Method, checksum: Exported generic functions
Method, checksum-type: Exported generic functions
Method, checksum-type: Internal generic functions
Method, cpu-count: Exported generic functions
Method, download-and-extract-box: Exported generic functions
Method, ensure-box: Exported generic functions
Method, ensure-vm: Internal generic functions
Method, file-sum: Internal generic functions
Method, hardware: Exported generic functions
Method, ip: Internal generic functions
Method, local-box-p: Exported generic functions
Method, map-ports: Internal generic functions
Method, memory: Exported generic functions
Method, name: Exported generic functions
Method, name: Exported generic functions
Method, name: Exported generic functions
Method, network-name: Internal generic functions
Method, path: Internal generic functions
Method, pause: Exported generic functions
Method, poweroff: Exported generic functions
Method, readyp: Internal generic functions
Method, reboot: Exported generic functions
Method, resume: Exported generic functions
Method, setup-vm: Exported generic functions
Method, source-url: Exported generic functions
Method, start: Exported generic functions
Method, stop: Exported generic functions
Method, stored-name: Internal generic functions
Method, system: Exported generic functions
Method, trusted-sum: Internal generic functions
Method, version: Exported generic functions
Method, version: Exported generic functions
Method, vm-directory: Exported generic functions
Method, wait-for-ready: Internal generic functions

N
name: Exported generic functions
name: Exported generic functions
name: Exported generic functions
name: Exported generic functions
name: Exported generic functions
name: Exported generic functions
network-name: Internal generic functions
network-name: Internal generic functions

P
path: Internal generic functions
path: Internal generic functions
pause: Exported generic functions
pause: Exported generic functions
poweroff: Exported generic functions
poweroff: Exported generic functions

R
readyp: Internal generic functions
readyp: Internal generic functions
reboot: Exported generic functions
reboot: Exported generic functions
resume: Exported generic functions
resume: Exported generic functions

S
setup-vm: Exported generic functions
setup-vm: Exported generic functions
source-url: Exported generic functions
source-url: Exported generic functions
start: Exported generic functions
start: Exported generic functions
stop: Exported generic functions
stop: Exported generic functions
stored-name: Internal generic functions
stored-name: Internal generic functions
system: Exported generic functions
system: Exported generic functions

T
trusted-sum: Internal generic functions
trusted-sum: Internal generic functions

V
verify-file: Exported functions
version: Exported generic functions
version: Exported generic functions
version: Exported generic functions
version: Exported generic functions
vm-directory: Exported generic functions
vm-directory: Exported generic functions

W
wait-for-ready: Internal generic functions
wait-for-ready: Internal generic functions

Jump to:   A   B   C   D   E   F   G   H   I   L   M   N   P   R   S   T   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
A   B   C   F   H   I   M   N   P   S   T   V  
Index Entry  Section

*
*known-systems*: Internal special variables

+
+corona-directory+: Exported special variables
+files-directory+: Internal special variables
+vagrant-cloud-directory+: Exported special variables
+vagrant-cloud-url-fmt+: Internal special variables
+vm-directory+: Exported special variables
+wait-time+: Internal special variables

A
arch: Exported classes
author: Exported classes

B
box: Exported classes

C
checksum: Exported classes
checksum-type: Exported classes
checksum-type: Internal conditions
cpu-count: Exported classes

F
file-sum: Internal conditions

H
hardware: Exported classes

I
ip: Exported classes

M
memory: Exported classes

N
name: Exported classes
name: Exported classes
name: Exported classes

P
path: Internal conditions

S
Slot, arch: Exported classes
Slot, author: Exported classes
Slot, box: Exported classes
Slot, checksum: Exported classes
Slot, checksum-type: Exported classes
Slot, checksum-type: Internal conditions
Slot, cpu-count: Exported classes
Slot, file-sum: Internal conditions
Slot, hardware: Exported classes
Slot, ip: Exported classes
Slot, memory: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, path: Internal conditions
Slot, system: Exported classes
Slot, trusted-sum: Internal conditions
Slot, version: Exported classes
Slot, version: Exported classes
Special Variable, *known-systems*: Internal special variables
Special Variable, +corona-directory+: Exported special variables
Special Variable, +files-directory+: Internal special variables
Special Variable, +vagrant-cloud-directory+: Exported special variables
Special Variable, +vagrant-cloud-url-fmt+: Internal special variables
Special Variable, +vm-directory+: Exported special variables
Special Variable, +wait-time+: Internal special variables
system: Exported classes

T
trusted-sum: Internal conditions

V
version: Exported classes
version: Exported classes

Jump to:   *   +  
A   B   C   F   H   I   M   N   P   S   T   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   <  
C   P   S  
Index Entry  Section

<
<cloud-box>: Exported classes
<hardware>: Exported classes
<system>: Exported classes
<vm>: Exported classes

C
checksum-mismatch: Internal conditions
Class, <cloud-box>: Exported classes
Class, <hardware>: Exported classes
Class, <system>: Exported classes
Class, <vm>: Exported classes
Condition, checksum-mismatch: Internal conditions
corona: The corona system
corona: The corona package
corona-asd: The corona-asd package
corona.cloud: The corona<dot>cloud package
corona.files: The corona<dot>files package
corona.sys: The corona<dot>sys package
corona.vm: The corona<dot>vm package

P
Package, corona: The corona package
Package, corona-asd: The corona-asd package
Package, corona.cloud: The corona<dot>cloud package
Package, corona.files: The corona<dot>files package
Package, corona.sys: The corona<dot>sys package
Package, corona.vm: The corona<dot>vm package

S
System, corona: The corona system

Jump to:   <  
C   P   S