forked from storecast/puppet-lxc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add container configuration and creation from host
- Loading branch information
Showing
4 changed files
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,6 @@ | ||
# the container itself could be configured by puppet | ||
class puppet-lxc::container { | ||
# we must remove klogd to avoid bug in multy-read kernel messages | ||
package { ["klogd"]: ensure => purged; } | ||
} | ||
|
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# defined container from host | ||
class puppet-lxc::vm ( $ip, $mac, $passwd, $distrib ) { | ||
file { | ||
"/var/lib/lxc/${name}/preseed.cfg" : | ||
owner => "root", | ||
group => "root", | ||
mode => 0644, | ||
content => template("puppet-lxc/preseed.cfg.erb"); | ||
"/var/lib/lxc/${name}/rootfs/etc/network/interfaces" : | ||
owner => "root", | ||
group => "root", | ||
mode => 0644, | ||
require => Exec ["create ${name} container"] | ||
subscribe => Exec ["create ${name} container"] | ||
content => template("puppet-lxc/interface.erb"); | ||
} | ||
|
||
exec { | ||
"create ${name} container": | ||
command => "/usr/lib/lxc/templates/lxc-debian --preseed-file=/var/lib/lxc/${name}/preseed.cfg -p /var/lib/lxc/${name} -n ${name}", | ||
require => File ["/var/lib/lxc/${name}/preseed.cfg"], | ||
refreshonly => false, | ||
creates => "/var/lib/lxc/${name}/config" | ||
} | ||
|
||
|
||
} | ||
|
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<% | ||
if hebergeur == "ovh" | ||
digit = ipaddress.split('.') | ||
digit[3] = '254' | ||
gw = digit.join('.') | ||
else | ||
gw = ipaddress | ||
end | ||
%> | ||
# | ||
# File managed by puppet directly on hyperviser | ||
# | ||
|
||
auto lo | ||
iface lo inet loopback | ||
|
||
auto eth0 | ||
iface eth0 inet static | ||
address <%= ip %> | ||
netmask 255.255.255.255 | ||
broadcast <%= ip %> | ||
post-up route add <%= gw %> dev eth0 | ||
post-up route add default gw <%= gw %> | ||
post-down route del <%= gw %> dev eth0 | ||
post-down route del default gw <%= gw %> |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
## LXC | ||
|
||
# lxc-debconf | ||
linux-container linux-container/debconf-frontend select noninteractive | ||
#linux-container linux-container/debconf-priority select critical | ||
|
||
linux-container linux-container/distribution string <%= distrib %> | ||
linux-container linux-container/architecture select | ||
linux-container linux-container/packages string puppet lsb-release linux-container | ||
|
||
linux-container linux-container/mirror string http://ftp.fr.debian.org/debian/ | ||
linux-container linux-container/mirror-security string http://ftp.fr.debian.org/debian-security/ | ||
linux-container linux-container/mirror-backports string http://ftp.fr.debian.org/debian-backports/ | ||
|
||
linux-container linux-container/archives multiselect | ||
linux-container linux-container/archive-areas multiselect main | ||
|
||
linux-container linux-container/auto boolean true | ||
linux-container linux-container/capabilities string mac_admin mac_override sys_admin sys_module | ||
linux-container linux-container/late-command string | ||
|
||
# linux-container | ||
linux-container linux-container/enable boolean true | ||
linux-container linux-container/consoles string 6 | ||
linux-container linux-container/hostname string vm17 | ||
|
||
linux-container linux-container/eth0/comment string The primary network interface | ||
linux-container linux-container/eth0/dhcp boolean false | ||
linux-container linux-container/eth0/mac string <%= mac %> | ||
linux-container linux-container/eth0/address string <%= ip %> | ||
linux-container linux-container/eth0/broadcast string <%= ip %> | ||
linux-container linux-container/eth0/bridge string br0 | ||
|
||
# TODO: bad hack to rebuild openssh host key | ||
linux-container linux-container/late-command string apt-get install --reinstall openssh-server | ||
|
||
## System | ||
|
||
# tzdata | ||
tzdata tzdata/Areas select Europe | ||
tzdata tzdata/Zones/Etc select UTC | ||
tzdata tzdata/Zones/Europe select Paris | ||
|
||
# root password | ||
user-setup passwd/root-password string <%= passwd %> | ||
user-setup passwd/root-password-again string <%= passwd %> | ||
|