diff --git a/src/administrators-guide/src/docbkx/administrators-guide.xml b/src/administrators-guide/src/docbkx/administrators-guide.xml
index 367e0fd..979c6c1 100644
--- a/src/administrators-guide/src/docbkx/administrators-guide.xml
+++ b/src/administrators-guide/src/docbkx/administrators-guide.xml
@@ -16,12 +16,12 @@
limitations under the License.
-->
-
+ version="5.0"> Murano Administrator's Guide
@@ -47,1342 +47,9 @@
this is a placeholder for the back cover
-
- General Deployment Steps
-
- Prepare A Lab For Murano
-
- This section provides basic information about lab's system requirements. It also contains a description
- of a test which you may use to check if your hardware fits the requirements. To do this, run the test
- and compare the results with baseline data provided.
-
-
- Lab Requirements
-
- Hardware requirements
-
-
-
-
-
-
- Criteria
- Minimal
- Recommended
-
-
-
-
- CPU
- 4 core @ 2.4 GHz
- 24 core @ 2.67 GHz
-
-
- RAM
- 8 GB
- 24 GB or more
-
-
- HDD
- 2 x 500 GB (7200 rpm)
- 4 x 500 GB (7200 rpm)
-
-
- RAID
- Software RAID-1 (use mdadm as it will improve read performance almost two times)
- Hardware RAID-10
-
-
-
-
-
- There are a few possible storage configurations except the shown above. All of them were tested and were working well.
-
-
-
-
-
- 1x SSD 500+ GB
-
-
-
-
- 1x HDD (7200 rpm) 500+ GB and 1x SSD 250+ GB (install the system onto the HDD and mount the SSD drive to folder where VM images are)
-
-
-
-
- 1x HDD (15000 rpm) 500+ GB
-
-
-
-
-
- The list of OSes which we used in our lab is shown below.
-
-
- OS Requirements
-
-
-
-
- List
-
-
-
-
- Ubuntu Server 12.04 LTS
-
-
-
-
-
-
- Test Your Lab Host Performance
-
- We have measured time required to boot 1 to 5 instances of Windows system simultaneously. You can use
- this data as the baseline to check if your system is fast enough.
-
-
- You should use sysprepped images for this test, to simulate VM first boot.
-
-
- Steps to reproduce test:
-
-
-
-
- Prepare Windows 2012 Standard (with GUI) image in QCOW2 format. Let's assume that its name is ws-2012-std.qcow2
-
-
-
-
- Ensure that there is NO KVM PROCESSES on the host. To do this, run command:
-
-># ps aux | grep kvm
-
-
-
-
-
- Make 5 copies of Windows image file:
-
-
-># for i in $(seq 5); do \
- cp ws-2012-std.qcow2 ws-2012-std-$i.qcow2; done
-
-
-
-
- Create script start-vm.sh in the folder with .qcow2 files:
-
-
-#!/bin/bash
-[ -z $1 ] || echo "VM count not provided!"; exit 1
-for i in $(seq $1); do
- echo "Starting VM $i ..."
- kvm \
- -m 1024 \
- -drive file=ws-2012-std-$i.qcow2,if=virtio \
- -net user -net nic,model=virtio \
- -nographic \
- -usbdevice tablet \
- -vnc :$i &
-done
-
-
-
-
- Start ONE instance with command below (as root) and measure time between VM’s launch and
- the moment when Server Manager window appears. To view VM’s desktop, connect with VNC viewer to your host to VNC screen :1 (port 5901):
-
-
-># ./start-vm.sh 1
-
-
-
-
- Turn VM off. You may simply kill all KVM processes by
-
-
-># killall kvm
-
-
-
-
- Start FIVE instances with command below (as root) and measure time interval between ALL VM’s
- launch and the moment when LAST Server Manager window appears. To view VM’s desktops, connect with
- VNC viewer to your host to VNC screens :1 thru :5 (ports 5901-5905):
-
-
-># ./start-vm.sh 5
-
-
-
-
- Turn VMs off. You may simply kill all KVM processes by
-
-
-># killall kvm
-
-
-
-
-
- Baseline Bata
-
- The table below provides baseline data which we've got in our environment.
-
-
- Avg. Time refers to the lab with recommended hardware configuration, while
- Max. Time refers to minimal hardware configuration.
-
-
-
-
-
-
-
-
-
- Boot ONE instance
- Boot FIVE instances
-
-
-
-
-
- Avg. Time
-
-
- 3m:40s
-
-
- 8m
-
-
-
-
- Max. Time
-
-
- 5m
-
-
- 20m
-
-
-
-
-
-
-
- Host Optimizations
-
- Default KVM installation could be improved to provide better performance.
-
-
- The following optimizations may improve host performance up to 30%:
-
-
-
-
- change default scheduler from CFQ to
- Deadline
-
-
-
-
- use ksm
-
-
-
-
- use vhost-net
-
-
-
-
-
-
- Install OpenStack
-
- We use Devstack (http://devstack.org/) to build our lab environment.
-
-
- Devstack is a set of scripts to automate OpenStack installation using sources from Git repositories.
- No packages are built and installed during this process, all OpenStack components are executed in separate consoles (via screen utility).
-
-
- It is a great tool to quickly install and start to develop OpenStack on you server. However, it has a few caveats that should be kept in mind:
-
-
-
-
- Devstack scripts must be executed each time the host reboots. This also reset your OpenStack environment to it’s ‘just installed’ state.
-
-
-
-
- Multi-node configurations are not as easy in installation as single-node.
-
-
-
-
- Below are the general steps that required to install OpenStack using Devstack in a Single-node mode.
-
-
- Use Devstack's guide to install single VM OpenStack ( http://devstack.org/guides/single-vm.html)
-
-
- localrc example
-
-
-HOST_IP=
-FLAT_INTERFACE=
-FLOATING_RANGE=
-
-ADMIN_PASSWORD=swordfish
-MYSQL_PASSWORD=swordfish
-RABBIT_PASSWORD=swordfish
-SERVICE_PASSWORD=swordfish
-SERVICE_TOKEN=tokentoken
-
-ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
-
-# Image's cache is in $TOP_DIR/files
-IMAGE_URLS+=",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/"
-IMAGE_URLS+="F17-x86_64-cfntools.qcow2"
-
-# /etc/nova/nova.conf
-EXTRA_OPTS=(force_config_drive=true libvirt_images_type=qcow2 force_raw_images=false)
-
-# Logging
-SCREEN_LOGDIR=/opt/stack/log/
-LOGFILE=$SCREEN_LOGDIR/stack.sh.log
-
-
-
-
- If you need to image builder only, then install only packages required to run KVM (see below).
-
-
-
- Configure OpenStack
-
-
- Additional OpenStack configuration usually doesn't required in case you've installed OpenStack with Devstack scripts.
-
-
-
- To configure OpenStack is not a simple task and depends on various options (hardware configuration, network layout, and so on) and in general is out of scope of this document.
-
-
-
-
- Install Murano Components
- This chapter describes how to install Murano components on a separate devbox. We
- strongly recommend to use a separate host (virtual machine or real host) for Murano
- devbox as it prevents you from various dependency conflicts.
-
- Automatic Installation
- There is a script to automate Murano installation onto devbox.
-
- Create a folder to hold cloned
- repositories># mkdir -p /opt/git
-
-
- Clone murano-deployment
- repository># cd /opt/git
-># git clone git://github.com/stackforge/murano-deployment.git
-
-
- Change directory to murano-deployment
- and switch to required branch (e.g. master)># cd /opt/git/murano-deployment
-># git checkout -b master origin/master
-
-
- Install
- prerequisites># cd /opt/git/murano-deployment/devbox-scripts
-># ./murano-git-install.sh prerequisites
-
-
- Configure the following parameters in lab binding configuration file
- /etc/murano-deployment/lab-binding.rc
-
- LAB_HOST - IP or nostname
- of the lab. Actually, this address/name should point to the
- host where Keystone is installed.
-
-
- ADMIN_USER - OpenStack
- admin user
-
-
- ADMIN_PASSWORD - A
- password for OpenStack admin user
-
-
- RABBITMQ_USER - User to
- connect to RabbitMQ host
-
-
- RABBITMQ_PASSWORD -
- Password for that user
-
-
- RABBITMQ_VHOST - vHost
- which will be used by Murano components. Provides additional
- layer of isolation from other devboxes.
-
-
- RABBITMQ_HOST -
- (optional) IP address or hostname of the host where RabbitMQ
- is installed IF it is not the same host as LAB_HOST points
- to
-
-
- RABBITMQ_HOST_ALT -
- (optional) IP address or hostname of the RabbitMQ host to
- connect from inside the Windows instance. In some cases the
- addresses like LAB_HOST or RABBITMQ_HOST are inaccessible
- from instances, and they must use different address.
-
-
- FILE_SHARE_HOST -
- (optional) IP address or hostname of the host where file
- share with prerequisites is located IF it is not the same
- host as LAB_HOST points to.
-
-
- BRANCH_NAME - branch name
- from which all Murano components will be fetched for
- installation
-
-
- SSL_ENABLED - Set
- 'true' if OpenStack is
- configured with SSL support and 'false' otherwise.
-
-
- SSL_CA_FILE - Path to CA
- certificate for certificate validation on client
- side.
-
-
-
-
- Install Murano
- components># ./murano-git-install.sh install
-
-
- Login to the Dashboard using URL http://<your
- VM IP>/dashboard or http://<your
- VM IP>/horizon
-
-
-
-
- Manual Installation
-
- Each Murano component has it's own installation scripts called setup.sh (for Ubuntu)
- and setup-centos.sh (for CentOS). They are easy to use and will do all the work for you.
-
-
- For more information please consult the Murano Developer's guide.
-
-
-
-
- Image Builder
-
- Murano requires a Windows Image in QCOW2 format to be builded and uploaded into Glance.
-
-
- The easiest way to build Windows image for Murano is to build it on the host where your OpenStack is installed.
-
-
- Install Required Packages
-
-
- Please check that hardware virtualization supported and enabled in BIOS.
-
-
-
- The following packages should be installed on any host which will be used to build Windows Image:
-
-
-
- ipxe-qemu
-
-
-
-
- kvm-ipxe
-
-
-
-
- qemu-kvm
-
-
-
-
- munin-libvirt-plugins
-
-
-
-
- python-libvirt
-
-
-
-
- libvirt-bin
-
-
-
-
- libvirt0
-
-
-
-
- munin-libvirt-plugins
-
-
-
-
- python-libvirt
-
-
-
-
- virt-goodies
-
-
-
-
- virt-manager
-
-
-
-
- virt-top
-
-
-
-
- virt-what
-
-
-
-
- virtinst
-
-
-
-
- python
-
-
-
-
-
- On Ubuntu you could install them using the command below:
-
-
-># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \
- virtinst virt-manager libvirt0 libvirt-bin \
- munin-libvirt-plugins python python-libvirt \
- python-libxml2 python-minimal python-pycurl \
- python-pyorbit python-requests python-six \
- samba samba-common openssh-server virt-top virt-what
-
-
-
- Configure Shared Resource
-
- Configure samba based share
-
-
-># mkdir -p /opt/samba/share
-># chown -R nobody:nogroup /opt/samba/share
-
-
-
-
- Configure samba server (/etc/samba/smb.conf)
-
-
-...
-[global]
- ...
- security = user
-...
-[share]
- comment = Deployment Share
- path = /opt/samba/share
- browsable = yes
- read only = no
- create mask = 0755
- guest ok = yes
- guest account = nobody
-...
-
-
-
-
- Restart services
-
-
-># service smbd restart
-># service nmbd restart
-
-
-
-
-
- Prerequisites
- Download the files below and copy them into their places in your ${SHARE_PATH} folder (we usually use /opt/samba/share as ${SHARE_PATH}):
-
- Windows 2012 Server ISO evaluation version
-
- ${SHARE_PATH}/libvirt/images/ws-2012-eval.iso
-
-
-
-
- http://technet.microsoft.com/en-us/evalcenter/hh670538.aspx
-
-
-
-
-
-
- VirtIO drivers for Windows
-
- ${SHARE_PATH}/libvirt/images/virtio-win-0.1-52.iso
-
-
-
-
- http://alt.fedoraproject.org/pub/alt/virtio-win/stable/virtio-win-0.1-52.iso
-
-
-
-
-
-
- CloudBase-Init for Windows
-
- ${SHARE_PATH}/share/files/CloudbaseInitSetup_Beta.msi
-
-
-
-
- http://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta.msi
-
-
-
-
-
-
- Far Manager
-
- ${SHARE_PATH}/share/files/Far30b3367.x64.20130426.msi
-
-
-
-
- http://www.farmanager.com/files/Far30b3525.x64.20130717.msi
-
-
-
-
-
-
- Git client
-
- ${SHARE_PATH}/share/files/Git-1.8.1.2-preview20130201.exe
-
-
-
-
- https://msysgit.googlecode.com/files/Git-1.8.3-preview20130601.exe
-
-
-
-
-
-
- Sysinternals Suite
-
- ${SHARE_PATH}/share/files/SysinternalsSuite.zip
-
-
-
-
- http://download.sysinternals.com/files/SysinternalsSuite.zip
-
-
-
-
-
-
- unzip.exe tool
-
- ${SHARE_PATH}/share/files/unzip.exe
-
-
-
-
- https://www.dropbox.com/sh/zthldcxnp6r4flm/-k1Om_V6XR
-
-
-
-
-
-
- PowerShell v3
-
- ${SHARE_PATH}/share/files/Windows6.1-KB2506143-x64.msu
-
-
-
-
- http://www.microsoft.com/en-us/download/details.aspx?id=34595
-
-
-
-
-
-
- .NET 4.0
-
- ${SHARE_PATH}/share/files/dotNetFx40_Full_x86_x64.exe
-
-
-
-
- http://www.microsoft.com/en-us/download/details.aspx?id=17718
-
-
-
-
-
-
- .NET 4.5
-
- ${SHARE_PATH}/share/files/dotNetFx45_Full_setup.exe
-
-
-
-
- http://www.microsoft.com/en-us/download/details.aspx?id=30653
-
-
-
-
-
-
- Murano Agent
-
- ${SHARE_PATH}/share/files/MuranoAgent.zip
-
-
-
-
- https://www.dropbox.com/sh/zthldcxnp6r4flm/-k1Om_V6XR
-
-
-
-
-
-
-
-
- Additional Software
- This section describes additional software which is required to build an Windows
- Image.
-
- Windows ADK
-
-
- Windows Assessment and Deployment Kit (ADK) for Windows®
- 8 is required to build your own answer files for auto unattended
- Windows installation.
-
-
- You can dowload it from
- http://www.microsoft.com/en-us/download/details.aspx?id=30652.
-
-
- PuTTY
-
- PuTTY is a useful tool to manage your Linux boxes via SSH.
-
-
- You can download it from
- http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
-
-
- Windows Server 2012 ISO image
-
- We use the following Windows installation images:
-
- Windows Server 2008 R2
-
- Image Name:
- 7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso
-
-
- URL:
- http://www.microsoft.com/en-us/download/details.aspx?id=11093
-
-
-
-
-
- Windows Server 2012
-
- Image Name:
- 9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.iso
-
-
- URL:
- http://technet.microsoft.com/en-US/evalcenter/hh670538.aspx?ocid=&wt.mc_id=TEC_108_1_33
-
-
-
-
-
-
- VirtIO Red Hat drivers ISO image
-
-
-
- Please, choose stable version instead of latest, We’ve got errors with unstable drivers during guest unattended install.
-
-
-
- Download drivers from
- http://alt.fedoraproject.org/pub/alt/virtio-win/stable/
-
-
- Floppy Image With Unattended File
-
-
- Run following commands as root:
-
-
-
-
-
- Create emtpy floppy image in your home folder
-
-
-># dd bs=512 count=2880 \
- if=/dev/zero of=~/floppy.img \
- mkfs.msdos ~/floppy.img
-
-
-
-
- Mount the image to /media/floppy
-
-
-># mkdir /media/floppy mount -o loop \
- ~/floppy.img /media/floppy
-
-
-
-
- Download autounattend.xml file from
- https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/files/ws-2012-std/autounattend.xml
-
-
-
-># cd ~
-># wget https://raw.github.com/stackforge/murano-deployment\
-/master/image-builder/share/files/ws-2012-std/autounattend.xml
-
-
-
-
- Copy our autounattend.xml to /media/floppy
-
-
-># cp ~/autounattend.xml /media/floppy
-
-
-
-
- Unmount the image
-
-
-># umount /media/floppy
-
-
-
-
-
- Build Windows Image (Automatic Way)
-
-
- Clone murano-deployment repository
-
-># git clone git://github.com/stackforge/murano-deployment.git
-
-
-
- Change directory to murano-deployment/image-builder folder.
-
-
- Create folder structure for image builder
-
-># make build-root
-
-
-
- Create shared resource
-
- Add to /etc/samba/smb.conf
-
-
-[image-builder-share]
- comment = Image Builder Share
- browsable = yes
- path = /opt/image-builder/share
- guest ok = yes
- guest user = nobody
- read only = no
- create mask = 0755
-
-
-
-
- Restart samba services
-
-
-># restart smbd && restart nmbd
-
-
-
-
-
- Test that all required files are in place
-
-># make test-build-files
-
-
-
- Get list of available images
-
-># make
-
-
-
- Run image build process
-
-># make ws-2012-std
-
-
-
- Wait until process finishes
-
-
- The image file ws-2012-std.qcow2 should be
- stored under /opt/image-builder/share/images
- folder.
-
-
-
-
- Build Windows Image (Manual Way)
-
- Please note that the preferred way to build images is to use Automated Build described in the previous chapter.
-
- Get Post-Install Scripts
-
- There are a few scripts which perform all the required post-installation tasks.
-
- Package installation tasks are performed by script named wpi.ps1.
- Download it from
- https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/wpi.ps1
-
-
- There are a few scripts named wpi.ps1, each
- supports only one version of Windows image. The script above is intended to be
- used to create Windows Server 2012 Standard. To build other version of Windows
- please use appropriate script from scripts
- folder.
-
- Clean-up actions to finish image preparation are performed by Start-Sysprep.ps1
- script.
- Download it from
- https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/Start-Sysprep.ps1
-
- These scripts should be copied to the shared resource folder, subfolder Scripts.
-
- Create a VM
-
- This section describes steps required to build an image of Windows Virtual Machine
- which could be used with Murano. There are two possible ways to create it - from
- CLI or using GUI tools. We describe both in this section.
-
-
-
- Run all commands as root.
-
-
-
-
- Way 1: Using CLI Tools
-
- This section describes the required step to launch a VM using CLI tools only.
-
-
-
-
-
- Preallocate disk image
-
-
-># qemu-img create -f raw /var/lib/libvirt/images/ws-2012.img 40G
-
-
-
-
- Start the VM
-
-
-># virt-install --connect qemu:///system --hvm --name WinServ \
- --ram 2048 --vcpus 2 --cdrom /opt/samba/share/9200.16384.WIN8_RTM\
-.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.ISO \
- --disk path=/opt/samba/share/virtio-win-0.1-52.iso,device=cdrom \
- --disk path=/opt/samba/share/floppy.img,device=floppy \
- --disk path=/var/lib/libvirt/images/ws-2012.qcow2\
-,format=qcow2,bus=virtio,cache=none \
- --network network=default,model=virtio \
- --memballoon model=virtio --vnc --os-type=windows \
- --os-variant=win2k8 --noautoconsole \
- --accelerate --noapic --keymap=en-us --video=cirrus --force
-
-
-
-
-
- Way 2: Using virt-manager UI
-
- A VM also could be lauched via GUI tools like virt-manager.
-
-
-
-
- Launch virt-manager from shell
- as root
-
-
- Set a name for VM and select Local install media
-
-
- Add one cdrom and attach Windows Server ISO image to it
-
-
- Select OS type Windows and it's
- version Windows Server 2008
-
-
-
- Set CPU and RAM amount
-
-
- Deselect option Enable storage for this
- virtual machine
-
-
-
- Select option Customize configuration before
- install
-
-
-
- Add second cdrom for ISO image with virtio drivers
-
-
- Add a floppy drive and attach our floppy image to it
-
-
- Add (or create new) HDD image with Disk bus VirtIO and storage format RAW
-
-
-
- Set network device model VirtIO
-
-
-
- Start installation process and open guest vm screen through
- Console button
-
-
-
-
-
- Convert the image from RAW to QCOW2 format
- The image must be converted from RAW format to QCOW2 before being imorted into
- Glance.
-
-
-
-># qemu-img convert -O qcow2 /var/lib/libvirt/images/ws-2012.raw \
- /var/lib/libvirt/images/ws-2012-ref.qcow2
-
-
-
-
-
- Upload Image Into Glance
-
- Services deployed by Murano require specially prepared images, that can be created manually or via automated scripts.
- Please refer to corresponding chapters of this book to create image. After images are created they should be registered in Openstack Glance - image operation service.
-
-
-
-
- Use the glance image-create command to import your disk image to Glance:
-
->$ glance image-create --name <NAME> \
- --is-public true --disk-format qcow2 \
- --container-format bare \
- --file <IMAGE_FILE> \
- --property <IMAGE_METADATA>
-
-
-
- Replace the command line arguments to glance image-create with the appropriate values for your environment and disk image:
-
-
-
-
- Replace <NAME> with the name that users will refer to the disk image by.
- E.g. 'ws-2012-std'
-
-
-
-
- Replace <IMAGE_FILE> with the local path to the image file to upload.
- E.g. 'ws-2012-std.qcow2'.
-
-
-
- Replace <IMAGE_METADATA> with the
- following property string
-
-murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}
-
- where
-
- title - user-friendly description of the image
-
-
-
- type - one of possible image types
-
- ws-2012-std - Windows Server 2012 Standart
- Edition
-
-
- ws-2012-core - Windows 2012 Core Edition
-
-
-
- ws-2008r2-std - Windows Server 2008R2
- Standart Edition
-
-
- ws-2008r2 - Windows Server 2012R2
-
-
-
-
-
-
-
-
-
-
- To update metadata of the existing image run the command:
-
->$ glance image-update <IMAGE-ID> --property <IMAGE_MATADATA>
-
-
-
-
- Replace <IMAGE-ID> with image id from the previous command output.
-
-
-
- Replace <IMAGE_METADATA> with
- murano_image_info property, e.g.
-
-murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}'
-
-
-
-
-
-
-
- The value of the --property argument named murano_image_info is a JSON
- string. Only double quotes are valid in JSON, so please type
- the string exactly as in the example above.
-
-
- After these steps desired image can be chosen in Murano dashboard and used for services platform.
-
-
-
-
- Troubleshooting
-
- General Notes
- The following debug sequence should be used when you have no idea about why the
- system isn't working. If you have one, you may skip unnecessary sections.
-
- Set debug options to "True" in the following Murano configuration files:
-
- /etc/murano-api/murano-api.conf
-
-
- /etc/murano-conductor/conductor.conf
-
-
- Stop both murano-api and murano-conductor services. We will start them one by one from the
- console.
-
- murano-api
- First, the murano-api must be started.
-
-
-
-
- Open new console
-
-
- Start murano-api service
- manually># murano-api --config-dir /etc/murano-api 2>&1 \
- > /var/log/murano-api-live.log &
-># tailf /var/log/murano-api-live.log
-
-
- Open dashboard, create and send to deploy some simple
- environment.
-
-
- Open RabbitMQ web console, open your vhost and ensure that queues were
- created and there is at least one message.
-
-
- Check log for errors - there shouldn't be any
-
-
- Keep murano-api service
- running
-
-
-
-
- murano-conductor
- Next to the murano-api the murano-conductor should be started
-
-
-
-
-
- Open new console
-
-
- Start conductor from
- console># muranoconductor --config-dir /etc/murano-conductor \
- > /var/log/murano-conductor-live.log &
-># tailf /var/log/murano-conductor-live.log
-
-
- Check that there is no python exceptions in the log. Some errors like
- 404 are ok, as conductor tries to delete environment that doesn't
- exist
-
-
- Check heat stack status. It should not be in FAILED state. If it is -
- check heat and nova error log to find the cause.
-
-
- Keep murano-conductor service running.
-
-
-
-
- Log Files
- There are various log files which will help you to debug the system.
-
- Murano Log Files
-
-
- /var/log/murano-api.log
-
-
- /var/log/murano-conductor.log
-
-
- /var/log/apache2/errors.log
-
-
- /var/log/httpd/errors.log
-
-
-
- Windows Log Files
-
-
- C:\Program Files (x86)\CloudBase Solutions\logs\log.txt
-
-
- C:\Murano\Agent\log.txt
-
-
- C:\Murano\PowerShell.log
-
-
-
-
+
+
+
+
+
diff --git a/src/administrators-guide/src/docbkx/administrators-guide.xml.orig b/src/administrators-guide/src/docbkx/administrators-guide.xml.orig
new file mode 100644
index 0000000..dcd0aff
--- /dev/null
+++ b/src/administrators-guide/src/docbkx/administrators-guide.xml.orig
@@ -0,0 +1,956 @@
+
+
+
+
+ Murano Administrator's Guide
+
+
+
+
+
+
+
+
+
+ v0.2
+ Murano
+ 2013-09-09
+
+
+ Copyright details are filled in by the template. Change the value of the
+ role attribute on the legalnotice element to change the license.
+
+
+
+ This document is intended for individuals who wish to install and use our product
+ or intend to contribute.
+
+
+ this is a placeholder for the front cover
+
+
+ this is a placeholder for the back cover
+
+
+
+ General Deployment Steps
+
+ Prepare A Lab For Murano
+ This section provides basic information about lab's system requirements. It also
+ contains a description of a test which you may use to check if your hadrware fits
+ the requirements. To do this, run the test and compare the results with baseline
+ data provided.
+
+ Lab Requirements
+
+ Hardware requirements
+
+
+
+
+
+
+ Criteria
+ Minimal
+ Recommended
+
+
+
+
+ CPU
+ 4 core @ 2.4 GHz
+ 24 core @ 2.67 GHz
+
+
+ RAM
+ 8 GB
+ 24 GB or more
+
+
+ HDD
+ 2 x 500 GB (7200 rpm)
+ 4 x 500 GB (7200 rpm)
+
+
+ RAID
+ Software RAID-1 (use mdadm as it will improve read
+ performance almost two times)
+
+ Hardware RAID-10
+
+
+
+
+ There are a few possible storage configurations except the shown above. All of
+ them were tested and were working well.
+
+
+
+ 1x SSD 500+ GB
+
+
+ 1x HDD (7200 rpm) 500+ GB and 1x SSD 250+ GB (install the system
+ onto the HDD and mount the SSD drive to folder where VM images
+ are)
+
+
+ 1x HDD (15000 rpm) 500+ GB
+
+
+
+ The list of OSes which we used in our lab is shown below.
+
+ OS Requirements
+
+
+
+
+ List
+
+
+
+
+ Ubuntu Server 12.04 LTS
+
+
+
+
+
+
+ Test Your Lab Host Performance
+ We have measured time required to boot 1 to 5 instances of Windows system simultaneously. You
+ can use this data as the baseline to check if your system is fast enough.
+
+ You should use sysprepped images for this test, to simulate VM first boot.
+ Steps to reproduce test:
+
+
+
+ Prepare Windows 2012 Standard (with GUI) image in QCOW2 format. Let's assume that its
+ name is ws-2012-std.qcow2
+
+
+
+ Ensure that there is NO KVM PROCESSES on the host. To do this, run
+ command:
+ ># ps aux | grep kvm
+
+
+
+ Make 5 copies of Windows image file:
+
+ ># for i in $(seq 5); do cp ws-2012-std.qcow2 ws-2012-std-$i.qcow2; done
+
+
+
+ Create script start-vm.sh in the folder with .qcow2 files:
+
+ #!/bin/bash
+[ -z $1 ] || echo "VM count not provided!"; exit 1
+for i in $(seq $1); do
+ echo "Starting VM $i ..."
+ kvm \
+ -m 1024 \
+ -drive file=ws-2012-std-$i.qcow2,if=virtio \
+ -net user -net nic,model=virtio \
+ -nographic \
+ -usbdevice tablet \
+ -vnc :$i &
+done
+
+
+
+ Start ONE instance with command below (as root) and measure time between VM’s launch
+ and the moment when Server Manager window appears. To view VM’s desktop, connect with
+ VNC viewer to your host to VNC screen :1 (port 5901):
+
+ ># ./start-vm.sh 1
+
+
+
+ Turn VM off. You may simply kill all KVM processes by
+
+ ># killall kvm
+
+
+
+ Start FIVE instances with command below (as root) and measure time interval between ALL VM’s
+ launch and the moment when LAST Server Manager window appears. To view VM’s desktops,
+ connect with VNC viewer to your host to VNC screens :1 thru :5 (ports 5901-5905):
+
+ ># ./start-vm.sh 5
+
+
+
+ Turn VMs off. You may simply kill all KVM processes by
+
+ ># killall kvm
+
+
+
+
+ Baseline Bata
+ The table below provides baseline data which we've got in our
+ environment.
+ Avg. Time refers to the lab with recommended
+ hardware configuration, while Max. Time refers
+ to minimal hardware configuration.
+
+
+
+
+
+
+
+
+ Boot ONE instance
+ Boot FIVE instances
+
+
+
+
+
+ Avg. Time
+
+
+ 3m:40s
+
+
+ 8m
+
+
+
+
+ Max. Time
+
+
+ 5m
+
+
+ 20m
+
+
+
+
+
+
+
+ Host Optimizations
+ Default KVM installation could be improved to provide better
+ performance.
+ The following optimizations may improve host performance up to 30%:
+
+
+
+ change default scheduler from
+ CFQ
+ to
+ Deadline
+
+
+
+
+ use
+ ksm
+
+
+
+
+ use
+ vhost-net
+
+
+
+
+
+
+ Install OpenStack
+ Currently we use Devstack (http://devstack.org/) to
+ build our lab environment.
+
+ Use Devstack's guide to install single VM OpenStack (
+ http://devstack.org/guides/single-vm.html)
+
+ localrc example
+
+ HOST_IP=
+FLAT_INTERFACE=
+FLOATING_RANGE=
+
+ADMIN_PASSWORD=swordfish
+MYSQL_PASSWORD=swordfish
+RABBIT_PASSWORD=swordfish
+SERVICE_PASSWORD=swordfish
+SERVICE_TOKEN=tokentoken
+
+ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
+
+# Image's cache is in $TOP_DIR/files
+IMAGE_URLS+=",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/F17-x86_64-cfntools.qcow2"
+
+# /etc/nova/nova.conf
+EXTRA_OPTS=(force_config_drive=true libvirt_images_type=qcow2 force_raw_images=false)
+
+# Logging
+SCREEN_LOGDIR=/opt/stack/log/
+LOGFILE=$SCREEN_LOGDIR/stack.sh.log
+
+
+ If you need to image builder only, then install only packages required to run
+ KVM
+ .
+
+
+
+ Configure OpenStack
+ New OpenStack installation requires configuration. However, if you are using
+ Devstack, then it's have been done.
+ Otherwise, configure your OpenStack before proceed.
+
+
+
+ Install Murano Components
+ Murano Components installation notes are described in Murano developer's guide. Please
+ consult that document.
+
+
+ Prepare Image Builder
+ Murano requires a Windows Image in QCOW2 format to be builded and uploaded into
+ Glance.
+ The easiest way to build Windows image for use with Murano is to build it right on the
+ host where your OpenStack is installed.
+
+ Image Builder
+ The following packages should be installed on any host which will be used to build
+ Windows Image.
+
+ Install Required Packages
+
+ Please check that hardware virtualization supported and enabled in
+ BIOS.
+
+
+ ># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \
+ virtinst virt-manager libvirt0 libvirt-bin \
+ munin-libvirt-plugins python python-libvirt \
+ python-libxml2 python-minimal python-pycurl \
+ python-pyorbit python-requests python-six \
+ samba samba-common openssh-server virt-top virt-what
+
+
+ Configure Shared Resource
+
+ Configure samba based share
+
+ ># mkdir -p /opt/samba/share
+># chown -R nobody:nogroup /opt/samba/share
+
+
+
+ Configure samba server (/etc/samba/smb.conf)
+
+ ...
+[global]
+ ...
+ security = user
+...
+[share]
+ comment = Deployment Share
+ path = /opt/samba/share
+ browsable = yes
+ read only = no
+ create mask = 0755
+ guest ok = yes
+ guest account = nobody
+...
+
+
+
+ Restart services
+
+ ># service smbd restart
+># service nmbd restart
+
+
+
+
+
+ Additional Software
+ This section describes additional software which is required to build an Windows
+ Image.
+
+ Windows ADK
+ Windows Assessment and Deployment Kit (ADK) for
+ Windows® 8 is required to build your own answer files for auto
+ unattended Windows installation.
+ You can dowload it from
+ http://www.microsoft.com/en-us/download/details.aspx?id=30652
+ .
+
+
+ Putty
+ PuTTY is a useful tool to manage your Linux boxes via SSH.
+ You can download it from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+
+
+
+ Windows Server 2012 ISO image
+ We use the following Windows installation images:
+
+
+
+
+
+
+ Windows Version
+ Image Name
+
+
+
+
+
+ Windows Server 2008 R2
+
+
+ 7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso
+
+
+
+
+
+ Windows Server 2012
+
+
+
+ 9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.iso
+
+
+
+
+
+
+ You may download them using one of the following links:
+
+
+
+
+
+
+ Windows Version
+ Download Link
+
+
+
+
+
+ Windows Server 2008 R2
+
+
+
+
+ http://www.microsoft.com/en-us/download/details.aspx?id=11093
+
+
+
+
+
+
+ Windows Server 2012
+
+
+
+
+ http://technet.microsoft.com/en-US/evalcenter/hh670538.aspx?ocid=&wt.mc_id=TEC_108_1_33
+
+
+
+
+
+
+
+
+
+ VirtIO Red Hat drivers ISO image
+ Download drivers from
+ http://alt.fedoraproject.org/pub/alt/virtio-win/stable/
+
+ Please, choose stable version instead of latest, we’ve got errors with
+ unstable drivers during guest unattended install.
+
+
+ Floppy Image With Unattended File
+ Run following commands as root:
+
+
+ Create empty floppy image in your home folder
+ ># dd bs=512 count=2880 \
+ if=/dev/zero of=~/floppy.img \
+ mkfs.msdos ~/floppy.img
+
+
+ Mount the image to /media/floppy
+
+ ># mkdir /media/floppy mount -o loop \
+ ~/floppy.img /media/floppy
+
+
+ Download autounattend.xml file
+ from
+ https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/files/ws-2012-std/autounattend.xml
+
+
+ ># cd ~
+># wget https://raw.github.com/stackforge/murano-deployment\
+/master/image-builder/share/files/ws-2012-std/autounattend.xml
+
+
+ Copy our autounattend.xml to
+ /media/floppy
+
+ ># cp ~/autounattend.xml /media/floppy
+
+
+ Unmount the image
+ ># umount /media/floppy
+
+
+
+
+
+
+ Build Windows Image (Automatic Way)
+
+
+ Clone murano-deployment repository
+ ># git clone git://github.com/stackforge/murano-deployment.git
+
+
+ Change directory to murano-deployment/image-builder folder.
+
+
+ Create folder structure for image builder
+ ># make build-root
+
+
+ Create shared resource
+
+ Add to /etc/samba/smb.conf
+
+ [image-builder-share]
+comment = Image Builder Share
+browsable = yes
+path = /opt/image-builder/share
+guest ok = yes
+guest user = nobody
+read only = no
+create mask = 0755
+
+
+
+ Restart samba services
+
+ ># restart smbd && restart nmbd
+
+
+
+
+ Test that all required files are in place
+ ># make test-build-files
+
+
+ Get list of available images
+ ># make
+
+
+ Run image build process
+ ># make ws-2012-std
+
+
+ Wait until process finishes
+
+
+ The image file ws-2012-std.qcow2 should be
+ stored under /opt/image-builder/share/images
+ folder.
+
+
+
+
+ Build Windows Image (Manual Way)
+
+ Please note that the preferred way to build images is to use Automated Build described later in this book.
+
+
+ Get Windows Post Install script
+ All post-install actions are performed by script named wpi.ps1. You may download it using the link
+ https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/wpi.ps1
+
+
+ To finish image preparation Start-Sysprep.ps1
+ script is used. You may download it using the link
+ https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/Start-Sysprep.ps1
+
+
+
+ There are a few scripts named wpi.ps1, each
+ supports only one version of Windows image. The script above is intended to be
+ used to create Windows Server 2012 Standard. To build other version of Windows
+ please use appropriate script from scripts
+ folder.
+
+
+
+ Copy scripts to the shared folder
+ All scripts should be copied to the shared resource folder, subfolder Scripts.
+
+
+ Create guest VM
+
+ Way 1 - from console
+ Run all commands as root.
+
+ Preallocate disk image
+
+ ># qemu-img create -f qcow2 -o preallocation=metadata \
+ /var/lib/libvirt/images/winserv_vio.qcow2 20G
+
+
+
+ Start guest install
+
+ ># virt-install --connect qemu:///system --hvm --name WinServ \
+ --ram 2048 --vcpus 2 --cdrom /opt/samba/share/9200.16384.WIN8_RTM\
+.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.ISO \
+ --disk path=/opt/samba/share/virtio-win-0.1-52.iso,device=cdrom \
+ --disk path=/opt/samba/share/flop.img,device=floppy \
+ --disk path=/var/lib/libvirt/images/winserv_vio.qcow2\
+,format=qcow2,bus=virtio,cache=none \
+ --network network=default,model=virtio \
+ --memballoon model=virtio --vnc --os-type=windows \
+ --os-variant=win2k8 --noautoconsole \
+ --accelerate --noapic --keymap=en-us --video=cirrus --force
+
+
+
+
+ Way 2 - from virt-manager UI
+
+
+ launch virt-manager from shell as root
+
+
+ set Guest VM name and Local install media
+
+
+ add 1 cdrom - Windows Server ISO image
+
+
+ set OS type: Windows and version: Windows Server 2008
+
+
+ set CPU and RAM amount
+
+
+ deselect Enable storage for this virtual machine
+
+
+ select Customize configuration before install
+
+
+ add 2 cdrom - virtio ISO image
+
+
+ add floppy - our floppy image
+
+
+ add/or create HDD image with Disk bus: VirtIO and storage format:
+ QCOW2
+
+
+ set network device model: VirtIO
+
+
+ If everything OK - start installation process, guest vm screen
+ accessible through Console button
+
+
+
+
+
+ Finish process
+ After install process finished for reference image compression run as root
+ ># qemu-img convert -O qcow2 /var/lib/libvirt/images/winserv_vio.qcow2 \
+ /var/lib/libvirt/images/winserv_vio_ref.qcow2
+
+
+
+ Upload Image Into Glance
+
+ Services deployed by Murano require specially prepared images, that can be created manually or via
+ automated scripts. Please refer to corresponding chapters of this book to create image. After images are
+ created they should be registered in Openstack Glance - image operation service.
+
+
+
+ Use the glance image-create command to import your disk image to Glance:
+<<<<<<< HEAD
+ >$ glance image-create --name <NAME> --is-public true \
+ --disk-format qcow2 --container-format bare --file <IMAGE_FILE> \
+ --property <IMAGE_METADATA>
+=======
+ >$ glance image-create --name <NAME> --is-public true \
+ --disk-format qcow2 --container-format bare --file <IMAGE_FILE> \
+ --property <IMAGE_METADATA>
+>>>>>>> 33f5a6d52739bea6bc661c7b12c37b0b4dcb5b84
+
+
+ Replace the command line arguments to glance image-create with the
+ appropriate values for your environment and disk image:
+
+
+
+ Replace <NAME> with the name that
+ users will refer to the disk image by. E.g. 'ws-2012-std'
+
+
+ Replace <IMAGE_FILE> with the
+ local path to the image file to upload. E.g. 'ws-2012-std.qcow2'.
+
+
+ Replace IMAGE_METADATA with the following property string
+<<<<<<< HEAD
+ murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}where
+=======
+ murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}where
+>>>>>>> 33f5a6d52739bea6bc661c7b12c37b0b4dcb5b84
+
+ title - user-friendly description of the image
+
+
+ type - one of possible image types
+
+ ws-2012-std - Windows Server 2012 Standart
+ Edition
+
+
+ ws-2012-core - Windows 2012 Core
+ Edition
+
+
+ ws-2008r2-std - Windows Server 2008R2 Standart
+ Edition
+
+
+ ws-2008r2 - Windows Server 2012R2
+
+
+
+
+ Setting murano_image_info property is
+ required to pick up image from Murano Dashboard.
+
+
+
+
+
+
+ To update metadata of the existing image run the command:
+ >$ glance image-update <IMAGE-ID> --property <IMAGE_MATADATA>
+
+
+ Replace <IMAGE-ID> with image id
+ from the previous command output.
+
+
+ Replace <IMAGE_METADATA> with
+ murano_image_info property,
+<<<<<<< HEAD
+ e.g.murano_image_info='{"title": "Windows 2012 Core Edition","type": "ws-2012-core"}'
+=======
+ e.g.murano_image_info='{"title": "Windows 2012 Core Edition","type": "ws-2012-core"}'
+>>>>>>> 33f5a6d52739bea6bc661c7b12c37b0b4dcb5b84
+
+
+
+
+ After these steps desired image can be chosen in Murano dashboard and used for services platform.
+
+
diff --git a/src/developers-guide/src/docbkx/content/appendix.xml b/src/administrators-guide/src/docbkx/content/appendix.xml
similarity index 80%
rename from src/developers-guide/src/docbkx/content/appendix.xml
rename to src/administrators-guide/src/docbkx/content/appendix.xml
index 6e9ff92..1d65ea9 100644
--- a/src/developers-guide/src/docbkx/content/appendix.xml
+++ b/src/administrators-guide/src/docbkx/content/appendix.xml
@@ -48,39 +48,26 @@
Enable Cloud Archive repository
-
-
- Update installed OS and packages
-
-
- Create and add the following lines to the
- /etc/apt/sources.list.d/grizzly.list
- file
-
+ Create and add the following lines to the
+ /etc/apt/sources.list.d/grizzly.list
+ file
+
deb http://ubuntu-cloud.archive.canonical.com/ubuntu \
precise-updates/grizzly main
deb http://archive.gplhost.com/debian grizzly main
deb http://archive.gplhost.com/debian grizzly-backports main
-
-
+
+
- Update the system
+ Update installed OS and packages
># apt-get update
># apt-get install ubuntu-cloud-keyring
># apt-get install gplhost-archive-keyring
+># apt-get install mc unzip git make gcc python-setuptools python-pip
># apt-get upgrade
-
-
-
- Install additional packages
-
-># apt-get install mc unzip git make gcc
- python-setuptools python-pip
-
-
@@ -101,28 +88,18 @@ deb http://archive.gplhost.com/debian grizzly-backports main
Enable RedHat Openstack and Epel repository
- Update installed OS and packages
-
-
- Add repositories and update OS
+ Update system and add repositories and update OS
># yum install -y http://rdo.fedorapeople.org/openstack/\
openstack-grizzly/rdo-release-grizzly.rpm
># yum install -y http://mirror.us.leaseweb.net/\
epel/6/x86_64/epel-release-6-8.noarch.rpm
+># yum install -y mc unzip git make gcc python-setuptools python-pip upstart
># yum update
># yum upgrade
-
- Install additional packages
-
-># yum install -y mc unzip git make gcc python-setuptools \
- python-pip upstart
-
-
-
Most of dependent packages will be installed
diff --git a/src/administrators-guide/src/docbkx/content/general.xml b/src/administrators-guide/src/docbkx/content/general.xml
new file mode 100644
index 0000000..c59dcf2
--- /dev/null
+++ b/src/administrators-guide/src/docbkx/content/general.xml
@@ -0,0 +1,358 @@
+
+
+
+
+ General Deployment Steps
+
+ Prepare A Lab For Murano
+
+ This section provides basic information about lab's system requirements. It also contains a description
+ of a test which you may use to check if your hardware fits the requirements. To do this, run the test
+ and compare the results with baseline data provided.
+
+
+ Lab Requirements
+
+ Hardware requirements
+
+
+
+
+
+
+ Criteria
+ Minimal
+ Recommended
+
+
+
+
+ CPU
+ 4 core @ 2.4 GHz
+ 24 core @ 2.67 GHz
+
+
+ RAM
+ 8 GB
+ 24 GB or more
+
+
+ HDD
+ 2 x 500 GB (7200 rpm)
+ 4 x 500 GB (7200 rpm)
+
+
+ RAID
+ Software RAID-1 (use mdadm as it will improve read performance almost two times)
+ Hardware RAID-10
+
+
+
+
+
+ There are a few possible storage configurations except the shown above. All of them were tested and were working well.
+
+
+
+
+
+ 1x SSD 500+ GB
+
+
+
+
+ 1x HDD (7200 rpm) 500+ GB and 1x SSD 250+ GB (install the system onto the HDD and mount the SSD drive to folder where VM images are)
+
+
+
+
+ 1x HDD (15000 rpm) 500+ GB
+
+
+
+
+
+ The list of OSes which we used in our lab is shown below.
+
+
+ OS Requirements
+
+
+
+
+ List
+
+
+
+
+ Ubuntu Server 12.04 LTS
+
+
+
+
+
+
+ Test Your Lab Host Performance
+
+ We have measured time required to boot 1 to 5 instances of Windows system simultaneously. You can use
+ this data as the baseline to check if your system is fast enough.
+
+
+ You should use sysprepped images for this test, to simulate VM first boot.
+
+
+ Steps to reproduce test:
+
+
+
+
+ Prepare Windows 2012 Standard (with GUI) image in QCOW2 format. Let's assume that its name is ws-2012-std.qcow2
+
+
+
+
+ Ensure that there is NO KVM PROCESSES on the host. To do this, run command:
+
+># ps aux | grep kvm
+
+
+
+
+
+ Make 5 copies of Windows image file:
+
+
+># for i in $(seq 5); do \
+cp ws-2012-std.qcow2 ws-2012-std-$i.qcow2; done
+
+
+
+
+ Create script start-vm.sh in the folder with .qcow2 files:
+
+
+#!/bin/bash
+[ -z $1 ] || echo "VM count not provided!"; exit 1
+for i in $(seq $1); do
+echo "Starting VM $i ..."
+kvm \
+ -m 1024 \
+ -drive file=ws-2012-std-$i.qcow2,if=virtio \
+ -net user -net nic,model=virtio \
+ -nographic \
+ -usbdevice tablet \
+ -vnc :$i &
+done
+
+
+
+
+ Start ONE instance with command below (as root) and measure time between VM’s launch and
+ the moment when Server Manager window appears. To view VM’s desktop, connect with VNC viewer to your host to VNC screen :1 (port 5901):
+
+
+># ./start-vm.sh 1
+
+
+
+
+ Turn VM off. You may simply kill all KVM processes by
+
+
+># killall kvm
+
+
+
+
+ Start FIVE instances with command below (as root) and measure time interval between ALL VM’s
+ launch and the moment when LAST Server Manager window appears. To view VM’s desktops, connect with
+ VNC viewer to your host to VNC screens :1 thru :5 (ports 5901-5905):
+
+
+># ./start-vm.sh 5
+
+
+
+
+ Turn VMs off. You may simply kill all KVM processes by
+
+
+># killall kvm
+
+
+
+
+
+ Baseline Bata
+
+ The table below provides baseline data which we've got in our environment.
+
+
+ Avg. Time refers to the lab with recommended hardware configuration, while
+ Max. Time refers to minimal hardware configuration.
+
+
+
+
+
+
+
+
+
+ Boot ONE instance
+ Boot FIVE instances
+
+
+
+
+
+ Avg. Time
+
+
+ 3m:40s
+
+
+ 8m
+
+
+
+
+ Max. Time
+
+
+ 5m
+
+
+ 20m
+
+
+
+
+
+
+
+ Host Optimizations
+
+ Default KVM installation could be improved to provide better performance.
+
+
+ The following optimizations may improve host performance up to 30%:
+
+
+
+
+ change default scheduler from CFQ to
+ Deadline
+
+
+
+
+ use ksm
+
+
+
+
+ use vhost-net
+
+
+
+
+
+
+ Install OpenStack
+
+ We use Devstack (http://devstack.org/) to build our lab environment.
+
+
+ Devstack is a set of scripts to automate OpenStack installation using sources from Git repositories.
+ No packages are built and installed during this process, all OpenStack components are executed in separate consoles (via screen utility).
+
+
+ It is a great tool to quickly install and start to develop OpenStack on you server. However, it has a few caveats that should be kept in mind:
+
+
+
+
+ Devstack scripts must be executed each time the host reboots. This also reset your OpenStack environment to it’s ‘just installed’ state.
+
+
+
+
+ Multi-node configurations are not as easy in installation as single-node.
+
+
+
+
+ Below are the general steps that required to install OpenStack using Devstack in a Single-node mode.
+
+
+ Use Devstack's guide to install single VM OpenStack ( http://devstack.org/guides/single-vm.html)
+
+
+ localrc example
+
+
+HOST_IP=
+FLAT_INTERFACE=
+FLOATING_RANGE=
+
+ADMIN_PASSWORD=swordfish
+MYSQL_PASSWORD=swordfish
+RABBIT_PASSWORD=swordfish
+SERVICE_PASSWORD=swordfish
+SERVICE_TOKEN=tokentoken
+
+ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
+
+# Image's cache is in $TOP_DIR/files
+IMAGE_URLS+=",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/"
+IMAGE_URLS+="F17-x86_64-cfntools.qcow2"
+
+# /etc/nova/nova.conf
+EXTRA_OPTS=(force_config_drive=true libvirt_images_type=qcow2 force_raw_images=false)
+
+# Logging
+SCREEN_LOGDIR=/opt/stack/log/
+LOGFILE=$SCREEN_LOGDIR/stack.sh.log
+
+
+
+
+ If you need to image builder only, then install only packages required to run KVM (see below).
+
+
+
+ Configure OpenStack
+
+
+ Additional OpenStack configuration usually doesn't required in case you've installed OpenStack with Devstack scripts.
+
+
+
+ To configure OpenStack is not a simple task and depends on various options (hardware configuration, network layout, and so on) and in general is out of scope of this document.
+
+
+
diff --git a/src/administrators-guide/src/docbkx/content/image-bulder.xml b/src/administrators-guide/src/docbkx/content/image-bulder.xml
new file mode 100644
index 0000000..bf500ab
--- /dev/null
+++ b/src/administrators-guide/src/docbkx/content/image-bulder.xml
@@ -0,0 +1,794 @@
+
+
+
+
+ Image Builder
+
+ Murano requires a Windows Image in QCOW2 format to be builded and uploaded into Glance.
+
+
+ The easiest way to build Windows image for Murano is to build it on the host where your OpenStack is installed.
+
+
+ Install Required Packages
+
+
+ Please check that hardware virtualization supported and enabled in BIOS.
+
+
+
+ The following packages should be installed on any host which will be used to build Windows Image:
+
+
+
+ ipxe-qemu
+
+
+
+
+ kvm-ipxe
+
+
+
+
+ qemu-kvm
+
+
+
+
+ munin-libvirt-plugins
+
+
+
+
+ python-libvirt
+
+
+
+
+ libvirt-bin
+
+
+
+
+ libvirt0
+
+
+
+
+ munin-libvirt-plugins
+
+
+
+
+ python-libvirt
+
+
+
+
+ virt-goodies
+
+
+
+
+ virt-manager
+
+
+
+
+ virt-top
+
+
+
+
+ virt-what
+
+
+
+
+ virtinst
+
+
+
+
+ python
+
+
+
+
+
+ On Ubuntu you could install them using the command below:
+
+
+># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \
+ virtinst virt-manager libvirt0 libvirt-bin \
+ munin-libvirt-plugins python python-libvirt \
+ python-libxml2 python-minimal python-pycurl \
+ python-pyorbit python-requests python-six \
+ samba samba-common openssh-server virt-top virt-what
+
+
+
+ Configure Shared Resource
+
+ Configure samba based share
+
+
+># mkdir -p /opt/samba/share
+># chown -R nobody:nogroup /opt/samba/share
+
+
+
+
+ Configure samba server (/etc/samba/smb.conf)
+
+
+...
+[global]
+ ...
+ security = user
+...
+[share]
+ comment = Deployment Share
+ path = /opt/samba/share
+ browsable = yes
+ read only = no
+ create mask = 0755
+ guest ok = yes
+ guest account = nobody
+...
+
+
+
+
+ Restart services
+
+
+># service smbd restart
+># service nmbd restart
+
+
+
+
+
+ Prerequisites
+ Download the files below and copy them into their places in your ${SHARE_PATH} folder (we usually use /opt/samba/share as ${SHARE_PATH}):
+
+ Windows 2012 Server ISO evaluation version
+
+ ${SHARE_PATH}/libvirt/images/ws-2012-eval.iso
+
+
+
+
+ http://technet.microsoft.com/en-us/evalcenter/hh670538.aspx
+
+
+
+
+
+
+ VirtIO drivers for Windows
+
+ ${SHARE_PATH}/libvirt/images/virtio-win-0.1-52.iso
+
+
+
+
+ http://alt.fedoraproject.org/pub/alt/virtio-win/stable/virtio-win-0.1-52.iso
+
+
+
+
+
+
+ CloudBase-Init for Windows
+
+ ${SHARE_PATH}/share/files/CloudbaseInitSetup_Beta.msi
+
+
+
+
+ http://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta.msi
+
+
+
+
+
+
+ Far Manager
+
+ ${SHARE_PATH}/share/files/Far30b3367.x64.20130426.msi
+
+
+
+
+ http://www.farmanager.com/files/Far30b3525.x64.20130717.msi
+
+
+
+
+
+
+ Git client
+
+ ${SHARE_PATH}/share/files/Git-1.8.1.2-preview20130201.exe
+
+
+
+
+ https://msysgit.googlecode.com/files/Git-1.8.3-preview20130601.exe
+
+
+
+
+
+
+ Sysinternals Suite
+
+ ${SHARE_PATH}/share/files/SysinternalsSuite.zip
+
+
+
+
+ http://download.sysinternals.com/files/SysinternalsSuite.zip
+
+
+
+
+
+
+ unzip.exe tool
+
+ ${SHARE_PATH}/share/files/unzip.exe
+
+
+
+
+ https://www.dropbox.com/sh/zthldcxnp6r4flm/-k1Om_V6XR
+
+
+
+
+
+
+ PowerShell v3
+
+ ${SHARE_PATH}/share/files/Windows6.1-KB2506143-x64.msu
+
+
+
+
+ http://www.microsoft.com/en-us/download/details.aspx?id=34595
+
+
+
+
+
+
+ .NET 4.0
+
+ ${SHARE_PATH}/share/files/dotNetFx40_Full_x86_x64.exe
+
+
+
+
+ http://www.microsoft.com/en-us/download/details.aspx?id=17718
+
+
+
+
+
+
+ .NET 4.5
+
+ ${SHARE_PATH}/share/files/dotNetFx45_Full_setup.exe
+
+
+
+
+ http://www.microsoft.com/en-us/download/details.aspx?id=30653
+
+
+
+
+
+
+ Murano Agent
+
+ ${SHARE_PATH}/share/files/MuranoAgent.zip
+
+
+
+
+ https://www.dropbox.com/sh/zthldcxnp6r4flm/-k1Om_V6XR
+
+
+
+
+
+
+
+
+ Additional Software
+ This section describes additional software which is required to build an Windows
+ Image.
+
+ Windows ADK
+
+
+ Windows Assessment and Deployment Kit (ADK) for Windows®
+ 8 is required to build your own answer files for auto unattended
+ Windows installation.
+
+
+ You can dowload it from
+ http://www.microsoft.com/en-us/download/details.aspx?id=30652.
+
+
+ PuTTY
+
+ PuTTY is a useful tool to manage your Linux boxes via SSH.
+
+
+ You can download it from
+ http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
+
+
+ Windows Server 2012 ISO image
+
+ We use the following Windows installation images:
+
+ Windows Server 2008 R2
+
+ Image Name:
+ 7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso
+
+
+ URL:
+ http://www.microsoft.com/en-us/download/details.aspx?id=11093
+
+
+
+
+
+ Windows Server 2012
+
+ Image Name:
+ 9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.iso
+
+
+ URL:
+ http://technet.microsoft.com/en-US/evalcenter/hh670538.aspx?ocid=&wt.mc_id=TEC_108_1_33
+
+
+
+
+
+
+ VirtIO Red Hat drivers ISO image
+
+
+
+ Please, choose stable version instead of latest, We’ve got errors with unstable drivers during guest unattended install.
+
+
+
+ Download drivers from
+ http://alt.fedoraproject.org/pub/alt/virtio-win/stable/
+
+
+ Floppy Image With Unattended File
+
+
+ Run following commands as root:
+
+
+
+
+
+ Create emtpy floppy image in your home folder
+
+
+># dd bs=512 count=2880 \
+ if=/dev/zero of=~/floppy.img \
+ mkfs.msdos ~/floppy.img
+
+
+
+
+ Mount the image to /media/floppy
+
+
+># mkdir /media/floppy mount -o loop \
+ ~/floppy.img /media/floppy
+
+
+
+
+ Download autounattend.xml file from
+ https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/files/ws-2012-std/autounattend.xml
+
+
+
+># cd ~
+># wget https://raw.github.com/stackforge/murano-deployment\
+/master/image-builder/share/files/ws-2012-std/autounattend.xml
+
+
+
+
+ Copy our autounattend.xml to /media/floppy
+
+
+># cp ~/autounattend.xml /media/floppy
+
+
+
+
+ Unmount the image
+
+
+># umount /media/floppy
+
+
+
+
+
+ Build Windows Image (Automatic Way)
+
+
+ Clone murano-deployment repository
+
+># git clone git://github.com/stackforge/murano-deployment.git
+
+
+
+ Change directory to murano-deployment/image-builder folder.
+
+
+ Create folder structure for image builder
+
+># make build-root
+
+
+
+ Create shared resource
+
+ Add to /etc/samba/smb.conf
+
+
+[image-builder-share]
+ comment = Image Builder Share
+ browsable = yes
+ path = /opt/image-builder/share
+ guest ok = yes
+ guest user = nobody
+ read only = no
+ create mask = 0755
+
+
+
+
+ Restart samba services
+
+
+># restart smbd && restart nmbd
+
+
+
+
+
+ Test that all required files are in place
+
+># make test-build-files
+
+
+
+ Get list of available images
+
+># make
+
+
+
+ Run image build process
+
+># make ws-2012-std
+
+
+
+ Wait until process finishes
+
+
+ The image file ws-2012-std.qcow2 should be
+ stored under /opt/image-builder/share/images
+ folder.
+
+
+
+
+ Build Windows Image (Manual Way)
+
+ Please note that the preferred way to build images is to use Automated Build described in the previous chapter.
+
+ Get Post-Install Scripts
+
+ There are a few scripts which perform all the required post-installation tasks.
+
+ Package installation tasks are performed by script named wpi.ps1.
+ Download it from
+ https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/wpi.ps1
+
+
+ There are a few scripts named wpi.ps1, each
+ supports only one version of Windows image. The script above is intended to be
+ used to create Windows Server 2012 Standard. To build other version of Windows
+ please use appropriate script from scripts
+ folder.
+
+ Clean-up actions to finish image preparation are performed by Start-Sysprep.ps1
+ script.
+ Download it from
+ https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/Start-Sysprep.ps1
+
+ These scripts should be copied to the shared resource folder, subfolder Scripts.
+
+ Create a VM
+
+ This section describes steps required to build an image of Windows Virtual Machine
+ which could be used with Murano. There are two possible ways to create it - from
+ CLI or using GUI tools. We describe both in this section.
+
+
+
+ Run all commands as root.
+
+
+
+
+ Way 1: Using CLI Tools
+
+ This section describes the required step to launch a VM using CLI tools only.
+
+
+
+
+
+ Preallocate disk image
+
+
+># qemu-img create -f raw /var/lib/libvirt/images/ws-2012.img 40G
+
+
+
+
+ Start the VM
+
+
+># virt-install --connect qemu:///system --hvm --name WinServ \
+ --ram 2048 --vcpus 2 --cdrom /opt/samba/share/9200.16384.WIN8_RTM\
+.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.ISO \
+ --disk path=/opt/samba/share/virtio-win-0.1-52.iso,device=cdrom \
+ --disk path=/opt/samba/share/floppy.img,device=floppy \
+ --disk path=/var/lib/libvirt/images/ws-2012.qcow2\
+,format=qcow2,bus=virtio,cache=none \
+ --network network=default,model=virtio \
+ --memballoon model=virtio --vnc --os-type=windows \
+ --os-variant=win2k8 --noautoconsole \
+ --accelerate --noapic --keymap=en-us --video=cirrus --force
+
+
+
+
+
+ Way 2: Using virt-manager UI
+
+ A VM also could be lauched via GUI tools like virt-manager.
+
+
+
+
+ Launch virt-manager from shell
+ as root
+
+
+ Set a name for VM and select Local install media
+
+
+ Add one cdrom and attach Windows Server ISO image to it
+
+
+ Select OS type Windows and it's
+ version Windows Server 2008
+
+
+
+ Set CPU and RAM amount
+
+
+ Deselect option Enable storage for this
+ virtual machine
+
+
+
+ Select option Customize configuration before
+ install
+
+
+
+ Add second cdrom for ISO image with virtio drivers
+
+
+ Add a floppy drive and attach our floppy image to it
+
+
+ Add (or create new) HDD image with Disk bus VirtIO and storage format RAW
+
+
+
+ Set network device model VirtIO
+
+
+
+ Start installation process and open guest vm screen through
+ Console button
+
+
+
+
+
+ Convert the image from RAW to QCOW2 format
+ The image must be converted from RAW format to QCOW2 before being imorted into
+ Glance.
+
+
+
+># qemu-img convert -O qcow2 /var/lib/libvirt/images/ws-2012.raw \
+ /var/lib/libvirt/images/ws-2012-ref.qcow2
+
+
+
+
+
+ Upload Image Into Glance
+
+ Services deployed by Murano require specially prepared images, that can be created manually or via automated scripts.
+ Please refer to corresponding chapters of this book to create image. After images are created they should be registered in Openstack Glance - image operation service.
+
+
+
+
+ Use the glance image-create command to import your disk image to Glance:
+
+>$ glance image-create --name <NAME> \
+ --is-public true --disk-format qcow2 \
+ --container-format bare \
+ --file <IMAGE_FILE> \
+ --property <IMAGE_METADATA>
+
+
+
+ Replace the command line arguments to glance image-create with the appropriate values for your environment and disk image:
+
+
+
+
+ Replace <NAME> with the name that users will refer to the disk image by.
+ E.g. 'ws-2012-std'
+
+
+
+
+ Replace <IMAGE_FILE> with the local path to the image file to upload.
+ E.g. 'ws-2012-std.qcow2'.
+
+
+
+ Replace <IMAGE_METADATA> with the
+ following property string
+
+murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}
+
+ where
+
+ title - user-friendly description of the image
+
+
+
+ type - one of possible image types
+
+ ws-2012-std - Windows Server 2012 Standart
+ Edition
+
+
+ ws-2012-core - Windows 2012 Core Edition
+
+
+
+ ws-2008r2-std - Windows Server 2008R2
+ Standart Edition
+
+
+ ws-2008r2 - Windows Server 2012R2
+
+
+
+
+
+
+
+
+
+
+ To update metadata of the existing image run the command:
+
+>$ glance image-update <IMAGE-ID> --property <IMAGE_MATADATA>
+
+
+
+
+ Replace <IMAGE-ID> with image id from the previous command output.
+
+
+
+ Replace <IMAGE_METADATA> with
+ murano_image_info property, e.g.
+
+murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}'
+
+
+
+
+
+
+
+ The value of the --property argument named murano_image_info is a JSON
+ string. Only double quotes are valid in JSON, so please type
+ the string exactly as in the example above.
+
+
+ After these steps desired image can be chosen in Murano dashboard and used for services platform.
+
+
+
+
diff --git a/src/administrators-guide/src/docbkx/content/installation-guide.xml b/src/administrators-guide/src/docbkx/content/installation-guide.xml
new file mode 100644
index 0000000..68dd162
--- /dev/null
+++ b/src/administrators-guide/src/docbkx/content/installation-guide.xml
@@ -0,0 +1,963 @@
+
+
+
+
+ Install Murano Components
+ This chapter describes how to install Murano components on a
+ separate devbox. We
+ strongly recommend to use a separate host (virtual machine or real
+ host) for Murano
+ devbox as it prevents you from various dependency conflicts.
+
+
+ Automatic Installation
+ There is a script to automate Murano installation onto
+ devbox.
+
+
+ Create a folder to hold cloned
+ repositories
+ ># mkdir -p /opt/git
+
+
+
+ Clone murano-deployment
+ repository
+
+># cd /opt/git
+># git clone git://github.com/stackforge/murano-deployment.git
+
+
+
+
+ Change directory to
+ murano-deployment
+ and switch to required branch (e.g.master)
+
+># cd /opt/git/murano-deployment
+># git checkout -b master origin/master
+
+
+
+
+ Install
+ prerequisites
+
+># cd /opt/git/murano-deployment/devbox-scripts
+># ./murano-git-install.sh prerequisites
+
+
+
+
+ Configure the following parameters in lab binding
+ configuration file
+ /etc/murano-deployment/lab-binding.rc
+
+
+
+
+ LAB_HOST
+
+ - IP or nostname
+ of the lab. Actually, this address/name
+ should point to the
+ host where Keystone is installed.
+
+
+
+
+ ADMIN_USER
+
+ - OpenStack
+ admin
+ user
+
+
+
+
+ ADMIN_PASSWORD
+
+ - A password for OpenStack
+ admin
+
+ user
+
+
+
+
+ RABBITMQ_USER
+
+ - User to connect to RabbitMQ host
+
+
+
+
+
+ RABBITMQ_PASSWORD
+
+ - Password for that user
+
+
+
+
+ RABBITMQ_VHOST
+
+ - vHost
+ which will be used by Murano
+ components. Provides additional
+ layer of isolation from other devboxes.
+
+
+
+
+ RABBITMQ_HOST
+
+ -
+ (optional) IP address or hostname of
+ the host where RabbitMQ
+ is installed IF it is not the same host
+ as LAB_HOST points
+ to
+
+
+
+
+
+ RABBITMQ_HOST_ALT
+
+ -
+ (optional) IP address or hostname of
+ the RabbitMQ host to
+ connect from inside the Windows
+ instance. In some cases the
+ addresses like LAB_HOST or
+ RABBITMQ_HOST are inaccessible
+ from instances, and they must use
+ different address.
+
+
+
+
+ FILE_SHARE_HOST
+
+ -
+ (optional) IP address or hostname of
+ the host where file
+ share with prerequisites is located IF
+ it is not the same
+ host as LAB_HOST points to.
+
+
+
+
+ BRANCH_NAME
+
+ - branch name
+ from which all Murano components will
+ be fetched for
+ installation
+
+
+
+
+ SSL_ENABLED
+
+ - Set
+ 'true'
+ if OpenStack is
+ configured with SSL support and
+ 'false'
+
+ otherwise.
+
+
+
+
+ SSL_CA_FILE
+
+ - Path to CA
+ certificate for certificate validation
+ on client
+ side.
+
+
+
+
+
+
+ Install Murano
+ components
+
+># ./murano-git-install.sh install
+
+
+
+ Login to the Dashboard using URL
+ http://<your
+ VM IP>/dashboard
+
+ or
+ http://<your
+ VM IP>/horizon
+
+
+
+
+
+
+
+ Manual Installation
+ This chapter describes manual installation and configuration of Murano services.
+ Note that all Murano modules can be downloaded from
+ our page
+ on launchpad.
+
+
+
+ Automatic installation Murano can be installed in automatic way. Script will install all
+ necessary packages to your system. Find out more about this in
+
+ Getting Started Guide
+
+
+
+ Pre-Requisites
+ Murano supports the following operating systems:
+
+
+ Ubuntu 12.04
+
+
+ RHEL/CentOS 6.4
+
+
+ These system packages are required for Murano:
+ Ubuntu
+
+
+ gcc
+
+
+ python-pip
+
+
+ python-dev
+
+
+ libxml2-dev
+
+
+ libxslt-dev
+
+
+ libffi-dev
+
+
+
+ CentOS
+
+
+
+ gcc
+
+
+ python-pip
+
+
+ python-devel
+
+
+ libxml2-devel
+
+
+ libxslt-devel
+
+
+ libffi-devel
+
+
+
+ All these packages will be installed in murano-installation scripts. In addition to these packages some repositories are required.
+ Please follow the instructions in the appendix to prepare your environment for murano installation.
+
+
+
+
+ Murano API Service
+ Murano API provides access to the Murano orchestration engine via API.
+ This chapter describes the procedure of installation and condiguration of Murano API.
+
+ Install
+
+
+ Superuser privileges is required to install and configure system packages. Let's switch to root account:
+
+
+
+
+
+ Make sure that additional linux repositories are installed. See the appendix for information about preparing a virtual machine for murano installation.
+
+
+
+ Clone Murano API git repository:
+
+
+
+ Stable version one of our releases can be checked by tag:
+
+
+
+
+
+ Switch to just created directory and then perform installation
+
+ Ubuntu
+
+
+
+
+
+ CentOS
+
+
+
+
+
+
+ Successful installation ends with message like this:
+
+ Making sample configuration files at "/etc/murano-api"
+LOG:> Reloading initctl
+LOG:> Please, make proper configuration,located at "/etc/murano-api", before starting the "murano-api" daemon!
+ ]]>
+
+
+
+
+
+ Configure
+
+
+ Copy and edit configuration files:
+
+
+
+
+
+ Configure it according to your environment:
+
+
+ [DEFAULT] section sets up logging.
+
+
+
+
+ [reports]
+ section allows you to set up names for new rabbitMQ queues.
+
+
+
+ In
+ [rabbitmq]
+ section you can set up host configuration where rabbitMQ
+ with just created user and vhost is running.
+ If you consider to use Murano in production it;sbetter to use seperate vhosts in RabbitMQ.
+ To add new vhost and user with
+ administrator rights preform:
+
+
+
+
+
+
+ In [filter:authtoken]
+ configure keystone auth_token. For more information see
+
+ Auth-Token Middleware with Username and Password
+
+
+
+
+
+ Another murano-api configuration file located at
+ ./etc/murano-api-paste.ini
+
+ not requires any changes.
+
+
+
+
+ For more information how to configure SSL take a look at SSL configuration chapter
+
+
+
+ Register murano-api service in Openstack.
+ Note: you need to be authorized in Openstack to run this commands. To do this, you can run something like (having changed variables to appropriate values)
+
+
+
+
+
+
+
+
+
+
+ Run
+
+
+ Run Murano API service:
+
+ Ubuntu
+
+
+
+
+
+ CentOS
+
+
+
+
+
+
+
+
+
+ Conductor Service
+ Conductor is a Murano orchestration engine that transforms object model sent by REST API service into
+ a series of Heat and Murano-Agent commands.
+
+ This chapter describes Conductor for contributors of the project.
+
+ Install
+
+
+ Murano Conductor uses OpenStack Heat for new virtual machines creation, therefore Heat should
+ been installed and configured. Some services require the Internet access for virtual machines to
+ successful deployment.
+
+ The detailed information about Heat configuration is described
+ here.
+
+
+
+
+ OpenStack Heat require Key Pair for Load Balancer instances. Murano Conductor uses
+ LoadBalancer for IIS Farms and ASP.NET Farms. The default name for Key Pair is "murano-lb-key",
+ you can change this parameter in file
+
+
+
+
+ Superuser privileges is required to install and configure system packages. Let's switch to root account:
+
+
+
+
+
+ Make sure that additional repositories are installed.
+ See
+ the appendix
+ for information about preparing a virtual machine for murano installation.
+
+
+
+ Clone Murano Conductor repository from the github.
+
+
+
+ Stable version one of our
+ releases
+ can be checked out by tag:
+
+
+
+
+
+
+ Switch to just created directory and then perform installation
+
+ Ubuntu
+
+
+
+
+
+ CentOS
+
+
+
+
+
+
+
+
+ Configure
+
+
+ Edit configuration file and take a look at inline comments:
+
+
+
+
+
+ Change configuration file according to your environment.
+
+
+
+
+
+ [DEFAULT]section is responsible for logging.
+
+
+
+ [heat]points where heat is running.
+
+
+
+ [rabbitmq]section points where your rabbitMQ installed and
+ configured.
+
+
+
+
+
+
+
+
+
+
+
+ Run
+
+
+ Run Murano Conductor service:
+
+ Ubuntu
+
+
+
+
+
+ CentOS
+
+
+
+
+
+
+
+
+
+ Murano Dashboard
+ Murano Dashboard provides Web UI for Murano Project.
+
+ This installation is not capable with Horizon installed by devstack
+
+
+ Install
+
+
+ Superuser privileges is required to install and configure system packages. Let's switch to root account:
+
+
+
+
+
+ Make sure that additional repositories are installed.
+ See the appendix
+ for information about preparing a virtual machine for murano installation.
+
+
+
+ If there is no openstack dashboard package in your environment install it now with all dependencies.
+ Deleting an Ubuntu theme is an optional step but recommended.
+
+
+ Horizon installed by devstack is not capable for a murano installation.
+
+
+ CentOS
+
+yum install -y make gcc memcached python-memcached \
+ mod_wsgi openstack-dashboard python-netaddr.noarch
+
+
+ Ubuntu
+
+
+apt-get install -y memcached libapache2-mod-wsgi openstack-dashboard
+dpkg --purge openstack-dashboard-ubuntu-theme
+
+
+
+ Clone Murano Dashboard repository from the github:
+
+
+
+
+
+ Stable version one of our
+ releases
+ can be checked out by tag:
+
+
+git checkout 0.2
+
+
+
+ Switch to just created directory and run installation script
+
+ Ubuntu
+
+
+
+
+
+ CentOS
+
+
+
+
+
+
+
+
+ Configure
+
+
+
+ Murano installation script makes all needed changes in horizon (openstack dashboard) configs.
+ All you have to do is to configure horizon in appropriate way. Set OPENSTACK_HOST in your
+ horizon local settings which located in
+ /etc/openstack-dashboard/local_settings.py..
+
+ For more information visit official horizon documentation.
+
+
+
+
+
+ Run
+
+ Since all required settings are made Apache service need to be restarted to apply all changes.
+
+
+
+
+ CentOS
+
+# service httpd restart
+
+
+
+
+
+ Ubuntu
+
+# service apache2 restart
+
+
+
+
+
+ Check that "Environments" panel appears at the horizon "Project" tab.
+ To see how to operate with Murano dashboard plugin check out
+
+ Murano User Guide.
+
+
+
+
+
+
+
+ SSL configuration
+
+ Murano components are able to work with SSL. This chapter will
+ help your to make proper settings with SSL configuration.
+
+
+ HTTPS for Murano API
+
+ SSL for Murano API service can be configured in ssl section in
+ /etc/murano-api/murano-api.conf. Just point to a valid SSL certificate.
+ See the example below:
+
+
+
+
+
+
+
+ cert_file=PATH:
+ Path to the certificate file the server should use when binding to an SSL-wrapped socket.
+
+
+
+
+ key_file=PATH: Path to the private key file the server should
+ use when binding to an SSL-wrapped socket.
+
+
+
+
+ ca_file=PATH:
+ Path to the CA certificate file the server should use to validate
+ client certificates provided during an SSL handshake. This is
+ ignored if cert_file and "key_file" are not set.
+
+
+
+
+ The use of SSL is automatically started after point to HTTPS protocol instead of HTTP during registration Murano API service in endpoints
+ (Change publicurl argument to start with https://). See here
+ how to register Murano API in Openstack Keystone.
+
+
+ SSL for Murano API is implemented like in any other Openstack component.
+ This realization is based on ssl python module so more information about it can be found
+ here.
+
+
+
+ SSL for RabbitMQ
+
+ All Murano components communicate with each other
+ by RabbitMQ. This interaction can be encrypted with SSL. By
+ default all messages in Rabbit MQ are not encrypted.
+ Each RabbitMQ Exchange should be configured separately.
+
+
+ Murano API -> Rabbit MQ exchange
+
+ Edit rabbitmq section in /etc/murano-api/murano-api.conf
+ and set ssl option to True to enable SSL. Specify the path to the
+ SSL CA certificate in regular format: /path/to/file without quotes or leave it empty to allow
+ self-signed certificates.
+
+
+
+
+
+
+ Rabbit MQ -> Murano Conductor exchange
+
+ Open /etc/murano-conductor/conductor.conf
+ and configure rabbitmq section in the same way:
+ enable ssl option to True and set CA certificate path or leave it empty to allow
+ self-signed certificates.
+
+
+
+
+
+
+ Murano Agent -> Rabbit MQ exchange
+
+ By default all Murano Conductor configuration settings apply to Murano Agent.
+ If you want to configure Murano Agent in a different way change the default template. It can be found
+ here:/etc/murano-conductor/data/templates/agent-config/Default.template.
+ Take a look at appSettings section:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]]>
+
+
+ Desired parameter should be set directly to the value of the key
+ that you want to change. Quotes are need to be kept.
+ Thus you can change "rabbitmq.ssl" and "rabbitmq.port" values to
+ make Rabbit MQ work with this exchange in a different from
+ Murano-Conductor way.
+
+
+
+
+
+
diff --git a/src/administrators-guide/src/docbkx/content/troubleshooting.xml b/src/administrators-guide/src/docbkx/content/troubleshooting.xml
new file mode 100644
index 0000000..2d7370c
--- /dev/null
+++ b/src/administrators-guide/src/docbkx/content/troubleshooting.xml
@@ -0,0 +1,139 @@
+
+
+
+
+ Troubleshooting
+
+ General Notes
+ The following debug sequence should be used when you have no idea about why the
+ system isn't working. If you have one, you may skip unnecessary sections.
+
+ Set debug options to "True" in the following Murano configuration files:
+
+ /etc/murano-api/murano-api.conf
+
+
+ /etc/murano-conductor/conductor.conf
+
+
+ Stop both murano-api and murano-conductor services. We will start them one by one from the
+ console.
+
+ murano-api
+ First, the murano-api must be started.
+
+
+
+
+ Open new console
+
+
+ Start murano-api service
+ manually># murano-api --config-dir /etc/murano-api 2>&1 \
+ > /var/log/murano-api-live.log &
+># tailf /var/log/murano-api-live.log
+
+
+ Open dashboard, create and send to deploy some simple
+ environment.
+
+
+ Open RabbitMQ web console, open your vhost and ensure that queues were
+ created and there is at least one message.
+
+
+ Check log for errors - there shouldn't be any
+
+
+ Keep murano-api service
+ running
+
+
+
+
+ murano-conductor
+ Next to the murano-api the murano-conductor should be started
+
+
+
+
+
+ Open new console
+
+
+ Start conductor from
+ console># muranoconductor --config-dir /etc/murano-conductor \
+ > /var/log/murano-conductor-live.log &
+># tailf /var/log/murano-conductor-live.log
+
+
+ Check that there is no python exceptions in the log. Some errors like
+ 404 are ok, as conductor tries to delete environment that doesn't
+ exist
+
+
+ Check heat stack status. It should not be in FAILED state. If it is -
+ check heat and nova error log to find the cause.
+
+
+ Keep murano-conductor service running.
+
+
+
+
+ Log Files
+ There are various log files which will help you to debug the system.
+
+ Murano Log Files
+
+
+ /var/log/murano-api.log
+
+
+ /var/log/murano-conductor.log
+
+
+ /var/log/apache2/errors.log
+
+
+ /var/log/httpd/errors.log
+
+
+
+ Windows Log Files
+
+
+ C:\Program Files (x86)\CloudBase Solutions\logs\log.txt
+
+
+ C:\Murano\Agent\log.txt
+
+
+ C:\Murano\PowerShell.log
+
+
+
+
+
diff --git a/src/developers-guide/src/docbkx/content/installation-guide.xml b/src/developers-guide/src/docbkx/content/installation-guide.xml
index e37bcc8..3cd9ee7 100644
--- a/src/developers-guide/src/docbkx/content/installation-guide.xml
+++ b/src/developers-guide/src/docbkx/content/installation-guide.xml
@@ -1,26 +1,26 @@
+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.
+-->
Installation GuideThis chapter describes manual installation and configuration of Murano services.
@@ -30,10 +30,13 @@
- Automatic installation Murano can be installed in automatic way. Script will install all
+ Automatic installation
+
+ Murano can be installed in automatic way. Script will install all
necessary packages to your system. Find out more about this in
Getting Started Guide
+
@@ -94,535 +97,8 @@
All these packages will be installed in murano-installation scripts. In addition to these packages some repositories are required.
- Please follow the instructions in the appendix to prepare your environment for murano installation.
+ Please follow the instructions in the appendix to admin guide to prepare your environment for murano installation.
-
-
-
- Murano API Service
- Murano API provides access to the Murano orchestration engine via API.
- This chapter describes the procedure of installation and condiguration of Murano API.
-
- Install
-
-
- Superuser privileges is required to install and configure system packages. Let's switch to root account:
-
-
-
-
-
- Make sure that additional linux repositories are installed. See the appendix for information about preparing a virtual machine for murano installation.
-
-
-
- Clone Murano API git repository:
-
-
-
- Stable version one of our releases can be checked by tag:
-
-
-
-
-
- Switch to just created directory and then perform installation
-
- Ubuntu
-
-
-
-
-
- CentOS
-
-
-
-
-
-
- Successful installation ends with message like this:
-
- Making sample configuration files at "/etc/murano-api"
-LOG:> Reloading initctl
-LOG:> Please, make proper configuration,located at "/etc/murano-api", before starting the "murano-api" daemon!
- ]]>
-
-
-
-
-
- Configure
-
-
- First configure rabbitMQ by adding vhost and user with administrator rights:
-
-
-
-
-
- Copy and edit configuration files:
-
-
-
-
-
- Configure it according to your environment:
-
-
- [DEFAULT] section sets up logging.
-
-
-
-
- [reports]
- section allows you to set up names for new rabbitMQ queues.
-
-
-
- In
- [rabbitmq]
- section you can set up host configuration where rabbitMQ
- with just created user and vhost is running.
-
-
-
-
- For more information how to configure SSL take a look at SSL configuration chapter
-
-
- Configure keystone auth_token in murano-api-paste.ini file.
- For more information see
-
- Auth-Token Middleware with Username and Password
-
-
-
-
-
-
-
-
- Register murano-api service in Openstack.
- Note: you need to be authorized in Openstack to run this commands. To do this, you can run something like (having changed variables to appropriate values)
-
-
-
-
-
-
-
-
-
-
- Run
-
-
- Run Murano API service:
-
- Ubuntu
-
-
-
-
-
- CentOS
-
-
-
-
-
-
-
-
-
- Conductor Service
- Conductor is a Murano orchestration engine that transforms object model sent by REST API service into
- a series of Heat and Murano-Agent commands.
-
- This chapter describes Conductor for contributors of the project.
-
- Install
-
-
- Murano Conductor uses OpenStack Heat for new virtual machines creation, therefore Heat should
- been installed and configured. Some services require the Internet access for virtual machines to
- successful deployment.
-
- The detailed information about Heat configuration is described
- here.
-
-
-
-
- OpenStack Heat require Key Pair for Load Balancer instances. Murano Conductor uses
- LoadBalancer for IIS Farms and ASP.NET Farms. The default name for Key Pair is "murano-lb-key",
- you can change this parameter in file
-
-
-
-
- Superuser privileges is required to install and configure system packages. Let's switch to root account:
-
-
-
-
-
- Make sure that additional repositories are installed.
- See
- the appendix
- for information about preparing a virtual machine for murano installation.
-
-
-
- Clone Murano Conductor repository from the github.
-
-
-
- Stable version one of our
- releases
- can be checked out by tag:
-
-
-
-
-
-
- Switch to just created directory and then perform installation
-
- Ubuntu
-
-
-
-
-
- CentOS
-
-
-
-
-
-
-
-
- Configure
-
-
- Edit configuration file and take a look at inline comments:
-
-
-
-
-
- Change configuration file according to your environment.
-
-
-
-
-
- [DEFAULT]section is responsible for logging.
-
-
-
- [heat]points where heat is running.
-
-
-
- [rabbitmq]section points where your rabbitMQ installed and
- configured.
-
-
-
-
-
-
-
-
-
-
-
- Run
-
-
- Run Murano Conductor service:
-
- Ubuntu
-
-
-
-
-
- CentOS
-
-
-
-
-
-
-
-
-
- Murano Dashboard
- Murano Dashboard provides Web UI for Murano Project.
-
- This installation is not capable with Horizon installed by devstack
-
-
- Install
-
-
- Superuser privileges is required to install and configure system packages. Let's switch to root account:
-
-
-
-
-
- Make sure that additional repositories are installed.
- See the appendix
- for information about preparing a virtual machine for murano installation.
-
-
-
- If there is no openstack dashboard package in your environment install it now with all dependencies.
- Deleting an Ubuntu theme is an optional step but recommended.
-
-
- Horizon installed by devstack is not capable for a murano installation.
-
-
- CentOS
-
-yum install -y make gcc memcached python-memcached \
- mod_wsgi openstack-dashboard python-netaddr.noarch
-
-
- Ubuntu
-
-
-apt-get install -y memcached libapache2-mod-wsgi openstack-dashboard
-dpkg --purge openstack-dashboard-ubuntu-theme
-
-
-
- Clone Murano Dashboard repository from the github:
-
-
-
-
-
- Stable version one of our
- releases
- can be checked out by tag:
-
-
-git checkout 0.2
-
-
-
- Switch to just created directory and run installation script
-
- Ubuntu
-
-
-
-
-
- CentOS
-
-
-
-
-
-
-
-
- Configure
-
-
-
- Murano installation script makes all needed changes in horizon (openstack dashboard) configs.
- All you have to do is to configure horizon in appropriate way. Set OPENSTACK_HOST in your horizon local settings.
-
- For more information visit official horizon documentation.
-
-
-
-
-
- Run
-
- Since all required settings are made Apache service need to be restarted to apply all changes.
-
-
-
-
- CentOS
-
-# service httpd restart
-
-
-
-
-
- Ubuntu
-
-# service apache2 restart
-
-
-
-
-
- Check that "Environments" panel appears at the horizon "Project" tab.
- To see how to operate with Murano dashboard plugin check out
-
- Murano User Guide.
-
-
-
-
- Installing with virtual environment
@@ -727,8 +203,8 @@ $ python tools/install_venv.py
Config files for the development infrastructure of murano-api and murano-conductor can be found at etc
- under folder with component repository. Follow the links to see how config files should be configured:
- Murano API and Murano Conductor.
+ under folder with component repository. In murano-api and murano-conductor config file (located under ./etc directory)
+ just point out IP address where your RabbitMQ is running. All other possible configuration described in the Murano Admin Guide.
To configure Murano Dashboard copy
# cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py
@@ -764,146 +240,4 @@ $ python tools/install_venv.py
-
- SSL configuration
-
- Murano components are able to work with SSL. This chapter will
- help your to make proper settings with SSL configuration.
-
-
- HTTPS for Murano API
-
- SSL for Murano API service can be configured in ssl section in
- /etc/murano-api/murano-api.conf. Just point to a valid SSL certificate.
- See the example below:
-
-
-
-
-
-
-
- cert_file=PATH:
- Path to the certificate file the server should use when binding to an SSL-wrapped socket.
-
-
-
-
- key_file=PATH: Path to the private key file the server should
- use when binding to an SSL-wrapped socket.
-
-
-
-
- ca_file=PATH:
- Path to the CA certificate file the server should use to validate
- client certificates provided during an SSL handshake. This is
- ignored if cert_file and "key_file" are not set.
-
-
-
-
- The use of SSL is automatically started after point to HTTPS protocol instead of HTTP during registration Murano API service in endpoints
- (Change publicurl argument to start with https://). See here
- how to register Murano API in Openstack Keystone.
-
-
- SSL for Murano API is implemented like in any other Openstack component.
- This realization is based on ssl python module so more information about it can be found
- here.
-
-
-
- SSL for RabbitMQ
-
- All Murano components communicate with each other
- by RabbitMQ. This interaction can be encrypted with SSL. By
- default all messages in Rabbit MQ are not encrypted.
- Each RabbitMQ Exchange should be configured separately.
-
-
- Murano API -> Rabbit MQ exchange
-
- Edit rabbitmq section in /etc/murano-api/murano-api.conf
- and set ssl option to True to enable SSL. Specify the path to the
- SSL CA certificate in regular format: /path/to/file without quotes or leave it empty to allow
- self-signed certificates.
-
-
-
-
-
-
- Rabbit MQ -> Murano Conductor exchange
-
- Open /etc/murano-conductor/conductor.conf
- and configure rabbitmq section in the same way:
- enable ssl option to True and set CA certificate path or leave it empty to allow
- self-signed certificates.
-
-
-
-
-
-
- Murano Agent -> Rabbit MQ exchange
-
- By default all Murano Conductor configuration settings apply to Murano Agent.
- If you want to configure Murano Agent in a different way change the default template. It can be found
- here:/etc/murano-conductor/data/templates/agent-config/Default.template.
- Take a look at appSettings section:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ]]>
-
-
- Desired parameter should be set directly to the value of the key
- that you want to change. Quotes are need to be kept.
- Thus you can change "rabbitmq.ssl" and "rabbitmq.port" values to
- make Rabbit MQ work with this exchange in a different from
- Murano-Conductor way.
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/developers-guide/src/docbkx/developers-guide.xml b/src/developers-guide/src/docbkx/developers-guide.xml
index 63f7d0e..8e6a094 100644
--- a/src/developers-guide/src/docbkx/developers-guide.xml
+++ b/src/developers-guide/src/docbkx/developers-guide.xml
@@ -75,5 +75,4 @@
xlink:href="https://launchpad.net/murano">launchpad page.
-