There are no tags associated with this article.

Volume snapshot inheritance and its consequences

Performing a volume snapshot is a common form of securing your data against loss.
There is nothing wrong with that, but you should remember what the consequences are.

To illustrate the situation, we will present it on an example:

We have created a "VA" volume.

Next we create a "SA" snapshot from the "VA" volume.

From the OpenStack dashboard we can create new volumes "VB" and "VC" based on previously created snapshot "SA".

At the moment we have two new volumes which are based on the "SA" snapshot. Suppose we no longer need the "VA" volume and we want to delete it.

Unfortunately, delete will not be possible directly because to delete a given volume, we have to delete its snapshots.

So we must first delete the snapshot "SA", then the volume "VA".

However, this also will not be possible due to the fact that the "SA" snapshot is the source for 2 volumes "VB" and "VC".

To delete a volume from which snapshots volumes were created, we must also delete all snapshots of this volume.

In conclusion, when creating new volumes from a snapshot, remember about inheritance. Snapshot "SA" is a parent for the volumes (children) "VB" and "VC" and if we want to delete the volume "VA" we have to do it from the youngest generation (VB and VC).


Another solution are Backups, which do not create such bonds as snapshots and may exist even after the volume from which the backup was created has been deleted.

How to Shelve/Unshelve your VM?

If you are not using your VM for a while, or want to turn it off say for a night, you can use Shelve option instead of Pause, Suspend or Shutoff.

Lets look at all this options:
The pause command stores the state of the VM in RAM. A paused instance becomes frozen.
When you suspend an instance, its VM state is stored on disk, all memory is written to disk, and the virtual machine is stopped. Suspending an instance is similar to placing a device in hibernation; memory and vCPUs become available to create other instances.
But it is still counted in RAM quota, even though the RAM is released so that it can be used by other projects, for example.
Resume will put the suspended server back to an active state.
Shut Off:
The virtual machine is not running and is in a powered off state. However a shut off virtual machine still consumes billing units in the same way as an Active virtual machine. This is because active/powered off virtual machine reserves same computing resources on compute nodes.
Shelving an instance means to put aside your instance along with its resources (can be volume) and later if you unshelve it you get the same instance you have shelved earlier.
Unshelve is the reverse operation of Shelve. It builds and boots the server again, on a new scheduled host if it was offloaded, using the shelved image in the glance repository if booted from image.


Each shelving process creates a new snapshot that is stored and billed in your domain. When VM is created with option "Create New Volume", a snapshot will not be created, only the ram and cpu will be freed, nevertheless the volume will be normally charged.


Every shelving operation creates an additional image that is stored and billed, Unshelving will not automatically remove this image, so you will have to do it manually

It is important to remember, that from the billing point of view "Paused", "Suspended" and "Shut Off" states are billed the same way (RAM and storage), yet the option that frees RAM and CPU resouces and is only billed for the storage (SSD) is the Shelve option.

How to Shelve the VM:
Go to Instances in Horizon, then choose "Shelve Instance" option from the drop down menu:



The Shelving may take several minutes you will most likely see something like this:

Then this:

Finaly it will go to „Shelved Oflloaded” state:You can leave it in this state and it will save your billing costs.

To boot your VM again simply go to Instances menu and choose „Unshelve” option:

Again it may take serveral minutes, you will see the progress of it booting:

And when its completed it will go back to „Running” state:


If you want to check the status, power or billing of an instance, it is worth having a look: https://creodias.eu/-/status-power-state-and-dependences-in-billing-of-an-instances-vms-

How many products can be found in search results in EO Finder?

EO Finder is used to find Creodias products with various search criteria.

When "search criteria" are provided Finder shows a list of 10 products per page and counts the total amount.

Count accuracy depends on the total number of search result. 

If the number of found products is less than 200, total results number is the exact count.

If the number of found products is bigger than 200, total results number is the estimate and is marked by information displayed as "showing 10 out of ca. XXX total result(s)


If you want to check the exact number of products, please see the other article: https://creodias.eu/-/finder-exact-count?

How to install OpenSSH on Windows Server 2016 VM?


  • Windows Server 2016 VM must be created,

  • "allow_ping_ssh_rdp" security group must be allocated,

  • Floating IP address must be associated.

In the solution you will find how to:

  • Download and install OpenSSH,

  • Allow access in Windows Firewall,

  • Connect to Windows via SSH from Linux or Windows,

  • Accessing files via SFTP.


Download and install OpenSSH

  1. Log in to your VM via RDP

  2. Download the newest OpenSSH server from GitHub ( https://github.com/PowerShell/Win32-OpenSSH/releases )
    In our case it is v8.1.0.0p1-Beta, 64-bit version.

    If you can not download the file you can change security settings.

    Go to "Control Panel" → "Network and Internet" → "Internet Options" and choose "Security" tab.

    Click the Custom level... button.

    Find the "Downloads" section and change the "File download" option to "Enable" then click OK.

    Confirm by clicking Yes then click Apply.

    Now you can download the file.


  3. Open the downloaded file and copy the "OpenSSH-Win64" folder to "C:\Program Files".


  4. Go to "C:\Program Files\OpenSSH-Win64" and edit the "sshd_config_default" file.


  5. Find and uncomment following lines by removing the "#" at the beginning then save the file.

    #Port 22
    #PasswordAuthentication yes

    After the changes it should be:

    Port 22
    PasswordAuthentication yes


  6. Now you have to modify system environment variable.
    To do it run Windows PowerShell as administrator ...

    ... and type the following command:

    setx PATH "$env:path;C:\Program Files\OpenSSH-Win64" -m

    You should see the output "SUCCESS: Specified value was saved.".

  7. Change to the OpenSSH directory and run the install script.

    cd "C:\Program Files\OpenSSH-Win64"; .\install-sshd.ps1

  8. Enable automatic startup and start "sshd" and "ssh-agent" services.

    Set-Service sshd -StartupType Automatic; Set-Service ssh-agent -StartupType Automatic; Start-Service sshd; Start-Service ssh-agent


Allow access in Windows Firewall

We have to add new firewall rule to open port which we will use to connect via SSH, default is 22.
To add the rule just run the following command in Windows PowerShell.

New-NetFirewallRule -DisplayName "OpenSSH-Server-In-TCP" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow


Connect to Windows via SSH

From Linux

Connect to the VM by typing the following command in terminal. Remember to type your VM's IP address.

ssh Administrator@<your-vm-ip-address>

Type the password.

If you are connected you should be in Administrator's home directory.


From Windows (via Putty)

Open Putty and create new session. Complete the fields as below.

Host Name for IP address: Administrator@<your-vm-ip-address>
Port: 22
Connection type: SSH
Saved Sessions: <your-vm-name>

Click Save button.


Double click on your new saved session to connect then click Yes.


Now you are connected to your Windows VM via SSH.


Accessing files via SFTP



  • WinSCP must be installed

Open WinSCP and click New Session.


Complete fields as below and click Save.

Host name: <your-vm-ip-address>
Port number: 22
User name: Administrator
Password: <your-password>


Click OK. You can also save your password.


Confirm by clicking Yes.


Now you can browse your files.

New features of RESTO API

Exact count 

A new parameter “exactCount” allows to get exact count of products returned by a query. It can be enabled in any RESTO API query by adding “&exactCount=1" at the end of a query. This parameter takes only two values: 0 (disabled) or 1 (enabled). By default, this function is disabled for quicker responses and better API performance and the returned count is estimated. For example, to get the exact count of Sentinel-2 L1C products from relative orbit number 50 it is necessary to add to the original query (https://finder.creodias.eu/resto/api/collections/Sentinel2/search.json?maxRecords=10&processingLevel=LEVEL1C&relativeOrbitNumber=50&sortParam=startDate&sortOrder=descending&status=all&dataset=ESA-DATASET) parameter exactCount=1: https://finder.creodias.eu/resto/api/collections/Sentinel2/search.json?maxRecords=10&processingLevel=LEVEL1C&relativeOrbitNumber=50&sortParam=startDate&sortOrder=descending&status=all&dataset=ESA-DATASET&exactCount=1 Please note that processing a query with the exact count parameter takes longer than the same query which count is estimated.  It is not recommended to use this feature if it isn’t needed.  

Relative orbit number as interval 

Relative orbit number now also supports interval values. It is possible to search products from relative orbit numbers from a given range. 

  • relativeOrbitNumber=[50,60] - orbits from 50 inclusive to 60 inclusive 
  • relativeOrbitNumber=]50,60[ - orbits from 50 to 60 
  • relativeOrbitNumber=[50,60[ - orbits from 50 inclusive to 60 
  • relativeOrbitNumber=[50 - orbits from 50 inclusive 
  • relativeOrbitNumber=]50 - orbits from 50 
  • relativeOrbitNumber=60] - orbits to 60 inclusive 
  • relativeOrbitNumber=60[ - orbits to 60 

For example https://finder.creodias.eu/resto/api/collections/Sentinel2/search.json?maxRecords=10&processingLevel=LEVEL1C&relativeOrbitNumber=:50,60:&sortParam=startDate&sortOrder=descending&status=all&dataset=ESA-DATASET 

The feature of searching only one value (relativeOrbitNumber=50) is still supported.