IM 0.10

    * Initial version

IM 0.20

    * Minor bugfixes
    * Improving the messages of the contextualization stage
    * Change radl module internals
    * Add support to spot instances in EC2 plugin

IM 0.30

    * Important internal code modifications

IM 0.40

    * Change OCCI connector to be OCCI 1.1 compliant
    * Minor bug fixes in InfrastructureManager
    * Minor bug fixes in OpenNebula connector
    * Minor changes in SSH module
    * Use Ansible Galaxy to install remote roles

IM 0.50

    * Support to application requirements in the Recipes D.B.
    * Minor bug fixes
    * Change Ansible version to 1.6.6
    * Add internal ID to VMs
    
IM 0.60
    * Solve some concurrency bug fixes
    * Add launch_time info to the EC2 VMs

IM 1.0.0
    * Minor bug fixes
    * Improve contextualization code
    * Enable to change the credentials of the VMI user
    * Change Ansible version to 1.7.1
    * Improve LibCloud connector
    * Modify setup to use in pip

IM 1.1.0
    * Minor bug fixes and code improvements
    * Add Docker connector
    * Add Google Compute Engine (GCE) connector
    * Bugfixes in OCCI connector
    * Improve EC2 connector
    * Improve OpenNebula connector to support version 4.8
    * Change GetVMInfo and AlterVM functions to return only RADL data 
    * Add GetVMProperty function to the API
    * Add provider information in the RADL
    * Bug fixes in LibVirt connector
    * Change Ansible version to 1.7.2
    * Use the ssh connector with the pipelining option in ansible to improve preformace in the contextualization step

IM 1.1.1
    * Minor bug fixes and code improvements
    * Bugfixes in EC2 connector

IM 1.2.0
    * Minor bug fixes and code improvements
    * Change the contextualization process:
    	* Enable to contextualize the VMs individually.
    	* Call Ansible inside a Thread.
    * Improve EC2 connector
    * Bugfixes in OCCI connector
    * Bugfixes in Docker connector
    * Add FogBow connector
    * Add GetInfrastructureRADL function to the API
    * Add GetInfrastructureContMsg function to the API
    * Add GetVMContMsg function to the API
    * Add new state 'unconfigured'

IM 1.2.1
    * Add SSH keygen funtion to GCE connector
    * Add PRIVATE_NET_AS_PUBLIC configuration variable
    * Add MAX_SIMULTANEOUS_LAUNCHES configuration variable
    * Add Azure connector
    * Update EC2 instance features
    * Update documentation to specify python version 2.6
    * Add provider_ids as network parameter in RADL
    * Add support to VPC in EC2 connector
    * Implement AlterVM in OpenNebula and EC2 connectors
    * Add DeployedNode connector to enable to configure nodes not deployed with the IM (i.e. physical nodes)
    * Minor bugfixed in InfrastructureManager class
    * Improve error messages
    * Bugfixes in OpenNebula connector

IM 1.2.2
    * Update Fogbow connector to recent changes of the software.
    * Implement the functions start & stop in GCE plugin
    * Minor bugfix in GCE connector
    * Minor bugfix in EC2 connector
    * Improve performance in contextualization step.
    * Improve the RADL parser code
    * Improve the connectors code
    * Improve the SSH connections in the contextualization step 
    * Improve contextualization performance
    * Bugfix in the Ansible installation playbook
    * Change Ansible version to 1.8.4

IM 1.2.3
    * Bugfix in the Ansible launcher with versions 1.9.X
    * Bugfix in VirtualMachine update_status function
    * Add the VM_INFO_UPDATE_ERROR_GRACE_PERIOD to manage errors in the conections with Cloud providers
    * Bugfix and code improvements in GCE connector

IM 1.2.4
    * Bugfix in OCCI, Azure and Docker connectors when reusing HTTP connections
    * Bugfix in OpenNebula, OCCI and OpenStack connectors when using mutiple auth of same type
    * Add a password check in the RADL parser
    * Dynamically refresh the Ctxt output
    * Minor bugfix in EC2 connector when deleting a non existing instance

IM 1.3.0
    * Bugfix in OCCI, OpenNebula and Docker connectors when using incorrect credentials.
    * Improve Docker connector code.
    * Add Kubernetes connector.
    * Bugfix in FogBow with 1.0 version
    * Bugfix in RADL with unicode strings
    * Add StarVM and StopVM functions to the API
    * Modify contextualziation process to ignore not running VMs enabling to configure the rest of VMs of an Inf. 
    * Enable SSH with retry in all the ctxt steps

IM 1.3.1
    * Bugfix in ConfManager when relaunching a VM afther a failure.
    * Enable to specify git repo and http file in applications, in addition of galaxy roles, in the RADL.
    * Add fstype property to disks and enable to automatically format and boot the disk.
    * Add DATA_DB config variable enabling the usage of MySQL as Backend to store IM data
    * Bugfix in OCCI storing the proxy filename
    * Add context optional parameter to AddResource and RemoveResource functions.
    * Add vm_list optional parameter to Reconfigure.
    * Bugfixes in OpenStack and LibCloud connectors.

IM 1.3.2
    * Bugfix in OpenNebula connector when no nets are available
    * Add instance_id and instance_name fields
    * Bugfix in RADL parser
    * Bugfix in ConfManager formatting volumes
    * Change Ansible version to 1.9.2
    * Improve documentation
    * Remove PRIVATE_NET_AS_PUBLIC configuration variable and add PRIVATE_NET_MASKS

IM 1.4.0
    * Bugfixes to ctxt_agent.py
    * Minor bugfixes and code improvements in VirtualMachine.py
    * Bugfixes and improvements in connectors
    * Enable to configure Windows nodes using native WinRM protocol supported by Ansible
    * Enable multiple image URLs
    * Enable to disable the contextualization step by RADL
    * Enable to use cloud-init contextualization
    * Add IM-USER tag to EC2 instances
    * Improve the DB serialization
    * Change Infrastructure ID from int to string: The API changes and the stored data is not compatible with old versions
    * Add GetInfrastructureState function
    * Bugfix managing public IPs in OCCI
    * Add suport for scp in SSH module in case that sftp is not available
    * Bugfixes to GCE connector
    * Make StartInfrastructure and StopInfrastructure operations in parallel

IM 1.4.1
    * Minor bugfixes to OCCI and GCE connectors
    * Minor bugfixes in Contextualization step
    * Bugfix in VM IP management
    * Add support for Ansible v2.X
    * Add supoort for using an external ansible master node
    * Bugfix in incorrects links inside containers

IM 1.4.2
    * Add support for new RADL JSON format
    * Change in Auth Header in new version of FogBow and support for requirements
    * Code improvements in OpenStack, OpenNebula and FogBow connectors
    * Added workaround to problems in ansible_launcher with HOSTS_PATTERNS_CACHE
    * Bugfixes in REST API

IM 1.4.3
    * Add IM_NODE_PUBLIC_IP and IM_NODE_PRIVATE_IP ansible variables
    * Bugfixes in REST API
    * Modify Docker connector using CpuShares as defined in swarm
    * Enable to use a /etc/im/logging.conf file to config logging properties
    * Bugfixes to OpenStack connector. Set default values to new versions.
    * Add GetVersion function
    * Bugfix returning protocol https in REST calls
    * Add IM_INFRASTRUCTURE_ID and IM_NODE_CLOUD_TYPE variables
    * Bugfix in REST API with auth data with new lines
    * Bugfix in ansible_executor_v2 with version ansible 2.0.1
    * Extract RADL as an external package
    * Bugfix in the ctxt_agent
    * Add logger messages to REST API
    * Add extra-ports to FogBow connector

IM 1.4.4
    * Add new org.fogbowcloud.order.resource-kind occi attribute
    * Enable to user image name and add IMAGE_UNAME config variable for OpenNebula connector
    * Bugfix in ctxt when different VMs has the same external ip
    * Improve the management of ansible galaxy roles
    * Bugfix in OCCI connector with endpoints with path
    * Enable to return REST error messages in JSON, HTML and plain text
    * Set correct permissions in some configuration files
    * Enable accept type in all REST API calls
    * Bugfix in threads management with ThreadPool
    * Bugfixes in Azure connector
    * Inprove conf-ansible recipe and set Ansible version to 2.0.2

IM 1.4.5
    * Bugfix killing ansible proceses
    * Enable to keygen in OpenNebula connector
    * Add env variable IM_DATA_DB to enable to change the DB in a container
    * Bugfox with VMRC lib and SOAPPy
    * Change winrm UnauthorizedError exception for new class Authentication

IM 1.4.6
    * Change conf-ansible recipe to use pip in case of CentOS 6
    * Improvements for VMs that reqs a priv IP but gets a public one
    * Put check_im_user in all api functions
    * Bugfix in Docker connector with CpuShares
    * Add ANSIBLE_INSTALL_TIMEOUT var
    * Create user with cloudinit in OpenStack connector
    * Improve error msg in ssh wait
    * Bugfixes in Azure connector

IM 1.4.7
    * Return 403 error in REST API when the user cannot access the infrastructure
    * Assure to kill ansible processes is case of ctxt timeout
    * Bugfix in some configuration cases
    * Bugfix not installing ansible roles defined in not master vm
    * Add im.service file add support to systemd
    * Enable to add a Storage to a running VM in the OCCI and OpenNebula connectors
    * Bugfix in OCCI not waiting the volumes on creation

IM 1.4.8
    * Bugfix setting step num in case if using contextualizes
    * Bugfix mapping ips to RADL networks in OpenStack and OpenNebula connectors
    * Bugfixes in OpenStack connector
    * Bugfixes in REST API not multithreaded
    * Bugfixes Error installing IM using pip in Ubuntu 16
    * Set restrictive permissions in the master VM data dir

IM 1.5.0
    * Remove DATA_FILE from configuration. Only DB now.
    * Change DB format. Old 1.4.X data must be updated.
    	Use the script: db_1_4_to_1_5.py to update the DB format:
    		* Install new IM 1.5.0 version.
    		* In case that you were using a DATA_FILE to store the IM data (the default option in old version of IM), define the DATA_DB in the im.cfg file. 
    		* Execute the script db_1_4_to_1_5.py (https://raw.githubusercontent.com/grycap/im/master/scripts/db_1_4_to_1_5.py).
    			* In case that you were using a DATA_FILE you have to specify it as the first parameter of the script.
    			* If you were using a DATA_DB to store your data this parameter is not needed.
    		* The data will be moved to the new format and old data will be renamed as table inf_list_XXXXXX.
    * Remove use of insecure Pickle data.
    * Add Vault support.
    * Bugfix with sqlite databases.
    * Fix some Kubenetes connector errors.
    * Improve Docker connector.
    * Bugfix killing child processes.
    * Error in GCE connector in case of multiples nodes.
    * Add FW creation support in GCE connector.
    * Move connectors from httplib to requests lib enhancement.
    * Improve data management in DB to enable HA enhancement.
    * Move Azure connector to Resource Groups API enhancement.
    * Change SOAPpy lib to suds.
    * Add support for OpenStack pool name in OCCI connector.

IM 1.5.1
    * Fix error configuring VMs with sudo with password.
    * Improve load data.
    * Fix Bug in IM in HA mode getting old data.
    * Merge correctly local /etc/hosts with IM generated data.
    * Bootstrap ansible master VM with python if it does not have it installed.
    * Fix Error configuring VMs with sudo with password.
    * Fix errors in EC2, GCE and OCCI connectors.
    * Add new timeout config value for SSH access.
    * Add support for cheroot library.

IM 1.5.2
    * Improve error messages in case of internal connector errors.
    * Add Python 3 compatibility.
    * Improve VM launch paralelism.
    * Enrich the logging entries + stack trace with the infra id.
    * Improve OCCI cloud_init data process.
    * Add VMINFO_JSON conf var to enable the GetVMInfo function return JSON RADL.

IM 1.5.3
    * Fix errors with python3
    * Fix error in some SFTP functions in SSH class.
    * Change default value of REMOTE_CONF_DIR to /var/tmp.
    * Enable to specify a port range in outports.
    * Add functions to create VM snapshots.
    * Fix error in OCCI conn setting public key.
    * Improve SG management in connectors EC2 and OpenStack.
    * Add support to OTC.
    * In case of hybrid infrastructures some connector will not remove all resources.
    * Select a random pool in case of OpenStack site in OCCI conn.
    * Detach volumes before removing it in OCCI conn.
    * Support OpenStack calls with VOMS proxies.

IM 1.5.4
    * Fix error in contextualization nodes with private keys.
    * Improve OpenNebula conn with new ver. 5 functions as SGs.
    * Improve error mesage in case of invalid proxy in OCCI conn.
    * Fix error in Azure connector creating a VM with two nics.
    * Fix error in Azure connector creating Storage Account with more than 24 chars.

IM 1.5.5
    * Fix error getting IP info in OCCI conn.
    * Enable to reset the add_public_ip_count in the OCCI/OST conns.
    * Improve Azure instance_type selection.
    * Improve GCE instance type selection.
    * Manage DNS records in EC2, Azure and GCE connectors.
    * Fix error in Azure conn creating a VM with only a public net attached.

IM 1.6.0
    * Improve getting Public network name in OCCI conn enhancement P2
    * Improve Ansible contextualization to scale more than 50 VMs
    * Add Support Custom instance types in Google Conn
    * Implements Delete SGs in ONE conn only in last VM
    * Fix error getting contmsg output in case of use colors
    * Enable to set a limit in the number of parallel ctxt processes
    * Fix error in SSH module in sftp_put_dir if src dir ends with /
    * Fix SSL verification error in windows
    * Enable to add IPs in OCCI conn in AlterVM
    * Fix error in OpenStack conn trying to assing a floating IP to VM with public IP
    * Wait SSH access to VMs only in one ctxt task
    * Create only one storage account per Infrastructure instead of per VM in Azure conn.
    * Improve save data in VM creation process
    * Fix Error creating NGS in Azure conn
    * Return false if VM does not exists in updateVMInfo
    * Fix error creating NSG in Azure conn if port 22 is set in outports.
    * Update Ansible roles in Master node in reconfiguration.
    * Fix error in Azure conn creating subnet.
    * Fix error in Context. process in basic test in SSH tests.

IM 1.6.1
    * Fix error in ctxt process in some cases in OpenStack sites.
    * Fix error launching IM with Ansible 2.4.0.

IM 1.6.2
    * Enable config_drive option in OpenStack conn.
    * Improve wait_ssh_access function to test 22 port in case of Dockers.
    * Do not force install galaxy roles on basic task.
    * Enable to specify a name of a security group in the RADL.
    * Fix Ctxt process does not correctly stops in case of failure in one internal step.
    * Add support for Keystone v3 in OCCI connector.
    * Add support access RADL properties from Ansible recipes.

IM 1.6.3
    * Enable to reuse keystone tokens in OCCI conn.
    * Add support to specify the project in case of OCCI OpenStack sites.
    * Add the Inf ID in all the related log messages.
    * Fix error in auth process in old OpenStack sites.
    * Fix error setting Hostname in Docker, Kubernetes and AzureClassic conns.
    * Fix error connecting with Synefo OCCI sites.
    * Fix error deleting VM in OCCI OpenNebula sites.

IM 1.6.4
    * Store tenant and project in OCCI connector.
    * Fix error validating keystone token in OCCI conn.
    * Decrease timeout getting ansible process results.
    * Enable to get the initial infrastructure contextualization log.

IM 1.6.5
    * Homogenize Inf ID log message
    * Fix error cpu.count parameter is ignored in OpenStack conn.
    * Fix ansible_version is not available in ctxt process.

IM 1.6.6
    * Fix authorization file format does not allow passwords that contain ";".
    * Improve error message in ONE conn in case net without leases.
    * Fix error using disks.free_size in connectors.
    * Add retries in Azure RG deletion.
    * Avoid raising error in case that one auth line does not have the type field.

IM 1.6.7:
    * Fix error with the update of pyOpenSSL package causes Ansible error.
    * Fix error contextualizing docker containers.
    * Improves performance deleting an infra when configuring it.
    * Fix error in EC2 conn getting security groups in case of VPC usage.
    * Improve AlterVM function to allow receive complete RADL.
    * Add --version option in im_service.py.
    * Fix error reconfiguring nodes in case of addition of nodes.
    * Avoid "Failed to lock apt for exclusive operation" in contextualization.

IM 1.7.0:
    * Return correct URL path when IM is behind a nginx proxy (or similiar)
    * Fix error in case of Max contextualization time passed the nodes are maintained in running state.
    * Add availability_zone field in OpenStack conn.
    * Fix error showing error messages with special characters.
    * Fix error in occi connector in case of setting and slash at the end of the host URL.
    * Move FogBow connector to requests library
    * Enable to reference an existing volume in OCCI conn
    * Fix error Resources in Azure are not properly deleted and IM returns "successfully destroyed"
    * Fix error GCE conn assing public IPs to all VMs.
    * Fix error using vault recipe options with ubuntu 2.4
    * Fix than user/pass credentials can access OpenID infras
    * Enable to create an infrastructure async
    * Return IM list in correct order (by creation)
    * Add TOSCA support por managing node Endpoints
    * Fix error processing TOSCA node artifacts as lists
    * Improve VM launch paralelism
    * Add VM creation retry in conns
    * Change the behaviour en case of VM launch failure.
    * Add TOSCA support for REST AlterVM function
    * Add TOSCA support from INDIGO fork
    * Add export and import functions in REST API
    * Change in the DB schema in the case of MySQL DB. This command must be made
      in the current DB:
			ALTER TABLE `inf_list` ADD COLUMN `rowid` INT AUTO_INCREMENT UNIQUE FIRST;

IM 1.7.1:
    * Fix problems with nodes with IPv6 in OpenStack conn.
    * Fix Azure conn does not get the correct state (in case of suspended VMs).
    * Enable to specify pool_name in the network provider_ip in OpenStack conn.

IM 1.7.2:
    * Fix Error setting the INF_CACHE_TIME conf variable time.
    * Add support to availability_zone in tosca.policies.Placement.
    * Enable to set instance_tags in connectors.
    * Fix error in Azure conn: VM disks are not deleted when VM is finalized, only when Infrastructure is destroyed.

IM 1.7.3:
    * Fix error getting VM info in case of having an HD added.
    * Improve OpenStack network management.
    * Enable to set poolname in the TOSCA docs.
    * Error when trying to attach a storage in OCCI (OpenStack sites).

IM 1.7.4:
    * Fix error OCCI connector does not correctly AlterVM adding/removing ips.
    * Add VERIFI_SSL var.
    * Improve error messages in Async call.

IM 1.7.5:
    * Add option to disable XML-RPC API
    * Enable hybrid deployment
    * Create a connector to Apache CloudStack
    * Fix error reporting memory units in OCCI connector
    * Fix error deleting OCCI infrastructure: Volume deleting returns forbidden and takes too long
    * Fix error with OCCI server 2.0.4 authentication error
    * Fix problem installing specific branch of Ansible galaxy roles
    * Fix error in REST API in case of strange char in ansible output
    * Add support to disk.*.image_url in OpenStack connector
    * Fix error detecting ansible process end
    * Enable to specify spot to EC2 instances in TOSCA
    * Get EC2 instances info from ec2instances.info
    * Fix error geting the subnets of the default VPC on EC2 conn
    * Add volume_id to TOSCA BlockStorage type

IM 1.7.6:
    * Change FogBow connector to new APIs.
    * Use merge_how option in cloud-init.
    * Fix error VMS with Public IP cannot reach each other.
    * Enable to return TOSCA data with REST API: #719
    * Improve GCE conn instance type selection: #717
    * Order network in OpenStack conn to set public first:#710
    * IM is not mounting a disk in case of setting disk.X.image.url: #705
    * Error in ctxt process: #703
    * Return off in case of 404 message in OCCI: #694
    * Simplify Ansible API code: #680
    * Update Azure conn to new Auth methods: #589
    * Enable to open ports in SG in private nets in TOSCA: #687
    * Enable to link a VM with an existing disk in Azure conn: #590

IM 1.7.7:
    * Enhance public network detection in OCCI conn.
    * Add support of Federated networks in FogBow conn.
    * Improve token check in OCCI conn.
    * Fix created volumes are not deleted in EC2 conn.

IM 1.8.0:
    * Add RebootVM function.
    * Fix error reporting memory units in OCCI connector.
    * Add support to MongoDB.
    * Fix error Unable to get cloud-init contextualization to work with GCE in 1.7.5 & above.
    * Enable to force OpenID auth.
    * Do not stop ctxt process in all VMs in case of failure in a previous step.
    * Fix error contextualization never ends if a VM is deleted during context step.

IM 1.8.1:
    * Add check YAML in reconfigure operation.
    * Fix error in ctxt process when adding a new disk.
    * Fix error in OpenStack conn if image_url or network_url not set.
    
IM 1.8.2:
    * Fix error port 22 is not opened in private nets.
    * Fix error in directory creation in case of using external ansible host.
    * Enable to set ansible module version.
    * Fix error attaching volumes in OCCI conn (OpenNebula site).
    * Fix error in OCCI conn contacting with KeyStorm.
    * Remove new line characters inserted into cloud-init shell scripts
    * Enable to create Azure VM from user disk.
    * Enable to set cidr in Fogbow federated networks.
    * Add node creation error message in CloudStack conn.
    * Add sleep among ctxt agent task retries.

IM 1.8.3:
    * Fix error getting keystone token in OCCI conn.
    * Fix error reconfiguring with a new RADL.
    * Remove ec2 classic supoort.
    * Add error messages in case of error creating volumes.
    * Remove keypair creation in EC2 conn.
    * Add missing volume_url parameter to OpenStack conn.
    * Fix errors with PyYAML version 5.1.
    * Fix Keypairs left behind on OpenStack.
    * Handling of special characters in error messages from OpenStack.
    * Fix error adding two volumes to a VM in OCCI conn.
    * Enable network creation in connectors EC2, OpenStack and GCE.
    * Fix error in openstack conn in case of setting auth data with a host without port.
    * Fix error in OpenNebula conn in case of error in function call.

IM 1.8.4:
    * Fix error 500 is returned in case of TOSCA parser errors.
    * Fix error on infrastructure creation the VM status is unknown instead of pending.
    * Fix error some floating IPs does not appear in the IM ctxt config files.
    * Fix error adding a floating IP when there is a floating ip free.
    * Change FogBow connector to new APIs (Buzios).
    * Get last version of AppDB image in OCCI conn.
    * Enable to add routes in GCE conn.
    * Fix Issues with Ansible 2.8.
    * Fix error creating FW in GCE conn if outports is empty.

IM 1.8.5:
    * Enable CIDR selection in network creation in OpenStack conn.
    * Fix error infrastructure not correctly deleted if destroy is sent in initial stage.
    * Fix error procesing TOSCA document if a policy does not have properties field.
    * Fix error listing Routers in OpenStack conn.
    * Fix error deleting FW in GCE conn.
    * Fix error in OpenNebula conn in case API endpoint is behind a reverse proxy.
    * Fix error deleting infra in case of Opennebula 4.8 trying to delete security groups.
    * Add requirements in FogBow conn.
    * Enable to specify the cluster to deploy the VM on OpenNebula conn.
    * Support for adding block storage and networks to running VMs with OpenStack.
    * Fix problems using tokens with OpenStack.
    * Fix error in ctxt process testing ssh connection.
    * Fix error parsing TOSCA in case of implemetation is a dict.
    * Enable to filter the list of infrastructures.
    * Optional tenant name for OpenStack using VOMS authentication.
    * Fix SSH reverse tunnels does not work in IM service with HTTPS.
    * Enable to specify GPU and SGX in Fogbow conn.
    * Improve TOSCA network management to create L2 nets.
    * Fix error attaching a new disk in OCCI conn.

IM 1.8.6:
    * Fix error in SSH reverse tunnels in case of using IM auth token.
    * Enable to boot IM in "ReadOnly" modes.
    * Enable to force the deletion of an infrastructure.
    * Fix error attaching new disks in OCCI conn in OpenNebula site.
    * Fix error in Network mapping in case of using CIDR.
    * Enable to specify GPU and SGX in Fogbow conn.
    * Fix error assigning target to disks with image url in OpenNebula conn.
    * Enable to use appdb urls in OpenStack conn.
    * Fix error loading infra data from DB.
    * Fix error in hybrid clusters, no WN deployed in external site.
    * Fix error creating GCE FW.
    * Enable to specify the snapshot name in disk url in EC2 conn.

IM 1.9.0:
    * Get device info from disks on OpenStack conn.
    * Fix error setting keypair name as public_key in the EC2 conn.
    * Enable to set volume_type in OpenStack conn.
    * Fixed IP is not attached to the VM in OpenStack conn.
    * Fix error do not release floating IPs if they are not created by the IM in OpenStack conn.
    * Fix error new line chars removed in TOSCA values.
    * Remove added VMs in case that all of them fails in the addition process.
    * Fix error OpenStack_2_NodeDriver object has no attribute 'get_floating_ip'.
    * Add deleting state.
    * Error is shown if a VM does not set the image in case of async creation.

IM 1.9.1:
    * Improve network creation with wildcard (192.168.*.0/24).
    * Fix intermittent errors in SSH connections.
    * Fix ssh_connect_errors count must be reset when a ssh connection is ok.
    * Fix check_ctxt_process thread dies and contextalization never ends.
    * Fix error not setting network_type in TOSCA network.
    * Enable to mount nvme disks in EC2.
    * Fix error merging TOSCA documents.
    * Fix error getting VM errors in the cont msg in case of all VMs has failed.
    * Fix error updating VM info in OpenStack conn.

IM 1.9.2:
    * Fix error processing tosca.nodes.network.Port requirements in long format.
    * Fix CloudStack VMs start in Stopped state.
    * Fix error adding nodes in third site in Hybrid case with TOSCA.
    * Enable to configure infrastructures where port SSH is closed by organization firewalls.
    * Enable to configure infrastructures without any VM with public IP.
    * In reconfigure do not change master VM.
    * Fix error selecting master VM.
    * Fix error in get_nets_common_cird if cidr is not set.
    * Fix error creating VPC in case of common network do not uses /16 range.
    * Fir error adding routers in EC2 conn.

IM 1.9.3:
    * Support for ex_tenant_domain_id due to change in libcloud.
    * Error getting EC2 instance types.
    * Error deleting SGs in some OpenStack sites.

IM 1.9.4:
    * Reduce the number of SSH logins.
    * Fix python 3 issues.

IM 1.9.5:
    * Return the dns_name of a VM with the special string #N# correctly replaced.
    * TOSCA not correctly managed in case of Relationships with interfaces defined in custom types.
    * Fix error returning incorrect error msg in VM creation in OpenStack conn in case of error deleting SG.
    * Fix error returning TOSCA function values.
    * Enable CORS.
    * Fix incorrect contextualizarion in case of using vault password.
    * Fix IP public not attached in case of disabled contextualization.

IM 1.9.6:
    * Return OpenStack and OpenNebula error in case of failed VM.
    * Enable to request GPUs in OpenStack conn.
    * Add Linode support.
    * Fix error when reading contextualization log in case of "strange" chars.
    * Update ansible version to avoid errors in Ubuntu 20.04.

IM 1.10.0:
    * Race condition makes successsfully deleted infrastructure not to be deleted.
    * Fix error in CentOS 8 Contextualization.
    * Add Orange Cloud connector.
    * Use verify_ssl config option in all the IM code.
    * Enable to set the ansible version to install per infrastructure.
    * Add new API functions to get Cloud providers info.
    * Move contextualization to python3 as default.
    * Enable to set instance_tags using TOSCA.

IM 1.10.1:
    * Fix error destroying OpenStack infrastructure when dettaching SGs.
    * Only show active images in OpenStack and OpenNebula conn.
    * Enable to request GPUs in TOSCA.
    * Improve OpenStack flavor selection.

IM 1.10.2:
    * Fix error mapping OpenNebula nets.
    * Fix error getting IPv4 IP in OpenStack conn.
    * Create EGI connector.
    * Implement disk_size TOSCA compute property.
    * Add IM_NODE_CLOUD_SERVER variable in ansible variables.

IM 1.10.3:
    * Fix In TOSCA If volume id is set, mount_path is ignored.
    * Add suppport for ansible host in TOSCA.
    * Fix OpenNebula memory quota is returned in MB and should be in GB.
    * Fix error in ctxt in case of ansible uses python2 but not setuptools is installed.
    * Fix error in context if IM remote dir is deleted.
    * Fix error in OpenStack getting sda as the device of an attached volume.
    * Use ansible parted to create partitions in ctxt.

IM 1.10.4:
    * Enable to create ephemeral disks in OpenStack conn.
    * Fix error setting boot disk size in OpenStack conn.
    * Use default installed ssh key to connect with proxy hosts if creds are not provided.
    * Add support to proxy_host in TOSCA
    * Openstack: deploy OS image in a volume.

IM 1.10.5:
    * Fix error in AppDB not enabling using archived images.
    * Raise error in case of proxy_host is set but no proxy_credential is specified in TOSCA.
    * Show error message in VM log in case of exception adding port to SG in OpenStack conn.
    * Fix error installing Ansible in CentOS 7.

IM 1.10.6:
    * Fix SSH connection with proxy hosts not closed.
    * Fix Infrastructure context raises Max context time but it remains in state running.
    * Add net_interface.0.additional_ip support in OST.
    * Enable to filter disabled OpenStack flavors.
    * Fix TOSCA Configure interface.

IM 1.10.7:
    * Fix TOSCA endpoint ports not correctly processed.
    * Enable to access infrastructure using multiple IM credentials.
    * Fix Flavor extra specs are not get on OST conn.
    * Initial integration EGI Dynamic DNS service. 
    * Fix symbol & is not supported in cloud ids.
    * Add vault credentials support.
    * Fix error in case of declaring multiple local_storage in TOSCA node.
    * Improve resize VM functions.
    * Fix errors in contextualization in case of unnatended apt process running.

IM 1.10.8:
    * Open SSH port on networks with proxy host.
    * Add OIDC Access Token inside the VM.
    * Enable to set OpenStack microversion.
    * Fix error in EGI connector using ost:// images.
    * Fix error setting a tag with "." in OpenNebula and GCE conns.

IM 1.11.0:
    * Fix error accessing the same OpenStack site using different project id.
    * Fix error cloud id is set in deploys of the infrastructure RADL.
    * Enable to define appdb images without setting site name.
    * Enable to use default values in attributes.
    * Add disable contextualize option in VMs.
    * Fix error setting gpu specs in EC2 conn.
    * Add suport to OSCAR services.
    * Enable to share or change the owner of an infrastructure.
    * Error using ServicePrincipalCredentials in Azure conn.
    * Remove AzureClassic connector.
    * Improve Azure connector using one single RG.
    * Improve TOSCA get_attribute function.
    * Enable to get Ansible task output at TOSCA output value.
    * Support for specifying the remote cidr in the public security group.
    * Fix error in EGI connector using appdb image url without setting site name.
    * Fix error getting project ids from AppDB.

IM 1.11.1:
    * Fix error in OpenStack connector setting microversion.
    * Fix vo set in appdb image in EGI conn is not compared with auth data.

IM 1.12.0:
    * Fix error creating snapshot in OpenNebula 6.
    * Fix error deleting VMs in OpenNebula 6.
    * Minor changes to support Keycloak EGI checkin.
    * Enable to set a subnet in GCE.
    * Add support for availability_zone in OpenStack conn.
    * Fix error "No compatible OpenStack auth data has been specified.".
    * In case of setting network_name using OST format (priv,pub) pub net is not assigned.
    * Fix error getting OpenNebula quotas.
    * Enable to get info from VM images from AppDB/AppDBIS or CMDB.

IM 1.13.0:
    * Add function to get the list of infrastructure owners.
    * Add an admin user.
    * Add additional_dns_names field.
    * Enable to delete nodes using TOSCA without remove_list.

IM 1.13.1:
    * Enable to delete FaaS functions using TOSCA.
    * Enable to create public router in openstack.
    * Enable to define dependencies in OSCAR conn.
    * Search VM Images in sites using name.

IM 1.13.2:
    * Enable use STS security token in EC2 connector.
    * Fix error with OpenSSL in contextualization.
    * Fix error deleting OST infras with dydns name.

IM 1.14.0:
    * Rename ansible.modules to ansible.roles .
    * Enhance proxy host support in contextualization.
    * Enable to install ansible collections.
    * Enable to use wildcards in the instance type

IM 1.15.0:
    * Fix error resizing VMs.
    * Enable to set root disk size in EC2, Azure and GCE conns.
    * Return error if instance is not get in stop, start, reboot ops in EC2 conn
    * Fix error in OSCAR or Lambda cons with env variables with ":"
    * Improve performance in Infrastructure List operation.
        WARNING: It requires a DB update.
        Please make a copy of the DB before applying the script.
        Use scripts/db_1_14_X_to_1_15_X.py to update it.
        It can be used with a docker image with this comand:
        In case of SQLITE:
        docker run --rm -v /etc/im/test.dat:/test.dat -ti ghcr.io/grycap/im:db_1_14_15 python3 /db_1_14_X_to_1_15_X.py "sqlite:///test.dat"
        I case of MySQL:
        docker run --rm ti ghcr.io/grycap/im:db_1_14_15 python3 /db_1_14_X_to_1_15_X.py "mysql://username:password@server/db_name"
    * Add requests-cache to improve performance in TOSCA parsing

IM 1.16.0:
    * Fix error parsing FaaS Functions storage providers.
    * Fix concurrency error in Lambda conn.
    * Fix error in disk info in VMs in OpenStack when root disk is resized.
    * Improve K8s conector.

IM 1.17.0:
    * Fix error installing collections.
    * Enable to configure an OIDC group to access the IM.
    * Fix error with ansible versions 2.15 and higher.
    * Add resource estimation function.
    * Move REST API to Flask.
    * Return OpenAPI Spec in REST root path.
    * Update IM setup process to use pyproject,toml
    * Fix error deleting router in OpenStack.
    * Fix error floating IP is not released in OpenStack.
    * Do not create router in OST if no networks are created.

IM 1.17.1:
    * Add support to other format SSH keys.
    * Speed up Ansible installation using newer versions.
    * Fix problem with 0 disk flavors in OpenStack.
    * Flush Inf data to DB in case of service termination.

IM 1.18.0:
    * Enable to get IM stats.
    * Migrate EC2 conn to boto3 library.
    * Fix error attaching floating IP in OpenStack nodes with more that 1 net.
    * Fix error loading non RSA SSH keys.
    * Fix incorrect XiB to XB unit convesion.
    * Install ansible in a virtualenv.
    * Fix no private IPs for VMs created on OpenStack.
    * Enable to create swap partition.
    * Fix error with OIDC admin user.
    * Add support for a list of admin users.
    * Update container image using Ubuntu 24.04 base.

IM 1.19.0:
    * Enable to restrict the set of TOSCA files to be processed.
    * Add OAIPMH support, showing the list of TOSCA files enabled.
    * Migrate from AppDB to new cloud-info-api (thanks to @enolfc)
    * Integration of the new DyDNS API to add and remove hosts.
    * Fix error deleting IM security groups in OpenStack.
    * Return public IPs and GPUs in EstimateResouces

IM 1.19.1:
    * Enable auth data in JSON format
    * Enable to filter ips by project in OST conn
    * Fix error caused by the Removal of DSS key algorithm support in Paramiko package
    * Enable to specify admin users using OIDC groups
    * Improve image list in Azure conn.
    * Fix storage estimate in K8s conn with configmaps.
    * Fix issue with Almalinux SO contextualization.
