From a61ebd6d91b9bc6c6c9f727d1ccacfd8de8d6de1 Mon Sep 17 00:00:00 2001 From: nastya-kuz Date: Mon, 16 Sep 2013 07:34:02 -0500 Subject: [PATCH] Cherry-pick new commits from master branch: * Correct some typoes * Update installation part 1) remove manual way installation and appendix with vm configuration for developer guide (temprory) 2) Add css for developer guide 3) add link to additional linux repos in installation guide * Add folder with style files to git * Update installation commands * Add installation from venv chapter * Update ADMIN guide * Typos and style fixes. * Move installation chapter to admin guide Change-Id: I7c33a55de13a5974f41676ee9a77010d73a12050 --- src/administrators-guide/pom.xml | 8 + .../src/docbkx/administrators-guide.xml | 905 +--------------- .../src/docbkx/administrators-guide.xml.orig | 956 +++++++++++++++++ .../src/docbkx/content/appendix.xml | 55 +- .../src/docbkx/content/general.xml | 358 +++++++ .../src/docbkx/content/image-bulder.xml | 794 +++++++++++++++ .../src/docbkx/content/installation-guide.xml | 963 ++++++++++++++++++ .../src/docbkx/content/troubleshooting.xml | 139 +++ .../src/docbkx/style/administrators-guide.css | 41 + .../src/docbkx/style/config.xsl | 10 + src/developers-guide/pom.xml | 8 + .../src/docbkx/content/installation-guide.xml | 735 +++---------- .../src/docbkx/style/config.xsl | 10 + .../src/docbkx/style/developers-guide.css | 41 + .../src/docbkx/content/before_you_begin.xml | 4 +- .../src/docbkx/content/setup_devbox.xml | 194 +--- .../docbkx/content/setup_lab_environment.xml | 10 +- .../src/docbkx/getting-started.xml | 1 - 18 files changed, 3516 insertions(+), 1716 deletions(-) create mode 100644 src/administrators-guide/src/docbkx/administrators-guide.xml.orig rename src/{getting-started => administrators-guide}/src/docbkx/content/appendix.xml (75%) create mode 100644 src/administrators-guide/src/docbkx/content/general.xml create mode 100644 src/administrators-guide/src/docbkx/content/image-bulder.xml create mode 100644 src/administrators-guide/src/docbkx/content/installation-guide.xml create mode 100644 src/administrators-guide/src/docbkx/content/troubleshooting.xml create mode 100644 src/administrators-guide/src/docbkx/style/administrators-guide.css create mode 100644 src/administrators-guide/src/docbkx/style/config.xsl create mode 100644 src/developers-guide/src/docbkx/style/config.xsl create mode 100644 src/developers-guide/src/docbkx/style/developers-guide.css diff --git a/src/administrators-guide/pom.xml b/src/administrators-guide/pom.xml index 5d1f9bb..96ad0aa 100644 --- a/src/administrators-guide/pom.xml +++ b/src/administrators-guide/pom.xml @@ -40,6 +40,14 @@ true 100 + + + + + + + + diff --git a/src/administrators-guide/src/docbkx/administrators-guide.xml b/src/administrators-guide/src/docbkx/administrators-guide.xml index 705dcc8..979c6c1 100644 --- a/src/administrators-guide/src/docbkx/administrators-guide.xml +++ b/src/administrators-guide/src/docbkx/administrators-guide.xml @@ -16,18 +16,13 @@ limitations under the License. --> - + version="5.0"> Murano Administrator's Guide - - - - - @@ -38,7 +33,7 @@ Copyright details are filled in by the template. Change the value of the - role attribute on the legalnotice element to change the license. + role attribute on the legal notice element to change the license. @@ -52,893 +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 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 hardvare 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 - (see below). - -
-
- 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 followinf 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 later in this book. - -
- Get Windows Post Install script - All post-install actions are performed by script namedwpi.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 namedwpi.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: - >$ 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 stringmurano_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 - - - - - 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, - e.g.murano_image_info='{"title": "Windows 2012 Core Edition",\ -"type": "ws-2012-core"}' - - - - - After these steps desired image can be chosen in Murano dashboard and used for services platform. - + + + + +
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/getting-started/src/docbkx/content/appendix.xml b/src/administrators-guide/src/docbkx/content/appendix.xml similarity index 75% rename from src/getting-started/src/docbkx/content/appendix.xml rename to src/administrators-guide/src/docbkx/content/appendix.xml index e24e62d..1d65ea9 100644 --- a/src/getting-started/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 - - - Add lines below to the - /etc/apt/sources.list.d/grizzly.list - file - -deb http://ubuntu-cloud.archive.canonical.com/ubuntu + 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/ +># yum install -y http://rdo.fedorapeople.org/openstack/\ openstack-grizzly/rdo-release-grizzly.rpm -># yum install -y http://mirror.yandex.ru/ +># 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 mc unzip git make gcc python-setuptools - python-pip upstart - - - Most of dependent packages will be installed @@ -139,11 +116,9 @@ deb http://archive.gplhost.com/debian grizzly-backports main ># pip --version - How-to upgrade pip to latest version: + To upgrade pip to latest version use ># pip install --upgrade pip -># pip install - https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz @@ -153,7 +128,7 @@ deb http://archive.gplhost.com/debian grizzly-backports main - How to handle this situation: + To handle this situation: ># rm /usr/bin/pip ># ln -s /usr/local/bin/pip /usr/bin/pip 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/administrators-guide/src/docbkx/style/administrators-guide.css b/src/administrators-guide/src/docbkx/style/administrators-guide.css new file mode 100644 index 0000000..d2e057e --- /dev/null +++ b/src/administrators-guide/src/docbkx/style/administrators-guide.css @@ -0,0 +1,41 @@ +img { + max-width: 100%; + width: auto; + height: auto; +} + body { + font-family: luxi sans,sans-serif; +} + +.programlisting ~ a, +.programlisting, +.screen { + font-family: monospace; + font-size: 1em; + display: block; + padding: 10px; + border: 1px solid #bbb; + background-color: #ddd; + color: #000; + overflow: auto; + border-radius: 2.5px; + -moz-border-radius: 2.5px; + margin: 0.5em 2em; +} + +a[href] { + text-decoration: none; + color: #0a5ba8; + } + +a[href]:hover { + text-decoration:underline +} + +a:visited { + color: #131580; + } + +a:active { + color: #0a5ba8; + } \ No newline at end of file diff --git a/src/administrators-guide/src/docbkx/style/config.xsl b/src/administrators-guide/src/docbkx/style/config.xsl new file mode 100644 index 0000000..234d628 --- /dev/null +++ b/src/administrators-guide/src/docbkx/style/config.xsl @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/src/developers-guide/pom.xml b/src/developers-guide/pom.xml index a75b137..e068917 100644 --- a/src/developers-guide/pom.xml +++ b/src/developers-guide/pom.xml @@ -38,6 +38,8 @@ + ../style/config.xsl + ../style/developers-guide.css true 100 @@ -46,6 +48,12 @@ + + + + + + diff --git a/src/developers-guide/src/docbkx/content/installation-guide.xml b/src/developers-guide/src/docbkx/content/installation-guide.xml index fae8c8a..3cd9ee7 100644 --- a/src/developers-guide/src/docbkx/content/installation-guide.xml +++ b/src/developers-guide/src/docbkx/content/installation-guide.xml @@ -1,34 +1,45 @@ +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 installation and configuration of Murano services. + 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: @@ -42,6 +53,12 @@ These system packages are required for Murano: Ubuntu + + gcc + + + python-pip + python-dev @@ -59,6 +76,12 @@ CentOS + + gcc + + + python-pip + python-devel @@ -72,593 +95,149 @@ 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 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 - +
+ Installing with virtual environment + + For local development, all Murano components can be installed in + a virtual environment. + + - Superuser privileges is required to install and configure system packages. Let's switch to root account: - - - - - - 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: - - +sudo pip install virtualenv + -vi murano-api.conf - ]]> - + - Configure it according to your environment: + Check out git repository with murano component: + + + + +git clone https://github.com/stackforge/murano-api + + + + +git clone https://github.com/stackforge/murano-conductor + + + + +git clone https://github.com/stackforge/murano-dashboard + + + + + + + Make sure that required system packages are installed. + Check list from prerequisites page + + + + + Execute a script in the tools directory + to create virtual environment automatically: + +$ python tools/install_venv.py + + + + + + For Murano Dashboard additional installation need to be done: - [DEFAULT] section sets up logging. + + Openstack dashboard (horizon).: + +./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz + - [reports] - section allows you to set up names for new rabbitMQ queues. + Install openstack-dashboard dependency: + + + + Ubuntu + +# apt-get install nodejs + + + + + + CentOS + +# yum install nodejs + + + + + - In - [rabbitmq] - section you can set up host configuration where rabbitMQ - with just created user and vhost is running. + + Customized Djblets package to support datagrid element (installation by pip is not supported): + +./tools/with_venv.sh easy_install https://github.com/tsufiev/djblets/archive/master.zip + + - 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 - + + Config files for the development infrastructure of murano-api and murano-conductor can be found at etc + 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 + + set the actual IP address of the OpenStack end-point. + If you haven't register murano-api service in the keystone catalog you can set MURANO_API_URL in the same settings file. + Note that local murano-api service will be using by default. - - - - - 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 Murano API: + +./tools/with_venv.sh python api/cmd/api.py --config-file=./etc/murano-api.conf + + + + + Run Murano Conductor: + +./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/conductor.conf + + + + + Run Murano Dashboard: + To start the Murano development server use the Django + manage.py utility with the context of the virtual + environment: + +./tools/with_venv.sh ./manage.py runserver 0.0.0.0:8080 + + -
-
- 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: - - - - - - 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. -
- Install - - - Superuser privileges is required to install and configure system packages. Let's switch to root account: - - - - - - Clone Murano Dashboard repository from the github: - - - - - - Switch to just created directory and run installation script - - Ubuntu - - - - - - CentOS - - - - - - - - This script will supplement openstack dashboard configuration and the panel with Murano "Environments" should appear. - Don't forget to register - Murano API in keystone and set OPENSTACK_HOST in - horizon settings. - -
-
-
- 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/style/config.xsl b/src/developers-guide/src/docbkx/style/config.xsl new file mode 100644 index 0000000..d7dfab0 --- /dev/null +++ b/src/developers-guide/src/docbkx/style/config.xsl @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/src/developers-guide/src/docbkx/style/developers-guide.css b/src/developers-guide/src/docbkx/style/developers-guide.css new file mode 100644 index 0000000..d2e057e --- /dev/null +++ b/src/developers-guide/src/docbkx/style/developers-guide.css @@ -0,0 +1,41 @@ +img { + max-width: 100%; + width: auto; + height: auto; +} + body { + font-family: luxi sans,sans-serif; +} + +.programlisting ~ a, +.programlisting, +.screen { + font-family: monospace; + font-size: 1em; + display: block; + padding: 10px; + border: 1px solid #bbb; + background-color: #ddd; + color: #000; + overflow: auto; + border-radius: 2.5px; + -moz-border-radius: 2.5px; + margin: 0.5em 2em; +} + +a[href] { + text-decoration: none; + color: #0a5ba8; + } + +a[href]:hover { + text-decoration:underline +} + +a:visited { + color: #131580; + } + +a:active { + color: #0a5ba8; + } \ No newline at end of file diff --git a/src/getting-started/src/docbkx/content/before_you_begin.xml b/src/getting-started/src/docbkx/content/before_you_begin.xml index 940500a..fa0af0a 100644 --- a/src/getting-started/src/docbkx/content/before_you_begin.xml +++ b/src/getting-started/src/docbkx/content/before_you_begin.xml @@ -70,7 +70,7 @@ - Devbox - a mahine where all murano components and services are running. + Devbox - a machine where all murano components and services are running. This machine should have access to the Openstack Lab. @@ -135,8 +135,6 @@ backup your VM easily. Any type of hypervisor software which supports linux as guest OS could be used. KVM, VMWare and VirtualBox were tested with success. - There is a Murano VM Appendix - which contains steps to build your own VM. Supported OS diff --git a/src/getting-started/src/docbkx/content/setup_devbox.xml b/src/getting-started/src/docbkx/content/setup_devbox.xml index 1ce0379..bd2a73e 100644 --- a/src/getting-started/src/docbkx/content/setup_devbox.xml +++ b/src/getting-started/src/docbkx/content/setup_devbox.xml @@ -136,16 +136,13 @@ LAB_HOST='***.***.***.***'
Automated Way - - Build your VM using instructions from Murano VM first. - - Create a folder to hold cloned repositories + Create a folder to hold git repositories -># mkdir -p /opt/git +># mkdir -p /opt/git cd /opt/git && cd /opt/git @@ -153,7 +150,6 @@ LAB_HOST='***.***.***.***' -># cd /opt/git ># git clone git://github.com/stackforge/murano-deployment.git @@ -169,7 +165,7 @@ LAB_HOST='***.***.***.***' - Install prerequisites + Install prerequisites. On this step some additional system packages will be installed @@ -213,190 +209,6 @@ BRANCH_NAME='release-0.2'
-
- Manual Way - Build your VM using instructions from - Murano VM - first. - - - Package for Ubuntu and CentOS already in progress and will soon - be accessible for users. While they are not available, we provide - information about how to get and install all murano services from - source code below. We made setup scripts for automated installation - of our products which accepts install and uninstall command line - arguments. Service startup jobs are handled by Upstart. - - At first we need to create a working directory. - - All installation steps require the superuser rights. - -># mkdir -p /opt/git && cd /opt/git - - - - Please, track actual projects stable branch, at the time of - writing current stable branch is - release-0.2 - - - - Murano-Api - - - Get source code - - - -># git clone https://github.com/stackforge/murano-api -b release-0.2 -># chmod +x murano-api/setup*.sh - - - - Install the component - - - Ubuntu - - -># ./murano-api/setup.sh install - - - CentOS - - -># ./murano-api/setup-centos.sh install - - - - Configuration: - -># cd /etc/murano-api && cp murano-api-paste.ini.sample \ - murano-api-paste.ini -># cd /etc/murano-api && cp murano-api.conf.sample murano-api.conf - - - - Before start service, set proper configuration values in - configuration files mentioned above. - - - - Service control: - - -># start murano-api -># stop murano-api -># restart murano-api -># status murano-api - - Murano-Conductor - - - Get source code - - - -># git clone https://github.com/stackforge/murano-conductor \ - -b release-0.2 -># chmod +x murano-conductor/setup*.sh - - - - Install the component - - Ubuntu - - -># ./murano-conductor/setup.sh install - - - CentOS - - -># ./murano-conductor/setup-centos.sh install - - - - Configuration - -># cd /etc/murano-conductor && cp \ - conductor-paste.ini.sample conductor-paste.ini -># cd /etc/murano-conductor && cp \ - conductor.conf.sample conductor.conf - - - - Before starting the service, set proper configuration values in - configuration files mentioned above. - - - Service control: - -># start murano-conductor -># stop murano-conductor -># restart murano-conductor -># status murano-conductor - - - Murano-Dashboard - At first, Install OpenStack dashboard(Horizon)  and dependent - packages. - - How-to do this: - - - Ubuntu - - -># apt-get install -y memcached libapache2-mod-wsgi openstack-dashboard -># dpkg --purge openstack-dashboard-ubuntu-theme # optional step - - After installation is complete, openstack dashboard should be - available at: http://<your VM IP>/horizon - - - - CentOS - -># yum install python-netaddr.noarch \ - python-keystoneclient.noarch \ - python-django-horizon.noarch \ - python-django-openstack-auth.noarch \ -  httpd.x86_64 mod_wsgi.x86_64 \ - openstack-dashboard.noarch --assumeyes -># chkconfig httpd on - - After installation is complete, openstack dashboard should be available - at: http://<your VM IP>/dashboard - - - - Installation of the murano-dashboard described below. - - - Get source code - -># git clone https://github.com/stackforge/murano-dashboard - -b release-0.2 -># chmod +x murano-dashboard/setup*.sh - - - - Install the component - Ubuntu - -># ./murano-dashboard/setup.sh install - - - - CentOS - -># ./murano-dashboard/setup-centos.sh install - - - - -
Murano Services Configuration This chapter descrides how to configure Murano services diff --git a/src/getting-started/src/docbkx/content/setup_lab_environment.xml b/src/getting-started/src/docbkx/content/setup_lab_environment.xml index fb6be3a..c281c2e 100644 --- a/src/getting-started/src/docbkx/content/setup_lab_environment.xml +++ b/src/getting-started/src/docbkx/content/setup_lab_environment.xml @@ -433,13 +433,11 @@ - + >$ cd /opt/image-builder/share/images ->$ glance image-create --name ws-2012-std --disk-format qcow2 \ - --container-type bare --file ws-2012-std.qcow2 \ - --is-public true \ - --property murano_image_info='{"type":"ws-2012-std",\ - "title":"Windows Server 2012 Standard"}' +>$ glance image-create --name ws-2012-std --disk-format qcow2 \ + --container-type bare --file ws-2012-std.qcow2 --is-public true \ + --property murano_image_info='{"type":"ws-2012-std", "title":"Windows Server 2012 Standard"}' diff --git a/src/getting-started/src/docbkx/getting-started.xml b/src/getting-started/src/docbkx/getting-started.xml index 782158c..0433b20 100644 --- a/src/getting-started/src/docbkx/getting-started.xml +++ b/src/getting-started/src/docbkx/getting-started.xml @@ -57,5 +57,4 @@ -