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 @@
true100
+
+
+
+
+
+
+
+
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.
-
-
- ># 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.
+
+
+ ># 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.csstrue100
@@ -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-RequisitesMurano 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 ConfigurationThis 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 @@
-