Cherry-pick from the release-0.4 branch
* Fix issues in admin guide comments mentioned in https://review.openstack.org/#/c/65926/ document style (XML style, formatting issues) Closes-Bug: 1268537 * Resolve documentation issues Fix comments that was not fixed in original Closes-bug: #1268537 * Update documentation for a release-0.4.1 release Closes-bug: #1268537 Change-Id: I5bf3f01500dc4023e5477e5173d4f6a9922bd034
This commit is contained in:
parent
094351ad46
commit
4cb3f3de6c
File diff suppressed because it is too large
Load Diff
@ -17,232 +17,239 @@
|
||||
-->
|
||||
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
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">
|
||||
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">
|
||||
<title>Building Linux Image</title>
|
||||
<section>
|
||||
<title>Install Required Packages</title>
|
||||
<note>
|
||||
<para>
|
||||
Please check that hardware virtualization is supported and enabled in BIOS.
|
||||
Please check that hardware virtualization is supported and enabled in BIOS.
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
The following packages should be installed on any host which will be used to build Linux Image:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
ipxe-qemu
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
kvm-ipxe
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
qemu-kvm
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
python-libvirt
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
libvirt-bin
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
libvirt0
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-goodies
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-manager
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-top
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-what
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virtinst
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
python
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
ipxe-qemu
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
kvm-ipxe
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
qemu-kvm
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
munin-libvirt-plugins
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
python-libvirt
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
libvirt-bin
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
libvirt0
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
munin-libvirt-plugins
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
python-libvirt
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-goodies
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-manager
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-top
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virt-what
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
virtinst
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
python
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
On Ubuntu you could install them using the command below:
|
||||
On Ubuntu you could install them using the command below:
|
||||
</para>
|
||||
<screen>
|
||||
<screen>
|
||||
># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \
|
||||
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
|
||||
</screen>
|
||||
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
|
||||
</screen>
|
||||
</section>
|
||||
<section>
|
||||
<title>Build Linux Image</title>
|
||||
<para>
|
||||
<emphasis role="strong">Create a VM</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
This section describes the steps required to build an image of Linux Virtual Machine
|
||||
<title>Build Linux Image</title>
|
||||
<para>
|
||||
<emphasis role="strong">Create a VM</emphasis>
|
||||
</para>
|
||||
<para>This section describes 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.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
Run all commands as root.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
<emphasis role="strong">Way 1: Using CLI Tools</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
This section describes the required step to launch a VM using CLI tools only.
|
||||
Run all commands as root.
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
<emphasis role="strong">Way 1: Using CLI Tools</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
This section describes the required step to launch a VM using CLI tools only.
|
||||
</para>
|
||||
<para>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Preallocate disk image
|
||||
</para>
|
||||
<screen>
|
||||
<listitem>
|
||||
<para>
|
||||
Preallocate disk image
|
||||
</para>
|
||||
<screen>
|
||||
># qemu-img create -f qcow2 /var/lib/libvirt/images/cloud-linux.img 10G
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Start the VM
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Start the VM
|
||||
</para>
|
||||
<screen>
|
||||
># 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
|
||||
</screen>
|
||||
</listitem>
|
||||
--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
|
||||
</screen>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">Way 2: Using virt-manager UI</emphasis>
|
||||
<para>
|
||||
<emphasis role="strong">Way 2: Using virt-manager UI</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
A VM also could be lauched via GUI tools like virt-manager.
|
||||
</para>
|
||||
<para>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Launch <emphasis role="italic">virt-manager</emphasis> from shell
|
||||
as root </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Set a name for VM and select Local install media
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add one cdrom and attach your linux ISO image to it
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Select OS type <emphasis role="bold">Linux</emphasis> and it's
|
||||
version <emphasis role="bold">choose yours</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
A VM also could be lauched via GUI tools like virt-manager.
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Set CPU and RAM amount
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Deselect option <emphasis role="bold">Enable storage for this
|
||||
virtual machine</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Launch <emphasis role="italic">virt-manager</emphasis> from shell as root
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Set a name for VM and select Local install media
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add one cdrom and attach your linux ISO image to it
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Select OS type <emphasis role="bold">Linux</emphasis> and it's
|
||||
version <emphasis role="bold">choose yours</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Set CPU and RAM amount
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Deselect option <emphasis role="bold">Enable storage for this
|
||||
virtual machine</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Select option <emphasis role="bold">Customize configuration before
|
||||
install</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add (or create new) HDD image with Disk bus <emphasis role="bold">VirtIO</emphasis>
|
||||
and storage format <emphasis role="bold">QCOW2</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Set network device model <emphasis role="bold">VirtIO</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Start installation process and open guest vm screen through
|
||||
<emphasis role="bold">Console</emphasis> button
|
||||
</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Select option <emphasis role="bold">Customize configuration before
|
||||
install</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add (or create new) HDD image with Disk bus <emphasis role="bold">VirtIO</emphasis> and storage format <emphasis role="bold">QCOW2</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Set network device model <emphasis role="bold">VirtIO</emphasis>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Start installation process and open guest vm screen through
|
||||
<emphasis role="bold">Console</emphasis> button
|
||||
</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
</section>
|
||||
<section>
|
||||
<title>Guest VM Linux OS preparation</title>
|
||||
<para>
|
||||
<emphasis role="strong">Ubuntu 12.04 LTS x86_64</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># apt-get -y update; apt-get -y dist-upgrade
|
||||
># apt-get install -y git unzip make cmake gcc \
|
||||
python-dev python-pip openssh-server
|
||||
</screen>
|
||||
<para>
|
||||
<emphasis role="strong">CentOS 6.4 x86_64</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># 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
|
||||
</screen>
|
||||
<para>
|
||||
<emphasis role="strong">murano-agent installation steps</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
<title>Guest VM Linux OS preparation</title>
|
||||
<para>
|
||||
<emphasis role="strong">Ubuntu 12.04 LTS x86_64</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># 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
|
||||
</screen>
|
||||
<para>
|
||||
<emphasis role="strong">CentOS 6.4 x86_64</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># 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
|
||||
</screen>
|
||||
<para>
|
||||
<emphasis role="strong">murano-agent installation steps</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># mkdir -p /opt/git
|
||||
># cd /opt/git
|
||||
># git clone https://github.com/stackforge/murano-agent.git
|
||||
@ -252,175 +259,170 @@ x86_64/epel-release-6-8.noarch.rpm
|
||||
|
||||
# To install Murano Agent on Ubuntu run:
|
||||
># ./setup.sh install
|
||||
|
||||
# To install Murano Agent on CentOS run:
|
||||
or
|
||||
># ./setup-centos.sh install
|
||||
</screen>
|
||||
<para>
|
||||
<emphasis role="strong">cloud-init installation steps</emphasis>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">Ubuntu</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
<para>
|
||||
<emphasis role="strong">cloud-init installation steps</emphasis>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">Ubuntu</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># apt-get install -y cloud-init cloud-initramfs-growroot
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">CentOS</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">CentOS</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># yum install -y cloud-init
|
||||
</screen>
|
||||
<note>
|
||||
<para>
|
||||
<emphasis role="bold">Ubuntu only</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
<note>
|
||||
<para>
|
||||
<emphasis role="bold">Ubuntu only</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># dpkg-reconfigure cloud-init
|
||||
</screen>
|
||||
<para>
|
||||
Mark <emphasis role="bold">EC2</emphasis> data source support, save and exit or add manualy <emphasis role="bold">Ec2</emphasis> to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg
|
||||
</para>
|
||||
</note>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Minimal cloud-init configuration options</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># vi /etc/cloud/cloud.cfg
|
||||
</screen>
|
||||
<screen>
|
||||
user: ec2-user
|
||||
disable_root: 1
|
||||
preserve_hostname: False
|
||||
</screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">Security setup</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
Create user and make it able to run commands through sudo without password prompt.
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Ubuntu</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
<para>
|
||||
Mark <emphasis role="bold">EC2</emphasis> data source support, save and exit or add manualy <emphasis role="bold">Ec2</emphasis> to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg
|
||||
</para>
|
||||
</note>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Minimal cloud-init configuration options</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># vi /etc/cloud/cloud.cfg:
|
||||
user: ec2-user
|
||||
disable_root: 1
|
||||
preserve_hostname: False
|
||||
</screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">Security setup</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
Create user and make it able to run commands through sudo without password prompt.
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Ubuntu</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># useradd -m -G sudo -s /bin/bash ec2-user
|
||||
># passwd ec2-user
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">CentOS</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">CentOS</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># useradd -m -G wheel -s /bin/bash ec2-user
|
||||
># passwd ec2-user
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Sudo</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Sudo</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># echo "ec2-user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ec2-user
|
||||
># chmod 440 /etc/sudoers.d/ec2-user
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Disable SSH password-based logins in the /etc/ssh/sshd_config.</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Disable SSH password-based logins in the /etc/ssh/sshd_config.</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
...
|
||||
GSSAPIAuthentication no
|
||||
PasswordAuthentication no
|
||||
PermitRootLogin no
|
||||
...
|
||||
</screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">Network handling</emphasis>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">Ubuntu</emphasis>
|
||||
</para>
|
||||
<screen>
|
||||
># rm -f /etc/udev/rules.d/70-persistent-net.rules
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">CentOS</emphasis>
|
||||
Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth*
|
||||
</para>
|
||||
<screen>
|
||||
># rm -f /etc/udev/rules.d/70-persistent-net.rules
|
||||
</screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">Shutdown VM</emphasis>
|
||||
</para>
|
||||
<formalpara>
|
||||
<title>Convert the image from RAW to QCOW2 format if you made it as RAW</title>
|
||||
</screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">Network handling</emphasis>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The image must be converted from RAW format to QCOW2 before being imported into Glance.
|
||||
<emphasis role="strong">Ubuntu</emphasis>
|
||||
</para>
|
||||
</formalpara>
|
||||
<screen>
|
||||
># rm -rf /etc/udev/rules.d/70-persistent-net.rules
|
||||
</screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">CentOS</emphasis>
|
||||
Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth*
|
||||
</para>
|
||||
<screen>
|
||||
># rm -rf /etc/udev/rules.d/70-persistent-net.rules
|
||||
</screen>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="strong">Shutdown VM</emphasis>
|
||||
</para>
|
||||
<formalpara>
|
||||
<title>Convert the image from RAW to QCOW2 format if you made it as RAW</title>
|
||||
<para>
|
||||
<screen>
|
||||
># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \
|
||||
/var/lib/libvirt/images/cloud-linux.img.qcow2
|
||||
</screen>
|
||||
The image must be converted from RAW format to QCOW2 before being imorted into Glance.
|
||||
</para>
|
||||
</formalpara>
|
||||
<para>
|
||||
<screen>
|
||||
># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \
|
||||
/var/lib/libvirt/images/cloud-linux.img.qcow2
|
||||
</screen>
|
||||
</para>
|
||||
</section>
|
||||
<section>
|
||||
<title>Upload Image Into Glance</title>
|
||||
<para>
|
||||
Services deployed by Murano require specially prepared images.
|
||||
After images are created they should be registered in Openstack Glance - image operation service.
|
||||
</para>
|
||||
<screen>
|
||||
># glance image-create --disk-format=qcow2 --container-format=bare \
|
||||
--is-public=true --file=cloud-linux.img --name=cloud-linux
|
||||
</screen>
|
||||
<note>
|
||||
<title>Upload Image Into Glance</title>
|
||||
<para>
|
||||
Services deployed by Murano require specially prepared images.
|
||||
After images are created they should be registered in Openstack Glance - image operation service.
|
||||
</para>
|
||||
<screen>
|
||||
># glance image-create --disk-format=qcow2 --container-format=bare --is-public=true --file=cloud-linux.img --name=cloud-linux
|
||||
</screen>
|
||||
<note>
|
||||
<para>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:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
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:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">Image</emphasis> - cloud-linux
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">Title</emphasis> - My Cloud-ready Linux
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">Type</emphasis> - Generic Linux
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<emphasis role="bold">Image</emphasis> - cloud-linux
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
After these steps desired image can be chosen in Murano dashboard and used for services platform.
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">Title</emphasis> - My Cloud-ready Linux
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="bold">Type</emphasis> - Generic Linux
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
After these steps desired image can be chosen in Murano dashboard and used for services platform.
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
@ -13,8 +13,7 @@
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
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">
|
||||
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">
|
||||
<title>Install Murano</title>
|
||||
<para>This chapter describes Murano services installation in virtual
|
||||
environment.</para>
|
||||
@ -79,6 +78,9 @@
|
||||
<para>Before installing any packages make sure that your system is
|
||||
updated and upgraded.</para>
|
||||
</note>
|
||||
<note>
|
||||
To deploy web farm services Neutron LBaaS (Neutron extension package) should be installed in Openstack
|
||||
</note>
|
||||
</section>
|
||||
<section xml:id="venv">
|
||||
<title>Installing with virtual environment</title>
|
||||
@ -91,7 +93,7 @@
|
||||
virtualenv package if you don't have one:
|
||||
<programlisting>
|
||||
sudo pip install virtualenv
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis role="bold">Murano Api</emphasis>
|
||||
@ -101,7 +103,7 @@ sudo pip install virtualenv
|
||||
Check out git repository with murano component:
|
||||
<programlisting>
|
||||
git clone https://github.com/stackforge/murano-api
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -111,21 +113,22 @@ git clone https://github.com/stackforge/murano-api
|
||||
directory to create virtual environment automatically:
|
||||
<programlisting>
|
||||
cd murano-api && python ./tools/install_venv.py
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Config files are <filename>etc/murano-api.conf</filename>
|
||||
where you just need to point out IP address where your RabbitMQ is
|
||||
running, and <filename>etc/murano-api-paste.ini</filename>, which
|
||||
doesn't require any changes.</para>
|
||||
<para> Copy murano-api sample config file located at
|
||||
<filename>etc/murano/murano-api.conf.sample</filename> to <filename>etc/murano/murano-api.conf</filename>.
|
||||
In config file set up keystone endpoint in Openstack installation. Other settings are described in 'Murano Admin Guide'.
|
||||
Config <filename>etc/murano/murano-api-paste.conf</filename>
|
||||
doesn't require any modification.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
And finally run Murano API:
|
||||
<programlisting>
|
||||
./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano-api.conf
|
||||
</programlisting>
|
||||
./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano/murano-api.conf
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
@ -138,41 +141,33 @@ cd murano-api && python ./tools/install_venv.py
|
||||
Check out git repository with murano component:
|
||||
<programlisting>
|
||||
git clone https://github.com/stackforge/murano-conductor
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Execute a script located at the
|
||||
Execute the following script located at the
|
||||
<filename>murano-conductor/tools</filename>
|
||||
directory to create virtual environment automatically:
|
||||
<programlisting>
|
||||
cd murano-conductor && python ./tools/install_venv.py
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Murano Conductor config file located at
|
||||
<filename>etc/conductor.conf</filename>
|
||||
For a local development comment data_dir parameter in this file:
|
||||
<programlisting>
|
||||
# Directory where conductor's data directory located.
|
||||
# "data" must be subdirectory to this.
|
||||
# data_dir = /etc/murano-conductor
|
||||
</programlisting>
|
||||
After that local
|
||||
<filename>data</filename>
|
||||
directory, which contain all necessary files will be used. All
|
||||
other possible configuration described in the Murano Admin Guide.
|
||||
Copy Murano Conductor sample config file located at
|
||||
<filename>etc/murano/conductor.conf.sample</filename> to <filename>etc/murano/conductor.conf</filename>.
|
||||
In config file set up keystone endpoint in Openstack installation.
|
||||
All other possible configuration described in the Murano Admin Guide.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Run Murano Conductor:
|
||||
<programlisting>
|
||||
./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/conductor.conf
|
||||
</programlisting>
|
||||
./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/murano/conductor.conf
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
@ -185,7 +180,7 @@ cd murano-conductor && python ./tools/install_venv.py
|
||||
Check out git repository with murano component:
|
||||
<programlisting>
|
||||
git clone https://github.com/stackforge/murano-repository
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -195,20 +190,20 @@ git clone https://github.com/stackforge/murano-repository
|
||||
directory to create virtual environment automatically:
|
||||
<programlisting>
|
||||
cd murano-repository && python ./tools/install_venv.py
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Copy a config file <filename>
|
||||
etc/murano-repository.conf.sample</filename> to <filename>
|
||||
etc/murano-repository.conf</filename> and point out Keystone parameters.</para>
|
||||
etc/murano/murano-repository.conf.sample</filename> to <filename>
|
||||
etc/murano/murano-repository.conf</filename> and point out Keystone parameters.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
And finally run Murano Repository:
|
||||
<programlisting>
|
||||
./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano-repository.conf
|
||||
</programlisting>
|
||||
./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano/murano-repository.conf
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
@ -220,7 +215,7 @@ cd murano-repository && python ./tools/install_venv.py
|
||||
Check out git repository with murano component:
|
||||
<programlisting>
|
||||
git clone https://github.com/stackforge/murano-dashboard
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -230,7 +225,7 @@ git clone https://github.com/stackforge/murano-dashboard
|
||||
directory to create virtual environment automatically:
|
||||
<programlisting>
|
||||
cd murano-dashboard && python ./tools/install_venv.py
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -242,15 +237,15 @@ cd murano-dashboard && python ./tools/install_venv.py
|
||||
<para>
|
||||
<programlisting>
|
||||
# ./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
<emphasis>Ubuntu</emphasis>
|
||||
<programlisting>
|
||||
# apt-get install nodejs
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
<emphasis>CentOS</emphasis>
|
||||
<programlisting>
|
||||
# yum install nodejs
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
@ -261,12 +256,33 @@ cd murano-dashboard && python ./tools/install_venv.py
|
||||
To configure Murano Dashboard copy example config file:
|
||||
<programlisting>
|
||||
# cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py
|
||||
</programlisting>
|
||||
and set in just copied file the 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.
|
||||
</programlisting>
|
||||
and set in just copied file the following parameters:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>MURANO_API_URL</emphasis> Required if murano-api service is not registered in keystone.
|
||||
Provide valid URL where Murano API is running
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>MURANO_METADATA_URL</emphasis>
|
||||
Required if murano-repository service is not registered in keystone.
|
||||
Provide valid URL where Murano Repository service is running
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><emphasis>NETWORK_TOPOLOGY</emphasis></para> - network configuration.
|
||||
Duplicates murano-conductor setting (routed - default, flat, nova).
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
Since all UI forms are described in Metadata Repository and kept in Django sessions - default Memcached as a session backend is not
|
||||
suitable for a dynamic UI and we need to use Database backend. (It's already set up in murano settings file).
|
||||
But this requires to synchronize database with the specified settings:
|
||||
<programlisting>
|
||||
./tools/with_venv.sh ./manage.py syncdb
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -276,7 +292,7 @@ cd murano-dashboard && python ./tools/install_venv.py
|
||||
utility with the context of the virtual environment:
|
||||
<programlisting>
|
||||
./tools/with_venv.sh ./manage.py runserver 0.0.0.0:8080
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -86,6 +86,18 @@
|
||||
</itemizedlist>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
February. 5, 2013
|
||||
</entry>
|
||||
<entry>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>Update for Release-0.4.1</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
@ -52,6 +52,16 @@
|
||||
<entry>0.3</entry>
|
||||
<entry>2013-11-25</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Release-0.4</entry>
|
||||
<entry>0.3</entry>
|
||||
<entry>2013-12-20</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Release-0.4.1</entry>
|
||||
<entry>0.3</entry>
|
||||
<entry>2014-02-05</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
@ -117,6 +117,11 @@ some_key2 = some_value2
|
||||
RabbitMQ
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://wiki.openstack.org/wiki/Neutron/LBaaS/HowToRun"> Neutron LBaaS (Neutron extension package)</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Windows Server 2012 Standard image imported into Glance.
|
||||
See <link linkend="Build Windows Image">Build Windows Image</link> chapter.
|
||||
@ -126,7 +131,7 @@ some_key2 = some_value2
|
||||
<para>Samba share with prerequisites. See <link linkend="Samba">Install Samba</link></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>OpenStack metadata service.</para>
|
||||
<para>OpenStack metadata service</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
@ -125,6 +125,17 @@
|
||||
</itemizedlist>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center"> February. 6, 2014 </td>
|
||||
<td colspan="3" align="center"> Release-0.4.1 </td>
|
||||
<td colspan="4">
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Update with Release-0.4.1 information</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</informaltable>
|
||||
</section>
|
||||
|
@ -217,5 +217,103 @@ SSL_KEY_FILE=''
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section>
|
||||
<title>Custom devstack script</title>
|
||||
<para>
|
||||
It's just like regular devstack installation, but included all Murano services!
|
||||
Follow the steps below:
|
||||
</para>
|
||||
<para><emphasis role="bold">System preparation</emphasis></para>
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><emphasis>Create user stack</emphasis></para>
|
||||
<programlisting>
|
||||
># adduser stack
|
||||
</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Add user stack to sudoers rules</para>
|
||||
<programlisting>
|
||||
># echo 'stack ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/stack
|
||||
># chmod 440 /etc/sudoers.d/stack
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para><emphasis role="bold"></emphasis>Installation</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Create folders where devstack will install all the files</para>
|
||||
<programlisting>
|
||||
># mkdir -p /opt/stack
|
||||
># chown stack:stack /opt/stack
|
||||
</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Change current user to "stack" and change directory to home</para>
|
||||
<programlisting>
|
||||
># su stack
|
||||
>stack$ cd ~
|
||||
</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Clone devstack repository and checkout havana branch</para>
|
||||
<programlisting>
|
||||
>stack$ cd
|
||||
>stack$ git clone https://github.com/openstack-dev/devstack.git
|
||||
>stack$ cd devstack
|
||||
>stack$ git checkout stable/havana
|
||||
</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Clone murano-deployment repository</para>
|
||||
<programlisting>>stack$ cd
|
||||
>stack$ git clone https://github.com/stackforge/murano-deployment.git</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Copy required files from murano-deployment to devstack, then configure local.conf.
|
||||
You should set at least one configuration parameter there - HOST_IP address.</para>
|
||||
<programlisting>
|
||||
>stack$ cd
|
||||
>stack$ cp -r murano-deployment/devstack-integration/* devstack/
|
||||
</programlisting>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Replace (or merge settings with) <filename>local.conf</filename> with another config file, if you need a different type of installation.
|
||||
Available config files and installation types are:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<filename>single-node.local.conf</filename> - single-node all-in-one installation. OpenStack + Murano will be installed on your node together.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<filename>devbox.local.conf</filename> - install Murano only. OpenStack must be installed on another node, and your node will be configured to use it.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Edit devstack's configuration file</para>
|
||||
<programlisting>
|
||||
>stack$ vim devstack/local.conf
|
||||
</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>From devstack directory, launch stack.sh</para>
|
||||
<programlisting>
|
||||
>stack$ ./stack.sh
|
||||
</programlisting>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>
|
||||
Now you can operate with Openstack and Murano. Murano Dashboard panel should appears in horizon dashboard.
|
||||
Just open URL http://‹your hostname› in web browser and login with your credentials. Open Murano tab and enjoy.
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user