Created
September 5, 2016 01:44
-
-
Save v1k0d3n/40492e77366cbf28cee382c1072dfccc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/base.rb:177:in `block in generate_inventory_groups': undefined method `end_with?' for ["kube-master"]:Array (NoMethodError) | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/base.rb:164:in `each_pair' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/base.rb:164:in `generate_inventory_groups' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/base.rb:142:in `generate_inventory' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/base.rb:113:in `inventory_path' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/base.rb:79:in `prepare_common_command_arguments' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/host.rb:62:in `prepare_command_arguments' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/host.rb:112:in `execute_ansible_playbook_from_host' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/provisioners/ansible/provisioner/host.rb:24:in `provision' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/provision.rb:133:in `run_provisioner' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/environment.rb:473:in `hook' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/provision.rb:121:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/provision.rb:121:in `block in call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/provision.rb:103:in `each' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/provision.rb:103:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /Users/bj916b/.vagrant.d/gems/gems/vagrant-librarian-puppet-0.9.2/lib/vagrant-librarian-puppet/action/librarian_puppet.rb:35:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /Users/bj916b/.vagrant.d/gems/gems/vagrant-cachier-1.2.1/lib/vagrant-cachier/action/configure_bucket_root.rb:20:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:15:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/set_name.rb:50:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/call.rb:53:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/call.rb:53:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/call.rb:53:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/config_validate.rb:25:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/match_mac_address.rb:19:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/discard_state.rb:15:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/import.rb:74:in `import' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/import.rb:13:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb:17:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/prepare_clone.rb:15:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/customize.rb:40:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/call.rb:53:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/config_validate.rb:25:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/handle_box.rb:56:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/call.rb:53:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:225:in `action_raw' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:200:in `block in action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/environment.rb:561:in `lock' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:186:in `call' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:186:in `action' | |
from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
# CONFIG OVERRIDES LOCATED IN ./config.rb: | |
CONFIG = File.expand_path("config.rb") | |
if File.exist?(CONFIG) | |
require CONFIG | |
end | |
# PRE-UP DEFINITIONS: | |
# Let's define what plugins our project requires first: | |
missing_plugins_installed = false | |
required_plugins = %w(vagrant-env vagrant-git vagrant-openstack-provider vagrant-address vagrant-compose vagrant-hostmanager) | |
# Plugin not installed? Let's fetch/install them on behalf of the user: | |
required_plugins.each do |plugin| | |
if !Vagrant.has_plugin? plugin | |
system "vagrant plugin install #{plugin}" | |
missing_plugins_installed = true | |
end | |
end | |
# If any plugins were missing and have been installed, re-run vagrant | |
if missing_plugins_installed | |
exec "vagrant #{ARGV.join(" ")}" | |
end | |
# VAGRANT DEFINITIONS: | |
VAGRANTFILE_API_VERSION = "2" | |
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
# USE HOSTMANAGER FOR INVENTORY CREATION: | |
config.hostmanager.enabled = false | |
config.hostmanager.manage_host = true | |
config.hostmanager.manage_guest = true | |
config.hostmanager.include_offline = true | |
config.vm.provision :hostmanager | |
config.cluster.compose "#{$kube_prefix}" do |cluster| | |
cluster.nodes($etcd_count, 'etcd') do |etcd| | |
etcd.memory = $etcd_memory | |
etcd.ansible_groups = ['etcd'] | |
end | |
cluster.nodes($master_count, 'master') do |master| | |
master.memory = $master_memory | |
master.ansible_groups = ['kube-master'], 'k8s-cluster:children => ["kube-master"]' | |
end | |
cluster.nodes($worker_count, 'worker') do |worker| | |
worker.memory = $worker_memory | |
worker.ansible_groups = ['kube-node'], 'k8s-cluster:children => ["kube-node"]' | |
end | |
end | |
#cluster creation | |
config.cluster.nodes.each do |node, index| | |
config.vm.define "#{node.boxname}" do |node_vm| | |
node_vm.vm.box = "#{node.box}" | |
node_vm.vm.network :private_network, ip: "#{node.ip}" | |
node_vm.vm.hostname = "#{node.fqdn}" | |
node_vm.hostmanager.aliases = node.aliases unless node.aliases.empty? | |
node_vm.vm.provision :hostmanager | |
node_vm.vm.provider "virtualbox" do |vb| | |
vb.name = "#{node.boxname}" | |
vb.memory = node.memory | |
vb.cpus = node.cpus | |
end | |
if node.index == config.cluster.nodes.size - 1 | |
node_vm.vm.provision "ansible" do |ansible| | |
ansible.limit = 'all' # enable parallel provisioning | |
ansible.playbook = "kargo/cluster.yml" | |
ansible.groups = config.cluster.ansible_groups | |
# Ansible debugging options (comment out when not in use): | |
# ansible.verbose = "-vvvv" | |
end | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment