From 34a23ac18c2d1b338026fd3672f991544a5bd6ce Mon Sep 17 00:00:00 2001 From: Dmitry Teselkin Date: Fri, 17 Jan 2014 15:35:50 +0400 Subject: [PATCH] Fix issues in admin guide * comments mentioned in https://review.openstack.org/#/c/65926/ * document style (XML style, formatting issues) Closes-Bug: 1268537 Change-Id: Ia0673f74b425e78a623aa14a300002adecf2c5fe --- .../src/docbkx/content/linux-image-bulder.xml | 694 ++++---- .../src/docbkx/content/troubleshooting.xml | 294 ++-- .../docbkx/content/windows-image-bulder.xml | 1451 +++++++++-------- 3 files changed, 1304 insertions(+), 1135 deletions(-) diff --git a/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml b/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml index 3d97bea..d3ee49c 100644 --- a/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml +++ b/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml @@ -17,410 +17,410 @@ --> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xlink="http://www.w3.org/1999/xlink" + xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd" + version="5.0"> Building Linux Image
Install Required Packages - Please check that hardware virtualization is supported and enabled in BIOS. + Please check that hardware virtualization is supported and enabled in BIOS. The following packages should be installed on any host which will be used to build Linux 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 - - + + + ipxe-qemu + + + + + kvm-ipxe + + + + + qemu-kvm + + + + + python-libvirt + + + + + libvirt-bin + + + + + libvirt0 + + + + + virt-goodies + + + + + virt-manager + + + + + virt-top + + + + + virt-what + + + + + virtinst + + + + + python + + - On Ubuntu you could install them using the command below: + 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 - + virtinst virt-manager libvirt0 libvirt-bin \ + python python-libvirt \ + python-libxml2 python-minimal python-pycurl \ + python-pyorbit python-requests python-six \ + samba samba-common openssh-server virt-top virt-what +
- Build Linux Image - - Create a VM - - This section describes steps required to build an image of Linux Virtual Machine + Build Linux Image + + Create a VM + + + This section describes the steps required to build an image of Linux 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. - + + + 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 - - + + + Preallocate disk image + + ># qemu-img create -f qcow2 /var/lib/libvirt/images/cloud-linux.img 10G - - - - - Start the VM - - + + + + + Start the VM + + ># virt-install --connect qemu:///system --hvm --name cloud-linux \ - --ram 2048 --vcpus 2 --cdrom /PATH_TO_YOUR_LINUX.ISO \ - --disk path=/var/lib/libvirt/images/cloud-linux.img, \ - format=qcow2,bus=virtio,cache=none \ - --network network=default,model=virtio \ - --memballoon model=virtio --vnc --os-type=linux \ - --accelerate --noapic --keymap=en-us --video=cirrus --force - - + --ram 2048 --vcpus 2 --cdrom /PATH_TO_YOUR_LINUX.ISO \ + --disk path=/var/lib/libvirt/images/cloud-linux.img, \ +format=qcow2,bus=virtio,cache=none \ + --network network=default,model=virtio \ + --memballoon model=virtio --vnc --os-type=linux \ + --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 your linux ISO image to it - - - - - Select OS type Linux and it's - version choose yours + + Way 2: Using virt-manager UI - - - - Set CPU and RAM amount - - - - - Deselect option Enable storage for this - virtual machine + + A VM also could be lauched via GUI tools like virt-manager. - - - - Select option Customize configuration before - install + + + + + Launch virt-manager from shell as root + + + + + Set a name for VM and select Local install media + + + + + Add one cdrom and attach your linux ISO image to it + + + + + Select OS type Linux and it's + version choose yours + + + + + Set CPU and RAM amount + + + + + Deselect option Enable storage for this + virtual machine + + + + + Select option Customize configuration before + install + + + + + Add (or create new) HDD image with Disk bus VirtIO + and storage format QCOW2 + + + + + Set network device model VirtIO + + + + + Start installation process and open guest vm screen through + Console button + + + - - - - Add (or create new) HDD image with Disk bus VirtIO and storage format QCOW2 - - - - Set network device model VirtIO - - - - Start installation process and open guest vm screen through - Console button - - - -
- Guest VM Linux OS preparation - - Ubuntu 12.04 LTS x86_64 - - -># for action in update upgrade dist-upgrade;do apt-get -y $action;done -># apt-get install -y git unzip make cmake gcc python-dev python-pip openssh-server sudo - - - CentOS 6.4 x86_64 - - -># rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm -># for action in update upgrade;do yum -y $action; done -># yum install -y git unzip make cmake gcc python-devel python-pip openssh-server openssh-clients sudo - - - murano-agent installation steps - - + Guest VM Linux OS preparation + + Ubuntu 12.04 LTS x86_64 + + +># apt-get -y update; apt-get -y dist-upgrade +># apt-get install -y git unzip make cmake gcc \ + python-dev python-pip openssh-server + + + CentOS 6.4 x86_64 + + +># rpm -ivh http://dl.fedoraproject.org/pub/epel/6/\ +x86_64/epel-release-6-8.noarch.rpm +># yum -y update; yum -y upgrade +># yum install -y git unzip make cmake gcc \ + python-devel python-pip openssh-server openssh-clients sudo + + + murano-agent installation steps + + ># mkdir -p /opt/git ># cd /opt/git ># git clone https://github.com/stackforge/murano-agent.git ># cd murano-agent/python-agent ># git checkout release-0.3 ># chmod a+x setup*.sh + +# To install Murano Agent on Ubuntu run: ># ./setup.sh install -or + +# To install Murano Agent on CentOS run: ># ./setup-centos.sh install - - - cloud-init installation steps - - - - Ubuntu - - + + + cloud-init installation steps + + + + Ubuntu + + ># apt-get install -y cloud-init cloud-initramfs-growroot - - - - - CentOS - - + + + + + CentOS + + ># yum install -y cloud-init - - - - Ubuntu only - - + + + + Ubuntu only + + ># dpkg-reconfigure cloud-init - - - Mark EC2 data source support, save and exit or add manualy Ec2 to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg - - - - - - Minimal cloud-init configuration options - - -># vi /etc/cloud/cloud.cfg: - user: ec2-user - disable_root: 1 - preserve_hostname: False - - - - - - Security setup - - - Create user and make it able to run commands through sudo without password prompt. - - - - Ubuntu - - + + + Mark EC2 data source support, save and exit or add manualy Ec2 to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg + + + + + + Minimal cloud-init configuration options + + +># vi /etc/cloud/cloud.cfg + + +user: ec2-user +disable_root: 1 +preserve_hostname: False + + + + + + Security setup + + + Create user and make it able to run commands through sudo without password prompt. + + + + Ubuntu + + ># useradd -m -G sudo -s /bin/bash ec2-user ># passwd ec2-user - - - - - CentOS - - + + + + + CentOS + + ># useradd -m -G wheel -s /bin/bash ec2-user ># passwd ec2-user - - - - - Sudo - - + + + + + Sudo + + ># echo "ec2-user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ec2-user ># chmod 440 /etc/sudoers.d/ec2-user - - - - - Disable SSH password-based logins in the /etc/ssh/sshd_config. - - + + + + + Disable SSH password-based logins in the /etc/ssh/sshd_config. + + ... GSSAPIAuthentication no PasswordAuthentication no PermitRootLogin no ... - - - - - - Network handling - - - - Ubuntu - - -># rm -rf /etc/udev/rules.d/70-persistent-net.rules - - - - - CentOS - Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth* - - -># rm -rf /etc/udev/rules.d/70-persistent-net.rules - - - - - - Shutdown VM - - - Convert the image from RAW to QCOW2 format if you made it as RAW - - The image must be converted from RAW format to QCOW2 before being imorted into Glance. + + + - - - + + Network handling + + + + Ubuntu + + +># rm -f /etc/udev/rules.d/70-persistent-net.rules + + + + + CentOS + Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth* + + +># rm -f /etc/udev/rules.d/70-persistent-net.rules + + + + + + Shutdown VM + + + Convert the image from RAW to QCOW2 format if you made it as RAW + + The image must be converted from RAW format to QCOW2 before being imported into Glance. + + + + ># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \ -/var/lib/libvirt/images/cloud-linux.img.qcow2 - - + /var/lib/libvirt/images/cloud-linux.img.qcow2 + +
- Upload Image Into Glance - - Services deployed by Murano require specially prepared images. - After images are created they should be registered in Openstack Glance - image operation service. - - -># glance image-create --disk-format=qcow2 --container-format=bare --is-public=true --file=cloud-linux.img --name=cloud-linux - - - Image should be marked with an appropriate type. That could be done through the Horizon UI. - Navigate to Project -> Environments -> Marked Images -> Mark Image and fill up form: - - - - Image - cloud-linux - - - - - Title - My Cloud-ready Linux - - - - - Type - Generic Linux - - - + Upload Image Into Glance + + Services deployed by Murano require specially prepared images. + After images are created they should be registered in Openstack Glance - image operation service. + + +># glance image-create --disk-format=qcow2 --container-format=bare \ + --is-public=true --file=cloud-linux.img --name=cloud-linux + + + + Image should be marked with an appropriate type. That could be done through the Horizon UI. + Navigate to Project -> Environments -> Marked Images -> Mark Image and fill up form: + + + + Image - cloud-linux + + + + + Title - My Cloud-ready Linux + + + + + Type - Generic Linux + + + + + + + After these steps desired image can be chosen in Murano dashboard and used for services platform. - - - 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/troubleshooting.xml b/src/administrators-guide/src/docbkx/content/troubleshooting.xml index 2d7370c..0afa28b 100644 --- a/src/administrators-guide/src/docbkx/content/troubleshooting.xml +++ b/src/administrators-guide/src/docbkx/content/troubleshooting.xml @@ -6,7 +6,7 @@ you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, @@ -17,123 +17,177 @@ --> - 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 - - - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xlink="http://www.w3.org/1999/xlink" + xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd + http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd" + version="5.0"> + 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/content/windows-image-bulder.xml b/src/administrators-guide/src/docbkx/content/windows-image-bulder.xml index cfebae5..74db787 100644 --- a/src/administrators-guide/src/docbkx/content/windows-image-bulder.xml +++ b/src/administrators-guide/src/docbkx/content/windows-image-bulder.xml @@ -6,7 +6,7 @@ you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, @@ -17,131 +17,116 @@ --> - Building Windows Image - - Murano requires a Windows Image in QCOW2 format to be built 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: - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:xlink="http://www.w3.org/1999/xlink" + xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd + http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd" + version="5.0"> + Building Windows Image + + Murano requires a Windows Image in QCOW2 format to be built 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 + + + + + python-libvirt + + + + + libvirt-bin + + + + + libvirt0 + + + + + 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 + virtinst virt-manager libvirt0 libvirt-bin \ + 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 - +
+
+ 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) - + + + + Configure samba server (/etc/samba/smb.conf) + ... [global] @@ -158,334 +143,410 @@ guest account = nobody ... - - - - Restart services - + + + + 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 - + + +
+
+ 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 a 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 + if=/dev/zero of=~/floppy.img \ + mkfs.msdos ~/floppy.img - - - - Mount the image to /media/floppy - + + + + Mount the image to /media/floppy + ># mkdir /media/floppy mount -o loop \ - ~/floppy.img /media/floppy + ~/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 - - + + + + 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 + /master/image-builder/share/files/ws-2012-std/autounattend.xml - - - - Copy our autounattend.xml to /media/floppy - + + + + Copy our autounattend.xml to + /media/floppy + ># cp ~/autounattend.xml /media/floppy - - - - Unmount the image - + + + + Unmount the image + ># umount /media/floppy - - -
-
- Build Windows Image (Automatic Way) - - - Clone murano-deployment repository + + +
+
+ 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 + + + + 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 - + + + + Create shared resource + + + Add to /etc/samba/smb.conf + [image-builder-share] comment = Image Builder Share @@ -496,280 +557,334 @@ read only = no create mask = 0755 - - - - Restart samba services - + + + + Restart samba services + ># restart smbd && restart nmbd - - - - - Test that all required files are in place + + + + + + Test that all required files are in place + ># make test-build-files - - - Get list of available images + + + + Get list of available images + ># make - - - Run image build process + + + + 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 - + + + + 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 - + + + + Start the VM + ># virt-install --connect qemu:///system --hvm --name WinServ \ - --ram 2048 --vcpus 2 --cdrom /opt/samba/share/9200.16384.WIN8_RTM\ + --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\ + --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 + --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. - - - + + + + + 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: + /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> + --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 Standart Edition", "type": "windows.2012"}' + + + 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 + (It MUST be one-line string!) + +murano_image_info='{"title": "Windows 2012 Standart Edition", + "type": "windows.2012"}' - where - - title - user-friendly description of the image - - - type - is a image type, for example 'windows.2012' - - - - - - - - To update metadata of the existing image run the command: + where + + + + title - user-friendly description of the image + + + + + type - an image type, for example 'windows.2012' + + + + + + + + + + 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 Standart Edition", "type": "windows.2012"}' + + + + 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 Std", "type": "windows.2012"}' - - - - - - - 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. - -
+ + + + + + + + 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. + +