Add stopgap 22.04 LTS Vagrantfile
Current pre-provided Vagrantfile for Mini-NDN is severely out of
date. Ideal goal would be an integration with Github Actions (#5347)
to automatically build and deploy this periodically or a script
to run installer on a base image; however, both of these do not
solve the lack of a currently working solution.
Change-Id: I91d142e0345ca492df8c94b39f6f2322b947ce01
diff --git a/docs/install.rst b/docs/install.rst
index 29f92b2..9a04804 100644
--- a/docs/install.rst
+++ b/docs/install.rst
@@ -58,11 +58,12 @@
Using Vagrantfile
-----------------
-With Vagrant installed, simply do ``vagrant up`` which will bring up an Ubuntu 20.04 virtual machine
-and install Mini-NDN and all its dependencies on it. Please make sure to tweak the CPU core count
-(default 4 cores) and RAM (default 4GB) according to your needs before doing ``vagrant up``. Mini-NDN
-can be found in ``/home/vagrant/mini-ndn`` which is a symlink to ``/vagrant`` if Vagrantfile was used
-from within mini-ndn cloned on the host. Otherwise it is an actual clone of mini-ndn.
+With Vagrant installed, call ``vagrant up`` from a shell in the ``vagrant`` directory which will bring up
+an Ubuntu 22.04 virtual machine with Mini-NDN and all its dependencies installed on it. Please make sure to
+tweak the CPU core count (default 4 cores) and RAM (default 4GB) according to your needs before doing
+``vagrant up``. Mini-NDN can be found in ``/home/vagrant/mini-ndn``. A README with more information can also
+be found at ``vagrant/README.md``
+`(link to README on Github) <https://github.com/named-data/mini-ndn/blob/master/vagrant/README.md>`__.
Using install.sh
----------------
diff --git a/vagrant/README.md b/vagrant/README.md
index 06f7449..dd25903 100644
--- a/vagrant/README.md
+++ b/vagrant/README.md
@@ -1,14 +1,13 @@
-# Mini-NDN in [VirtualBox](https://www.virtualbox.org/) using [vagrant](https://www.vagrantup.com/).
+# Mini-NDN in [VirtualBox](https://www.virtualbox.org/) using [vagrant](https://www.vagrantup.com/)
### [RECOMMENDED] Mini-NDN Vagrant Box
-We have a Mini-NDN pre-installed in a vagrant box. The box can be found [here](https://app.vagrantup.com/sdulal/boxes/mini-ndn). For suggested Mini-NDN resource allocation,
-Here's an example [`Vagrantfile`](https://gerrit.named-data.net/c/mini-ndn/+/6426/18/vagrant/Vagrantfile):
+We provide a Vagrant box with Mini-NDN pre-installed. The box can be found
+[here](https://portal.cloud.hashicorp.com/vagrant/discover/netlab-memphis-minindn).
+For suggested Mini-NDN resource allocation, here's an example [`Vagrantfile`](Vagrantfile) using VirtualBox:
```ruby
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
Vagrant.configure("2") do |config|
- config.vm.box = "sdulal/mini-ndn"
+ config.vm.box = "netlab-memphis-minindn/minindn-0.7.0"
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
vb.cpus = "4"
@@ -18,6 +17,23 @@
```
----
+For those on ARM64 MacOS devices, you can instead use our provided VMWare image.
+You will need the [Vagrant VMWare Utility](https://developer.hashicorp.com/vagrant/docs/providers/vmware/installation)
+installed. You can then initialize the Vagrant box using `vagrant up --provider vmware_desktop`
+
+This provider is not as well supported and may encounter minor issues.
+
+```ruby
+Vagrant.configure("2") do |config|
+ config.vm.box = "netlab-memphis-minindn/minindn-0.7.0"
+ config.vm.provider "vmware_desktop" do |vb|
+ vb.memory = "4096"
+ vb.cpus = "4"
+ end
+end
+```
+----
+
### [NOT RECOMMENDED] Building from scratch with `vagrant` and VirtualBox containing Mini-NDN
* Download and install VirtualBox and Vagrant
@@ -26,10 +42,8 @@
* To create and start fresh virtual machine:
* Create a file called "Vagrantfile" with this basic setup:
```ruby
- # -*- mode: ruby -*-
- # vi: set ft=ruby :
Vagrant.configure("2") do |config|
- config.vm.box = "bento/ubuntu-20.04"
+ config.vm.box = "bento/ubuntu-22.04"
config.disksize.size = '40GB'
config.vm.provider "virtualbox" do |vb|
vb.memory = 4096
@@ -47,7 +61,7 @@
```bash
git clone https://github.com/named-data/mini-ndn.git
cd mini-ndn
- ./install.sh --source
+ ./install.sh
```
* To test mini-ndn:
* while still in the `mini-ndn` directory, enter
@@ -56,7 +70,7 @@
```
* If it worked, You will see the Mini-NDN CLI. Enter `exit` to close the CLI.
-(Additional optional "not really needed" steps)
+(Recommended steps for distribution)
* To clean and export vm as Vagrant Box:
* while in vm, enter these to clean:
```bash
@@ -70,4 +84,4 @@
* In the terminal, type this command where `vb_name` is the name of the vm defined in `Vagrantfile`, and `box_name` any name for the output `.box` file
```bash
vagrant package --base vb_name --output box_name.box
- ```
\ No newline at end of file
+ ```
diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile
index 85fa2df..04f1bda 100644
--- a/vagrant/Vagrantfile
+++ b/vagrant/Vagrantfile
@@ -1,16 +1,20 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
-# This vagrant box is built with Ubuntu 20.04 basebox from bento. Mini-NDN is
+# This vagrant box is built with Ubuntu 22.04 basebox from bento. Mini-NDN is
# pre-installed in this box. Recommended resource allocation for mini NDN:
-# memory = "4096" cpus = "4". However, modifiy the memory, cups and other
-# configuration as per your need.
+# memory = "4096" cpus = "4". However, modifiy the memory, CPU cores, and other
+# configuration as needed.
Vagrant.configure("2") do |config|
- config.vm.box = "sdulal/mini-ndn"
+ config.vm.box = "netlab-memphis-minindn/minindn-0.7.0"
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
vb.cpus = "4"
vb.name = "mini-ndn-box"
end
+ config.vm.provider "vmware_desktop" do |vb|
+ vb.memory = "4096"
+ vb.cpus = "4"
+ end
end