Here's a step by step guide to convert a Virtualbox .ova to a Vagrant box.
- List your VMs to find the VM id you want to convert:
$ VBoxManage list vms
"testing" {a3f59eed-b9c5-4a5f-9977-187f8eb8c4d4}
- You can now package the .ova VM as Vagrant box:
| sudo apt-get update | |
| wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash | |
| export NVM_DIR="$HOME/.nvm" | |
| [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |
| [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion | |
| nvm install --lts | |
| npm install -g ask-cli |
| /* eslint-disable func-names */ | |
| /* eslint-disable no-console */ | |
| const Alexa = require('ask-sdk'); | |
| const LaunchRequestHandler = { | |
| canHandle(handlerInput) { | |
| return handlerInput.requestEnvelope.request.type === 'LaunchRequest'; | |
| }, | |
| handle(handlerInput) { |
| { | |
| "type": "APL", | |
| "version": "1.0", | |
| "theme": "dark", | |
| "import": [], | |
| "resources": [], | |
| "styles": {}, | |
| "layouts": {}, | |
| "mainTemplate": { | |
| "parameters": [ |
| //Intent handler A calls intent handler B | |
| const A_IntentHandler = { | |
| canHandle(handlerInput) { | |
| return handlerInput.requestEnvelope.request.type === 'IntentRequest' | |
| && handlerInput.requestEnvelope.request.intent.name === 'A_IntentHandler'; | |
| }, | |
| handle(handlerInput) { | |
| // some code | |
Here's a step by step guide to convert a Virtualbox .ova to a Vagrant box.
$ VBoxManage list vms
"testing" {a3f59eed-b9c5-4a5f-9977-187f8eb8c4d4}
| http.init(0); | |
| http.req_copy_headers(0) | |
| http.req_set_method(0, "HEAD"); | |
| # // Generate the next URL by incrementing the first | |
| # // number sequence found and send it back to Varnish. | |
| # // If no number sequence is found, the request is skipped. | |
| http.req_set_url(0, http.prefetch_next_url()); | |
| http.req_send_and_finish(0); |
| server s1 { # Part 1 requests | |
| rxreq | |
| txresp -body "1" | |
| expect req.url == "/1" | |
| rxreq | |
| txresp -body "2" | |
| expect req.url == "/1" | |
| # Part 2 requests | |
| rxreq |
| vcl 4.1; | |
| import cookieplus; | |
| import header; | |
| import std; | |
| import directors; | |
| backend default { | |
| .host = "127.0.0.1"; | |
| .port = "8081"; |
| varnishtest ESI | |
| server s1 { | |
| rxreq | |
| txresp -body { | |
| <html> | |
| Before include | |
| <!--esi <esi:include src=""/> --> | |
| After include | |
| } |
| varnishtest "hash director with sick backend" | |
| server s1 -repeat 2 { | |
| rxreq | |
| expect req.url == "/s1" | |
| expect req.http.Host == "host2" | |
| txresp -hdr "Server: s1" -body "server1" | |
| } -start | |
| server s2 { |