there are a few lingering instances of SERVICE_TOKEN in the docs and some of the scripts in tools. Change-Id: I9d2147eea6639db1f4ea15a259c147eecfc339ff
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
====================
 | 
						|
All-In-One Single VM
 | 
						|
====================
 | 
						|
 | 
						|
Use the cloud to build the cloud! Use your cloud to launch new versions
 | 
						|
of OpenStack in about 5 minutes. If you break it, start over! The VMs
 | 
						|
launched in the cloud will be slow as they are running in QEMU
 | 
						|
(emulation), but their primary use is testing OpenStack development and
 | 
						|
operation.
 | 
						|
 | 
						|
Prerequisites Cloud & Image
 | 
						|
===========================
 | 
						|
 | 
						|
Virtual Machine
 | 
						|
---------------
 | 
						|
 | 
						|
DevStack should run in any virtual machine running a supported Linux
 | 
						|
release. It will perform best with 4GB or more of RAM.
 | 
						|
 | 
						|
OpenStack Deployment & cloud-init
 | 
						|
---------------------------------
 | 
						|
 | 
						|
If the cloud service has an image with ``cloud-init`` pre-installed, use
 | 
						|
it. You can get one from `Ubuntu's Daily
 | 
						|
Build <http://uec-images.ubuntu.com>`__ site if necessary. This will
 | 
						|
enable you to launch VMs with userdata that installs everything at boot
 | 
						|
time. The userdata script below will install and run DevStack with a
 | 
						|
minimal configuration. The use of ``cloud-init`` is outside the scope of
 | 
						|
this document, refer to the ``cloud-init`` docs for more information.
 | 
						|
 | 
						|
If you are directly using a hypervisor like Xen, kvm or VirtualBox you
 | 
						|
can manually kick off the script below as a non-root user in a
 | 
						|
bare-bones server installation.
 | 
						|
 | 
						|
Installation shake and bake
 | 
						|
===========================
 | 
						|
 | 
						|
Launching With Cloud-Init
 | 
						|
-------------------------
 | 
						|
 | 
						|
This cloud config grabs the latest version of DevStack via git, creates
 | 
						|
a minimal ``local.conf`` file and kicks off ``stack.sh``. It should be
 | 
						|
passed as the user-data file when booting the VM.
 | 
						|
 | 
						|
::
 | 
						|
 | 
						|
    #cloud-config
 | 
						|
 | 
						|
    users:
 | 
						|
      - default
 | 
						|
      - name: stack
 | 
						|
        lock_passwd: False
 | 
						|
        sudo: ["ALL=(ALL) NOPASSWD:ALL\nDefaults:stack !requiretty"]
 | 
						|
        shell: /bin/bash
 | 
						|
 | 
						|
    write_files:
 | 
						|
      - content: |
 | 
						|
            #!/bin/sh
 | 
						|
            DEBIAN_FRONTEND=noninteractive sudo apt-get -qqy update || sudo yum update -qy
 | 
						|
            DEBIAN_FRONTEND=noninteractive sudo apt-get install -qqy git || sudo yum install -qy git
 | 
						|
            sudo chown stack:stack /home/stack
 | 
						|
            cd /home/stack
 | 
						|
            git clone https://git.openstack.org/openstack-dev/devstack
 | 
						|
            cd devstack
 | 
						|
            echo '[[local|localrc]]' > local.conf
 | 
						|
            echo ADMIN_PASSWORD=password >> local.conf
 | 
						|
            echo DATABASE_PASSWORD=password >> local.conf
 | 
						|
            echo RABBIT_PASSWORD=password >> local.conf
 | 
						|
            echo SERVICE_PASSWORD=password >> local.conf
 | 
						|
            ./stack.sh
 | 
						|
        path: /home/stack/start.sh
 | 
						|
        permissions: 0755
 | 
						|
 | 
						|
    runcmd:
 | 
						|
      - su -l stack ./start.sh
 | 
						|
 | 
						|
As DevStack will refuse to run as root, this configures ``cloud-init``
 | 
						|
to create a non-root user and run the ``start.sh`` script as that user.
 | 
						|
 | 
						|
If you are using cloud-init and you have not
 | 
						|
`enabled custom logging <../configuration.html#enable-logging>`_ of the stack
 | 
						|
output, then the stack output can be found in
 | 
						|
``/var/log/cloud-init-output.log`` by default.
 | 
						|
 | 
						|
Launching By Hand
 | 
						|
-----------------
 | 
						|
 | 
						|
Using a hypervisor directly, launch the VM and either manually perform
 | 
						|
the steps in the embedded shell script above or copy it into the VM.
 | 
						|
 | 
						|
Using OpenStack
 | 
						|
---------------
 | 
						|
 | 
						|
At this point you should be able to access the dashboard. Launch VMs and
 | 
						|
if you give them floating IPs, access those VMs from other machines on
 | 
						|
your network.
 | 
						|
 | 
						|
One interesting use case is for developers working on a VM on their
 | 
						|
laptop. Once ``stack.sh`` has completed once, all of the pre-requisite
 | 
						|
packages are installed in the VM and the source trees checked out.
 | 
						|
Setting ``OFFLINE=True`` in ``local.conf`` enables ``stack.sh`` to run
 | 
						|
multiple times without an Internet connection. DevStack, making hacking
 | 
						|
at the lake possible since 2012!
 |