Hello everyone, I am Frank Zhang, the architect of ZStack. Today I am happy to announce that ZStack v0.8 is in the release cycle. Today we release 0.8 RC2 for you test. In this release, ZStack introduces four new features:
Local Primary Storage
Users can use local disks of hosts as primary storage.
Add through UI
- select the type to 'LocalStorage'
- input the hosts' folder path.
Add through CLI
You can use AddLocalPrimaryStorage to add the local primary storage. For example:
AddLocalPrimaryStorage zoneUuid=15d546efe84a499caa36b2f6a95d6b81 name=local url=/home/volumes
URLThe local primary storage uses a folder to store VM volumes and images on hosts. When being attached to a cluster, the folder specified by the URL will be created on all hosts in the cluster if not existing.
CapacityThe total capacity and available capacity are summed from the corresponding capacity of each hosts. Unlike pool-based primary storage(e.g. NFS), you may encounter an allocation failure(not enough capacity) even if the total available capacity is bigger than the capacity you ask, because no host can solely provide that capacity. For example, say you have 2 hosts each of which has 10G available capacity, and you are creating a 15G volume; though the total available capacity is 20G, the case will fail because each host cannot provide the 15G capacity.
No live migration and limited volume attachingBecause local primary storage is not network shared storage, it's not possible to lively migrate a VM from one host to another until the storage migration feature is supported in future ZStack releases. Data volumes, whose states are Ready, can only be attached to VMs on the same host; that is to say, once a data volume is instantiated on a local storage, it can only be attached to VMs on the same host where it is instantiated.
Dynamically attaching/detaching L3 networks
Beginning at this version, users can dynamically attach/detach a L3 network to/from a VM.
Attach through UI
- select a VM and click button 'Action'
- click 'Attach L3 Network' on the drop-down menu
- select the L3 networks you want to attach
- click button 'Attach'
Attach through CLI
You can use AttachL3NetworkToVm to attach a L3 network to a VM. For example:
>>>AttachL3NetworkToVm l3NetworkUuid=d791a3f662ac48a99b9e998136eed2a1 vmInstanceUuid=15d546efe84a499caa36b2f6a95d6b81
Detach through UI
- select a VM and click button 'Action'
- click 'Detach L3 Network' on the drop-down menu
- select the L3 networks you want to detach
- click button 'Detach'
Detach through CLI
You can use
DetachL3NetworkFromVm to detach a L3 network from a VM. For example:
VM Nic UUIDInstead of a L3 network UUID and a VM UUID, `the DetachL3NetworkFromVm` use the `vmNicUuid` as the parameter because it implies both VM UUID and L3 network UUID.
In this version, ZStack opens the identity management APIs which provide similar functions to AWS IAM. The details of the identity management system can be found in user manual -- identity chapter
Change the instance offering of the VM
In this version, users can change the instance offering of a VM.
Change through UI
Not implemented in RC2, will be available in the GA release
Change through CLI
You can use ChangeInstanceOffering to change the instance offering of a VM. For example:
>>>ChangeInstanceOffering vmInstanceUuid=f9837cfbde574a7ab512ab3283d8da60 instanceOfferingUuid=d791a3f662ac48a99b9e998136eed2a1
A stop/start is requiredIf you change the instance offering while the VM is running, you need to stop/start the VM to make the change takes effect.
Backup DatabaseBefore performing any upgrade instructions, please backup the current database. This is very IMPORTANT! Though ZStack will automatically backup the current database during upgrade, we strongly recommend you to manually backup the database in case any error happens. You can backup the database following:
mysqldump -u root -proot_password --host mysql_ip --port mysql_port zstack > path_to_db_dump.sql
Upgrade by quick script
If you have only one management node, you can upgrade it by ZStack's installation script:
zstack-ctl stop_node wget --no-check-certificate https://download.zstack.org/releases/0.8/rc2/zstack-install-0.8.0-rc2.sh wget --no-check-certificate https://download.zstack.org/releases/0.8/rc2/zstack-all-in-one-0.8.0-rc2.tgz bash zstack-install-0.8.0-rc2.sh -u -f zstack-all-in-one-0.8.0-rc2.tgz
Be patient for a few minutes, the script will upgrade the database, management node, zstack-cli, zstack-ctl and zstack-dashboard.
Upgrade by zstack-ctl
1. Upgrade the first management node
Perform below instructions on one of your management node:
mkdir -p zstack-0.8 cd zstack-0.8
Install zstack-ctl if you are using 0.6 versionwget --no-check-certificate https://download.zstack.org/releases/0.7/rc2/zstackctl-0.7.tar.gz /var/lib/zstack/virtualenv/zstackctl/bin/pip install --ignore-installed zstackctl-0.7.tar.gz
wget --no-check-certificate https://download.zstack.org/releases/0.8/rc2/zstack.war zstack-ctl upgrade_management_node --war-file zstack.war
2. Upgrade the database
Make sure you have backup the current database following instructions on the top of this page. Then perform:
You can start the node now if you only have one management nodeIf you have only one management node, you can run
to start the ZStack now. If you have other management nodes to upgrade, continue to perform following instructions.
3. Upgrade other management nodes
If you have management nodes running on remote machines, run below commands for each node
zstack-ctl upgrade_management_node --war-file path_to_the_war --host remote_host_ip
4. Upgrade UI
Stop UIIf you are using 0.6, stop the UI by
/etc/init.d/zstack-dashboard stop; if 0.7, stop the UI by
Upgrade your UI on local machine by:
zstack-ctl install_ui --host remote_machine_ip
if the UI is installed on a remote machine.
5. Start management nodes
Now all your management nodes have been successfully upgraded to the 0.8 RC2. You can start them by
zstack-ctl start_node and
zstack-ctl start_node --host remote_host_ip
Agents will be automatically upgraded after starting management nodesYou don't need to bother with agent upgrade; they will be upgraded after management nodes reconnect them.
6. Start UI
Now you can start the UI by
zstack-ctl start_ui on the local host or
zstack-ctl start_ui --host remote_host_ip on the remote host.
If you find any bugs, please open a ticket on GitHub