Merge lp:~james-page/serverguide/12.10-updates into lp:~ubuntu-core-doc/serverguide/quantal

Proposed by James Page
Status: Merged
Merged at revision: 95
Proposed branch: lp:~james-page/serverguide/12.10-updates
Merge into: lp:~ubuntu-core-doc/serverguide/quantal
Diff against target: 1095 lines (+14/-1038)
2 files modified
serverguide/C/installation.xml (+13/-12)
serverguide/C/virtualization.xml (+1/-1026)
To merge this branch: bzr merge lp:~james-page/serverguide/12.10-updates
Reviewer Review Type Date Requested Status
Peter Matulis Approve
Review via email: mp+128906@code.launchpad.net

Description of the change

Two key updates:

1) Based on current server install minimum requirements, the minimum
hardware requirements for Ubuntu server have been increased and split
between a 'Standard' install and a 'Minimal' install.

2) Ubuntu Enterprise Cloud is no longer part of Ubuntu; dropped from
documentation.

To post a comment you must log in.
Revision history for this message
Peter Matulis (petermatulis) wrote :

Looks good! And thanks for getting rid of UEC. I keep forgetting.

review: Approve
Revision history for this message
Peter Matulis (petermatulis) wrote :

It's late to be accepting changes. I'll send a note to ubuntu-doc and ubuntu-server mailing lists.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'serverguide/C/installation.xml'
--- serverguide/C/installation.xml 2012-04-06 20:16:46 +0000
+++ serverguide/C/installation.xml 2012-10-10 11:27:39 +0000
@@ -44,11 +44,18 @@
44 </thead>44 </thead>
45 <tbody>45 <tbody>
46 <row>46 <row>
47 <entry><para>Server</para></entry>47 <entry><para>Server (Standard)</para></entry>
48 <entry><para>1 gigahertz</para></entry>
49 <entry><para>512 megabytes</para></entry>
50 <entry><para>1 gigabyte</para></entry>
51 <entry><para>1.75 gigabytes</para></entry>
52 </row>
53 <row>
54 <entry><para>Server (Minimal)</para></entry>
48 <entry><para>300 megahertz</para></entry>55 <entry><para>300 megahertz</para></entry>
49 <entry><para>128 megabytes</para></entry>56 <entry><para>256 megabytes</para></entry>
50 <entry><para>500 megabytes</para></entry>57 <entry><para>700 megabytes</para></entry>
51 <entry><para>1 gigabyte</para></entry>58 <entry><para>1.4 gigabytes</para></entry>
52 </row>59 </row>
53 </tbody>60 </tbody>
54 </tgroup>61 </tgroup>
@@ -58,12 +65,6 @@
58 It is a minimalist design providing a platform for the desired services, such 65 It is a minimalist design providing a platform for the desired services, such
59 as file/print services, web hosting, email hosting, etc. 66 as file/print services, web hosting, email hosting, etc.
60 </para>67 </para>
61
62 <para>
63 The requirements for UEC are slightly different; for Front End requirements see <xref linkend="uec-frontend-requirements"/>, and for
64 UEC Node requirements see <xref linkend="uec-node-requirements"/>.
65 </para>
66
67 </sect2>68 </sect2>
6869
69 <sect2 id="intro-server-differences" status="review">70 <sect2 id="intro-server-differences" status="review">
@@ -75,8 +76,8 @@
75 application on the Desktop Edition as it is on the Server Edition.76 application on the Desktop Edition as it is on the Server Edition.
76 </para>77 </para>
77 <para>78 <para>
78 The differences between the two editions are the lack of an X window environment in the Server Edition, 79 The differences between the two editions are the lack of an X window environment in the Server Edition and
79 the installation process, and different Kernel options.80 the installation process.
80 </para> 81 </para>
81 <para>82 <para>
82 </para>83 </para>
8384
=== modified file 'serverguide/C/virtualization.xml'
--- serverguide/C/virtualization.xml 2012-09-20 20:15:05 +0000
+++ serverguide/C/virtualization.xml 2012-10-10 11:27:39 +0000
@@ -1092,1031 +1092,6 @@
1092 </itemizedlist>1092 </itemizedlist>
1093 </sect2>1093 </sect2>
1094 </sect1>1094 </sect1>
1095 <sect1 id="uec" status="review">
1096 <title>UEC</title>
1097
1098 <sect2 id="uec-overview" status="review">
1099 <title>Overview</title>
1100
1101 <warning>
1102 <para>
1103 UEC (Ubuntu Enterprise Cloud) is now depracated in favour of UC (Ubuntu Cloud). The former is based on Eucalyptus and the latter
1104 is based on Openstack. This section of the guide will be removed in future iterations.
1105 </para>
1106 </warning>
1107
1108 <para>
1109 This tutorial covers <application>UEC</application> installation from the Ubuntu &distro-rev; Server Edition CD, and assumes a basic network topology,
1110 with a single system serving as the <emphasis>"all-in-one controller"</emphasis>, and one or more nodes attached.
1111 </para>
1112
1113 <para>
1114 From this Tutorial you will learn how to install, configure, register and perform several operations on a basic <application>UEC</application>
1115 setup that results in a cloud with a one controller <emphasis>"front-end"</emphasis> and one or several node(s) for running Virtual Machine (VM)
1116 instances. You will also use examples to help get you started using your own private compute cloud.
1117 </para>
1118
1119 </sect2>
1120 <sect2 id="uec-prerequisites" status="review">
1121 <title>Prerequisites</title>
1122
1123 <para>
1124 To deploy a minimal cloud infrastructure, you’ll need at least <emphasis>two</emphasis> dedicated systems:
1125 </para>
1126
1127 <itemizedlist>
1128 <listitem>
1129 <para>
1130 A front end.
1131 </para>
1132 </listitem>
1133 <listitem>
1134 <para>
1135 One or more node(s).
1136 </para>
1137 </listitem>
1138 </itemizedlist>
1139
1140 <para>
1141 The following are recommendations, rather than fixed requirements. However, our experience in developing this documentation indicated the following suggestions.
1142 </para>
1143
1144 <sect3 id="uec-frontend-requirements" status="review">
1145 <title>Front End Requirements</title>
1146
1147 <para>
1148 Use the following table for a system that will run one or more of:
1149 </para>
1150
1151 <itemizedlist>
1152 <listitem><para>Cloud Controller (CLC)</para></listitem>
1153 <listitem><para>Cluster Controller (CC)</para></listitem>
1154 <listitem><para>Walrus (the S3-like storage service)</para></listitem>
1155 <listitem><para>Storage Controller (SC)</para></listitem>
1156 </itemizedlist>
1157
1158 <literallayout>
1159
1160
1161
1162
1163
1164
1165
1166
1167 </literallayout>
1168
1169 <table>
1170 <title>UEC Front End Requirements</title>
1171 <tgroup cols="4" rowsep="1">
1172 <colspec colname="1" colwidth="1.0*"/>
1173 <colspec colname="2" colwidth="1.0*"/>
1174 <colspec colname="3" colwidth="1.0*"/>
1175 <colspec colname="4" colwidth="4.5*"/>
1176 <thead>
1177 <row>
1178 <entry valign="middle"><para>Hardware</para></entry>
1179 <entry valign="middle"><para>Minimum</para></entry>
1180 <entry valign="middle"><para>Suggested</para></entry>
1181 <entry valign="middle"><para>Notes</para></entry>
1182 </row>
1183 </thead>
1184 <tbody>
1185 <row>
1186 <entry><para>CPU</para></entry>
1187 <entry><para>1 GHz</para></entry>
1188 <entry><para>2 x 2 GHz</para></entry>
1189 <entry><para>For an <emphasis>all-in-one</emphasis> front end, it helps to have at least a dual core processor.</para></entry>
1190 </row>
1191 <row>
1192 <entry><para>Memory</para></entry>
1193 <entry><para>2 GB</para></entry>
1194 <entry><para>4 GB</para></entry>
1195 <entry><para>The Java web front end benefits from lots of available memory.</para></entry>
1196 </row>
1197 <row>
1198 <entry><para>Disk</para></entry>
1199 <entry><para>5400 RPM IDE</para></entry>
1200 <entry><para>7200 RPM SATA</para></entry>
1201 <entry><para>Slower disks will work, but will yield much longer instance startup times.</para></entry>
1202 </row>
1203 <row>
1204 <entry><para>Disk Space</para></entry>
1205 <entry><para>40 GB</para></entry>
1206 <entry><para>200 GB</para></entry>
1207 <entry><para>40GB is only enough space for only a single image, cache, etc., Eucalyptus does not like to run out of disk space.</para></entry>
1208 </row>
1209 <row>
1210 <entry><para>Networking</para></entry>
1211 <entry><para>100 Mbps</para></entry>
1212 <entry><para>1000 Mbps</para></entry>
1213 <entry><para>Machine images are hundreds of MB, and need to be copied over the network to nodes.</para></entry>
1214 </row>
1215 </tbody>
1216 </tgroup>
1217 </table>
1218
1219 </sect3>
1220 <sect3 id="uec-node-requirements" status="review">
1221 <title>Node Requirements</title>
1222
1223 <para>
1224 The other system(s) are <emphasis>nodes</emphasis>, which will run:
1225 </para>
1226
1227 <itemizedlist>
1228 <listitem><para>the Node Controller (NC)</para></listitem>
1229 </itemizedlist>
1230
1231 <table>
1232 <title>UEC Node Requirements</title>
1233 <tgroup cols="4" rowsep="1">
1234 <colspec colname="1" colwidth="1.0*"/>
1235 <colspec colname="2" colwidth="1.0*"/>
1236 <colspec colname="3" colwidth="1.3*"/>
1237 <colspec colname="4" colwidth="4.5*"/>
1238 <thead>
1239 <row>
1240 <entry valign="middle"><para>Hardware</para></entry>
1241 <entry valign="middle"><para>Minimum</para></entry>
1242 <entry valign="middle"><para>Suggested</para></entry>
1243 <entry valign="middle"><para>Notes</para></entry>
1244 </row>
1245 </thead>
1246 <tbody>
1247 <row>
1248 <entry><para>CPU</para></entry>
1249 <entry><para>VT Extensions</para></entry>
1250 <entry><para>VT, 64-bit, Multicore</para></entry>
1251 <entry><para>64-bit can run both i386, and amd64 instances; by default, Eucalyptus will only run 1 VM per CPU core on a Node.</para></entry>
1252 </row>
1253 <row>
1254 <entry><para>Memory</para></entry>
1255 <entry><para>1 GB</para></entry>
1256 <entry><para>4 GB</para></entry>
1257 <entry><para>Additional memory means more, and larger guests.</para></entry>
1258 </row>
1259 <row>
1260 <entry><para>Disk</para></entry>
1261 <entry><para>5400 RPM IDE</para></entry>
1262 <entry><para>7200 RPM SATA or SCSI</para></entry>
1263 <entry><para>Eucalyptus nodes are disk-intensive; I/O wait will likely be the performance bottleneck.</para></entry>
1264 </row>
1265 <row>
1266 <entry><para>Disk Space</para></entry>
1267 <entry><para>40 GB</para></entry>
1268 <entry><para>100 GB</para></entry>
1269 <entry><para>Images will be cached locally, Eucalyptus does not like to run out of disk space.</para></entry>
1270 </row>
1271 <row>
1272 <entry><para>Networking</para></entry>
1273 <entry><para>100 Mbps</para></entry>
1274 <entry><para>1000 Mbps</para></entry>
1275 <entry><para>Machine images are hundreds of MB, and need to be copied over the network to nodes.</para></entry>
1276 </row>
1277 </tbody>
1278 </tgroup>
1279 </table>
1280
1281 </sect3>
1282
1283 </sect2>
1284 <sect2 id="uec-frontend-installation" status="review">
1285 <title>Installing the Cloud/Cluster/Storage/Walrus Front End Server</title>
1286
1287 <procedure>
1288 <step>
1289 <para>
1290 Download the Ubuntu &distro-rev; Server ISO file, and burn it to a CD.
1291 </para>
1292 </step>
1293 <step>
1294 <para>
1295 When you boot, select <emphasis>“Install Ubuntu Enterprise Cloud”</emphasis>. The installer will detect if any other Eucalyptus components are present.
1296 </para>
1297 </step>
1298 <step>
1299 <para>
1300 You can then choose which components to install, based on your chosen <ulink url="https://help.ubuntu.com/community/UEC/Topologies">topology</ulink>.
1301 </para>
1302 </step>
1303 <step>
1304 <para>
1305 When asked whether you want a <emphasis>“Cluster”</emphasis> or a <emphasis>“Node”</emphasis> install, select
1306 <emphasis>“Cluster”</emphasis>.
1307 </para>
1308 </step>
1309 <step>
1310 <para>
1311 It will ask two other cloud-specific questions during the course of the install:
1312 </para>
1313 <itemizedlist>
1314 <listitem>
1315 <para>
1316 Name of your cluster.
1317 </para>
1318 <itemizedlist><listitem><para>e.g. <emphasis>cluster1</emphasis>.</para></listitem></itemizedlist>
1319 </listitem>
1320 <listitem>
1321 <para>
1322 A range of public IP addresses on the LAN that the cloud can allocate to instances.
1323 </para>
1324 <itemizedlist><listitem><para>e.g. <emphasis>192.168.1.200-192.168.1.249</emphasis>.</para></listitem></itemizedlist>
1325 </listitem>
1326 </itemizedlist>
1327 </step>
1328 </procedure>
1329
1330 </sect2>
1331 <sect2 id="uec-node-installation" status="review">
1332 <title>Installing the Node Controller(s)</title>
1333
1334 <para>
1335 The node controller install is even simpler. Just make sure that you are connected to the network on which the cloud/cluster controller is already running.
1336 </para>
1337
1338 <procedure>
1339 <step>
1340 <para>
1341 Boot from the same ISO on the node(s).
1342 </para>
1343 </step>
1344 <step>
1345 <para>
1346 When you boot, select <emphasis>“Install Ubuntu Enterprise Cloud”</emphasis>.
1347 </para>
1348 </step>
1349 <step>
1350 <para>
1351 Select <emphasis>“Install Ubuntu Enterprise Cloud”</emphasis>.
1352 </para>
1353 </step>
1354 <step>
1355 <para>
1356 It should detect the Cluster and preselect <emphasis>“Node”</emphasis> install for you.
1357 </para>
1358 </step>
1359 <step>
1360 <para>
1361 Confirm the partitioning scheme.
1362 </para>
1363 </step>
1364 <step>
1365 <para>
1366 The rest of the installation should proceed uninterrupted; complete the installation and reboot the node.
1367 </para>
1368 </step>
1369 </procedure>
1370
1371 </sect2>
1372 <sect2 id="uec-register-nodes" status="review">
1373 <title>Register the Node(s)</title>
1374
1375 <procedure>
1376 <step>
1377
1378 <para>
1379 Nodes are the physical systems within <application>UEC</application> that actually run the virtual machine instances of the cloud.
1380 </para>
1381
1382 <para>
1383 All component registration should be automatic, assuming:
1384 </para>
1385
1386 <orderedlist numeration="loweralpha">
1387 <listitem>
1388 <para>
1389 Public SSH keys have been exchanged properly.
1390 </para>
1391 </listitem>
1392 <listitem>
1393 <para>
1394 The services are configured properly.
1395 </para>
1396 </listitem>
1397 <listitem>
1398 <para>
1399 The appropriate <emphasis>uec-component-listener</emphasis> is running.
1400 </para>
1401 </listitem>
1402 <listitem>
1403 <para>
1404 Verify Registration.
1405 </para>
1406 </listitem>
1407 </orderedlist>
1408
1409 <para>
1410 Steps a to e should only be required if you're using the <ulink url="https://help.ubuntu.com/community/UEC/PackageInstall">UEC/PackageInstall</ulink> method.
1411 Otherwise, if you are following this guide, these steps should already be completed automatically for you, and therefore you can skip <emphasis>"a"</emphasis>
1412 to <emphasis>"e"</emphasis>.
1413 </para>
1414 <para> </para>
1415 <para> </para>
1416 <para> </para>
1417 </step>
1418 <step>
1419 <para>Exchange Public Keys</para>
1420
1421 <para>
1422 The Cloud Controller's <emphasis>eucalyptus</emphasis> user needs to have SSH access to the Walrus Controller, Cluster Controller, and Storage Controller
1423 as the eucalyptus user.
1424 </para>
1425
1426 <para>
1427 Install the Cloud Controller's <emphasis>eucalyptus</emphasis> user's public ssh key by:
1428 </para>
1429
1430 <itemizedlist>
1431 <listitem>
1432 <para>
1433 On the target controller, temporarily set a password for the eucalyptus user:
1434 </para>
1435<screen>
1436<command>sudo passwd eucalyptus</command>
1437</screen>
1438 </listitem>
1439 <listitem>
1440 <para>
1441 Then, on the Cloud Controller:
1442 </para>
1443<screen>
1444<command>sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub \
1445eucalyptus@&lt;IP_OF_NODE&gt;</command>
1446</screen>
1447 </listitem>
1448 <listitem>
1449 <para>
1450 You can now remove the password of the eucalyptus account on the target controller, if you wish:
1451 </para>
1452<screen>
1453<command>sudo passwd -d eucalyptus</command>
1454</screen>
1455 </listitem>
1456 </itemizedlist>
1457
1458 </step>
1459 <step>
1460 <para>Configuring the Services</para>
1461
1462 <para>
1463 On the <emphasis>Cloud Controller</emphasis>:
1464 </para>
1465
1466 <itemizedlist>
1467 <listitem>
1468 <para>
1469 For the <emphasis>Cluster Controller</emphasis> Registration:
1470 </para>
1471 <itemizedlist>
1472 <listitem><para>Define the shell variable CC_NAME in <filename>/etc/eucalyptus/eucalyptus-cc.conf</filename></para></listitem>
1473 <listitem>
1474 <para>
1475 Define the shell variable CC_IP_ADDR in <filename>/etc/eucalyptus/eucalyptus-ipaddr.conf</filename>, as a space separated list of one or more IP addresses.
1476 </para>
1477 </listitem>
1478 </itemizedlist>
1479 </listitem>
1480 <listitem>
1481 <para>
1482 For the <emphasis>Walrus Controller</emphasis> Registration:
1483 </para>
1484 <itemizedlist>
1485 <listitem><para>Define the shell variable WALRUS_IP_ADDR in <filename>/etc/eucalyptus/eucalyptus-ipaddr.conf</filename>, as a single IP address.</para></listitem>
1486 </itemizedlist>
1487 </listitem>
1488 </itemizedlist>
1489
1490 <para>
1491 On the <emphasis>Cluster Controller</emphasis>:
1492 </para>
1493
1494 <itemizedlist>
1495 <listitem>
1496 <para>
1497 For <emphasis>Storage Controller</emphasis> Registration:
1498 </para>
1499 <itemizedlist>
1500 <listitem><para>Define the shell variable CC_NAME in <filename>/etc/eucalyptus/eucalyptus-cc.conf</filename></para></listitem>
1501 <listitem>
1502 <para>
1503 Define the shell variable SC_IP_ADDR in <filename>/etc/eucalyptus/eucalyptus-ipaddr.conf</filename>, as a space separated list of one or more IP addresses.
1504 </para>
1505 </listitem>
1506 </itemizedlist>
1507 </listitem>
1508 </itemizedlist>
1509
1510 </step>
1511 <step>
1512 <para>Publish</para>
1513
1514 <para>
1515 Now start the publication services.
1516 </para>
1517
1518 <itemizedlist>
1519 <listitem>
1520 <para><emphasis>Walrus Controller:</emphasis></para>
1521<screen>
1522<command>sudo start eucalyptus-walrus-publication</command>
1523</screen>
1524 </listitem>
1525 <listitem>
1526 <para><emphasis>Cluster Controller:</emphasis></para>
1527<screen>
1528<command>sudo start eucalyptus-cc-publication</command>
1529</screen>
1530 </listitem>
1531 <listitem>
1532 <para><emphasis>Storage Controller:</emphasis></para>
1533<screen>
1534<command>sudo start eucalyptus-sc-publication</command>
1535</screen>
1536 </listitem>
1537 <listitem>
1538 <para><emphasis>Node Controller:</emphasis></para>
1539<screen>
1540<command>sudo start eucalyptus-nc-publication</command>
1541</screen>
1542 </listitem>
1543 </itemizedlist>
1544
1545 </step>
1546 <step>
1547 <para>Start the Listener</para>
1548
1549 <para>
1550 On the <emphasis>Cloud Controller</emphasis> and the <emphasis>Cluster Controller(s)</emphasis>, run:
1551 </para>
1552
1553<screen>
1554<command>sudo start uec-component-listener</command>
1555</screen>
1556
1557 </step>
1558 <step>
1559 <para>Verify Registration</para>
1560
1561<screen>
1562<command>cat /var/log/eucalyptus/registration.log</command>
1563<computeroutput>2010-04-08 15:46:36-05:00 | 24243 -> Calling node cluster1 node 10.1.1.75
15642010-04-08 15:46:36-05:00 | 24243 -> euca_conf --register-nodes returned 0
15652010-04-08 15:48:47-05:00 | 25858 -> Calling walrus Walrus 10.1.1.71
15662010-04-08 15:48:51-05:00 | 25858 -> euca_conf --register-walrus returned 0
15672010-04-08 15:49:04-05:00 | 26237 -> Calling cluster cluster1 10.1.1.71
15682010-04-08 15:49:08-05:00 | 26237 -> euca_conf --register-cluster returned 0
15692010-04-08 15:49:17-05:00 | 26644 -> Calling storage cluster1 storage 10.1.1.71
15702010-04-08 15:49:18-05:00 | 26644 -> euca_conf --register-sc returned 0</computeroutput>
1571</screen>
1572
1573 <note>
1574 <para>
1575 The output on your machine will vary from the example above.
1576 </para>
1577 </note>
1578
1579 </step>
1580 </procedure>
1581
1582 </sect2>
1583 <sect2 id="uec-obtain-credentials" status="review">
1584 <title>Obtain Credentials</title>
1585
1586 <para>
1587 After installing and booting the <emphasis>Cloud Controller</emphasis>, users of the cloud will need to retrieve their credentials.
1588 This can be done either through a web browser, or at the command line.
1589 </para>
1590
1591 <sect3 id="uec-creds-browser" status="review">
1592 <title>From a Web Browser</title>
1593
1594 <procedure>
1595 <step>
1596 <para>
1597 From your web browser (either remotely or on your Ubuntu server) access the following URL:
1598 </para>
1599<programlisting>
1600https://&lt;cloud-controller-ip-address&gt;:8443/
1601</programlisting>
1602
1603 <warning>
1604 <para>
1605 You must use a secure connection, so make sure you use "https" not "http" in your URL. You will get a security
1606 certificate warning. You will have to add an exception to view the page. If you do not accept it you will not
1607 be able to view the Eucalyptus configuration page.
1608 </para>
1609 </warning>
1610 </step>
1611 <step>
1612 <para>
1613 Use username <emphasis>'admin'</emphasis> and password <emphasis>'admin'</emphasis> for the first time login
1614 (you will be prompted to change your password).
1615 </para>
1616 </step>
1617 <step>
1618 <para>
1619 Then follow the on-screen instructions to update the admin password and email address.
1620 </para>
1621 </step>
1622 <step>
1623 <para>
1624 Once the first time configuration process is completed, click the <emphasis>'credentials'</emphasis> tab
1625 located in the top-left portion of the screen.
1626 </para>
1627 </step>
1628 <step>
1629 <para>
1630 Click the <emphasis>'Download Credentials'</emphasis> button to get your certificates.
1631 </para>
1632 </step>
1633 <step>
1634 <para>
1635 Save them to <filename>~/.euca</filename>.
1636 </para>
1637 </step>
1638 <step>
1639 <para>
1640 Unzip the downloaded zip file into a safe location (<filename>~/.euca</filename>).
1641 </para>
1642<screen>
1643<command>unzip -d ~/.euca mycreds.zip</command>
1644</screen>
1645 </step>
1646 </procedure>
1647
1648 </sect3>
1649 <sect3 id="uec-creds-cli" status="review">
1650 <title>From a Command Line</title>
1651
1652 <procedure>
1653 <step>
1654 <para>
1655 Alternatively, if you are on the command line of the <emphasis>Cloud Controller</emphasis>, you can run:
1656 </para>
1657<screen>
1658<command>mkdir -p ~/.euca</command>
1659<command>chmod 700 ~/.euca</command>
1660<command>cd ~/.euca</command>
1661<command>sudo euca_conf --get-credentials mycreds.zip</command>
1662<command>unzip mycreds.zip</command>
1663<command>ln -s ~/.euca/eucarc ~/.eucarc</command>
1664<command>cd -</command>
1665</screen>
1666 </step>
1667 </procedure>
1668
1669 </sect3>
1670 <sect3 id="uec-creds-usage" status="review">
1671 <title>Extracting and Using Your Credentials</title>
1672
1673 <para>
1674 Now you will need to setup EC2 API and AMI tools on your server using X.509 certificates.
1675 </para>
1676
1677 <procedure>
1678 <step>
1679 <para>
1680 Install the required cloud user tools:
1681 </para>
1682<screen>
1683<command>sudo apt-get install euca2ools</command>
1684</screen>
1685 </step>
1686 <step>
1687 <para>
1688 To validate that everything is working correctly, get the local cluster availability details:
1689 </para>
1690<screen>
1691<command>. ~/.euca/eucarc</command>
1692<command>euca-describe-availability-zones verbose</command>
1693<computeroutput>AVAILABILITYZONE myowncloud 192.168.1.1
1694AVAILABILITYZONE |- vm types free / max cpu ram disk
1695AVAILABILITYZONE |- m1.small 0004 / 0004 1 128 2
1696AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5
1697AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10
1698AVAILABILITYZONE |- m1.xlarge 0002 / 0002 2 1024 20
1699AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20</computeroutput>
1700</screen>
1701
1702 <note>
1703 <para>
1704 Your output from the above command will vary.
1705 </para>
1706 </note>
1707 </step>
1708 </procedure>
1709
1710 </sect3>
1711 </sect2>
1712 <sect2 id="uec-image-installation" status="review">
1713 <title>Install an Image from the Store</title>
1714
1715 <para>
1716 The following is by far the simplest way to install an image. However, advanced users may be interested in learning how to
1717 <ulink url="https://help.ubuntu.com/community/UEC/BundlingImages">Bundle their own image</ulink>.
1718 </para>
1719
1720 <para>
1721 The simplest way to add an image to <application>UEC</application> is to install it from the Image Store on the UEC web interface.
1722 </para>
1723
1724 <procedure>
1725 <step>
1726 <para>
1727 Access the web interface at the following URL (Make sure you specify https):
1728 </para>
1729<programlisting>
1730https://&lt;cloud-controller-ip-address&gt;:8443/
1731</programlisting>
1732 </step>
1733 <step>
1734 <para>
1735 Enter your login and password (if requested, as you may still be logged in from earlier).
1736 </para>
1737 </step>
1738 <step>
1739 <para>
1740 Click on the <emphasis>Store</emphasis> tab.
1741 </para>
1742 </step>
1743 <step>
1744 <para>
1745 Browse available images.
1746 </para>
1747 </step>
1748 <step>
1749 <para>
1750 Click on <emphasis>install</emphasis> for the image you want.
1751 </para>
1752 </step>
1753 </procedure>
1754
1755 <para>
1756 Once the image has been downloaded and installed, you can click on <emphasis>"How to run?"</emphasis> that will be displayed
1757 below the image button to view the command to execute to instantiate (start) this image. The image will also appear on the
1758 list given on the <emphasis>Image</emphasis> tab.
1759 </para>
1760
1761 </sect2>
1762 <sect2 id="uec-image-running" status="review">
1763 <title>Run an Image</title>
1764
1765 <para>
1766 There are multiple ways to instantiate an image in UEC:
1767 </para>
1768
1769 <itemizedlist>
1770 <listitem><para>Use the command line.</para></listitem>
1771 <listitem><para>Use one of the UEC compatible management tools such as <emphasis>Landscape</emphasis>.</para></listitem>
1772 <listitem>
1773 <para>
1774 Use the <ulink url="https://help.ubuntu.com/community/UEC/ElasticFox">ElasticFox</ulink> extension to Firefox.
1775 </para>
1776 </listitem>
1777 </itemizedlist>
1778
1779 <para>
1780 Here we will describe the process from the command line:
1781 </para>
1782
1783 <procedure>
1784 <step>
1785 <para>
1786 Before running an instance of your image, you should first create a <emphasis>keypair</emphasis> (ssh key) that you can
1787 use to log into your instance as root, once it boots. The key is stored, so you will only have to do this once.
1788 </para>
1789 <para>
1790 Run the following command:
1791 </para>
1792<programlisting>
1793if [ ! -e ~/.euca/mykey.priv ]; then
1794 mkdir -p -m 700 ~/.euca
1795 touch ~/.euca/mykey.priv
1796 chmod 0600 ~/.euca/mykey.priv
1797 euca-add-keypair mykey > ~/.euca/mykey.priv
1798fi
1799</programlisting>
1800 <note>
1801 <para>
1802 You can call your key whatever you like (in this example, the key is called <emphasis>'mykey'</emphasis>), but remember what it is called.
1803 If you forget, you can always run <command>euca-describe-keypairs</command> to get a list of created keys stored in the system.
1804 </para>
1805 </note>
1806 </step>
1807 <step>
1808 <para>
1809 You must also allow access to port 22 in your instances:
1810 </para>
1811<screen>
1812<command>euca-authorize default -P tcp -p 22 -s 0.0.0.0/0</command>
1813</screen>
1814 </step>
1815 <step>
1816 <para>
1817 Next, you can create instances of your registered image:
1818 </para>
1819<screen>
1820<command>euca-run-instances $EMI -k mykey -t m1.small</command>
1821</screen>
1822 <note>
1823 <para>
1824 If you receive an error regarding <emphasis>image_id</emphasis>, you may find it by viewing Images page or click
1825 <emphasis>"How to Run"</emphasis> on the <emphasis>Store</emphasis> page to see the sample command.
1826 </para>
1827 </note>
1828 </step>
1829 <step>
1830 <para>
1831 The first time you run an instance, the system will be setting up caches for the image from which it will be created.
1832 This can often take some time the first time an instance is run given that VM images are usually quite large.
1833 </para>
1834 <para>
1835 To monitor the state of your instance, run:
1836 </para>
1837<screen>
1838<command>watch -n5 euca-describe-instances</command>
1839</screen>
1840 <para>
1841 In the output, you should see information about the instance, including its state. While first-time caching is being performed,
1842 the instance's state will be <emphasis>'pending'</emphasis>.
1843 </para>
1844 </step>
1845 <step>
1846 <para>
1847 When the instance is fully started, the above state will become <emphasis>'running'</emphasis>. Look at the IP address assigned
1848 to your instance in the output, then connect to it:
1849 </para>
1850<screen>
1851<command>IPADDR=$(euca-describe-instances | grep $EMI | grep running | \
1852tail -n1 | awk '{print $4}')</command>
1853<command>ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR</command>
1854</screen>
1855 </step>
1856 <step>
1857 <para>
1858 And when you are done with this instance, exit your SSH connection, then terminate your instance:
1859 </para>
1860<screen>
1861<command>INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | \
1862tail -n1 | awk '{print $2}')</command>
1863<command>euca-terminate-instances $INSTANCEID</command>
1864</screen>
1865 </step>
1866 </procedure>
1867
1868 <sect3 id="uec-first-boot" status="review">
1869 <title>First Boot</title>
1870
1871 <para>
1872 The <application>cloud-init</application> package provides "first boot" functionality for the Ubuntu UEC images.
1873 It is in charge of taking the generic filesystem image that is booting and customizing it for this particular instance.
1874 That includes things like:
1875 </para>
1876
1877 <itemizedlist>
1878 <listitem>
1879 <para>
1880 Setting the hostname.
1881 </para>
1882 </listitem>
1883 <listitem>
1884 <para>
1885 Putting the provided ssh public keys into <filename>~ubuntu/.ssh/authorized_keys</filename>.
1886 </para>
1887 </listitem>
1888 <listitem>
1889 <para>
1890 Running a user provided script, or otherwise modifying the image.
1891 </para>
1892 </listitem>
1893 </itemizedlist>
1894
1895 <para>
1896 Setting hostname and configuring a system so the person who launched it can actually log into it are not terribly interesting.
1897 The interesting things that can be done with <application>cloud-init</application> are made possible by data provided at launch
1898 time called <ulink url="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1085">user-data</ulink>.
1899 </para>
1900
1901 <para>
1902 First, install the <application>cloud-init</application> package:
1903 </para>
1904
1905<screen>
1906<command>sudo apt-get install cloud-init</command>
1907</screen>
1908
1909 <para>
1910 If the user-data starts with <emphasis>'#!'</emphasis>, then it will be stored and executed as root late in the boot process of the
1911 instance's first boot (similar to a traditional 'rc.local' script). Output from the script is directed to the console.
1912 </para>
1913
1914 <para>
1915 For example, create a file named <filename>ud.txt</filename> containing:
1916 </para>
1917
1918<programlisting>
1919#!/bin/sh
1920echo ========== Hello World: $(date) ==========
1921echo "I have been up for $(cut -d\ -f 1 &lt; /proc/uptime) sec"
1922</programlisting>
1923
1924 <para>
1925 Now start an instance with the <emphasis>--user-data-file</emphasis> option:
1926 </para>
1927
1928<screen>
1929<command>euca-run-instances $EMI -k mykey -t m1.small --user-data-file=ud.txt</command>
1930</screen>
1931
1932 <para>
1933 Wait now for the system to come up and console to be available. To see the result of the data file commands enter:
1934 </para>
1935
1936<screen>
1937<command>euca-get-console-output $EMI | grep --after-context=1 Hello</command>
1938<computeroutput>========== Hello World: Mon Mar 29 18:05:05 UTC 2010 ==========
1939I have been up for 28.26 sec</computeroutput>
1940</screen>
1941
1942 <note>
1943 <para>
1944 Your output may vary.
1945 </para>
1946 </note>
1947
1948 <para>
1949 The simple approach shown above gives a great deal of power. The user-data can contain a script in any language where an interpreter already exists
1950 in the image (#!/bin/sh, #!/usr/bin/python, #!/usr/bin/perl, #!/usr/bin/awk ... ).
1951 </para>
1952
1953 <para>
1954 For many cases, the user may not be interested in writing a program. For this case, cloud-init provides <emphasis>"cloud-config"</emphasis>, a configuration based approach
1955 towards customization. To utilize the cloud-config syntax, the supplied user-data must start with a <emphasis>'#cloud-config'</emphasis>.
1956 </para>
1957
1958 <para>
1959 For example, create a text file named <filename>cloud-config.txt</filename> containing:
1960 </para>
1961
1962<programlisting>
1963#cloud-config
1964apt_upgrade: true
1965apt_sources:
1966- source: "ppa:ubuntu-server-edgers/server-edgers-apache "
1967
1968packages:
1969- build-essential
1970- pastebinit
1971
1972runcmd:
1973- echo ======= Hello World =====
1974- echo "I have been up for $(cut -d\ -f 1 &lt; /proc/uptime) sec"
1975</programlisting>
1976
1977 <para>
1978 Create a new instance:
1979 </para>
1980
1981<screen>
1982<command>euca-run-instances $EMI -k mykey -t m1.small --user-data-file=cloud-config.txt</command>
1983</screen>
1984
1985 <para>
1986 Now, when the above system is booted, it will have:
1987 </para>
1988
1989 <itemizedlist>
1990 <listitem><para>Added the Apache Edgers PPA.</para></listitem>
1991 <listitem><para>Run an upgrade to get all updates available</para></listitem>
1992 <listitem><para>Installed the 'build-essential' and 'pastebinit' packages</para></listitem>
1993 <listitem><para>Printed a similar message to the script above</para></listitem>
1994 </itemizedlist>
1995
1996 <warning>
1997 <para>
1998 The <emphasis>Apache Edgers PPA</emphasis>, in the above example, contains the latest version of Apache from upstream source repositories.
1999 Package versions in the PPA are unsupported, and depending on your situation, this may or may not be desirable. See the
2000 <ulink url="https://launchpad.net/~ubuntu-server-edgers">Ubuntu Server Edgers</ulink> web page for more details.
2001 </para>
2002 </warning>
2003
2004 <para>
2005 The <emphasis>'runcmd'</emphasis> commands are run at the same point in boot that the <emphasis>'#!'</emphasis> script would run in the previous example.
2006 It is present to allow you to get the full power of a scripting language if you need it without abandoning <emphasis>cloud-config</emphasis>.
2007 </para>
2008
2009 <para>
2010 For more information on what kinds of things can be done with <application>cloud-config</application>, see
2011 <ulink url="http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/files/head:/doc/examples/">doc/examples</ulink> in the source.
2012 </para>
2013
2014 </sect3>
2015
2016 </sect2>
2017 <sect2 id="uec-more-info" status="review">
2018 <title>More Information</title>
2019
2020 <para>
2021 How to use the <ulink url="https://help.ubuntu.com/community/UEC/StorageController">Storage Controller</ulink>
2022 </para>
2023
2024 <para>
2025 Controlling eucalyptus services:
2026 </para>
2027
2028 <itemizedlist>
2029 <listitem><para>sudo service eucalyptus [start|stop|restart] (on the CLC/CC/SC/Walrus side)</para></listitem>
2030 <listitem><para>sudo service eucalyptus-nc [start|stop|restart] (on the Node side)</para></listitem>
2031 </itemizedlist>
2032
2033 <para>
2034 Locations of some important files:
2035 </para>
2036
2037 <itemizedlist>
2038 <listitem>
2039 <para>
2040 <emphasis>Log files:</emphasis>
2041 </para>
2042 <itemizedlist>
2043 <listitem><para>/var/log/eucalyptus</para></listitem>
2044 </itemizedlist>
2045 </listitem>
2046 <listitem>
2047 <para>
2048 <emphasis>Configuration files:</emphasis>
2049 </para>
2050 <itemizedlist>
2051 <listitem><para>/etc/eucalyptus</para></listitem>
2052 </itemizedlist>
2053 </listitem>
2054 <listitem>
2055 <para>
2056 <emphasis>Database:</emphasis>
2057 </para>
2058 <itemizedlist>
2059 <listitem><para>/var/lib/eucalyptus/db</para></listitem>
2060 </itemizedlist>
2061 </listitem>
2062 <listitem>
2063 <para>
2064 <emphasis>Keys:</emphasis>
2065 </para>
2066 <itemizedlist>
2067 <listitem><para>/var/lib/eucalyptus</para></listitem>
2068 <listitem><para>/var/lib/eucalyptus/.ssh</para></listitem>
2069 </itemizedlist>
2070 </listitem>
2071 </itemizedlist>
2072
2073 <note>
2074 <para>
2075 Don't forget to source your <filename>~/.euca/eucarc</filename> before running the client tools.
2076 </para>
2077 </note>
2078
2079 </sect2>
2080 <sect2 id="uec-references" status="review">
2081 <title>References</title>
2082
2083 <itemizedlist>
2084 <listitem>
2085 <para>
2086 For information on loading instances see the <ulink url="https://help.ubuntu.com/community/Eucalyptus">Eucalyptus Wiki</ulink> page.
2087 </para>
2088 </listitem>
2089 <listitem>
2090 <para>
2091 <ulink url="http://open.eucalyptus.com/">Eucalyptus Project Site (forums, documentation, downloads)</ulink>.
2092 </para>
2093 </listitem>
2094 <listitem>
2095 <para>
2096 <ulink url="https://launchpad.net/eucalyptus/">Eucalyptus on Launchpad (bugs, code)</ulink>.
2097 </para>
2098 </listitem>
2099 <listitem>
2100 <para>
2101 <ulink url="http://open.eucalyptus.com/wiki/EucalyptusTroubleshooting_v1.5">Eucalyptus Troubleshooting (1.5)</ulink>.
2102 </para>
2103 </listitem>
2104 <listitem>
2105 <para>
2106 <ulink url="http://support.rightscale.com/2._References/02-Cloud_Infrastructures/Eucalyptus/03-Administration_Guide/Register_with_RightScale">
2107 Register your cloud with RightScale</ulink>.
2108 </para>
2109 </listitem>
2110 <listitem>
2111 <para>
2112 You can also find help in the <emphasis>#ubuntu-virt</emphasis>, <emphasis>#eucalyptus</emphasis>, and
2113 <emphasis>#ubuntu-server</emphasis> IRC channels on <ulink url="http://freenode.net">Freenode</ulink>.
2114 </para>
2115 </listitem>
2116 </itemizedlist>
2117 </sect2>
2118 </sect1>
2119
2120<sect1 id='ubuntucloud' status='review'>1095<sect1 id='ubuntucloud' status='review'>
2121 <title>Ubuntu Cloud</title>1096 <title>Ubuntu Cloud</title>
2122 <para>1097 <para>
@@ -2131,7 +1106,7 @@
2131 <sect2 id="ubuntu-cloud-overview" status="review">1106 <sect2 id="ubuntu-cloud-overview" status="review">
2132 <title>Overview</title>1107 <title>Overview</title>
2133 <para>1108 <para>
2134This tutorial covers the OpenStack installation from the Ubuntu 12.04 LTS Server Edition CD, and assumes a 1109This tutorial covers the OpenStack installation from the Ubuntu 12.10 Server Edition CD, and assumes a
2135basic network topology, with a single system serving as the "all-in-one cloud infrastructure".Due to the tutorial's simplicity, 1110basic network topology, with a single system serving as the "all-in-one cloud infrastructure".Due to the tutorial's simplicity,
2136the instructions as-is are not intended to set up production servers although it allows you to have a POC 1111the instructions as-is are not intended to set up production servers although it allows you to have a POC
2137(proof of concept) of the Ubuntu Cloud using OpenStack.1112(proof of concept) of the Ubuntu Cloud using OpenStack.

Subscribers

People subscribed via source and target branches