mhewedy / vermin Goto Github PK
View Code? Open in Web Editor NEWThe smart virtual machines manager. A modern CLI for Vagrant Boxes.
Home Page: https://mhewedy.github.io/vermin
License: Apache License 2.0
The smart virtual machines manager. A modern CLI for Vagrant Boxes.
Home Page: https://mhewedy.github.io/vermin
License: Apache License 2.0
according to #11, vagrant images on windows work without the version part (cause :
is not a valid windows filename part)
this bug opened to indicate we need to support this feature in the future.
current implementation:
Line 58 in 7762ce1
pings only the IP in /24 subnet regardless of the current subnet configured for the machine.
Need to fix this to ping all IPs in the subnet
Can you please mention steps to uninstall this on windows in linux
also mention steps for build and install from source
Thanks
vagrant/
from the beginning of vagrant images and make it the only supported images.VBoxManage.exe: error: Invalid parameter 'Chouhan\.vermin\images\vagrant\ubuntu\focal64.ova'
Usage - Import a virtual appliance in OVF format or from a cloud service and create virtual machines:
VBoxManage import <ovfname | ovaname> [--dry-run] [--options= keepallmacs |
keepnatmacs | importtovdi ] [--vsys=n] [--ostype=ostype] [--vmname=name]
[--settingsfile=file] [--basefolder=folder] [--group=group] [--memory=MB]
[--cpus=n] [--description=text] [--eula= show | accept ] [--unit=n]
[--ignore] [--scsitype= BusLogic | LsiLogic ] [--disk=path]
[--controller=index] [--port=n]
VBoxManage import OCI:// --cloud [--ostype=ostype] [--vmname=name]
[--basefolder=folder] [--memory=MB] [--cpus=n] [--description=text]
<--cloudprofile=profile> <--cloudinstanceid=id> [--cloudbucket=bucket]
seems like the function calling VBoxManage is not providing the correct path of the focal image.
does Vermin support windows?
I'm on windows 11 and virtualbox 7.0.14 (latest at the time of raising this issue)
Little thought
My personal user on this PC is named 'Akhil Chouhan' and the path this is taking is just Chouhan
this seems like the space between Akhil and Chouhan in the username might just be breaking the VBoxManage import command
most vagrant boxes are tgz archives. some of them (e.g. fedora) is a tar archive.
this issue is to support the tar archives as well
sometimes the disk got increased for example when working with docker inside the VM, then after cleaning the diskspace, the host os cannot reclaim that disk space from the guest os.
# source: https://vladimir-ivanov.net/how-to-compact-virtualboxs-vdmk-file-size/
1. sudo sh -c 'cat /dev/zero > zero.fill; sync; sleep 1; sync; rm -f zero.fill'
2. stop vm
3. vboxmanage showhdinfo "/Users/mhewedy/.vermin/vms/vm_01/ubuntu-focal-20.04-cloudimg.vmdk"
CAPTURE UUID
4. VBoxManage clonehd "/Users/mhewedy/.vermin/vms/vm_01/ubuntu-focal-20.04-cloudimg.vmdk" "/tmp/vm_01/ubuntu-focal-20.04-cloudimg.vdi" --format vdi
5. VBoxManage modifyhd "/tmp/vm_01/ubuntu-focal-20.04-cloudimg.vdi" --compact
6. VBoxManage clonehd "/tmp/vm_01/ubuntu-focal-20.04-cloudimg.vdi" "/Users/mhewedy/.vermin/vms/vm_01/ubuntu-focal-20.04-cloudimg.vmdk" --format vmdk
7. rm -rf "/tmp/vm_01/ubuntu-focal-20.04-cloudimg.vdi"
8. vboxmanage internalcommands sethduuid "/Users/mhewedy/.vermin/vms/vm_01/ubuntu-focal-20.04-cloudimg.vmdk" <UUID CAPTRUED PREVIOUSLY>
~/.vermin/vms/vm_01/
to be ~/.vermin/vms/<hypervisor>/vm_01/
~/.vermin/images/generic/
to be ~/.vermin/images/generic/<hypervisor>/
related to #23
@akhiljns do you think of any issues/features to go in release v0.130.0 ?
Allow naming the machine by the VM name (01, 03, etc..., etc)
I get this error when trying to create a vm. I have tried a couple of differente images and get the same error everytime. The VM is created though and in a running state but I'm not sure if the given shell script executed. I triedn creating a vm from an image without any shell script and still got the same issue. So, I'm guessing the script never executed as vermin failed during the create step.
Any ideas?
exit status 1 bash: /etc/hostname: Permission denied
getting this error after vm gets created and connection is estabilished but while executing this command
fmt.Sprintf("sudo sh -c 'echo %s > /etc/hostname'", newHostname)
@mhewedy does this error sound familiar to you? I'm stuck with this now, will look into this when I get some time
Line 14 in 7762ce1
sometimes the arp command is not found, so vermin should report about it
Currently, vermin working on VirtualBox as the only backend hypervisor.
This limitation was because works on its own native images. but now vermin supports vagrant boxes as of #11 .
So I think vermin now can support many hypervisors without the concern of image availability.
One of these hypervisors I intent to support is Hyper-V
Steps:
it seems that the bridged network is full of problems. see #10
So this issue to consider using different network mode in virtualbox ( maybe the NATservice) https://www.virtualbox.org/manual/ch06.html
the main point here is to keep cross vm communications.
Mode | VM→Host | VM←Host | VM1↔VM2 | VM→Net/LAN | VM←Net/LAN |
---|---|---|---|---|---|
Host-only | + | + | + | – | – |
Internal | – | – | + | – | – |
Bridged | + | + | + | + | + |
NAT | + | Port forward | – | + | Port forward |
NATservice | + | Port forward | + | + | Port forward |
Related to changes done in #11
Line 59 in 753321b
Hi there,
created the file and ran it:
sudo apt update -y
sudo apt install redis-server -y
sudo sed -i 's/^supervised no/supervised systemd/' /etc/redis/redis.conf
sudo systemctl restart redis.service
sudo systemctl status redis
vermin create ubuntu/focal script.sh
the machine was created, I can see it.
but cannot establish a connection using:
vermin ssh vm_01
windows10, vbox 6.1
Thanks!
the vm has been created and i can see it running but on performing ssh into the VM it throws following logs
yscall.GetFileAttributesEx(0xc008d5e840?, 0x0, 0x0?)
C:/Program Files/Go/src/syscall/zsyscall_windows.go:750 +0x65 fp=0xc0054258e8 sp=0xc005425898 pc=0x74be65
os.stat({0xac790a, 0x4}, {0xc008d5e840, 0x29}, 0x1)
C:/Program Files/Go/src/os/stat_windows.go:35 +0x289 fp=0xc005425c38 sp=0xc0054258e8 pc=0x77c849
os.statNolog(...)
C:/Program Files/Go/src/os/stat_windows.go:121
os.Stat({0xc008d5e840, 0x29})
C:/Program Files/Go/src/os/stat.go:13 +0x3d fp=0xc005425c70 sp=0xc005425c38 pc=0x77c4dd
os/exec.chkStat({0xc008d5e840?, 0xc002b13040?})
C:/Program Files/Go/src/os/exec/lp_windows.go:20 +0x18 fp=0xc005425c90 sp=0xc005425c70 pc=0x990f98
os/exec.findExecutable({0xc002b13040, 0x25}, {0xc004480b00, 0xb, 0xa44120?})
C:/Program Files/Go/src/os/exec/lp_windows.go:48 +0xd6 fp=0xc005425ce8 sp=0xc005425c90 pc=0x991176
os/exec.LookPath({0xac9a96, 0xa})
C:/Program Files/Go/src/os/exec/lp_windows.go:115 +0x49c fp=0xc005425e58 sp=0xc005425ce8 pc=0x99169c
os/exec.Command({0xac9a96, 0xa}, {0xc007645da0, 0x6, 0xa44120?})
C:/Program Files/Go/src/os/exec/exec.go:419 +0x217 fp=0xc005425ee8 sp=0xc005425e58 pc=0x98c7b7
github.com/mhewedy/vermin/cmd.(*Cmd).Run(0xc005425f90)
D:/programs/vermin/cmd/cmd.go:93 +0x170 fp=0xc005425f58 sp=0xc005425ee8 pc=0x992dd0
github.com/mhewedy/vermin/ip.ping.func1(0x0?)
D:/programs/vermin/ip/ping.go:26 +0x114 fp=0xc005425fc8 sp=0xc005425f58 pc=0x998fd4
github.com/mhewedy/vermin/ip.ping.func2()
D:/programs/vermin/ip/ping.go:28 +0x27 fp=0xc005425fe0 sp=0xc005425fc8 pc=0x998e87
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc005425fe8 sp=0xc005425fe0 pc=0x6fad21
created by github.com/mhewedy/vermin/ip.ping in goroutine 1
D:/programs/vermin/ip/ping.go:25 +0x98
goroutine 6700 [runnable, locked to thread]:
runtime.cgocall(0x6fc4e0, 0xc0077b7ac8)
C:/Program Files/Go/src/runtime/cgocall.go:157 +0x3e fp=0xc00542f7d8 sp=0xc00542f7a0 pc=0x69817e
syscall.SyscallN(0x7ffee9600650?, {0xc00542f870?, 0x3?, 0x0?})
C:/Program Files/Go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc00542f850 sp=0xc00542f7d8 pc=0x6f7aa7
syscall.Syscall(0x29?, 0xc008f3d9e0?, 0xffffffffffffffff?, 0xc00542f8d8?, 0x6a0aa5?)
C:/Program Files/Go/src/runtime/syscall_windows.go:482 +0x35 fp=0xc00542f898 sp=0xc00542f850 pc=0x6f77f5
syscall.GetFileAttributesEx(0xc008fc01e0?, 0x0, 0x0?)
C:/Program Files/Go/src/syscall/zsyscall_windows.go:750 +0x65 fp=0xc00542f8e8 sp=0xc00542f898 pc=0x74be65
os.stat({0xac790a, 0x4}, {0xc008fc01e0, 0x29}, 0x1)
C:/Program Files/Go/src/os/stat_windows.go:35 +0x289 fp=0xc00542fc38 sp=0xc00542f8e8 pc=0x77c849
os.statNolog(...)
C:/Program Files/Go/src/os/stat_windows.go:121
os.Stat({0xc008fc01e0, 0x29})
C:/Program Files/Go/src/os/stat.go:13 +0x3d fp=0xc00542fc70 sp=0xc00542fc38 pc=0x77c4dd
os/exec.chkStat({0xc008fc01e0?, 0xc0041f3d80?})
C:/Program Files/Go/src/os/exec/lp_windows.go:20 +0x18 fp=0xc00542fc90 sp=0xc00542fc70 pc=0x990f98
os/exec.findExecutable({0xc0041f3d80, 0x25}, {0xc003ec5c00, 0xb, 0xa44120?})
C:/Program Files/Go/src/os/exec/lp_windows.go:48 +0xd6 fp=0xc00542fce8 sp=0xc00542fc90 pc=0x991176
os/exec.LookPath({0xac9a96, 0xa})
C:/Program Files/Go/src/os/exec/lp_windows.go:115 +0x49c fp=0xc00542fe58 sp=0xc00542fce8 pc=0x99169c
os/exec.Command({0xac9a96, 0xa}, {0xc007f9b8c0, 0x6, 0xa44120?})
C:/Program Files/Go/src/os/exec/exec.go:419 +0x217 fp=0xc00542fee8 sp=0xc00542fe58 pc=0x98c7b7
github.com/mhewedy/vermin/cmd.(*Cmd).Run(0xc00542ff90)
D:/programs/vermin/cmd/cmd.go:93 +0x170 fp=0xc00542ff58 sp=0xc00542fee8 pc=0x992dd0
github.com/mhewedy/vermin/ip.ping.func1(0x0?)
D:/programs/vermin/ip/ping.go:26 +0x114 fp=0xc00542ffc8 sp=0xc00542ff58 pc=0x998fd4
github.com/mhewedy/vermin/ip.ping.func2()
D:/programs/vermin/ip/ping.go:28 +0x27 fp=0xc00542ffe0 sp=0xc00542ffc8 pc=0x998e87
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00542ffe8 sp=0xc00542ffe0 pc=0x6fad21
created by github.com/mhewedy/vermin/ip.ping in goroutine 1
D:/programs/vermin/ip/ping.go:25 +0x98
goroutine 6701 [runnable, locked to thread]:
runtime.cgocall(0x6fc4e0, 0xc0077cc2c8)
C:/Program Files/Go/src/runtime/cgocall.go:157 +0x3e fp=0xc0054217d8 sp=0xc0054217a0 pc=0x69817e
syscall.SyscallN(0x7ffee9600650?, {0xc005421870?, 0x3?, 0x0?})
C:/Program Files/Go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc005421850 sp=0xc0054217d8 pc=0x6f7aa7
syscall.Syscall(0x29?, 0xc008f3daa0?, 0xffffffffffffffff?, 0xc0054218d8?, 0x6a0aa5?)
C:/Program Files/Go/src/runtime/syscall_windows.go:482 +0x35 fp=0xc005421898 sp=0xc005421850 pc=0x6f77f5
syscall.GetFileAttributesEx(0xc008fc0240?, 0x0, 0x0?)
C:/Program Files/Go/src/syscall/zsyscall_windows.go:750 +0x65 fp=0xc0054218e8 sp=0xc005421898 pc=0x74be65
os.stat({0xac790a, 0x4}, {0xc008fc0240, 0x29}, 0x1)
C:/Program Files/Go/src/os/stat_windows.go:35 +0x289 fp=0xc005421c38 sp=0xc0054218e8 pc=0x77c849
os.statNolog(...)
C:/Program Files/Go/src/os/stat_windows.go:121
os.Stat({0xc008fc0240, 0x29})
C:/Program Files/Go/src/os/stat.go:13 +0x3d fp=0xc005421c70 sp=0xc005421c38 pc=0x77c4dd
os/exec.chkStat({0xc008fc0240?, 0xc000cf4ac0?})
C:/Program Files/Go/src/os/exec/lp_windows.go:20 +0x18 fp=0xc005421c90 sp=0xc005421c70 pc=0x990f98
os/exec.findExecutable({0xc000cf4ac0, 0x25}, {0xc00235e400, 0xb, 0xa44120?})
C:/Program Files/Go/src/os/exec/lp_windows.go:48 +0xd6 fp=0xc005421ce8 sp=0xc005421c90 pc=0x991176
os/exec.LookPath({0xac9a96, 0xa})
C:/Program Files/Go/src/os/exec/lp_windows.go:115 +0x49c fp=0xc005421e58 sp=0xc005421ce8 pc=0x99169c
os/exec.Command({0xac9a96, 0xa}, {0xc007f9b920, 0x6, 0xa44120?})
C:/Program Files/Go/src/os/exec/exec.go:419 +0x217 fp=0xc005421ee8 sp=0xc005421e58 pc=0x98c7b7
github.com/mhewedy/vermin/cmd.(*Cmd).Run(0xc005421f90)
D:/programs/vermin/cmd/cmd.go:93 +0x170 fp=0xc005421f58 sp=0xc005421ee8 pc=0x992dd0
github.com/mhewedy/vermin/ip.ping.func1(0x0?)
D:/programs/vermin/ip/ping.go:26 +0x114 fp=0xc005421fc8 sp=0xc005421f58 pc=0x998fd4
github.com/mhewedy/vermin/ip.ping.func2()
D:/programs/vermin/ip/ping.go:28 +0x27 fp=0xc005421fe0 sp=0xc005421fc8 pc=0x998e87
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc005421fe8 sp=0xc005421fe0 pc=0x6fad21
created by github.com/mhewedy/vermin/ip.ping in goroutine 1
D:/programs/vermin/ip/ping.go:25 +0x98
goroutine 6702 [runnable, locked to thread]:
runtime.cgocall(0x6fc4e0, 0xc0044646c8)
C:/Program Files/Go/src/runtime/cgocall.go:157 +0x3e fp=0xc00542b7d8 sp=0xc00542b7a0 pc=0x69817e
syscall.SyscallN(0x7ffee9600650?, {0xc00542b870?, 0x3?, 0x0?})
C:/Program Files/Go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc00542b850 sp=0xc00542b7d8 pc=0x6f7aa7
syscall.Syscall(0x29?, 0xc008e43740?, 0xffffffffffffffff?, 0xc00542b8d8?, 0x6a0aa5?)
C:/Program Files/Go/src/runtime/syscall_windows.go:482 +0x35 fp=0xc00542b898 sp=0xc00542b850 pc=0x6f77f5
syscall.GetFileAttributesEx(0xc008cd8b70?, 0x0, 0x0?)
C:/Program Files/Go/src/syscall/zsyscall_windows.go:750 +0x65 fp=0xc00542b8e8 sp=0xc00542b898 pc=0x74be65
os.stat({0xac790a, 0x4}, {0xc008cd8b70, 0x29}, 0x1)
C:/Program Files/Go/src/os/stat_windows.go:35 +0x289 fp=0xc00542bc38 sp=0xc00542b8e8 pc=0x77c849
os.statNolog(...)
C:/Program Files/Go/src/os/stat_windows.go:121
os.Stat({0xc008cd8b70, 0x29})
C:/Program Files/Go/src/os/stat.go:13 +0x3d fp=0xc00542bc70 sp=0xc00542bc38 pc=0x77c4dd
os/exec.chkStat({0xc008cd8b70?, 0xc003ff6740?})
C:/Program Files/Go/src/os/exec/lp_windows.go:20 +0x18 fp=0xc00542bc90 sp=0xc00542bc70 pc=0x990f98
os/exec.findExecutable({0xc003ff6740, 0x25}, {0xc004120f00, 0xb, 0xa44120?})
C:/Program Files/Go/src/os/exec/lp_windows.go:48 +0xd6 fp=0xc00542bce8 sp=0xc00542bc90 pc=0x991176
os/exec.LookPath({0xac9a96, 0xa})
C:/Program Files/Go/src/os/exec/lp_windows.go:115 +0x49c fp=0xc00542be58 sp=0xc00542bce8 pc=0x99169c
os/exec.Command({0xac9a96, 0xa}, {0xc000d88720, 0x6, 0xa44120?})
C:/Program Files/Go/src/os/exec/exec.go:419 +0x217 fp=0xc00542bee8 sp=0xc00542be58 pc=0x98c7b7
github.com/mhewedy/vermin/cmd.(*Cmd).Run(0xc00542bf90)
D:/programs/vermin/cmd/cmd.go:93 +0x170 fp=0xc00542bf58 sp=0xc00542bee8 pc=0x992dd0
github.com/mhewedy/vermin/ip.ping.func1(0x0?)
D:/programs/vermin/ip/ping.go:26 +0x114 fp=0xc00542bfc8 sp=0xc00542bf58 pc=0x998fd4
github.com/mhewedy/vermin/ip.ping.func2()
D:/programs/vermin/ip/ping.go:28 +0x27 fp=0xc00542bfe0 sp=0xc00542bfc8 pc=0x998e87
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00542bfe8 sp=0xc00542bfe0 pc=0x6fad21
created by github.com/mhewedy/vermin/ip.ping in goroutine 1
D:/programs/vermin/ip/ping.go:25 +0x98
.............
PS : this is just a part of infinite logs that i keeps generating
putting sleep as this get property works only when the vm is up and running, this wait time is to ensure it is up, will change this to health check based approach instead of sleep
Originally posted by @akhiljns in #48 (comment)
Final:
vermin create vagrant/hashicorp/bionic64:1.0.282
Steps:
ovf
and vmdk
files into ova
archive in case the previous step done, otherwise skip (tar the ovf and the vmdk into ova) ✔️.vermin/
and use it with vagrant boxes (modify install script to copy vagrant key to vermin installation) ✔️username/private key
of vermin/vagrant according to the origin of the VM image. ✔️Sample Response for step 1:
{
"description": "A standard Ubuntu 18.04 LTS 64-bit box",
"short_description": "A standard Ubuntu 18.04 LTS 64-bit box",
"name": "hashicorp/bionic64",
"versions": [
{
"version": "1.0.282",
"status": "active",
"description_html": null,
"description_markdown": null,
"providers": [
{
"name": "virtualbox",
"url": "https://vagrantcloud.com/hashicorp/boxes/bionic64/versions/1.0.282/providers/virtualbox.box",
"checksum": null,
"checksum_type": null
},
{
"name": "vmware_desktop",
"url": "https://vagrantcloud.com/hashicorp/boxes/bionic64/versions/1.0.282/providers/vmware_desktop.box",
"checksum": null,
"checksum_type": null
},
{
"name": "hyperv",
"url": "https://vagrantcloud.com/hashicorp/boxes/bionic64/versions/1.0.282/providers/hyperv.box",
"checksum": null,
"checksum_type": null
}
]
}
]
}
arp
is not by default installed on some machines (ubuntu 20.04 for example).
However, vermin don't report this issue. so the connection is not established with no error being reported.
You have a link that goes to https://github.com/mhewedy/vermin#Automatic-installation but that doesn't exist.
How will upgrades work? Does vermin inform you that and upgrade is available?
client_loop: send disconnect: Broken pipe
Hi Muhammad, thanks for this tool.
Is changing the k8s_version=
to 1.20.0
enough to do the upgrade? Or do we need to upgrade other packages too, to match the k8s version such as Docker etc?
Now stop depending on vermin images and use vagrant images as the defualt so the vagrant image name is "generic/arch" instead of "vagrant/generic/arch"
Line 34 in 753321b
currently, mount
allows mounting one time and before that, it clears all previous mounts.
We need to make the clear part is optional (based on a -p flag or so)
currently, only shell scripts are supported as a provisioning script, and take the form of:
vermin create <image> <shell_script>
suggested to support ansible playbooks as well by introducing new flag --type|-t
vermin create <image> <shell_script>
<< default
vermin create <image> <shell_script> -t shell
in case of ansible:
vermin create <image> <playbook.yaml> -t ansible
Provisioning vm_01
: invalid optionline 3: set: -
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
/tmp/master.sh: line 4: $'\r': command not found
/tmp/master.sh: line 8: $'\r': command not found
Could not set property: Invalid pretty host name '192.168.1.5
'
/tmp/master.sh: line 12: $'\r': command not found
: No such file or directory
/tmp/master.sh: line 14: $'\r': command not found
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.TIP5MpsQmS/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys CC86BB64
" not a key ID: skipping
Usage: add-apt-repository <sourceline>
add-apt-repository is a script for adding apt sources.list entries.
It can be used to add any repository and also provides a shorthand
syntax for adding a Launchpad PPA (Personal Package Archive)
repository.
<sourceline> - The apt repository source line to add. This is one of:
a complete apt line in quotes,
a repo url and areas in quotes (areas defaults to 'main')
a PPA shortcut.
a distro component
Examples:
apt-add-repository 'deb http://myserver/path/to/repo stable myrepo'
apt-add-repository 'http://myserver/path/to/repo myrepo'
apt-add-repository 'https://packages.medibuntu.org free non-free'
apt-add-repository http://extras.ubuntu.com/ubuntu
apt-add-repository ppa:user/repository
apt-add-repository ppa:user/distro/repository
apt-add-repository multiverse
If --remove is given the tool will remove the given sourceline from your
sources.list
add-apt-repository: error: no such option: -
E: Command line option '
' [from -y
] is not understood in combination with the other options.
E: Command line option '
' [from -y
] is not understood in combination with the other options.
sudo: yq: command not found
sudo: yq: command not found
sudo: yq: command not found
sudo: yq: command not found
sudo: yq: command not found
usage: /usr/sbin/netplan [-h] [--debug] ...
/usr/sbin/netplan : error: argument : invalid choice: 'apply\r' (choose from 'help', 'apply', 'generate', 'get', 'info', 'ip', 'set', 'rebind', 'try')
sleep: invalid time interval ‘1\r’
Try 'sleep --help' for more information.
/tmp/master.sh: line 28: $'\r': command not found
Warning: apt-key output should not be parsed (stdout is not a terminal)
"pg: invalid option "-
' invalid
/tmp/master.sh: line 34: deb [arch=amd64] https://download.docker.com/linux/ubuntu \
\bionic
: No such file or directory
Warning: apt-key output should not be parsed (stdout is not a terminal)
"pg: invalid option "-
/tmp/master.sh: line 78: warning: here-document at line 36 delimited by end-of-file (wanted `EOF')
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y \
containerd.io=1.2.13-1 \
\docker-ce=5:19.03.8~3-0~ubuntu-bionic
docker-ce-cli=5:19.03.8~3-0~ubuntu-bionic
-00 kubectl=1.18.0ll -y kubelet=1.18.0
sudo apt-mark hold docker-ce kubelet kubeadm kubectl
echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
## configure docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
Most of the vagrant images are gzipped files contain ovf
and vmdk
files and other vagrant metadata files.
except some are already an OVA tarred files (such as ubuntu/* images)
So we need not try to gunzip
such tarred OVAs and use directly.
related to #11
vermin - now - is more suitable for development and testing activities, and this is because it now uses one share ssh key pair located at https://github.com/mhewedy/vermin/tree/master/etc/keys
The point here is to create a key pair for the use at installation time, and on each new VM create, copy the public key inside the VM instead of shipping the images with a copy of the key in the link above.
Line 14 in 7762ce1
sometimes the arp command is not found, so vermin should report about it
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.