Projet

Général

Profil

Openstack Installation TTNN » Historique » Version 5

Mehdi Abaakouk, 06/08/2014 10:19

1 1 Mehdi Abaakouk
h1. Openstack Installation TTNN
2 1 Mehdi Abaakouk
3 3 Mehdi Abaakouk
4 3 Mehdi Abaakouk
h2. Pending upstream fixes:
5 3 Mehdi Abaakouk
6 1 Mehdi Abaakouk
* build-debian-openstack-images, changes should be in next package version:
7 1 Mehdi Abaakouk
** Fix extlinux installation on jessie: http://anonscm.debian.org/cgit/openstack/openstack-debian-images.git/commit/?id=1a4ddceb99fb66f42f79e87a183d8e96952e5ac3
8 1 Mehdi Abaakouk
** Fix cloud-init setup with configdrive: http://anonscm.debian.org/cgit/openstack/openstack-debian-images.git/commit/?id=15cce87e2fa15b8952d69fb58711bfa88b21ef87
9 1 Mehdi Abaakouk
10 1 Mehdi Abaakouk
* nova: 
11 1 Mehdi Abaakouk
** Fix live-migration avec ceph and configdrive:: https://review.openstack.org/#/c/112014/, si la solution est mergé upstream, j'appliquerai le patch au package debian 
12 1 Mehdi Abaakouk
13 4 Mehdi Abaakouk
h2. Installation
14 4 Mehdi Abaakouk
15 4 Mehdi Abaakouk
Le setup installé est composé de :
16 4 Mehdi Abaakouk
17 4 Mehdi Abaakouk
* 3 hyperviseurs (compute node) qui contiendront 1 ceph-mon, N ceph-osd, nova-compute (qui lance les VM), neutron-openvswitch-agent (qui configure le réseau des vms)
18 4 Mehdi Abaakouk
* 1 VM (controler node), qui contient tous les services de management d'openstack (nova, cinder, glance, neutron)
19 4 Mehdi Abaakouk
20 4 Mehdi Abaakouk
Les étapes d'installation sont les suivantes:
21 4 Mehdi Abaakouk
* Préparation manuelle de la VM de management sur un des hyperviseurs
22 4 Mehdi Abaakouk
* Installation de ceph et openstack sur toutes les machines avec puppet
23 4 Mehdi Abaakouk
* Déplacement de la VM de management d'openstack dans openstack.
24 4 Mehdi Abaakouk
25 4 Mehdi Abaakouk
h3. Preparation de la VM de management, le controlleur
26 4 Mehdi Abaakouk
27 4 Mehdi Abaakouk
*Installation des prérequis*
28 4 Mehdi Abaakouk
29 4 Mehdi Abaakouk
<pre>
30 4 Mehdi Abaakouk
$ apt-get install libvirt-bin openstack-debian-images openvswitch-switch openvswitch-datapath-dkms virtinst
31 4 Mehdi Abaakouk
#NOTE(sileht): temporairement appliquer les patches de au-dessus à openstack-debian-images 
32 4 Mehdi Abaakouk
</pre>
33 4 Mehdi Abaakouk
34 4 Mehdi Abaakouk
*Preparation de l'image de la VM*
35 4 Mehdi Abaakouk
36 4 Mehdi Abaakouk
<pre>
37 4 Mehdi Abaakouk
$ cat > hook.sh <<GEOF
38 4 Mehdi Abaakouk
cp mgmt-rc.local \$BODI_CHROOT_PATH/etc/rc.local
39 4 Mehdi Abaakouk
mkdir -p \$BODI_CHROOT_PATH/root/.ssh
40 4 Mehdi Abaakouk
chmod 600 \$BODI_CHROOT_PATH/root/.ssh
41 4 Mehdi Abaakouk
cat >> \$BODI_CHROOT_PATH/root/.ssh/authorized_keys <<EOF
42 4 Mehdi Abaakouk
ssh-dss AAAAB3NzaC1kc3MAAACBAJtnGLvuz4uVD6fnERDxDi/C0UyzwCiKmgNtEessopREYasAX4Gu6Fg10jAyIL5Nuc7YDnqj//pOfxNjD7hp99a2ZmkRQgh/ltClxYML9fqhBHgsUCpVse9nOYDHDnDgvXIPRSDUHat2UFpdchHVrFURNLIlZnBztsr+GCDURTV/AAAAFQD9SrBcH49ltaKOm6V5ssCPmgs1SwAAAIAbAvkQ3/tMzzdACO5B9s5Yb3ZuM7XImm0iqufivVf2Xy39g8HOBulUsN7eKEGPhVriqNolgIO7q7tVgYAff4/NE4yDP0Kp0SPg4tjt2yFJuL31Y3wzwHjnKrjgNlDSLl3uZnRXSipwUMwGKbdHB6NZSqlq192VKbHilQ00pbiMlAAAAIB5dfB1lVHkJ0o5CcaVQRPbca9DvbbRwnoTSmKHc5DUcqsPqDhS07CkM9ZcJuY1Nh4wGl4Q9kArj7Tnsvvygf/HReSUcIk4+nbDytJ8/pca/Qx4fzQQyppa94TylN62LSFT6MIJKLoMwYa0dQURT7Mv5+9Qj2vk5pZ38w2iQ9zVCg== root@h1
43 4 Mehdi Abaakouk
EOF
44 4 Mehdi Abaakouk
GEOF
45 4 Mehdi Abaakouk
$ chmod +x hook.sh
46 4 Mehdi Abaakouk
47 4 Mehdi Abaakouk
$ cat > mgmt-rc.local <<EOF
48 4 Mehdi Abaakouk
#!/bin/sh
49 4 Mehdi Abaakouk
50 4 Mehdi Abaakouk
for i in /proc/sys/net/ipv6/conf/*; do for j in autoconf accept_ra; do echo 0 > \$i/\$j; done;done
51 4 Mehdi Abaakouk
# https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
52 4 Mehdi Abaakouk
for i in /proc/sys/net/ipv4/conf/*/arp_announce; do echo 2 > \$i;done
53 4 Mehdi Abaakouk
54 4 Mehdi Abaakouk
ip link set eth0 up
55 4 Mehdi Abaakouk
ip addr add 89.234.156.249/32 dev eth0
56 4 Mehdi Abaakouk
ip route add 89.234.156.251/32 dev eth0
57 4 Mehdi Abaakouk
ip route add default via 89.234.156.251
58 4 Mehdi Abaakouk
EOF
59 4 Mehdi Abaakouk
60 4 Mehdi Abaakouk
61 4 Mehdi Abaakouk
$ build-openstack-debian-image --image-size 20  --release jessie -u http://apt.tetaneutral.net/debian/ -s http://apt.tetaneutral.net/debian/ --extra-packages puppet --hook-script $(pwd)/hook.sh
62 4 Mehdi Abaakouk
$ mv debian-jessie-7.0.0-3-amd64.raw /openstack.raw 
63 4 Mehdi Abaakouk
$ rm debian-jessie-7.0.0-3-amd64.qcow2
64 4 Mehdi Abaakouk
</pre>
65 4 Mehdi Abaakouk
66 5 Mehdi Abaakouk
On garde l'image raw qui sera importable dans ceph plus tard et on la mets à la racine pour qui l'utilisateur libvirt puisse y accéder.
67 4 Mehdi Abaakouk
68 4 Mehdi Abaakouk
*Préparation du réseau*
69 4 Mehdi Abaakouk
70 4 Mehdi Abaakouk
<pre>
71 4 Mehdi Abaakouk
$ ovs-vsctl add-br br-net
72 4 Mehdi Abaakouk
$ ip link set br-net up
73 4 Mehdi Abaakouk
$ ovs-vsctl br-set-external-id br-net bridge-id br-net
74 4 Mehdi Abaakouk
$ ip route 89.234.156.249/32 dev br-net proto 42
75 4 Mehdi Abaakouk
</pre>
76 4 Mehdi Abaakouk
77 5 Mehdi Abaakouk
*Installation de la VM*
78 4 Mehdi Abaakouk
79 4 Mehdi Abaakouk
<pre>
80 4 Mehdi Abaakouk
$ virt-install --name openstack --ram 2048 --network bridge=br-net --nographics --serial pty --wait -1 --noreboot --autostart --disk /openstack.raw,bus=virtio,cache=none,io=native --import
81 4 Mehdi Abaakouk
$ EDITOR="sed -i -e \"s,<source bridge='br-net'/>,<source bridge='br-net'/><virtualport type='openvswitch' />,g\"" virsh edit openstack  # Openvswitch is not yet supported by virt-install
82 4 Mehdi Abaakouk
$ virsh  start openstack
83 4 Mehdi Abaakouk
</pre>
84 4 Mehdi Abaakouk
85 4 Mehdi Abaakouk
h2. Management d'openstack
86 4 Mehdi Abaakouk
87 4 Mehdi Abaakouk
h3. Build and upload debian image:
88 3 Mehdi Abaakouk
89 3 Mehdi Abaakouk
<pre>
90 3 Mehdi Abaakouk
$ apt-get install openstack-debian-images
91 3 Mehdi Abaakouk
#NOTE(sileht): temporairement appliquer les patches de au-dessus
92 3 Mehdi Abaakouk
$ build-openstack-debian-image -m -r jessie  -u http://apt.tetaneutral.net/debian/ -s http://apt.tetaneutral.net/debian/
93 3 Mehdi Abaakouk
$ glance image-create --file debian-jessie-7.0.0-3-amd64.raw --is-public True --human-readable --progress --disk-format raw --container-format bare --name debian-jessie-amd64
94 3 Mehdi Abaakouk
</pre>