AIX Open Source

 View Only

AIX7.2 image (TL5S02) & cloud-init problems

  • 1.  AIX7.2 image (TL5S02) & cloud-init problems

    IBM Champion
    Posted Mon May 17, 2021 12:16 PM
    I am updating my AIX72 Default PowerVC (I am using PowerVC 1.4.4.2) installation image to the latest version (7200-05-02-2114)

    After the update cloud-init is not functioning properly.
    Standard modules are run fine, but none of fhe commands in the runcmd section are executed

    I am using cloud-init-0.7.5-4.2.ppc
    I tried also updating to cloud-init-0.7.5-4.3.ppc, but after that cloud-init did not work at all; did not run ANY commands..

    Errors in Cloud-init logs say:

    Cloud-init v. 0.7.5 running 'modules:config' at Mon, 17 May 2021 06:04:09 EET. Up 171.57048893 seconds.
    2021-05-17 09:04:09,987 - util.py[DEBUG]: Cloud-init v. 0.7.5 running 'modules:config' at Mon, 17 May 2021 06:04:09 EET. Up 171.57048893 seconds.
    2021-05-17 09:04:09,991 - importer.py[DEBUG]: Looking for modules ['cc_emit_upstart', 'cloudinit.config.cc_emit_upstart'] that have attributes ['handle']
    2021-05-17 09:04:09,992 - importer.py[DEBUG]: Failed at attempted import of 'cc_emit_upstart' due to: No module named cc_emit_upstart
    2021-05-17 09:04:09,996 - importer.py[DEBUG]: Found cc_emit_upstart with attributes ['handle'] in ['cloudinit.config.cc_emit_upstart']
    2021-05-17 09:04:09,997 - importer.py[DEBUG]: Looking for modules ['cc_disk_setup', 'cloudinit.config.cc_disk_setup'] that have attributes ['handle']
    2021-05-17 09:04:09,998 - importer.py[DEBUG]: Failed at attempted import of 'cc_disk_setup' due to: No module named cc_disk_setup
    2021-05-17 09:04:10,008 - importer.py[DEBUG]: Found cc_disk_setup with attributes ['handle'] in ['cloudinit.config.cc_disk_setup']
    2021-05-17 09:04:10,009 - importer.py[DEBUG]: Looking for modules ['cc_mounts', 'cloudinit.config.cc_mounts'] that have attributes ['handle']
    2021-05-17 09:04:10,009 - importer.py[DEBUG]: Failed at attempted import of 'cc_mounts' due to: No module named cc_mounts
    2021-05-17 09:04:10,014 - importer.py[DEBUG]: Found cc_mounts with attributes ['handle'] in ['cloudinit.config.cc_mounts']
    2021-05-17 09:04:10,014 - importer.py[DEBUG]: Looking for modules ['cc_ssh_import_id', 'cloudinit.config.cc_ssh_import_id'] that have attributes ['handle']
    2021-05-17 09:04:10,015 - importer.py[DEBUG]: Failed at attempted import of 'cc_ssh_import_id' due to: No module named cc_ssh_import_id
    2021-05-17 09:04:10,019 - importer.py[DEBUG]: Found cc_ssh_import_id with attributes ['handle'] in ['cloudinit.config.cc_ssh_import_id']
    2021-05-17 09:04:10,020 - importer.py[DEBUG]: Looking for modules ['cc_locale', 'cloudinit.config.cc_locale'] that have attributes ['handle']
    2021-05-17 09:04:10,021 - importer.py[DEBUG]: Failed at attempted import of 'cc_locale' due to: No module named cc_locale
    2021-05-17 09:04:10,023 - importer.py[DEBUG]: Found cc_locale with attributes ['handle'] in ['cloudinit.config.cc_locale']
    2021-05-17 09:04:10,024 - importer.py[DEBUG]: Looking for modules ['cc_set_passwords', 'cloudinit.config.cc_set_passwords'] that have attributes ['handle']
    2021-05-17 09:04:10,025 - importer.py[DEBUG]: Failed at attempted import of 'cc_set_passwords' due to: No module named cc_set_passwords
    2021-05-17 09:04:10,030 - importer.py[DEBUG]: Found cc_set_passwords with attributes ['handle'] in ['cloudinit.config.cc_set_passwords']
    2021-05-17 09:04:10,030 - importer.py[DEBUG]: Looking for modules ['cc_package_update_upgrade_install', 'cloudinit.config.cc_package_update_upgrade_install'] that have attributes ['handle']
    2021-05-17 09:04:10,031 - importer.py[DEBUG]: Failed at attempted import of 'cc_package_update_upgrade_install' due to: No module named cc_package_update_upgrade_install
    2021-05-17 09:04:10,036 - importer.py[DEBUG]: Found cc_package_update_upgrade_install with attributes ['handle'] in ['cloudinit.config.cc_package_update_upgrade_install']
    2021-05-17 09:04:10,036 - importer.py[DEBUG]: Looking for modules ['cc_landscape', 'cloudinit.config.cc_landscape'] that have attributes ['handle']
    2021-05-17 09:04:10,037 - importer.py[DEBUG]: Failed at attempted import of 'cc_landscape' due to: No module named cc_landscape
    2021-05-17 09:04:10,040 - importer.py[DEBUG]: Found cc_landscape with attributes ['handle'] in ['cloudinit.config.cc_landscape']
    2021-05-17 09:04:10,040 - importer.py[DEBUG]: Looking for modules ['cc_timezone', 'cloudinit.config.cc_timezone'] that have attributes ['handle']
    2021-05-17 09:04:10,042 - importer.py[DEBUG]: Failed at attempted import of 'cc_timezone' due to: No module named cc_timezone
    2021-05-17 09:04:10,047 - importer.py[DEBUG]: Found cc_timezone with attributes ['handle'] in ['cloudinit.config.cc_timezone']
    2021-05-17 09:04:10,048 - importer.py[DEBUG]: Looking for modules ['cc_puppet', 'cloudinit.config.cc_puppet'] that have attributes ['handle']
    2021-05-17 09:04:10,049 - importer.py[DEBUG]: Failed at attempted import of 'cc_puppet' due to: No module named cc_puppet
    2021-05-17 09:04:10,051 - importer.py[DEBUG]: Found cc_puppet with attributes ['handle'] in ['cloudinit.config.cc_puppet']
    2021-05-17 09:04:10,052 - importer.py[DEBUG]: Looking for modules ['cc_chef', 'cloudinit.config.cc_chef'] that have attributes ['handle']
    2021-05-17 09:04:10,053 - importer.py[DEBUG]: Failed at attempted import of 'cc_chef' due to: No module named cc_chef
    2021-05-17 09:04:10,056 - importer.py[DEBUG]: Found cc_chef with attributes ['handle'] in ['cloudinit.config.cc_chef']
    2021-05-17 09:04:10,057 - importer.py[DEBUG]: Looking for modules ['cc_salt_minion', 'cloudinit.config.cc_salt_minion'] that have attributes ['handle']
    2021-05-17 09:04:10,058 - importer.py[DEBUG]: Failed at attempted import of 'cc_salt_minion' due to: No module named cc_salt_minion
    2021-05-17 09:04:10,060 - importer.py[DEBUG]: Found cc_salt_minion with attributes ['handle'] in ['cloudinit.config.cc_salt_minion']
    2021-05-17 09:04:10,060 - importer.py[DEBUG]: Looking for modules ['cc_mcollective', 'cloudinit.config.cc_mcollective'] that have attributes ['handle']
    2021-05-17 09:04:10,062 - importer.py[DEBUG]: Failed at attempted import of 'cc_mcollective' due to: No module named cc_mcollective
    2021-05-17 09:04:10,064 - importer.py[DEBUG]: Found cc_mcollective with attributes ['handle'] in ['cloudinit.config.cc_mcollective']
    2021-05-17 09:04:10,066 - importer.py[DEBUG]: Looking for modules ['cc_disable_ec2_metadata', 'cloudinit.config.cc_disable_ec2_metadata'] that have attributes ['handle']
    2021-05-17 09:04:10,066 - importer.py[DEBUG]: Failed at attempted import of 'cc_disable_ec2_metadata' due to: No module named cc_disable_ec2_metadata
    2021-05-17 09:04:10,068 - importer.py[DEBUG]: Found cc_disable_ec2_metadata with attributes ['handle'] in ['cloudinit.config.cc_disable_ec2_metadata']
    2021-05-17 09:04:10,069 - importer.py[DEBUG]: Looking for modules ['cc_runcmd', 'cloudinit.config.cc_runcmd'] that have attributes ['handle']
    2021-05-17 09:04:10,069 - importer.py[DEBUG]: Failed at attempted import of 'cc_runcmd' due to: No module named cc_runcmd
    2021-05-17 09:04:10,071 - importer.py[DEBUG]: Found cc_runcmd with attributes ['handle'] in ['cloudinit.config.cc_runcmd']
    2021-05-17 09:04:10,072 - importer.py[DEBUG]: Looking for modules ['cc_byobu', 'cloudinit.config.cc_byobu'] that have attributes ['handle']
    2021-05-17 09:04:10,073 - importer.py[DEBUG]: Failed at attempted import of 'cc_byobu' due to: No module named cc_byobu
    2021-05-17 09:04:10,076 - importer.py[DEBUG]: Found cc_byobu with attributes ['handle'] in ['cloudinit.config.cc_byobu']
    2021-05-17 09:04:10,078 - importer.py[DEBUG]: Looking for modules ['aix', 'cloudinit.distros.aix'] that have attributes ['Distro']
    2021-05-17 09:04:10,081 - importer.py[DEBUG]: Failed at attempted import of 'aix' due to: No module named aix
    2021-05-17 09:04:10,081 - importer.py[DEBUG]: Found aix with attributes ['Distro'] in ['cloudinit.distros.aix']
    2021-05-17 09:04:10,082 - stages.py[DEBUG]: Using distro class <class 'cloudinit.distros.aix.Distro'>
    2021-05-17 09:04:10,084 - stages.py[INFO]: Skipping modules ['emit_upstart', 'ssh-import-id', 'landscape', 'byobu'] because they are not verified on distro 'aix'. To run anyway, add them to 'unverified_modules' in config.
    2021-05-17 09:04:10,085 - helpers.py[DEBUG]: Running config-emit_upstart using lock (<cloudinit.helpers.DummyLock object at 0x30b64908>)
    2021-05-17 09:04:10,087 - cc_emit_upstart.py[DEBUG]: Skipping module named emit_upstart, no /sbin/initctl located
    2021-05-17 09:04:10,089 - helpers.py[DEBUG]: config-disk_setup already ran (freq=once-per-instance)
    2021-05-17 09:04:10,090 - helpers.py[DEBUG]: config-mounts already ran (freq=once-per-instance)
    2021-05-17 09:04:10,092 - helpers.py[DEBUG]: config-ssh-import-id already ran (freq=once-per-instance)
    2021-05-17 09:04:10,096 - helpers.py[DEBUG]: config-locale already ran (freq=once-per-instance)
    2021-05-17 09:04:10,097 - helpers.py[DEBUG]: config-set-passwords already ran (freq=once-per-instance)
    2021-05-17 09:04:10,099 - helpers.py[DEBUG]: config-package-update-upgrade-install already ran (freq=once-per-instance)
    2021-05-17 09:04:10,100 - helpers.py[DEBUG]: config-landscape already ran (freq=once-per-instance)
    2021-05-17 09:04:10,101 - helpers.py[DEBUG]: config-timezone already ran (freq=once-per-instance)
    2021-05-17 09:04:10,103 - helpers.py[DEBUG]: config-puppet already ran (freq=once-per-instance)
    2021-05-17 09:04:10,104 - helpers.py[DEBUG]: config-chef already ran (freq=once-per-instance)
    2021-05-17 09:04:10,105 - helpers.py[DEBUG]: config-salt-minion already ran (freq=once-per-instance)
    2021-05-17 09:04:10,107 - helpers.py[DEBUG]: config-mcollective already ran (freq=once-per-instance)
    2021-05-17 09:04:10,109 - helpers.py[DEBUG]: Running config-disable-ec2-metadata using lock (<cloudinit.helpers.DummyLock object at 0x30b64ac8>)
    2021-05-17 09:04:10,109 - cc_disable_ec2_metadata.py[DEBUG]: Skipping module named disable-ec2-metadata, disabling the ec2 route not enabled
    2021-05-17 09:04:10,112 - helpers.py[DEBUG]: config-runcmd already ran (freq=once-per-instance)
    2021-05-17 09:04:10,113 - helpers.py[DEBUG]: config-byobu already ran (freq=once-per-instance)
    2021-05-17 09:04:10,114 - cloud-init[DEBUG]: Ran 16 modules with 0 failures
    2021-05-17 09:04:10,154 - util.py[DEBUG]: cloud-init mode 'modules' took 0.639 seconds (0.64)
    Cloud-init v. 0.7.5 running 'modules:final' at Mon, 17 May 2021 06:04:11 EET. Up 173.478988886 seconds.
    2021-05-17 09:04:11,903 - util.py[DEBUG]: Cloud-init v. 0.7.5 running 'modules:final' at Mon, 17 May 2021 06:04:11 EET. Up 173.478988886 seconds.
    2021-05-17 09:04:11,905 - importer.py[DEBUG]: Looking for modules ['cc_rightscale_userdata', 'cloudinit.config.cc_rightscale_userdata'] that have attributes ['handle']
    2021-05-17 09:04:11,909 - importer.py[DEBUG]: Failed at attempted import of 'cc_rightscale_userdata' due to: No module named cc_rightscale_userdata
    2021-05-17 09:04:11,911 - importer.py[DEBUG]: Found cc_rightscale_userdata with attributes ['handle'] in ['cloudinit.config.cc_rightscale_userdata']
    2021-05-17 09:04:11,912 - importer.py[DEBUG]: Looking for modules ['cc_scripts_vendor', 'cloudinit.config.cc_scripts_vendor'] that have attributes ['handle']
    2021-05-17 09:04:11,912 - importer.py[DEBUG]: Failed at attempted import of 'cc_scripts_vendor' due to: No module named cc_scripts_vendor
    2021-05-17 09:04:11,917 - importer.py[DEBUG]: Found cc_scripts_vendor with attributes ['handle'] in ['cloudinit.config.cc_scripts_vendor']
    2021-05-17 09:04:11,917 - importer.py[DEBUG]: Looking for modules ['cc_scripts_per_once', 'cloudinit.config.cc_scripts_per_once'] that have attributes ['handle']
    2021-05-17 09:04:11,919 - importer.py[DEBUG]: Failed at attempted import of 'cc_scripts_per_once' due to: No module named cc_scripts_per_once
    2021-05-17 09:04:11,921 - importer.py[DEBUG]: Found cc_scripts_per_once with attributes ['handle'] in ['cloudinit.config.cc_scripts_per_once']
    2021-05-17 09:04:11,922 - importer.py[DEBUG]: Looking for modules ['cc_scripts_per_boot', 'cloudinit.config.cc_scripts_per_boot'] that have attributes ['handle']
    2021-05-17 09:04:11,923 - importer.py[DEBUG]: Failed at attempted import of 'cc_scripts_per_boot' due to: No module named cc_scripts_per_boot
    2021-05-17 09:04:11,924 - importer.py[DEBUG]: Found cc_scripts_per_boot with attributes ['handle'] in ['cloudinit.config.cc_scripts_per_boot']
    2021-05-17 09:04:11,924 - importer.py[DEBUG]: Looking for modules ['cc_scripts_per_instance', 'cloudinit.config.cc_scripts_per_instance'] that have attributes ['handle']
    2021-05-17 09:04:11,924 - importer.py[DEBUG]: Failed at attempted import of 'cc_scripts_per_instance' due to: No module named cc_scripts_per_instance
    2021-05-17 09:04:11,927 - importer.py[DEBUG]: Found cc_scripts_per_instance with attributes ['handle'] in ['cloudinit.config.cc_scripts_per_instance']
    2021-05-17 09:04:11,928 - importer.py[DEBUG]: Looking for modules ['cc_scripts_user', 'cloudinit.config.cc_scripts_user'] that have attributes ['handle']
    2021-05-17 09:04:11,928 - importer.py[DEBUG]: Failed at attempted import of 'cc_scripts_user' due to: No module named cc_scripts_user
    2021-05-17 09:04:11,930 - importer.py[DEBUG]: Found cc_scripts_user with attributes ['handle'] in ['cloudinit.config.cc_scripts_user']
    2021-05-17 09:04:11,930 - importer.py[DEBUG]: Looking for modules ['cc_ssh_authkey_fingerprints', 'cloudinit.config.cc_ssh_authkey_fingerprints'] that have attributes ['handle']
    2021-05-17 09:04:11,931 - importer.py[DEBUG]: Failed at attempted import of 'cc_ssh_authkey_fingerprints' due to: No module named cc_ssh_authkey_fingerprints
    2021-05-17 09:04:11,933 - importer.py[DEBUG]: Found cc_ssh_authkey_fingerprints with attributes ['handle'] in ['cloudinit.config.cc_ssh_authkey_fingerprints']
    2021-05-17 09:04:11,933 - importer.py[DEBUG]: Looking for modules ['cc_keys_to_console', 'cloudinit.config.cc_keys_to_console'] that have attributes ['handle']
    2021-05-17 09:04:11,936 - importer.py[DEBUG]: Failed at attempted import of 'cc_keys_to_console' due to: No module named cc_keys_to_console
    2021-05-17 09:04:11,937 - importer.py[DEBUG]: Found cc_keys_to_console with attributes ['handle'] in ['cloudinit.config.cc_keys_to_console']
    2021-05-17 09:04:11,937 - importer.py[DEBUG]: Looking for modules ['cc_phone_home', 'cloudinit.config.cc_phone_home'] that have attributes ['handle']
    2021-05-17 09:04:11,938 - importer.py[DEBUG]: Failed at attempted import of 'cc_phone_home' due to: No module named cc_phone_home
    2021-05-17 09:04:11,940 - importer.py[DEBUG]: Found cc_phone_home with attributes ['handle'] in ['cloudinit.config.cc_phone_home']
    2021-05-17 09:04:11,941 - importer.py[DEBUG]: Looking for modules ['cc_final_message', 'cloudinit.config.cc_final_message'] that have attributes ['handle']
    2021-05-17 09:04:11,943 - importer.py[DEBUG]: Failed at attempted import of 'cc_final_message' due to: No module named cc_final_message
    2021-05-17 09:04:11,946 - importer.py[DEBUG]: Found cc_final_message with attributes ['handle'] in ['cloudinit.config.cc_final_message']
    2021-05-17 09:04:11,946 - importer.py[DEBUG]: Looking for modules ['cc_power_state_change', 'cloudinit.config.cc_power_state_change'] that have attributes ['handle']
    2021-05-17 09:04:11,946 - importer.py[DEBUG]: Failed at attempted import of 'cc_power_state_change' due to: No module named cc_power_state_change
    2021-05-17 09:04:11,953 - importer.py[DEBUG]: Found cc_power_state_change with attributes ['handle'] in ['cloudinit.config.cc_power_state_change']
    2021-05-17 09:04:11,954 - importer.py[DEBUG]: Looking for modules ['aix', 'cloudinit.distros.aix'] that have attributes ['Distro']
    2021-05-17 09:04:11,957 - importer.py[DEBUG]: Failed at attempted import of 'aix' due to: No module named aix
    2021-05-17 09:04:11,957 - importer.py[DEBUG]: Found aix with attributes ['Distro'] in ['cloudinit.distros.aix']
    2021-05-17 09:04:11,957 - stages.py[DEBUG]: Using distro class <class 'cloudinit.distros.aix.Distro'>
    2021-05-17 09:04:11,967 - helpers.py[DEBUG]: config-rightscale_userdata already ran (freq=once-per-instance)
    2021-05-17 09:04:11,969 - helpers.py[DEBUG]: config-scripts-vendor already ran (freq=once-per-instance)
    2021-05-17 09:04:11,973 - helpers.py[DEBUG]: config-scripts-per-once already ran (freq=once)
    2021-05-17 09:04:11,975 - helpers.py[DEBUG]: Running config-scripts-per-boot using lock (<cloudinit.helpers.DummyLock object at 0x30b632e8>)
    2021-05-17 09:04:11,977 - helpers.py[DEBUG]: config-scripts-per-instance already ran (freq=once-per-instance)
    2021-05-17 09:04:11,981 - helpers.py[DEBUG]: config-scripts-user already ran (freq=once-per-instance)
    2021-05-17 09:04:11,982 - helpers.py[DEBUG]: config-ssh-authkey-fingerprints already ran (freq=once-per-instance)
    2021-05-17 09:04:11,984 - helpers.py[DEBUG]: config-keys-to-console already ran (freq=once-per-instance)
    2021-05-17 09:04:11,986 - helpers.py[DEBUG]: config-phone-home already ran (freq=once-per-instance)
    2021-05-17 09:04:11,988 - helpers.py[DEBUG]: Running config-final-message using lock (<cloudinit.helpers.DummyLock object at 0x30b63e68>)
    All done.
    2021-05-17 09:04:12,038 - util.py[DEBUG]: All done.
    2021-05-17 09:04:12,040 - util.py[DEBUG]: Writing to /opt/freeware/var/lib/cloud/instance/boot-finished - wb: [420] 57 bytes
    2021-05-17 09:04:12,052 - helpers.py[DEBUG]: config-power-state-change already ran (freq=once-per-instance)
    2021-05-17 09:04:12,052 - cloud-init[DEBUG]: Ran 11 modules with 0 failures
    2021-05-17 09:04:12,063 - util.py[DEBUG]: Creating symbolic link from '/run/cloud-init/result.json' => '../../opt/freeware/var/lib/cloud/data/result.json'
    2021-05-17 09:04:12,104 - util.py[DEBUG]: cloud-init mode 'modules' took 0.674 seconds (0.68)

    RPM packages installed:

     rpm -qa

    bash-4.2-9.ppc

    db-4.8.24-4.ppc

    expect-5.42.1-3.ppc

    gdbm-1.10-1.ppc

    gmp-5.1.3-1.ppc

    libyaml-0.1.4-1.ppc

    python-PyYAML-3.11-2.ppc

    python-boto-2.34.0-1.noarch

    python-configobj-5.0.5-1.noarch

    python-jsonpatch-1.8-1.noarch

    python-oauth-1.0.1-1.noarch

    python-pyserial-2.7-1.ppc

    python-six-1.3.0-1.noarch

    readline-6.2-3.ppc

    tk-8.4.7-3.ppc

    python-iniparse-0.4-1.noarch

    python-urlgrabber-3.10.1-1.noarch

    python-2.7.10-1.ppc

    python-tools-2.7.10-1.ppc

    python-setuptools-0.9.8-2.noarch

    vim-common-6.3-1.ppc

    vim-minimal-6.3-1.ppc

    zip-3.0-2.ppc

    libgcc8-8.3.0-4.ppc

    libstdc++8-8.3.0-4.ppc

    libstdc++-8-1.ppc

    libgomp8-8.3.0-4.ppc

    xz-libs-5.2.5-1.ppc

    openldap-2.4.56-2.ppc

    libtextstyle-0.20.2-1.ppc

    libiconv-1.16-1.ppc

    glib2-2.56.1-3.ppc

    sudo-1.9.5p2-1.ppc

    AIX-rpm-7.2.5.0-15.ppc

    cloud-init-0.7.5-4.2.ppc

    bzip2-1.0.6-2.ppc

    expat-2.1.0-1.ppc

    fdupes-1.51-1.ppc

    info-5.0-2.ppc

    python-argparse-1.2.1-1.noarch

    python-cheetah-2.4.4-2.ppc

    python-jsonpointer-1.0.c1ec3df-1.noarch

    python-prettytable-0.7.2-1.noarch

    python-requests-2.4.3-1.noarch

    python-xml-0.8.4-1.ppc

    sqlite-3.7.15.2-2.ppc

    tcl-8.4.7-3.ppc

    curl-7.44.0-1.ppc

    pysqlite-1.1.7-1.ppc

    python-pycurl-7.19.3-1.ppc

    yum-metadata-parser-1.1.4-1.ppc

    python-devel-2.7.10-1.ppc

    yum-3.4.3-2.noarch

    vim-enhanced-6.3-1.ppc

    unzip-6.0-3.ppc

    libgcc-8-1.ppc

    zlib-1.2.11-2.ppc

    ncurses-6.2-2.ppc

    libgomp-8-1.ppc

    cyrus-sasl-2.1.26-3.ppc

    libffi-3.2.1-3.ppc

    libunistring-0.9.10-1.ppc

    libxml2-2.9.10-1.ppc

    gettext-0.20.2-1.ppc


    I did update also sudo from the same yum repository, and that did update quite many dependency packages > so could there be some python etc conflict on my image now?

    Anyone experiencing the same / any ideas how to debug / fix the issue?

    Br,
    tommi





    ------------------------------
    Tommi Sihvo, Lead Service Architect
    TietoEVRY, Compute Services
    email tommi.sihvo@tieto.com mobile +358 (0)40 5180 Finland
    ------------------------------