From 98100c7c09f6bcda1a6840e0204f17cfd3f9febf Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Mon, 8 May 2017 13:28:58 +0200 Subject: [PATCH] store machine id, so that ansible provisioner can create inventory file --- gentoo.json | 4 ++-- gentoo_001_lxd.box | Bin 802 -> 807 bytes gentoo_box/metadata.json | 2 +- lib/vagrant/lxd/action.rb | 7 +++++++ lib/vagrant/lxd/action/create.rb | 6 ++++++ lib/vagrant/lxd/command.rb | 3 +++ lib/vagrant/lxd/config.rb | 6 ++++++ lib/vagrant/lxd/plugin.rb | 8 ++++---- playbook.yml | 6 ++++++ sid.json | 4 ++-- sid_001_lxd.box | Bin 784 -> 796 bytes sid_box/metadata.json | 3 ++- 12 files changed, 39 insertions(+), 10 deletions(-) create mode 100644 lib/vagrant/lxd/config.rb create mode 100644 playbook.yml diff --git a/gentoo.json b/gentoo.json index 48df0db..1dcea3c 100644 --- a/gentoo.json +++ b/gentoo.json @@ -7,9 +7,9 @@ "providers": [ { "name": "lxd", - "url": "file:///data/ghopp/projects/vagrant/vagrant-lxd/gentoo_001_lxd.box", + "url": "file:///home/hopp/projects/vagrant/vagrant-lxd/gentoo_001_lxd.box", "checksum_type": "sha1", - "checksum": "303573ec033c0eb1939df486f444c5bcc3f82d1e" + "checksum": "279b73b0a0f51368376a89283c842c5b474f9274" } ] } diff --git a/gentoo_001_lxd.box b/gentoo_001_lxd.box index 336e0fe46591b5364ac8284dd4b9571876e64454..2e3f702f5d163cfc300f545466cfa4e610ef692e 100644 GIT binary patch delta 799 zcmV+)1K|9k2B!vpABzY8dQT8p00ZrmZEu@86vy+rp8}yfX;aql5K5BW+etKmgoY&K zsf4c6f7P?FoW(CRBvFz)QTyHyT2P7sR^ER~Y^%t9izMHpL)en2H<4@z3I3`~I8q z?Sx_2IEgaPK?(bTVS}B+z9-IQ6yX#nATGTms&u(gibJqL2T$okI|NJn(}T@0pV$}_ zw`xSBjK{!#3sFK;UQ|7TT*`iakh<@`-z&2*fIe8E^p&Kd4N6vMKmF-8E-&o5DH z=^Yow(0O5oeb7(U4{szI-5-F1gZ%DOo6Eo|0U_p=fBpe(Zf?Q{n^6qo{B7C1V}>JB znNF?F2jY7+n&gA52qh_d`0&EQQ`h;Dq9pU+YiBNhflsmmoc%tL;rryETd)oAKlk$K zQG5&}r2s!q;t6@apZw~JdL(L(yIG63%OlP4O8w{M`hESc3w2p)h@}3PK3f0(3(BK^ znxueHN-pZd0KD>% z-L+AFW7RA4uhq~S2Dqzgy`s~sW`Zu-mvXc~8N`B(rhL@uUFSn#+`3z}SH)bz&Zuu> zvW}cMxQk35ZZsa)2#cn#cB1+qm|Z|$TbTMx85CO6xt!`+)ao>Qx6bH_*A-_cjT$EQ zc2++;%SCrE?DECf%;yNkQe3oU-^&!;&2M{uUZ726VbV3KU2`!O2iCQv*-NFn&OQ4w zR5oq1J{-*)em%HW!;Zh4XFGSWxv-~>I`f5Ovf5N9k})c@c^CBVdL5&0EUKDr_Mz62 z-DC?F1+;QwsV~))+G>t^L3m}ii;2^3u7kTx6C-yHTd-xhS8A)MMdaJ0?<;59^;2Ix1r4Mg0D(#PtHUJ-)43`psIrFPB zW6#1Z0xVk@EGCHcBcIeA_8|7@{p(|mMf>wm8K~@U?=Ha82=MOr?`kNH?*6J;B~r!{ z=tnrMR9;m*f?URYdX##ozdk542}A*OarVZh;x$fPyr2GTlavp3-_ABp{EF_r>xY_$ zRuzpOj{V@Me)74^=Fm-HMA+r8Kf&AE+vw2-ieX&*To%88;mA~`Q>*i#^1T>c?LxI8 zoMz0SttXr1k>+?K|8ug)KjeR2l%w6D`zP)M^?*TxOESLk1Akv|Mc zSJiq&r&-H+U9hj@c!6_7cpFc-xYfJa4f%2F-fg?ZTqDk?Z{)I$og}=E%>b=64%(Oq zW}tRraS+ZfQJ^hMeWnZwt?67%buDgnn!P(`bj|6Cvz0~-llWV!AD!<6Z!qj~#n{}< zF-oMQXv=}0E4sJ4>-nKJk@-p2sCCW7SQuD0mS!)N?rP`TSCO)Ao8oXZbGX&uMvXeb za-MI!!TQpkI_fOo(}}yTO(bJfX!9=Y-S;|1-&oW%-RvW+C41=xEed4qjHSL*UA5I5 z^}^`dZWj}$-&}?F>n6e89JNr(^2Qez;3wX01kVeTL1t6 diff --git a/gentoo_box/metadata.json b/gentoo_box/metadata.json index b10263b..aaf6c8c 100644 --- a/gentoo_box/metadata.json +++ b/gentoo_box/metadata.json @@ -11,7 +11,7 @@ }, "packages": { "exec": [ - ["emerge", "--update", "sudo"] + ["emerge", "--update", "sudo", "dhcpcd"] ] }, "sudo": { diff --git a/lib/vagrant/lxd/action.rb b/lib/vagrant/lxd/action.rb index 6326c3c..07fe64c 100644 --- a/lib/vagrant/lxd/action.rb +++ b/lib/vagrant/lxd/action.rb @@ -49,6 +49,13 @@ module Vagrant b.use SSHExec end end + + def self.action_provision + Vagrant::Action::Builder.new.tap do |b| + #b.use CheckAccessible + b.use Provision + end + end end end end diff --git a/lib/vagrant/lxd/action/create.rb b/lib/vagrant/lxd/action/create.rb index cd96b6e..a381a3e 100644 --- a/lib/vagrant/lxd/action/create.rb +++ b/lib/vagrant/lxd/action/create.rb @@ -18,6 +18,12 @@ module Vagrant env[:ui].info "--- #{driver.name} created ---", :prefix => false end + # TODO maybe not optimal, check if it would be better to include the + # pid of the init process to the id of the machine. + # Well, in that case the id changes with every restart which might + # not be feasable... + env[:machine].id = driver.name + @app.call(env) end end diff --git a/lib/vagrant/lxd/command.rb b/lib/vagrant/lxd/command.rb index 9a703dd..4bcd041 100644 --- a/lib/vagrant/lxd/command.rb +++ b/lib/vagrant/lxd/command.rb @@ -7,6 +7,9 @@ module Vagrant def execute @env.ui.info("my own plugin", :prefix => false) + @env.ui.info("--- #{@env.inspect} ---", :prefix => false) + @env.ui.info("--- #{@local_data_path} ---", :prefix => false) + @env.ui.info("--- #{@env.active_machines} ---", :prefix => false) end end end diff --git a/lib/vagrant/lxd/config.rb b/lib/vagrant/lxd/config.rb new file mode 100644 index 0000000..d4ce8cb --- /dev/null +++ b/lib/vagrant/lxd/config.rb @@ -0,0 +1,6 @@ +module Vagrant + module Lxd + class Config < Vagrant.plugin("2", :config) + end + end +end diff --git a/lib/vagrant/lxd/plugin.rb b/lib/vagrant/lxd/plugin.rb index 484a0cb..970a3fd 100644 --- a/lib/vagrant/lxd/plugin.rb +++ b/lib/vagrant/lxd/plugin.rb @@ -16,10 +16,10 @@ module Vagrant Provider end - #config(:lxd, :provider) do - # require File.expand_path("../config", __FILE__) - # Config - #end + config(:lxd, :provider) do + require_relative "config" + Config + end #synced_folder(:virtualbox) do # require File.expand_path("../synced_folder", __FILE__) diff --git a/playbook.yml b/playbook.yml new file mode 100644 index 0000000..14349b2 --- /dev/null +++ b/playbook.yml @@ -0,0 +1,6 @@ +--- +- hosts: all + become: true + tasks: + - name: test connection + ping: diff --git a/sid.json b/sid.json index 2c98206..27d502e 100644 --- a/sid.json +++ b/sid.json @@ -7,9 +7,9 @@ "providers": [ { "name": "lxd", - "url": "file:///data/ghopp/projects/vagrant/vagrant-lxd/sid_001_lxd.box", + "url": "file:///home/hopp/projects/vagrant/vagrant-lxd/sid_001_lxd.box", "checksum_type": "sha1", - "checksum": "a533654e7577931659c1cb457b13e6b184d4013d" + "checksum": "21d7376327acdb7f36aa25ed89039248c6562415" } ] } diff --git a/sid_001_lxd.box b/sid_001_lxd.box index 8e2e25d79c3f51b23b69025d78bbdea8b4a5ccc9..d1617f4cb4dbd91777d00015b2e46039fa05f5e6 100644 GIT binary patch literal 796 zcmV+%1LOQ3iwFSEPY_uE1MQXjZ=*&K$Nh8uiWTZft$c}j1>4uA60wa<{KBtbayeD& zWzS$R5Lk1D>i+lcI*FBwbV(~UeMtL}yvuwU#?~4ev3c_QwYsfR93kX$T;k`fSW< zzr4EuD2@p9Bb0$1D9`)D-E^{}oBmRQfHT{hw;Q|Nj%PmXu}?=#)!kRKk{2Ah~le%`bGE zbaZWGG<@2W^2v1~%XT}M2SrNqq={`?(;LopS`A8dzUex+zV4OgmulpXLelLRy|Ue? z=8`EpS6aNpIUKD*;<(bV0&I<8y9-`oA@ypX-&s4JEet5{%^s7cw< z0zcPHulU^aLu0B*)9#?!wU!fkXy4d|v(mep!gsDBecQ5>(Rl8Po8e6-Y6q)DzW0XP zOK0YG=7E$>*W2n;9gIt3(S^OcUVG3VEUSiT^^wukymW__C9;db%3O8Uon~X)3!`hN zRZiW0V-wzO8w7g`)I?3&n_OIg$M#B_K1RC~19}ESAAtZDyghL^91e%W;cz${4u`|x aa5x+ehr{7;I2;b=ukZ)LFVsQ+C;$M8QI-t= literal 784 zcmV+r1MmDFiwFSU$PQTm1MQV$Md?M!a|$0DQg3Sl4M&a(Ig}^PvohDuG8cg z7YGC>I4m&jyAP*r)Ky!nN$aLb{z=%}aU6dR`#7qsF@Y8&@Mx8ULFqZ*3uH;6vrs$c z@6QyWDu|_G;H$@yR2AeBFNkujRs#I9sCmF9AutA@WIJILJreiS_5YNw2LNzU9Hy>? zW9}{B{H?{kq0VI(l7z%CD!eqRa5-T@0=UL|PvOH`j0*eXtqs6OF2O|#z#Y1DOe*hR zo&XdE1iAr^!OIUj$6YFF)36FAsIt%h>CK-?mvEnMQ{BwpZZdNbL>{zp^2Dpah#cCO z(3EaatQ6nhNy&CnHdgqf(#N912nR{x940tUi%S1o)h^|uiuPwT8sB`Xy@QtMzFkS7 z9m9ZBmhWD`%gf8))&@$yfAXprUW4ICSEf^=^_Kb`+)Zmp72!DH_7{F3JaMeg^wnJS ztsxUI-TweA+pEFGUm zqG+_dnU}>RjT+c6WTkGN$7L^O$9M${<(k z*4b23!$zy#y|PBlA^pRdv2;|PIlFGeRU!W zlTN?f(HCQJU|blgxl}r<%r(yfW!==P!_my*SA&ao(DIh^bn6V(r{>gZ&paWX*z58{ z>W^}D-htigZmZwxFUqQ>_mJ9