74
edits
Changes
→Installing OpenStack with help of packstack on Virtuozzo 7 (*Production Setup*)
<translate>
<!--T:1-->
This howto article describes how to install OpenStack on [[Virtuozzo]] 7.== Introduction ==
Then restart network service: $ .systemctl restart network == Setup OpenStack Controller Node with Virtuozzo Containers Support (*Developer/setup_devstack_for_vz7.sh HOST_IP PASSWORDPOC Setup*) == <!--T:1-->
<!--T:3-->
You are able to setup OpenStack controller node together with compute node on the same server for demo or test purpose. In this case compute node with Virtuozzo Containers support will be deployed. You can add another compute node with containers or VMs anytime you want as described in Setup OpenStack Compute Node section.
$ cd /vz
$ cd virtuozzo-openstack-scripts
Run the script on your CONTROLLER node and follow instructions (if any):
Clone Virtuozzo scripts to your COMPUTE node:
$ cd /vz
$ git clone https://github.com/virtuozzo/virtuozzo-openstack-scripts
$ cd /vz/virtuozzo-openstack-scripts If you want to use Virtuozzo Storage with OpenStack and your Virtuozzo Storage is running on another node and not on the compute you need to setup Virtuozzo Storage client and authorize compute node in the Virtuozzo Cluster. Setup Virtuozzo Storage client: $ yum install vstorage-client -yCheck cluster discovery is working fine first: $ vstorage discoverOutput will show the discovered clusters.Now you need to authenticate controller node on the Virtuozzo Storage cluster: $ vstorage -c $CLUSTER_NAME auth-nodeEnter the virtuozzo storage cluster password and press Enter. Check the cluster properties: $ vstorage -c $CLUSTER_NAME topOutput will show the virtuozzo storage cluster properties and state. Configure the script on the COMPUTE node. Please read script description here https://github.com/virtuozzo/virtuozzo-openstack-scripts/blob/master/README.md Example: $ source vzrc --host_ip 10.24.41.26 --password Virtuozzo1! --use_provider_network true --mode COMPUTE --controller 10.24.41.25
Run the script on your COMPUTE node and follow instructions (if any):
$ ./setup_devstack_vz7.sh == How to change Virtualization Type to Virtual Machines on the Compute Node == If you want to use virtual machines instead of containers on your compute node you need to change virtualization type to KVM on the selected compute node. Open nova configuration file: $ vi /etc/nova/nova.conf Change the following lines: [libvirt] ... virt_type = parallels images_type = qcow2 connection_uri = vz:///system Delete the line: inject_partition = -2 Save the file. Restart nova-compute service: $ su stack $ screen -rPress Ctrl-c $ sg libvirtd '/usr/bin/nova-compute --config-file /etc/nova/nova.conf' & echo $ ! >/vz/stack/status/stack/n-cpu.pid; fg || echo "n-cpu failed to start" | tee "/vz/stack/status/stack/setup_devstack_for_vz7_computen-cpu.failure" To exit from screen session:Press Ctrl+a+d == How to redeploy OpenStack on the same nodes == Your OpenStack setup will be reset after node restart. To redeploy OpenStack on the same nodes do the following:# <code>cd /vz/virtuozzo-openstack-scripts</code># <code>git pull</code># Run ./setup_devstack_vz7.sh COMPUTE_HOST_IP PASSWORD CONTROLLER_HOST_IPwith options you need. == Installing OpenStack with help of packstack on [[Virtuozzo]] 7 (*Production Setup*) == * Install Virtuozzo Platform Release package to all Virtuozzo OpenStack nodes: $ yum install vz-platform-release * Install packstack package: $ yum install openstack-packstack * Download sample Vz7 packstack answer file: $ wget https://raw.githubusercontent.com/virtuozzo/virtuozzo-openstack-scripts/master/vz7-packstack-ocata.txt * Edit vz7-packstack-ocata.txt enabling/disabling necessary services* Replace all references to 'localhost' and '127.0.0.1' host addresses to correct valuses* Set all passwords parameters containing PW_PLACEHOLDER string to some meaninful values* If you are going to use Virtuozzo Storage as a Cinder Volume backend set the following parameters: # Enable Virtuozzo Storage CONFIG_VSTORAGE_ENABLED=y # VStorage cluster name. CONFIG_VSTORAGE_CLUSTER_NAME= # VStorage cluster password. CONFIG_VSTORAGE_CLUSTER_PASSWORD= # Bridge mappings CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet1:br-ex # Bridge interfaces CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 # Bridge mapping for compute node CONFIG_NEUTRON_OVS_BRIDGES_COMPUTE=extnet1:br-ex * Then run packstack: $ packstack --answer-file=vz7-packstack-ocata.txt == Install and configure a nova controller node on [[Virtuozzo]] 7 (*Production Setup*) == <!--T:18--> <!--T:19-->* Follow instructions on [http://docs.openstack.org/newton/install-guide-rdo/nova-controller-install.html OpenStack.org] * Download the container [http://updates.virtuozzo.com/server/virtuozzo/en_us/odin/7/techpreview-ct/centos7-exe.hds.tar.gz image]* Unpack it $ tar -xzvf centos7-exe.hds.tar.gz * Upload the image to glance:NOTE: this image was created for testing purposes only. Don't use it in production as is! $ glance image-create --name centos7-exe --disk-format ploop --min-ram 512 --min-disk 1 --container-format bare --property vm_mode=exe --property hypervisor_type=vz --property cinder_img_volume_type=vstorage-ploop --file centos7-exe.hds $ glance image-create --name centos7-hvm --disk-format qcow2 --min-ram 1024 --min-disk 10 --container-format bare --property cinder_img_volume_type=vstorage-qcow2 --file CentOS-7-x86_64-GenericCloud.qcow2 * CentOS image one can get here [http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 ]
== Install and configure a compute node on [[Virtuozzo]] 7 (*Production Setup*) == <!--T:16-->
<!--T:17-->
Please use this chapter if you are going to run containers OR virtual machines on your compute node, but not containers AND virtual machines simultaneously. If you need to run containers and VMs simultaneously, please use next chapter. * Follow instructions on [http://docs.openstack.org/libertynewton/install-guide-rdo/nova-compute-install.html OpenStack.org]
* In addition to above instructions change /etc/nova/nova.conf:
vnc_keymap =
force_raw_images = False
pointer_model = ps2mouse
[libvirt]
...
vzstorage_mount_user = nova
vzstorage_mount_group = root
virt_type = parallels
images_type = ploop
connection_uri = parallels+unixvz:///system * Remove 'cpu_mode' parameter or set the following: inject_partition cpu_mode = -2none
* Then restart nova-compute service:
$ systemctl restart openstack-nova-compute.service * If you plan to run Virtual Machines on your Compute node, change 'images_type' parameter to 'qcow2' == Install and configure a block storage node on [[Virtuozzo]] 7 (*Production Setup*) == <!--T:16-->
[DEFAULT]
...
* Then restart cinder services: disk_formats $ systemctl restart openstack-cinder-api $ systemctl restart openstack-cinder-scheduler $ systemctl restart openstack-cinder-volume == How to create a new ploop image ready to upload to Glance == ami<!--T:17--> * Select os template. The following templates are possible: vzlinux-7,aricentos-7,akiubuntu-16.04,vhdubuntu-14.04,vmdkdebian-8.0,rawcentos-6,qcow2,vdi,iso,ploopdebian-8.0-x86_64-minimal $ ct=centos-7 * Create a new container based on necessary os distribution $ prlctl create glance-$ct --vmtype ct --ostemplate $ct * Set IP address and DNS to be able to connect to internet from the container $ prlctl set glance-$ct --ipadd IPADDR --nameserver DNS_IPADDR * Add additional network adapter $ prlctl set glance-$ct --device-add net --network Bridged --dhcp on * Start the container
$ prlctl exec glance-$ct yum install cloud-init -y * Download Stop the container [http:and mount it $ prlctl stop glance-$ct $ prlctl mount glance-$ct * Store the container uuid $ uuid=$(vzlist glance-$ct | awk ' NR>1 { print $1 }') * Remove the following modules from cloud.cfg $ sed -i '/- growpart/d' /vz/root/$uuid/etc/cloud/updatescloud.pvscfg $ sed -i '/- resizefs/d' /vz/root/$uuid/etc/cloud/cloud.parallels.comcfg * Prepare network scripts cat > /vz/root/$uuid/etc/sysconfig/network-scripts/ifcfg-eth0 << _EOF DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=dhcp _EOF * If you need more than one network adapters within a container, make as many copies as you need $ cp /vz/root/$uuid/etc/sysconfig/network-scripts/ifcfg-eth0 /vz/root/$uuid/etc/sysconfig/network-scripts/ifcfg-eth1 $ sed -i '/eth0/eth1' /servervz/virtuozzoroot/en_us$uuid/odinetc/7sysconfig/techpreviewnetwork-ctscripts/centos7ifcfg-exe.hds.tar.gz image]eth1 * Unpack itPerform some cleanup $ rm -f /vz/root/$uuid/etc/sysconfig/network-scripts/ifcfg-venet0* $ rm -f /vz/root/$uuid/etc/resolv.conf
$ mkdir /tmp/ploop-$ct $ ploop init -s 950M /tmp/ploop-$ct/$ct.hds $ mkdir /tmp/ploop-$ct/dst $ ploop mount -m /tmp/ploop-$ct/dst /tmp/ploop-$ct/DiskDescriptor.xml $ cp -Pr --preserve=all /vz/root/$uuid/* Upload the image to glance:/tmp/ploop-$ct/dst/NOTE: this image was created for testing purposes only. Don't use it in production as is! $ ploop umount -m /tmp/ploop-$ct/dst/
== See also == <!--T:100-->
* [http://docs.openstack.org/libertynewton/install-guide-rdo/nova-controller-install.html Controller Node Installation Guide]* [http://docs.openstack.org/newton/install-guide-rdo/nova-compute-install.html Compute Node Installation Guide]* [http://docs.openstack.org/newton/install-guide-rdo/environment-packages.html OpenStack installation guideInstallation Guide]* [https://docs.openvz.org/ Virtuozzo documentationDocumentation]
* [[Virtuozzo ecosystem]]