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. + + + Required Packages + + + + + + Package Name + Package Version + + + + + + ipxe-qemu + + + 1.0.0+git-4.d6b0b76-0ubuntu2 + + + + + kvm-ipxe + + + 1.0.0+git-4.d6b0b76-0ubuntu2 + + + + + qemu-kvm + + + 1.4.0+dfsg-1expubuntu4 + + + + + munin-libvirt-plugins + + + 0.0.6-1 + + + + + python-libvirt + + + 1.0.2-0ubuntu11 + + + + + libvirt-bin + + + 1.0.2-0ubuntu11 + + + + + libvirt0 + + + 1.0.2-0ubuntu11 + + + + + munin-libvirt-plugins + + + 0.0.6-1 + + + + + python-libvirt + + + 1.0.2-0ubuntu11 + + + + + virt-goodies + + + 0.4-2 + + + + + virt-manager + + + 0.9.4-2ubuntu3 + + + + + virt-top + + + 1.0.7-1 + + + + + virt-what + + + 1.12-1 + + + + + virtinst + + + 0.600.3-3ubuntu1 + + + + + python + + + 2.7.4-0ubuntu1 + + + + +
+ ># 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 Guide This 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.
-