ignore inventories

fix named.template hardcoding

listen address can't be 127.0.0.1.

Conflicts:
	install/group_vars/all
	install/roles/cobbler/templates/Dockerfile.j2

test compass without chef

Conflicts:
	install/roles/cobbler/templates/Dockerfile.j2

Change-Id: I1c2d9b686e9370ccf253ad001b95fe491008365b
This commit is contained in:
Jerry Zhao 2015-03-23 11:39:39 -07:00
parent d602162ece
commit 8b761cfd9b
9 changed files with 92 additions and 16 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
install/inventories

View File

@ -0,0 +1,8 @@
---
- hosts: allinone
sudo: True
roles:
- common
- cobbler
- compass

View File

@ -4,9 +4,9 @@
rebuild: True
# Auto-generated IP values
chef_server: "10.145.89.133"
cobbler_server: "10.145.89.133"
compass-server: "10.145.89.128"
chef_server: "10.145.81.208"
cobbler_server: "10.145.81.208"
compass-server: "10.145.81.208"
# Auto-generated
dockerized_cobbler: True
@ -15,6 +15,9 @@ dockerized_chef: False
# shared_dir on local machine
shared_dir: "~/compass/shared"
# pkg installer
pkg_installer: ['ansible']
## default urls
# centos
@ -25,19 +28,19 @@ compass_adapters: "git://git.openstack.org/stackforge/compass-adapters.git"
## cobbler
# cidr for docker bridge: compass0
compass0_subnet: "192.168.100.1/24"
compass0_subnet: "192.168.101.1/24"
# subnet ip for docker bridge: compass0
compass0_subnet_ip: "192.168.100.0"
compass0_subnet_ip: "192.168.101.0"
# subnet mask for docker bridge: compass0
compass0_subnet_mask: "255.255.255.0"
# router ip for docker bridge: compass0
compass0_router: "192.168.100.1"
compass0_router: "192.168.101.1"
# dhcp range for docker bridge: compass0
compass0_dhcp_range: "192.168.100.10 192.168.100.250"
compass0_dhcp_range: "192.168.101.150 192.168.101.160"
# management subnet ip of the cluster you want to deploy
mgmt_subnet_ip: "10.145.88.0"
@ -46,10 +49,10 @@ mgmt_subnet_ip: "10.145.88.0"
mgmt_router: "10.145.88.1"
# management subnet subnet mask
mgmt_subnet_mask: "255.255.254.0"
mgmt_subnet_mask: "255.255.255.0"
# management subnet dhcp range
mgmt_dhcp_range: "10.145.88.10 10.145.89.250"
mgmt_dhcp_range: "10.145.88.150 10.145.88.160"
@ -70,6 +73,9 @@ xmlrpc_port: "25151"
# dns port on host that maps to the cobbler container
dns_port: "53"
# mysql port
mysql_port: "3306"
# port mapping as a paramter for running cobbler container
cobbler_port_mapping: -p {{ cobbler_mapped_http_port_on_host }}:80 -p {{ tftp_port }}:69/udp -p {{ dns_port }}:53/udp -p {{ xmlrpc_port }}:25151 -p {{ rsyslog_port_mapped_on_host }}:514
@ -87,7 +93,7 @@ ntp_port: "123"
proxy_port: "3128"
# port mapping as a parameter for running compass container
compass_port_mapping: -p {{ compass_mapped_http_port_on_host }}:80 -p {{ ntp_port }}:123 -p {{ proxy_port }}:3128
compass_port_mapping: -p {{ compass_mapped_http_port_on_host }}:80 -p {{ ntp_port }}:123 -p {{ proxy_port }}:3128 -p {{ mysql_port }}:3306
## isos

View File

@ -45,13 +45,18 @@
when: mount_info.stdout.find('CentOS') == -1
- name: copy Dockerfile to ~/docker-cobbler
copy: src=Dockerfile dest=~/docker-cobbler/Dockerfile mode=0644
template: src=Dockerfile.j2 dest=~/docker-cobbler/Dockerfile mode=0644
- name: copy dhcp.template
template: src=dhcp.template.j2
dest=~/docker-cobbler/files/dhcp.template
mode=0644
- name: copy named.template
template: src=named.template.j2
dest=~/docker-cobbler/files/named.template
mode=0644
- name: copy start script
template: src=start.sh.j2
dest=~/docker-cobbler/files/start.sh
@ -66,11 +71,13 @@
copy: src={{ shared_dir }}/keys/admin.pem
dest=~/docker-cobbler/files/admin.pem
mode=0644
when: "'chef' in {{ pkg_installer }}"
- name: copy chef validator key
copy: src={{ shared_dir }}/keys/chef-validator.pem
dest=~/docker-cobbler/files/chef-validator.pem
mode=0644
when: "'chef' in {{ pkg_installer }}"
- name: cobbler container?
command: docker ps -a
@ -97,7 +104,7 @@
when: image.stdout.find('cobbler') == -1 or rebuild
- name: fork image and run a new cobbler container
shell: docker run --name=cobbler-dev -d {{ cobbler_port_mapping }} {{ image_volume_mapping }} {{ log_volume_mapping }} -i -t cobbler
shell: docker run --name=cobbler-dev -d {{ cobbler_port_mapping }} {{ image_volume_mapping }} -i -t cobbler
- name: extract cobbler ip info
shell: echo `docker inspect cobbler-dev | awk -F '"' '/IPAdd/ {print $4}'` > /tmp/ip

View File

@ -0,0 +1,22 @@
FROM compassindocker/cobbler
ADD files/dhcp.template /etc/cobbler/dhcp.template
ADD files/named.template /etc/cobbler/named.template
ADD files/start.sh /root/start.sh
{% if 'chef' in pkg_installer %}
ADD files/admin.pem /etc/cobbler/admin.pem
ADD files/chef-validator.pem /etc/cobbler/chef-validator.pem
{% endif %}
ADD files/fix_ks_server.py /var/lib/cobbler/sync/post/fix_ks_server.py
RUN chmod +x /root/start.sh
CMD ["/root/start.sh"]
EXPOSE 80
EXPOSE 67 67/udp
EXPOSE 69 69/udp
EXPOSE 53 53/udp
EXPOSE 25151
EXPOSE 443
EXPOSE 873

View File

@ -0,0 +1,31 @@
options {
listen-on port 53 { $listen_ip; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 127.0.0.0/8; {{ compass0_subnet }}; };
recursion yes;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
#for $zone in $forward_zones
zone "${zone}." {
type master;
file "$zone";
};
#end for
#for $zone, $arpa in $reverse_zones
zone "${arpa}." {
type master;
file "$zone";
};
#end for

View File

@ -2,6 +2,7 @@
export ipaddr=$(ip addr show eth0 | grep 'inet ' | awk '{ print $2}'|cut -d/ -f1)
sed -i "/^local-address/c\local-address $ipaddr;" /etc/cobbler/dhcp.template
sed -i "s/listen-on port 53 { \$listen_ip; }/listen-on port 53 \{ $ipaddr; \}/g" /etc/cobbler/named.template
sed -i "/^server/c\server: $ipaddr" /etc/cobbler/settings
sed -i "/^next_server/c\next_server: {{ cobbler_server }}" /etc/cobbler/settings

View File

@ -13,7 +13,7 @@
file: path=~/docker-compass/files state=directory
- name: copy Dockerfile
copy: src=Dockerfile dest=~/docker-compass/Dockerfile mode=0644
template: src=Dockerfile.j2 dest=~/docker-compass/Dockerfile mode=0644
- name: copy start script
copy: src=start.sh
@ -24,6 +24,7 @@
copy: src={{ shared_dir }}/keys/compass.pem
dest=~/docker-compass/files/compass.pem
mode=0644
when: "'chef' in {{ pkg_installer }}"
- name: copy chef config
template: src=chef-icehouse.conf.j2 dest=~/docker-compass/files/chef-icehouse.conf
@ -37,9 +38,6 @@
template: src=compass.setting.j2 dest=~/docker-compass/files/compass.setting
mode=0644
- name: copy Dockerfile
copy: src=Dockerfile dest=~/docker-compass/Dockerfile mode=0644
- name: get containers
command: docker ps -a
register: containers

View File

@ -3,8 +3,10 @@ FROM compassindocker/compass
ADD files/start.sh /root/start.sh
ADD files/compass.setting /etc/compass/setting
ADD files/cobbler.conf /etc/compass/os_installer/cobbler.conf
{% if 'chef' in pkg_installer %}
ADD files/chef-icehouse.conf /etc/compass/package_installer/chef-icehouse.conf
ADD files/compass.pem /etc/compass.pem
{% endif %}
CMD ["/root/start.sh"]
EXPOSE 80