vagrant-libvirt 0.0.41 → 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.github/issue_template.md +37 -0
  4. data/.gitignore +21 -0
  5. data/.travis.yml +24 -0
  6. data/Gemfile +26 -0
  7. data/LICENSE +22 -0
  8. data/README.md +1380 -0
  9. data/Rakefile +8 -0
  10. data/example_box/README.md +29 -0
  11. data/example_box/Vagrantfile +60 -0
  12. data/example_box/metadata.json +5 -0
  13. data/lib/vagrant-libvirt.rb +29 -0
  14. data/lib/vagrant-libvirt/action.rb +370 -0
  15. data/lib/vagrant-libvirt/action/create_domain.rb +322 -0
  16. data/lib/vagrant-libvirt/action/create_domain_volume.rb +87 -0
  17. data/lib/vagrant-libvirt/action/create_network_interfaces.rb +302 -0
  18. data/lib/vagrant-libvirt/action/create_networks.rb +361 -0
  19. data/lib/vagrant-libvirt/action/destroy_domain.rb +83 -0
  20. data/lib/vagrant-libvirt/action/destroy_networks.rb +95 -0
  21. data/lib/vagrant-libvirt/action/forward_ports.rb +227 -0
  22. data/lib/vagrant-libvirt/action/halt_domain.rb +41 -0
  23. data/lib/vagrant-libvirt/action/handle_box_image.rb +156 -0
  24. data/lib/vagrant-libvirt/action/handle_storage_pool.rb +57 -0
  25. data/lib/vagrant-libvirt/action/is_created.rb +18 -0
  26. data/lib/vagrant-libvirt/action/is_running.rb +21 -0
  27. data/lib/vagrant-libvirt/action/is_suspended.rb +42 -0
  28. data/lib/vagrant-libvirt/action/message_already_created.rb +16 -0
  29. data/lib/vagrant-libvirt/action/message_not_created.rb +16 -0
  30. data/lib/vagrant-libvirt/action/message_not_running.rb +16 -0
  31. data/lib/vagrant-libvirt/action/message_not_suspended.rb +16 -0
  32. data/lib/vagrant-libvirt/action/message_will_not_destroy.rb +17 -0
  33. data/lib/vagrant-libvirt/action/package_domain.rb +105 -0
  34. data/lib/vagrant-libvirt/action/prepare_nfs_settings.rb +94 -0
  35. data/lib/vagrant-libvirt/action/prepare_nfs_valid_ids.rb +17 -0
  36. data/lib/vagrant-libvirt/action/prune_nfs_exports.rb +27 -0
  37. data/lib/vagrant-libvirt/action/read_mac_addresses.rb +40 -0
  38. data/lib/vagrant-libvirt/action/remove_libvirt_image.rb +20 -0
  39. data/lib/vagrant-libvirt/action/remove_stale_volume.rb +50 -0
  40. data/lib/vagrant-libvirt/action/resume_domain.rb +34 -0
  41. data/lib/vagrant-libvirt/action/set_boot_order.rb +109 -0
  42. data/lib/vagrant-libvirt/action/set_name_of_domain.rb +64 -0
  43. data/lib/vagrant-libvirt/action/share_folders.rb +71 -0
  44. data/lib/vagrant-libvirt/action/start_domain.rb +307 -0
  45. data/lib/vagrant-libvirt/action/suspend_domain.rb +40 -0
  46. data/lib/vagrant-libvirt/action/wait_till_up.rb +109 -0
  47. data/lib/vagrant-libvirt/cap/mount_p9.rb +42 -0
  48. data/lib/vagrant-libvirt/cap/nic_mac_addresses.rb +17 -0
  49. data/lib/vagrant-libvirt/cap/synced_folder.rb +113 -0
  50. data/lib/vagrant-libvirt/config.rb +746 -0
  51. data/lib/vagrant-libvirt/driver.rb +118 -0
  52. data/lib/vagrant-libvirt/errors.rb +153 -0
  53. data/lib/vagrant-libvirt/plugin.rb +92 -0
  54. data/lib/vagrant-libvirt/provider.rb +130 -0
  55. data/lib/vagrant-libvirt/templates/default_storage_pool.xml.erb +13 -0
  56. data/lib/vagrant-libvirt/templates/domain.xml.erb +244 -0
  57. data/lib/vagrant-libvirt/templates/private_network.xml.erb +42 -0
  58. data/lib/vagrant-libvirt/templates/public_interface.xml.erb +26 -0
  59. data/lib/vagrant-libvirt/util.rb +11 -0
  60. data/lib/vagrant-libvirt/util/collection.rb +19 -0
  61. data/lib/vagrant-libvirt/util/erb_template.rb +22 -0
  62. data/lib/vagrant-libvirt/util/error_codes.rb +100 -0
  63. data/lib/vagrant-libvirt/util/network_util.rb +151 -0
  64. data/lib/vagrant-libvirt/util/timer.rb +17 -0
  65. data/lib/vagrant-libvirt/version.rb +5 -0
  66. data/locales/en.yml +162 -0
  67. data/spec/spec_helper.rb +9 -0
  68. data/spec/support/environment_helper.rb +46 -0
  69. data/spec/support/libvirt_context.rb +30 -0
  70. data/spec/support/sharedcontext.rb +34 -0
  71. data/spec/unit/action/destroy_domain_spec.rb +97 -0
  72. data/spec/unit/action/set_name_of_domain_spec.rb +21 -0
  73. data/spec/unit/action/wait_till_up_spec.rb +127 -0
  74. data/spec/unit/config_spec.rb +113 -0
  75. data/spec/unit/templates/domain_all_settings.xml +137 -0
  76. data/spec/unit/templates/domain_defaults.xml +46 -0
  77. data/spec/unit/templates/domain_spec.rb +84 -0
  78. data/tools/create_box.sh +130 -0
  79. data/tools/prepare_redhat_for_box.sh +119 -0
  80. data/vagrant-libvirt.gemspec +54 -0
  81. metadata +93 -3
@@ -0,0 +1,46 @@
1
+ <domain type='' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
2
+ <name></name>
3
+ <uuid></uuid>
4
+ <memory></memory>
5
+ <vcpu>1</vcpu>
6
+
7
+
8
+ <cpu mode='host-model'>
9
+ <model fallback='allow'></model>
10
+ </cpu>
11
+
12
+
13
+ <os>
14
+ <type>hvm</type>
15
+ <kernel></kernel>
16
+ <initrd></initrd>
17
+ <cmdline></cmdline>
18
+ </os>
19
+ <features>
20
+ <acpi/>
21
+ <apic/>
22
+ <pae/>
23
+ </features>
24
+ <clock offset='utc'/>
25
+ <devices>
26
+
27
+
28
+ <serial type='pty'>
29
+ <target port='0'/>
30
+ </serial>
31
+ <console type='pty'>
32
+ <target port='0'/>
33
+ </console>
34
+
35
+
36
+ <input type='mouse' bus='ps2'/>
37
+
38
+ <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='en-us' />
39
+ <video>
40
+ <model type='cirrus' vram='9216' heads='1'/>
41
+ </video>
42
+
43
+
44
+ </devices>
45
+
46
+ </domain>
@@ -0,0 +1,84 @@
1
+ require 'support/sharedcontext'
2
+
3
+ require 'vagrant-libvirt/config'
4
+ require 'vagrant-libvirt/util/erb_template'
5
+
6
+ describe 'templates/domain' do
7
+ include_context 'unit'
8
+
9
+ class DomainTemplateHelper < VagrantPlugins::ProviderLibvirt::Config
10
+ include VagrantPlugins::ProviderLibvirt::Util::ErbTemplate
11
+
12
+ def finalize!
13
+ super
14
+ @qargs = @qemu_args
15
+ end
16
+ end
17
+
18
+ let(:domain) { DomainTemplateHelper.new }
19
+ let(:xml_expected) { File.read(File.join(File.dirname(__FILE__), test_file)) }
20
+
21
+ context 'when only defaults used' do
22
+ let(:test_file) { 'domain_defaults.xml' }
23
+ it 'renders template' do
24
+ domain.finalize!
25
+ expect(domain.to_xml('domain')).to eq xml_expected
26
+ end
27
+ end
28
+
29
+ context 'when all settings enabled' do
30
+ before do
31
+ domain.instance_variable_set('@domain_type', 'kvm')
32
+ domain.cpu_mode = 'custom'
33
+ domain.cpu_feature(name: 'AAA', policy: 'required')
34
+ domain.cputopology(sockets: '1', cores: '3', threads: '2')
35
+ domain.machine_type = 'pc-compatible'
36
+ domain.machine_arch = 'x86_64'
37
+ domain.loader = '/efi/loader'
38
+ domain.boot('network')
39
+ domain.boot('cdrom')
40
+ domain.boot('hd')
41
+ domain.emulator_path = '/usr/bin/kvm-spice'
42
+ domain.instance_variable_set('@domain_volume_path', '/var/lib/libvirt/images/test.qcow2')
43
+ domain.instance_variable_set('@domain_volume_cache', 'unsafe')
44
+ domain.disk_bus = 'ide'
45
+ domain.disk_device = 'vda'
46
+ domain.storage(:file, path: 'test-disk1.qcow2')
47
+ domain.storage(:file, path: 'test-disk2.qcow2')
48
+ domain.disks.each do |disk|
49
+ disk[:absolute_path] = '/var/lib/libvirt/images/' + disk[:path]
50
+ end
51
+ domain.storage(:file, device: :cdrom)
52
+ domain.storage(:file, device: :cdrom)
53
+ domain.channel(type: 'unix',
54
+ target_name: 'org.qemu.guest_agent.0',
55
+ target_type: 'virtio')
56
+ domain.channel(type: 'spicevmc',
57
+ target_name: 'com.redhat.spice.0',
58
+ target_type: 'virtio')
59
+ domain.channel(type: 'unix',
60
+ target_type: 'guestfwd',
61
+ target_address: '192.0.2.42',
62
+ target_port: '4242',
63
+ source_path: '/tmp/foo')
64
+ domain.random(model: 'random')
65
+ domain.pci(bus: '0x06', slot: '0x12', function: '0x5')
66
+ domain.pci(bus: '0x03', slot: '0x00', function: '0x0')
67
+ domain.usb(bus: '1', device: '2', vendor: '0x1234', product: '0xabcd')
68
+ domain.redirdev(type: 'tcp', host: 'localhost', port: '4000')
69
+ domain.redirfilter(class: '0x0b', vendor: '0x08e6',
70
+ product: '0x3437', version: '2.00', allow: 'yes')
71
+ domain.watchdog(model: 'i6300esb', action: 'reset')
72
+ domain.smartcard(mode: 'passthrough')
73
+ domain.tpm_path = '/dev/tpm0'
74
+
75
+ domain.qemuargs(value: '-device')
76
+ domain.qemuargs(value: 'dummy-device')
77
+ end
78
+ let(:test_file) { 'domain_all_settings.xml' }
79
+ it 'renders template' do
80
+ domain.finalize!
81
+ expect(domain.to_xml('domain')).to eq xml_expected
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,130 @@
1
+ #!/usr/bin/env bash
2
+ #set -xu
3
+
4
+ error() {
5
+ local msg="${1}"
6
+ echo "==> ERROR: ${msg}"
7
+ exit 1
8
+ }
9
+
10
+ usage() {
11
+ echo "Usage: ${0} IMAGE [BOX] [Vagrantfile.add]"
12
+ echo
13
+ echo "Package a qcow2 image into a vagrant-libvirt reusable box"
14
+ }
15
+
16
+ # Print the image's backing file
17
+ backing(){
18
+ local img=${1}
19
+ qemu-img info "$img" | grep 'backing file:' | cut -d ':' -f2
20
+ }
21
+
22
+ # Rebase the image
23
+ rebase(){
24
+ local img=${1}
25
+ qemu-img rebase -p -b "" "$img"
26
+ [[ "$?" -ne 0 ]] && error "Error during rebase"
27
+ }
28
+
29
+ # Is absolute path
30
+ isabspath(){
31
+ local path=${1}
32
+ [[ "$path" =~ ^/.* ]]
33
+ }
34
+
35
+ if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
36
+ usage
37
+ exit 1
38
+ fi
39
+
40
+ IMG=$(readlink -e "$1")
41
+ [[ "$?" -ne 0 ]] && error "'$1': No such image"
42
+
43
+ IMG_DIR=$(dirname "$IMG")
44
+ IMG_BASENAME=$(basename "$IMG")
45
+
46
+ BOX=${2:-}
47
+ # If no box name is supplied infer one from image name
48
+ if [[ -z "$BOX" ]]; then
49
+ BOX_NAME=${IMG_BASENAME%.*}
50
+ BOX=$BOX_NAME.box
51
+ else
52
+ BOX_NAME=$(basename "${BOX%.*}")
53
+ fi
54
+
55
+ [[ -f "$BOX" ]] && error "'$BOX': Already exists"
56
+
57
+ CWD=$(pwd)
58
+ TMP_DIR="$CWD/_tmp_package"
59
+ TMP_IMG="$TMP_DIR/box.img"
60
+
61
+ mkdir -p "$TMP_DIR"
62
+
63
+ [[ ! -r "$IMG" ]] && error "'$IMG': Permission denied"
64
+
65
+ if [ -n "$3" ] && [ -r "$3" ]; then
66
+ VAGRANTFILE_ADD="$(cat $3)"
67
+ fi
68
+
69
+ # We move / copy (when the image has master) the image to the tempdir
70
+ # ensure that it's moved back / removed again
71
+ if [[ -n $(backing "$IMG") ]]; then
72
+ echo "==> Image has backing image, copying image and rebasing ..."
73
+ trap "rm -rf $TMP_DIR" EXIT
74
+ cp "$IMG" "$TMP_IMG"
75
+ rebase "$TMP_IMG"
76
+ else
77
+ if fuser -s "$IMG"; then
78
+ error "Image '$IMG_BASENAME' is used by another process"
79
+ fi
80
+
81
+ # move the image to get a speed-up and use less space on disk
82
+ trap 'mv "$TMP_IMG" "$IMG"; rm -rf "$TMP_DIR"' EXIT
83
+ mv "$IMG" "$TMP_IMG"
84
+ fi
85
+
86
+ cd "$TMP_DIR"
87
+
88
+ #Using the awk int function here to truncate the virtual image size to an
89
+ #integer since the fog-libvirt library does not seem to properly handle
90
+ #floating point.
91
+ IMG_SIZE=$(qemu-img info --output=json "$TMP_IMG" | awk '/virtual-size/{s=int($2)/(1024^3); print (s == int(s)) ? s : int(s)+1 }')
92
+
93
+ echo "{$IMG_SIZE}"
94
+
95
+ cat > metadata.json <<EOF
96
+ {
97
+ "provider": "libvirt",
98
+ "format": "qcow2",
99
+ "virtual_size": ${IMG_SIZE}
100
+ }
101
+ EOF
102
+
103
+ cat > Vagrantfile <<EOF
104
+ Vagrant.configure("2") do |config|
105
+
106
+ config.vm.provider :libvirt do |libvirt|
107
+
108
+ libvirt.driver = "kvm"
109
+ libvirt.host = ""
110
+ libvirt.connect_via_ssh = false
111
+ libvirt.storage_pool_name = "default"
112
+
113
+ end
114
+
115
+ ${VAGRANTFILE_ADD:-}
116
+ end
117
+ EOF
118
+
119
+ echo "==> Creating box, tarring and gzipping"
120
+
121
+ tar cvzf "$BOX" -S --totals ./metadata.json ./Vagrantfile ./box.img
122
+
123
+ # if box is in tmpdir move it to CWD before removing tmpdir
124
+ if ! isabspath "$BOX"; then
125
+ mv "$BOX" "$CWD"
126
+ fi
127
+
128
+ echo "==> ${BOX} created"
129
+ echo "==> You can now add the box:"
130
+ echo "==> 'vagrant box add ${BOX} --name ${BOX_NAME}'"
@@ -0,0 +1,119 @@
1
+ #!/bin/bash +x
2
+
3
+ # This script should help to prepare RedHat and RedHat like OS (CentOS,
4
+ # Scientific Linux, ...) for Vagrant box usage.
5
+
6
+ # To create new box image, just install minimal base system in VM on top of not
7
+ # fully allocated qcow2 image. Then upload this script to the VM and run it.
8
+ # After script has finished, nothing else than halting machine should be done.
9
+
10
+ # For more info about creating custom box refer to
11
+ # https://github.com/vagrant-libvirt/vagrant-libvirt/tree/master/example_box
12
+
13
+ # We need to set a hostname.
14
+ if [ $# -ne 1 ]; then
15
+ echo "Usage: $0 <hostname>"
16
+ echo "Hostname should be in format vagrant-[os-name], e.g. vagrant-redhat63."
17
+ exit 1
18
+ fi
19
+
20
+
21
+ # On which version of RedHet are we running?
22
+ RHEL_MAJOR_VERSION=$(sed 's/.*release \([0-9]\)\..*/\1/' /etc/redhat-release)
23
+ if [ $? -ne 0 ]; then
24
+ echo "Is this a RedHat distro?"
25
+ exit 1
26
+ fi
27
+ echo "* Found RedHat ${RHEL_MAJOR_VERSION} version."
28
+
29
+
30
+ # Setup hostname vagrant-something.
31
+ FQDN="$1.vagrantup.com"
32
+ if grep '^HOSTNAME=' /etc/sysconfig/network > /dev/null; then
33
+ sed -i 's/HOSTNAME=\(.*\)/HOSTNAME='${FQDN}'/' /etc/sysconfig/network
34
+ else
35
+ echo "HOSTNAME=${FQDN}" >> /etc/sysconfig/network
36
+ fi
37
+
38
+
39
+ # Enable EPEL repository.
40
+ yum -y install wget
41
+ cd ~root
42
+ if [ $RHEL_MAJOR_VERSION -eq 5 ]; then
43
+ wget http://ftp.astral.ro/mirrors/fedora/pub/epel/5/i386/epel-release-5-4.noarch.rpm
44
+ EPEL_PKG="epel-release-5-4.noarch.rpm"
45
+ else
46
+ wget http://ftp.astral.ro/mirrors/fedora/pub/epel/6/i386/epel-release-6-8.noarch.rpm
47
+ EPEL_PKG="epel-release-6-8.noarch.rpm"
48
+ fi
49
+ rpm -i ~root/${EPEL_PKG}
50
+ rm -f ~root/${EPEL_PKG}
51
+
52
+
53
+ # Install some required software.
54
+ yum -y install openssh-server openssh-clients sudo \
55
+ ruby ruby-devel make gcc rubygems rsync
56
+ chkconfig sshd on
57
+
58
+
59
+ # Users, groups, passwords and sudoers.
60
+ echo 'vagrant' | passwd --stdin root
61
+ grep 'vagrant' /etc/passwd > /dev/null
62
+ if [ $? -ne 0 ]; then
63
+ echo '* Creating user vagrant.'
64
+ useradd vagrant
65
+ echo 'vagrant' | passwd --stdin vagrant
66
+ fi
67
+ grep '^admin:' /etc/group > /dev/null || groupadd admin
68
+ usermod -G admin vagrant
69
+
70
+ echo 'Defaults env_keep += "SSH_AUTH_SOCK"' >> /etc/sudoers
71
+ echo '%admin ALL=NOPASSWD: ALL' >> /etc/sudoers
72
+ sed -i 's/Defaults\s*requiretty/Defaults !requiretty/' /etc/sudoers
73
+
74
+
75
+ # SSH setup
76
+ # Add Vagrant ssh key for root and vagrant accouts.
77
+ sed -i 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
78
+
79
+ [ -d ~root/.ssh ] || mkdir ~root/.ssh
80
+ chmod 700 ~root/.ssh
81
+ cat > ~root/.ssh/authorized_keys << EOF
82
+ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
83
+ EOF
84
+ chmod 600 ~root/.ssh/authorized_keys
85
+
86
+ [ -d ~vagrant/.ssh ] || mkdir ~vagrant/.ssh
87
+ chmod 700 ~vagrant/.ssh
88
+ cat > ~vagrant/.ssh/authorized_keys << EOF
89
+ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
90
+ EOF
91
+ chmod 600 ~vagrant/.ssh/authorized_keys
92
+
93
+
94
+ # Disable firewall and switch SELinux to permissive mode.
95
+ chkconfig iptables off
96
+ chkconfig ip6tables off
97
+
98
+
99
+ # Networking setup..
100
+ # Don't fix ethX names to hw address.
101
+ rm -f /etc/udev/rules.d/*persistent-net.rules
102
+ rm -f /etc/udev/rules.d/*-net.rules
103
+ rm -fr /var/lib/dhclient/*
104
+
105
+ # Interface eth0 should get IP address via dhcp.
106
+ cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
107
+ DEVICE="eth0"
108
+ BOOTPROTO="dhcp"
109
+ ONBOOT="yes"
110
+ NM_CONTROLLED="no"
111
+ EOF
112
+
113
+
114
+ # Do some cleanup..
115
+ rm -f ~root/.bash_history
116
+ rm -r "$(gem env gemdir)"/doc/*
117
+ yum clean all
118
+
119
+ halt
@@ -0,0 +1,54 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # stub: vagrant-libvirt 0.0.41 ruby lib
3
+ require File.expand_path('../lib/vagrant-libvirt/version', __FILE__)
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "vagrant-libvirt".freeze
7
+ s.version = VagrantPlugins::ProviderLibvirt::VERSION
8
+
9
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
10
+ s.require_paths = ["lib".freeze]
11
+ s.authors = ["Lukas Stanek".freeze, "Dima Vasilets".freeze, "Brian Pitts".freeze]
12
+ s.files = `git ls-files`.split($\)
13
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
14
+
15
+ s.date = "2018-02-02"
16
+ s.description = "libvirt provider for Vagrant.".freeze
17
+ s.email = ["ls@elostech.cz".freeze, "pronix.service@gmail.com".freeze, "brian@polibyte.com".freeze]
18
+ s.homepage = "https://github.com/vagrant-libvirt/vagrant-libvirt".freeze
19
+ s.licenses = ["MIT".freeze]
20
+ s.rubygems_version = "2.6.14".freeze
21
+ s.summary = "libvirt provider for Vagrant.".freeze
22
+
23
+ s.installed_by_version = "2.6.14" if s.respond_to? :installed_by_version
24
+
25
+ if s.respond_to? :specification_version then
26
+ s.specification_version = 4
27
+
28
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
29
+ s.add_development_dependency(%q<rspec-core>.freeze, ["~> 3.5.0"])
30
+ s.add_development_dependency(%q<rspec-expectations>.freeze, ["~> 3.5.0"])
31
+ s.add_development_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
32
+ s.add_runtime_dependency(%q<fog-libvirt>.freeze, [">= 0.3.0"])
33
+ s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.6.0"])
34
+ s.add_runtime_dependency(%q<fog-core>.freeze, ["~> 1.43.0"])
35
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
36
+ else
37
+ s.add_dependency(%q<rspec-core>.freeze, ["~> 3.5.0"])
38
+ s.add_dependency(%q<rspec-expectations>.freeze, ["~> 3.5.0"])
39
+ s.add_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
40
+ s.add_dependency(%q<fog-libvirt>.freeze, [">= 0.3.0"])
41
+ s.add_dependency(%q<nokogiri>.freeze, [">= 1.6.0"])
42
+ s.add_dependency(%q<fog-core>.freeze, ["~> 1.43.0"])
43
+ s.add_dependency(%q<rake>.freeze, [">= 0"])
44
+ end
45
+ else
46
+ s.add_dependency(%q<rspec-core>.freeze, ["~> 3.5.0"])
47
+ s.add_dependency(%q<rspec-expectations>.freeze, ["~> 3.5.0"])
48
+ s.add_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
49
+ s.add_dependency(%q<fog-libvirt>.freeze, [">= 0.3.0"])
50
+ s.add_dependency(%q<nokogiri>.freeze, [">= 1.6.0"])
51
+ s.add_dependency(%q<fog-core>.freeze, ["~> 1.43.0"])
52
+ s.add_dependency(%q<rake>.freeze, [">= 0"])
53
+ end
54
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-libvirt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.41
4
+ version: 0.0.42
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Stanek
@@ -118,7 +118,86 @@ email:
118
118
  executables: []
119
119
  extensions: []
120
120
  extra_rdoc_files: []
121
- files: []
121
+ files:
122
+ - ".coveralls.yml"
123
+ - ".github/issue_template.md"
124
+ - ".gitignore"
125
+ - ".travis.yml"
126
+ - Gemfile
127
+ - LICENSE
128
+ - README.md
129
+ - Rakefile
130
+ - example_box/README.md
131
+ - example_box/Vagrantfile
132
+ - example_box/metadata.json
133
+ - lib/vagrant-libvirt.rb
134
+ - lib/vagrant-libvirt/action.rb
135
+ - lib/vagrant-libvirt/action/create_domain.rb
136
+ - lib/vagrant-libvirt/action/create_domain_volume.rb
137
+ - lib/vagrant-libvirt/action/create_network_interfaces.rb
138
+ - lib/vagrant-libvirt/action/create_networks.rb
139
+ - lib/vagrant-libvirt/action/destroy_domain.rb
140
+ - lib/vagrant-libvirt/action/destroy_networks.rb
141
+ - lib/vagrant-libvirt/action/forward_ports.rb
142
+ - lib/vagrant-libvirt/action/halt_domain.rb
143
+ - lib/vagrant-libvirt/action/handle_box_image.rb
144
+ - lib/vagrant-libvirt/action/handle_storage_pool.rb
145
+ - lib/vagrant-libvirt/action/is_created.rb
146
+ - lib/vagrant-libvirt/action/is_running.rb
147
+ - lib/vagrant-libvirt/action/is_suspended.rb
148
+ - lib/vagrant-libvirt/action/message_already_created.rb
149
+ - lib/vagrant-libvirt/action/message_not_created.rb
150
+ - lib/vagrant-libvirt/action/message_not_running.rb
151
+ - lib/vagrant-libvirt/action/message_not_suspended.rb
152
+ - lib/vagrant-libvirt/action/message_will_not_destroy.rb
153
+ - lib/vagrant-libvirt/action/package_domain.rb
154
+ - lib/vagrant-libvirt/action/prepare_nfs_settings.rb
155
+ - lib/vagrant-libvirt/action/prepare_nfs_valid_ids.rb
156
+ - lib/vagrant-libvirt/action/prune_nfs_exports.rb
157
+ - lib/vagrant-libvirt/action/read_mac_addresses.rb
158
+ - lib/vagrant-libvirt/action/remove_libvirt_image.rb
159
+ - lib/vagrant-libvirt/action/remove_stale_volume.rb
160
+ - lib/vagrant-libvirt/action/resume_domain.rb
161
+ - lib/vagrant-libvirt/action/set_boot_order.rb
162
+ - lib/vagrant-libvirt/action/set_name_of_domain.rb
163
+ - lib/vagrant-libvirt/action/share_folders.rb
164
+ - lib/vagrant-libvirt/action/start_domain.rb
165
+ - lib/vagrant-libvirt/action/suspend_domain.rb
166
+ - lib/vagrant-libvirt/action/wait_till_up.rb
167
+ - lib/vagrant-libvirt/cap/mount_p9.rb
168
+ - lib/vagrant-libvirt/cap/nic_mac_addresses.rb
169
+ - lib/vagrant-libvirt/cap/synced_folder.rb
170
+ - lib/vagrant-libvirt/config.rb
171
+ - lib/vagrant-libvirt/driver.rb
172
+ - lib/vagrant-libvirt/errors.rb
173
+ - lib/vagrant-libvirt/plugin.rb
174
+ - lib/vagrant-libvirt/provider.rb
175
+ - lib/vagrant-libvirt/templates/default_storage_pool.xml.erb
176
+ - lib/vagrant-libvirt/templates/domain.xml.erb
177
+ - lib/vagrant-libvirt/templates/private_network.xml.erb
178
+ - lib/vagrant-libvirt/templates/public_interface.xml.erb
179
+ - lib/vagrant-libvirt/util.rb
180
+ - lib/vagrant-libvirt/util/collection.rb
181
+ - lib/vagrant-libvirt/util/erb_template.rb
182
+ - lib/vagrant-libvirt/util/error_codes.rb
183
+ - lib/vagrant-libvirt/util/network_util.rb
184
+ - lib/vagrant-libvirt/util/timer.rb
185
+ - lib/vagrant-libvirt/version.rb
186
+ - locales/en.yml
187
+ - spec/spec_helper.rb
188
+ - spec/support/environment_helper.rb
189
+ - spec/support/libvirt_context.rb
190
+ - spec/support/sharedcontext.rb
191
+ - spec/unit/action/destroy_domain_spec.rb
192
+ - spec/unit/action/set_name_of_domain_spec.rb
193
+ - spec/unit/action/wait_till_up_spec.rb
194
+ - spec/unit/config_spec.rb
195
+ - spec/unit/templates/domain_all_settings.xml
196
+ - spec/unit/templates/domain_defaults.xml
197
+ - spec/unit/templates/domain_spec.rb
198
+ - tools/create_box.sh
199
+ - tools/prepare_redhat_for_box.sh
200
+ - vagrant-libvirt.gemspec
122
201
  homepage: https://github.com/vagrant-libvirt/vagrant-libvirt
123
202
  licenses:
124
203
  - MIT
@@ -143,4 +222,15 @@ rubygems_version: 2.6.14
143
222
  signing_key:
144
223
  specification_version: 4
145
224
  summary: libvirt provider for Vagrant.
146
- test_files: []
225
+ test_files:
226
+ - spec/spec_helper.rb
227
+ - spec/support/environment_helper.rb
228
+ - spec/support/libvirt_context.rb
229
+ - spec/support/sharedcontext.rb
230
+ - spec/unit/action/destroy_domain_spec.rb
231
+ - spec/unit/action/set_name_of_domain_spec.rb
232
+ - spec/unit/action/wait_till_up_spec.rb
233
+ - spec/unit/config_spec.rb
234
+ - spec/unit/templates/domain_all_settings.xml
235
+ - spec/unit/templates/domain_defaults.xml
236
+ - spec/unit/templates/domain_spec.rb