<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>

<!-- Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->

<section id="installation-complete">
	<title>Installation Complete! Next Steps</title>
	<para>Congratulations! You have now installed &PRODUCT; Management Server and the database it uses to persist system data.</para>
	<mediaobject>
		<imageobject>
			<imagedata fileref="./images/installation-complete.png" />
		</imageobject>
		<textobject><phrase>installation-complete.png: Finished installs with single Management Server and multiple Management Servers</phrase></textobject>
	</mediaobject>
	<para>What should you do next?</para>
	<itemizedlist>
		<listitem><para>Even without adding any cloud infrastructure, you can run the UI to get a feel for what's offered and how you will interact with &PRODUCT; on an ongoing basis. See <xref linkend="ui" />.</para></listitem>
		<listitem><para>When you're ready, add the cloud infrastructure and try running some virtual machines on it, so you can watch how &PRODUCT; manages the infrastructure. See <xref linkend="provisioning-steps" />.</para></listitem>
	</itemizedlist>
</section>
