Dietrich Schroff

Subscribe to Dietrich Schroff feed
Dietrich Schroff
Updated: 14 hours 32 min ago

Microsoft Azure: How to use waagent (Microsoft Azure Linux Agent)

Sat, 2019-03-16 15:35
After installation waagent on my ubunu server, i tried to use this tool.
First guess was to read the manpages, but there is no entry for waagent:
root@ubuntuserver:~# man waagent
No manual entry for waagent
See 'man 7 undocumented' for help when manual pages are not available.So for documentation you have to visit the Microsoft Azure portal:

Here are some commands i tried:
root@ubuntuserver:~# waagent -show-configuration
AutoUpdate.Enabled = True
AutoUpdate.GAFamily = Prod
Autoupdate.Frequency = 3600
CGroups.EnforceLimits = False
CGroups.Excluded = customscript,runcommand
DVD.MountPoint = /mnt/cdrom/secure
DetectScvmmEnv = False
EnableOverProvisioning = True
Extension.LogDir = /var/log/azure
Extensions.Enabled = True
HttpProxy.Host = None
HttpProxy.Port = None
Lib.Dir = /var/lib/waagent
Logs.Verbose = False
OS.AllowHTTP = False
OS.CheckRdmaDriver = False
OS.EnableFIPS = False
OS.EnableFirewall = True
OS.EnableRDMA = False
OS.HomeDir = /home
OS.OpensslPath = /usr/bin/openssl
OS.PasswordPath = /etc/shadow
OS.RootDeviceScsiTimeout = 300
OS.SshClientAliveInterval = 180
OS.SshDir = /etc/ssh
OS.SudoersDir = /etc/sudoers.d
OS.UpdateRdmaDriver = False
Pid.File = /var/run/
Provisioning.AllowResetSysUser = False
Provisioning.DecodeCustomData = False
Provisioning.DeleteRootPassword = True
Provisioning.Enabled = False
Provisioning.ExecuteCustomData = False
Provisioning.MonitorHostName = False
Provisioning.PasswordCryptId = 6
Provisioning.PasswordCryptSaltLength = 10
Provisioning.RegenerateSshHostKeyPair = False
Provisioning.SshHostKeyPairType = rsa
Provisioning.UseCloudInit = True
ResourceDisk.EnableSwap = False
ResourceDisk.Filesystem = ext4
ResourceDisk.Format = False
ResourceDisk.MountOptions = None
ResourceDisk.MountPoint = /mnt
ResourceDisk.SwapSizeMB = 0
or list all commands:
root@ubuntuserver:~# waagent -help
usage: /usr/sbin/waagent [-verbose] [-force] [-help] -configuration-path:-deprovision[+user]|-register-service|-version|-daemon|-start|-run-exthandlers|-show-configuration]

review: architecting microsoft azure solutions

Wed, 2019-03-13 15:15
Last week i read the exam ref "architecting microsoft azure solutions"

The book cover states
Designed for architects and other cloud professionals ready to advance their status, Exam Ref focuses on the critical thinking and decision-making acumen needed for success at the MCSA level. The book "Architecting Microsoft Azure Solutions" comes with 320 pages and 6 chapters. The claim of the book: "This book teaches you how to design and architect secure, highly-available, performant, monitored and resilient solutions on Azure".

The first chapter is "Design compute infrastructure". The beginning is clearly structured: Fault Domains, Availabilty Sets and Update Domains. Unfortunately, when listing the VM types, thera are various letters shown, but an explanation of the abbreviations of that letters is missing.
The sub-chapter Migration contains only many URLs. Helpful examples are not provided. The next subchapters serverless computing and microservices are not worth reading. It is not at all clear which requirements have to be met in order to build an application serverless or in a container. But there are many comparisons when serverless computing fits better than microservices.
The subchapter "Design Web Applications" loses itself in general considerations regarding availability and description of REST.
The biggest problem with Chapter 1 is that there is a lack of examples that allow the topics to be played through once. Also missing at the end of the chapter of the typical question catalog, with which one could prepare for an exam.

After chapter 1 I did not want to read any further - that would have been a mistake. For all who buy this book: skip Chapter 1!

The chapters 2 and 3 (Storage & Networking) are really good. They provide brief explanations and for every use case detailed instructions for the Azure command line or the portal including screenshots are presented. Both chapters are very well written and give an overview of the respective topics. Here is a list for the storage chapter: Blob Storage, Azure Files, Azure Disks, Azure Data Catalog, Azure Data Factory, SQL Data Warehouse, Data Lake Analytics, Analysis Services, HDInsight, SQL Database, SQL Server Stretch Database, MySQL, Postgresql , Redis Cache, Data Lake, Azure Search, Azure Time Series, Comsmos DB, MongoDB. There is no topic left open. The same applies to the network chapter.

Chapter 4 "Design security and identity solutions" is very well structured. All terms are introduced at the beginning and then various options with sequence diagrams are played through. Subsequently, the appropriate services such as Azure Active Directoy are introduced. Very nice here is the representation of the integration possibilities with ASP.Net. Otherwise, topics such as integration with Office 365 (calendar access) or key management in the cloud are highlighted.

The fifth chapter is, in my view, more an outlook: "Design solutions by using platform service". Here are the topics like AI, IoT, streaming treated. Here you can take with you, what is possible and what building blocks Azure provides.

The final chapter "Design for operations" deals with cross-functionalities such as monitoring and alarming. A wrapper for the following services will be delivered: Azure Monitor, Azure Advisor, Azure Service Health, Azure Activity Log, Azure Dashboard, Azure Metrics Explorer, Azure Alerts, Azure Log Analytics, Azure Application Insights. Almost every topic has an example including configuration via the Azure portal.

Conclusion: Except for the first chapter a very good book to get started. It is not good for exam preparation, as no questionnaires / multiple choice lists are included. It is a pity that the subchapters have no numbering and you have to navigate with the font sizes. Nevertheless, you will hardly find a faster entry into Azure.

Microsoft Azure: Administration of Virtual Networks / Diagrams

Thu, 2019-03-07 14:45
After creating my first vm on Microsoft Azure, i took a closer look at the dashboard - especially at the menu bar of the dashboard:
First point of interest was the menu item "virtual networks", which led me to the following overview:
Hm. A little bit strange, that the virtual networks just show up with a list of the resource groups (you have to create one - otherwise you are not able to launch a virtual machine). But after doing a click on the resource group, a nice overview to my virtual network was provided:

The menu bar in the middle contains the entry "diagram". So let's see, what kind of diagram Azure will present:

The green item represents the network interface card. The other three items stand for the virtual machine, the network security group and public ip address. The next three screenshots show the details you can obtain, by clicking on these icons:

Microsoft Azure: Automation with AZ cli on linux

Wed, 2019-03-06 13:51
One thing which is really important for using cloud infrastructures is to automate your tasks like starting virtual machines, creating storage, ...

It is clear, that there is a CLI for Windows, but is there also a CLI on Linux provided by Microsoft?
And really there is one:

The installation procedure can be found here.
# apt-get install apt-transport-https lsb-release software-properties-common dirmngr -y
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.      
Statusinformationen werden eingelesen.... Fertig
lsb-release ist schon die neueste Version (9.20170808ubuntu1).
dirmngr ist schon die neueste Version (2.2.4-1ubuntu1.2).
Die folgenden Pakete werden aktualisiert (Upgrade):
  apt-transport-https python3-software-properties software-properties-common software-properties-gtk
4 aktualisiert, 0 neu installiert, 0 zu entfernen und 173 nicht aktualisiert.
Es müssen 87,2 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 2.048 B Plattenplatz zusätzlich benutzt.
Holen:1 bionic-updates/universe amd64 apt-transport-https all 1.6.8 [1.692 B]
Holen:2 bionic-updates/main amd64 software-properties-common all [9.908 B]
Holen:3 bionic-updates/main amd64 software-properties-gtk all [53,6 kB]
Holen:4 bionic-updates/main amd64 python3-software-properties all [22,0 kB]
Es wurden 87,2 kB in 0 s geholt (427 kB/s).            
(Lese Datenbank ... 421429 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../apt-transport-https_1.6.8_all.deb ...
Entpacken von apt-transport-https (1.6.8) über (1.6.6ubuntu0.1) ...
Vorbereitung zum Entpacken von .../software-properties-common_0. ...
Entpacken von software-properties-common ( über ( ...
Vorbereitung zum Entpacken von .../software-properties-gtk_0. ...
Entpacken von software-properties-gtk ( über ( ...
Vorbereitung zum Entpacken von .../python3-software-properties_0. ...
Entpacken von python3-software-properties ( über ( ...
apt-transport-https (1.6.8) wird eingerichtet ...

# echo "deb [arch=amd64] $AZ_REPO main" > /etc/apt/sources.list.d/azure-cli.list

# apt-key --keyring /etc/apt/trusted.gpg.d/Microsoft.gpg adv \
>      --keyserver \
>      --recv-keys BC528686B50D79E339D3721CEB3E94ADBE1229CF
Executing: /tmp/apt-key-gpghome.D49hIjQpQ5/ --keyserver --recv-keys BC528686B50D79E339D3721CEB3E94ADBE1229CF
gpg: Schlüssel EB3E94ADBE1229CF: Öffentlicher Schlüssel "Microsoft (Release signing) " importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg:               importiert: 1

# apt-get update && apt-get install azure-cli
Die folgenden NEUEN Pakete werden installiert:
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 173 nicht aktualisiert.
Es müssen 43,9 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 398 MB Plattenplatz zusätzlich benutzt.
Holen:1 bionic/main amd64 azure-cli all 2.0.56-1~bionic [43,9 MB]
Es wurden 43,9 MB in 7 s geholt (5.905 kB/s).                                                                                                                              
Vormals nicht ausgewähltes Paket azure-cli wird gewählt.
(Lese Datenbank ... 421429 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../azure-cli_2.0.56-1~bionic_all.deb ...
Entpacken von azure-cli (2.0.56-1~bionic) ...
azure-cli (2.0.56-1~bionic) wird eingerichtet ...

After that i tried to login:
schroff@zerberus:~$ az login
Note, we have launched a browser for you to login. For old experience with device code, use "az login --use-device-code"
You have logged in. Now let us find all the subscriptions to which you have access...
    "cloudName": "AzureCloud",
    "id": "yyyy-xxxxx",
    "isDefault": true,
    "name": "Free Trial",
    "state": "Enabled",
    "tenantId": "yyyyy-xxxxxx",
    "user": {
      "name": "",
      "type": "user"
Within the login process i was redirected to my browser:

and after choosing my account the browser showed up with this message:

And then you can issue commands like:
schroff@zerberus:~$ az vm list
    "additionalCapabilities": null,
    "availabilitySet": null,
    "diagnosticsProfile": {
      "bootDiagnostics": {
        "enabled": true,

Microsoft Azure / Ubuntu: Installation waagent

Mon, 2019-03-04 10:15
If you want to build your own Linux images for Microsoft Azure, you have to use waagent. So i created a virtual machine on my local host with ubuntu server.
The installation of waagent is easy, if you know, that the package is not called waagent on ubunut but walinuxagent:
# apt install walinuxagent
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.
Need to get 170 kB of archives.
After this operation, 1,075 kB of additional disk space will be used.
Get:1 bionic-updates/main amd64 walinuxagent amd64 2.2.32-0ubuntu1~18.04.1 [170 kB]
Fetched 170 kB in 0s (400 kB/s) 
Selecting previously unselected package walinuxagent.
(Reading database ... 66707 files and directories currently installed.)
Preparing to unpack .../walinuxagent_2.2.32-0ubuntu1~18.04.1_amd64.deb ...
Unpacking walinuxagent (2.2.32-0ubuntu1~18.04.1) ...
Processing triggers for ureadahead (0.100.0-20) ...
Setting up walinuxagent (2.2.32-0ubuntu1~18.04.1) ...
update-initramfs: deferring update (trigger activated)
Created symlink /etc/systemd/system/ → /lib/systemd/system/walinuxagent.service.
Created symlink /etc/systemd/system/ → /lib/systemd/system/ephemeral-disk-warning.service.
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for initramfs-tools (0.130ubuntu3.6) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-45-generic
To get more information wether waagent is supported for your preferred distribution just check this github page:

Microsoft Azure: Where to find the logs

Fri, 2019-03-01 13:03
When working with Microsoft Azure, you want to be able to review all actions taken inside your cloud. Therefore you have to go to "monitor":
Inside the subwindow just select "activity log" and edit the filters to your needs (i added "successful):

Some of the activities can be further drilled down. For example the creation of a virtual machine lists many subactivities like "created or updated public ip address":

Oracle database 19c: documentation released

Fri, 2019-02-22 11:45
In january Oracle released the documentation for 19c:

If you are interested in the new features, take a look here:

Very nice is this link: Interactive Architecture Diagram where you can get a very good introduction to oracle database with many pictures like this one:

This new feature i find very interesting:
Root Scripts Automation Support for Oracle Database Installation
Starting with Oracle Database 19c, the database installer, or setup wizard, provides options to set up permissions to run the root configuration scripts automatically, as required, during a database installation. You continue to have the option to run the root configuration scripts manually.
Setting up permissions for root configuration scripts to run without user intervention can simplify database installation and help avoid inadvertent permission errors.
But 19c is not released for on premise, so i have to wait for testing this feature:

 Release date for Linux: Q2 2019?

Oracle VM Server: How to Upgrade Oracle Manager

Thu, 2019-02-21 14:47
Because of my connection problem to ovmcli via

ssh -l admin@localhost -p 10000
i decided to upgrade my OVM Manager.

After downloading OVM Manager i mounted the ISO image:
mount /dev/sr0 /mnt
cd /mnt
[root@oraVMManager mnt]# ls -l
insgesamt 149832
drwxr-xr-x. 7 root root      8192 18. Nov 21:00 components
-r-xr-x---. 1 root root     11556 18. Nov 20:59
-rw-r--r--. 1 root root       230 18. Nov 20:59 oracle-validated.params
-r-xr-x---. 1 root root 149109589 18. Nov 21:00 ovmm-installer.bsx
-rw-r--r--. 1 root root   4293118 18. Nov 20:55
-r-xr-x---. 1 root root      1919 18. Nov 20:59
-rw-r--r--. 1 root root       372 18. Nov 20:59 sample.yml
-r--r--r--. 1 root root      1596 18. Nov 21:00 TRANS.TBL
The upgrade procedure can be found here (Oracle Documentation). So let's start:
# ./ --installtype Upgrade

Oracle VM Manager Release 3.4.6 Installer

Oracle VM Manager Installer log file:

Verifying upgrading prerequisites ...
*** WARNING: Ensure that each Oracle VM Server for x86 has at least 200MB of available space for the /boot partition and 3GB of available space for the / partition.
*** WARNING: Recommended memory for the Oracle VM Manager server installation using Local MySql DB is 7680 MB RAM

Starting Upgrade ...

Reading database parameters from config ...

Typically the current Oracle VM Manager database password will be the same as the Oracle VM Manager application password.

Database Repository
Please enter the current Oracle VM Manager database password for user ovs:

Oracle VM Manager application
Please enter the current Oracle VM Manager application password for user admin:

Oracle Weblogic Server 12c
Please enter the current password for the WebLogic domain administrator:

Please enter your fully qualified domain name, e.g., (or IP address) of your management server for SSL certification generation []: 
Successfully verified password for user root
Successfully verified password for user appfw

Verifying configuration ...
Verifying 3.4.4 meets the minimum version for upgrade ...

Upgrading from version to version

Start upgrading Oracle VM Manager:
   1: Continue
   2: Abort

   Select Number (1-2): 1

Running full database backup ...
Successfully backed up database to /u01/app/oracle/mysql/dbbackup/3.4.4_preUpgradeBackup-20190125_051150
Running ovm_preUpgrade script, please be patient this may take a long time ...
Exporting weblogic embedded LDAP users
Stopping service on Linux: ovmcli ...
Stopping service on Linux: ovmm ...
Exporting core database, please be patient this may take a long time  ...
NOTE: To monitor progress, open another terminal session and run: tail -f /var/log/ovmm/ovm-manager-3-install-2019-01-25-051107.log

Product component : Java in '/u01/app/oracle/java'
Java is installed ...

Removing Java installation ...

Installing Java ...

DB component : MySQL RPM package

MySQL RPM package installed by OVMM was found...

Removing MySQL RPM package installation ...

Installing Database Software...
Retrieving MySQL Database 5.6 ...
Unzipping MySQL RPM File ...
Installing MySQL 5.6 RPM package ...
Configuring MySQL Database 5.6 ...
Installing MySQL backup RPM package ...

Product component : Oracle VM Manager in '/u01/app/oracle/ovm-manager-3/'
Oracle VM Manager is installed ...
Removing Oracle VM Manager installation ...

Product component : Oracle WebLogic Server in '/u01/app/oracle/Middleware/'
Oracle WebLogic Server is installed

Removing Oracle WebLogic Server installation ...
Service ovmm is deleted.
Service ovmcli is deleted.

Retrieving Oracle WebLogic Server 12c and ADF ...
Installing Oracle WebLogic Server 12c and ADF ...
Applying patches to Weblogic ...
Applying patch to ADF ...

Installing Oracle VM Manager Core ...
Retrieving Oracle VM Manager Application ...
Extracting Oracle VM Manager Application ...

Retrieving Oracle VM Manager Upgrade tool ...
Extracting Oracle VM Manager Upgrade tool ...
Installing Oracle VM Manager Upgrade tool ...
Installing Oracle VM Manager WLST Scripts ...

Dropping the old database user 'appfw' ...
Dropping the old database 'appfw' ...
Creating new domain...
Creating new domain done.
Upgrading core database, please be patient this may take a long time ...
NOTE: To monitor progress, open another terminal session and run: tail -f /var/log/ovmm/ovm-manager-3-install-2019-01-25-051107.log
Starting restore domain's SSL configuration and create appfw database tables.
Restore domain's SSL configuration and create appfw database tables done.
AdminServer started.
Importing weblogic embedded LDAP users

Retrieving Oracle VM Manager CLI tool ...
Extracting Oracle VM Manager CLI tool...
Installing Oracle VM Manager CLI tool ...

Retrieving Oracle VM Manager Shell & API ...
Extracting Oracle VM Manager Shell & API ...
Installing Oracle VM Manager Shell & API ...

Retrieving Oracle VM Manager Wsh tool ...
Extracting Oracle VM Manager Wsh tool ...
Installing Oracle VM Manager Wsh tool ...

Retrieving Oracle VM Manager Tools ...
Extracting Oracle VM Manager Tools ...
Installing Oracle VM Manager Tools ...

Retrieving ovmcore-console ...
The ovmcore-console RPM package is latest, needn't to upgrade ...
Copying Oracle VM Manager shell to '/usr/bin/' ...
Installing in '/u01/app/oracle/ovm-manager-3/bin' ...
Installing in '/u01/app/oracle/ovm-manager-3/bin' ...

Enabling Oracle VM Manager service ...
Shutting down Oracle VM Manager instance ...
Starting Oracle VM Manager instance ...

Please wait while WebLogic configures the applications...
Trying to connect to core via ovmwsh (attempt 1 of 20) ...
Trying to connect to core via ovm_shell (attempt 1 of 5)...

Installation Summary
Database configuration:
  Database type               : MySQL
  Database host name          : localhost
  Database name               : ovs
  Database listener port      : 49500
  Database user               : ovs

Weblogic Server configuration:
  Administration username     : weblogic

Oracle VM Manager configuration:
  Username                    : admin
  Core management port        : 54321
  UUID                        : 0004fb000001000019f1074e05c43aa1

There are no default passwords for any users. The passwords to use for Oracle VM Manager, Database, and Oracle WebLogic Server have been set by you during this installation. In the case of a default install, all passwords are the same.

Oracle VM Manager UI:
Log in with the user 'admin', and the password you set during the installation.

For more information about Oracle Virtualization, please visit:

3.2.10/3.2.11 Oracle VM x86 Servers and SPARC agent 3.3.1 managed Servers are no longer supported in Oracle VM Manager 3.4. Please upgrade your Server to a more current version for full support
For instructions, see the Oracle VM 3.4 Installation and Upgrade guide.

Oracle VM Manager upgrade complete.

Please remove configuration file /tmp/ovm_configA6Dpxd.

And the GUI shows after that via "help":

Microsoft Azure: account upgrade to keep going with free products

Sun, 2019-02-17 12:39
Today i got an e-mail about my azure account:

 Microsoft provides a little FAQ for this upgrading process:
So there is no option not to upgrade. "you won't be able to access any Azure services" is not really an option...

There 4 upgrade paths i can choose:
To use this account only for my blog, i decided to choose "no technical support", which is perfectly adequate.

After hitting the upgrade button, the notifications bar came up with the following message:
And the subscriptions tab inside the Azure portal shows:

Microsoft Azure: Creating a Linux machine and a first login via ssh

Wed, 2019-02-13 13:08
After having logged in to i navigated to "Virtual machines":
There i hit the "create virtual machine" button and a wizard was opened, where the following steps have to be completed:

So here are the basic settings:

Inside the basic settings you have to choose the name and a resource group (in my case i had to create a resource group, because its my first vm).

Then i had to select an image:
Below this drop down is a link "browse all images and disks". If you choose that, you get many more options:

At "Administrator account" i chose "SSH public key" i added one (this field has a built-in check function, so if there is an copy/paste error, you get an immediate response):
Then i added the following for the disks:
And i left "networking" to the defaults up to the "select inbound ports":

For "Management" i had to create a storage account. This account has to unique  (mystorage  was already taken by some other azure users).

I left "Guest config" unchanged:
And then i had to wait some seconds at "Review + create" until the "validation passed" messaged appeared.
After that i had to wait for three minutes until my vm was ready to use:

And then i got the following dashboard for my vm:
A login to this machine was successful:

The authenticity of host ' (' can't be established.
ECDSA key fingerprint is SHA256:PxIwA6+b0lfcrV//yXpFUPjY3jiD2GgxME57EYQlx9Y.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-1036-azure x86_64)

 * Documentation:
 * Management:
 * Support:

  System information as of Sat Jan 26 19:06:21 UTC 2019

  System load:  0.0               Processes:           113
  Usage of /:   4.1% of 28.90GB   Users logged in:     0
  Memory usage: 3%                IP address for eth0:
  Swap usage:   0%

  Get cloud support with Ubuntu Advantage Cloud Guest:

0 packages can be updated.
0 updates are security updates.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

Microsoft Azure: Pricing Calculator

Mon, 2019-02-11 14:18
If you are thinking about to move your server/services/apps into Micosoft Azure, the pricing calculator would be very helpful to estimate the cost:

The usage is very simple. Just use the kind of service you want to use from Microsoft Azure:
 And modify the defaults to you needs:

The problem is, that it is not so easy to calculate the number of i/o transactions for your application, but for a first start these number should be sufficient.

HP Color LaserJet MFP on Ubuntu: Scan Error during device I/O (code=9)

Tue, 2019-02-05 13:57
I decided to use a multi function printer including scanner and fax with my ubuntu systems.
First step was to download the hplip package from HP:

The installation process worked like a charme
bash ./ But running the scan utility ends up with the following error:

$ hp-scan

HP Linux Imaging and Printing System (ver. 3.19.1)
Scan Utility ver. 2.2

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

warning: No destinations specified. Adding 'file' destination by default.
Using device hpaio:/net/HP_ColorLaserJet_MFP_M278-M281?ip=
Opening connection to device...
error: SANE: Error during device I/O (code=9)After searching around the solution was the following:
"Install the plugin"?

$ hp-plugin

HP Linux Imaging and Printing System (ver. 3.19.1)
Plugin Download and Install Utility ver. 2.1

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

HP Linux Imaging and Printing System (ver. 3.19.1)
Plugin Download and Install Utility ver. 2.1

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Checking for network connection...
Downloading plug-in from:
Plugin is not accessible. Trying to download it from fallback location: []
Receiving digital keys: /usr/bin/gpg --homedir /home/esther/.hplip/.gnupg --no-permission-warning --keyserver --recv-keys 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9
Creating directory plugin_tmp
Verifying archive integrity... All good.
Uncompressing HPLIP 3.19.1 Plugin Self Extracting Archive..............................................................

HP Linux Imaging and Printing System (ver. 3.19.1)
Plugin Installer ver. 3.0

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Plug-in version: 3.19.1
Installed HPLIP version: 3.19.1
Number of files to install: 64

 Plug-in installation successful

Done.After that running hp-scan immediately creates a PNG file with the scan:

HP Linux Imaging and Printing System (ver. 3.19.1)
Scan Utility ver. 2.2

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

warning: No destinations specified. Adding 'file' destination by default.
Using device hpaio:/net/HP_ColorLaserJet_MFP_M278-M281?ip=
Opening connection to device...

Resolution: 300dpi
Mode: gray
Compression: JPEG
Scan area (mm):
  Top left (x,y): (0.000000mm, 0.000000mm)
  Bottom right (x,y): (215.899994mm, 296.925995mm)
  Width: 215.899994mm
  Height: 296.925995mm
Destination(s): file
Output file:
warning: File destination enabled with no output file specified.
Setting output format to PNG for greyscale mode.
warning: Defaulting to '/home/esther/Downloads/hpscan001.png'.

Warming up...

Reading data: [*************************************************************************************************************************] 100%  8.5 MB    
Read 8.5 MB from scanner.
Closing device.

Outputting to destination 'file':

Done.This is really fast. But if you want a GUI just use xsane...

Microsoft Azure: Regions and Availability Zones

Mon, 2019-02-04 13:07
Before running a VM or any other service inside Microsoft Azure, just a look where the servers can be placed:
This looks fairly the same as the regions at AWS.
Here a better view to europe:

 Each region has several availibility zones (same wording like AWS):
The definition give at Microsoft Azure:
RegionsA region is a set of datacenters deployed within a latency-defined perimeter and connected through a dedicated regional low-latency network.
With more global regions than any other cloud provider, Azure gives customers the flexibility to deploy applications where they need to. Azure is generally available in 42 regions around the world, with plans announced for 12 additional regions.

Availability ZonesAvailability Zones are physically separate locations within an Azure region. Each Availability Zone is made up of one or more datacenters equipped with independent power, cooling, and networking.
Availability Zones allow customers to run mission-critical applications with high availability and low-latency replication.

Java 11: JEP 333 ZGC A Scalable Low-Latency Garbage Collector

Sat, 2019-02-02 14:34
After i found this strange "No-Op Garbage Collector", i was keen, if there are some other new GC features with Java 11.

There is another JEP with the number 333:
 If you look here, the goals are:
  • GC pause times should not exceed 10ms
  • Handle heaps ranging from relatively small (a few hundreds of megabytes) to very large (many terabytes) in size
  • No more than 15% application throughput reduction compared to using G1
  • Lay a foundation for future GC features and optimizations leveraging colored pointers and load barriers
  • Initially supported platform: Linux/x64
 Inside JEP 333 there are some numbers for the performance provided:
Below are typical GC pause times from the same benchmark. ZGC manages to stay well below the 10ms goal. Note that exact numbers can vary (both up and down, but not significantly) depending on the exact machine and setup used.
(Lower is better)
avg: 1.091ms (+/-0.215ms)
95th percentile: 1.380ms
99th percentile: 1.512ms
99.9th percentile: 1.663ms
99.99th percentile: 1.681ms
max: 1.681ms

avg: 156.806ms (+/-71.126ms)
95th percentile: 316.672ms
99th percentile: 428.095ms
99.9th percentile: 543.846ms
99.99th percentile: 543.846ms
max: 543.846ms
This looks very promising. But within the limitations you can read, that it will take some more time, until this can be used:
The initial experimental version of ZGC will not have support for class unloading. The ClassUnloading and ClassUnloadingWithConcurrentMark options will be disabled by default. Enabling them will have no effect.
Also, ZGC will initially not have support for JVMCI (i.e. Graal). An error message will be printed if the EnableJVMCI option is enabled.
These limitations will be addressed at a later stage in this project.Nevertheless: You can use this GC with the command line argument
-XX:+UnlockExperimentalVMOptions -XX:+UseZGCFor more information take a look here:

Review: eBook: Saas for Dummies

Wed, 2019-01-30 14:38
As i wrote some days ago, Oracle provided this book as free download:

Here my review:

The book starts with the chapter "recognizing modern business challenges and opportunities". The author comes up with things like "business transformation starts with digital transformation" or "businesses will need to rethink every element of their business". It contains a typical opening for this topic.

The next chapter has the title "Empowering Business Managers with SaaS Solutions". The focus here lies on how to use the cloud for your sales process. One short citation: "Robust  sales  cloud  solutions  are  so  much more  than  contact  lists,  schedules,  and sources of prospects." Another focus are the advantages for HR professionals to finding and retaining top talents with the help of SaaS. For further information the following link is provided:

At page 35 of 68 chapter 3 starts. "Transforming you Business with SaaS". There are given some helpful links like "" or "" and some others.

Chapter 4 ("Choosing Your Path to the Cloud") talks about building hybrid
environments and extending apps with social, mobile and process capabilites. I think without some additional links, this is much to short.

By far the best chapter is chapter 5: "Ten (or so) Important Questions to Ask you SaaS Provider". I will not reveal these questions (and answers) on this blog - but this is really helpful. Nevertheless the answers are sometime too short.

From page 57 up to 61 a glossary is provided.

My conclusion on this book: This is a really good quickstart into SaaS but not a deep dive into this topic. Thanks to Oracle to provide it as free download.

Microsoft Azure: First steps (create an account and logging in)

Sun, 2019-01-27 02:36
After doing a lot of things with amazon webserivces (AWS) i decided to take a look an Microsoft Azure.

Starting point is

I just clicked on "Start free" and was asked to login with any already existing microsoft account (, etc). In the registration process you have to provide a phone number for verification (by call or by message) and             then your credit card information. 
No worries, microsoft offers a start with 170$ credit:

After the registration you can attend to an online course,
 but i decided to move onto the portal:
And here we go:
 Looks like the settings manager from XFCE (a linux desktop manager) ;-)

I clicked on virtual machines and of course there are listed no machines but a big blue button for adding VMs.
 But this will be topic of another posting...

eBook: Saas for Dummies: free download from

Wed, 2019-01-23 12:03
If you visited today you hit the following landing page:
And if you are interested in that book, just hit the "get saas for dummies" button and after a few clicks, you have downloaded this ebook:

68 pages is not so much - i will try to read it and give a review in a later posting.

Java 11: JEP 318 Eplison / A No-Op Garbage Collector

Sat, 2019-01-19 15:09
This week i read about the new JDK Enhancement Proposal (JEP) of Java 11.
One of my favourites is JEP 318:

The summary of this JEP says:
Develop a GC that handles memory allocation but does not implement any actual memory reclamation mechanism. Once the available Java heap is exhausted, the JVM will shut down.For which scenario could this garbage collector be useful?

If you skip to the "motivations" at the JEP, i found the following very interesting:

Performance testing. Having a GC that does almost nothing is a useful tool to do differential performance analysis for other, real GCs. [...]There are other points mentioned there which are also interesting, but this performance calibration is in my opinion one of the most important ones.

One other is important too:
Extremely short lived jobs. A short-lived job might rely on exiting quickly to free the resources (e.g. heap memory). In this case, accepting the GC cycle to futilely clean up the heap is a waste of time, because the heap would be freed on exit anyway. Note that the GC cycle might take a while, because it would depend on the amount of live data in the heap, which can be a lot.This can be quite helpful for Oracle fn or for some special docker images, where a java funtion is called and after the execution the process is terminated.
Let's if this feature will get used in the future....

Virtualbox 6.0 released

Thu, 2018-12-20 10:33
Today Oracle released virtualbox version 6.0:

 For Linux the following distributions are supported:

 So let's install the new version:

 dpkg -i virtualbox-6.0_6.0.0-127566~Ubuntu~bionic_amd64.deb 
Vormals nicht ausgewähltes Paket virtualbox-6.0 wird gewählt.
dpkg: Betreffend virtualbox-6.0_6.0.0-127566~Ubuntu~bionic_amd64.deb, welches virtualbox-6.0 enthält:
 virtualbox-6.0 kollidiert mit virtualbox
  virtualbox-5.2 liefert virtualbox und ist vorhanden und installiert.

dpkg: Fehler beim Bearbeiten des Archivs virtualbox-6.0_6.0.0-127566~Ubuntu~bionic_amd64.deb (--install):
 Kollidierende Pakete - virtualbox-6.0 wird nicht installiert
Fehler traten auf beim Bearbeiten von:
Ok - first deinstall the old version:
# dpkg -r virtualbox-5.2

(Lese Datenbank ... 421401 Dateien und Verzeichnisse sind derzeit installiert.)

Entfernen von virtualbox-5.2 (5.2.10-122088~Ubuntu~bionic) ...

Trigger für shared-mime-info (1.9-2) werden verarbeitet ...

Trigger für hicolor-icon-theme (0.17-2) werden verarbeitet ...

Trigger für desktop-file-utils (0.23-1ubuntu3.18.04.2) werden verarbeitet ...

Trigger für gnome-menus (3.13.3-11ubuntu1.1) werden verarbeitet ...

Trigger für bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) werden verarbeitet ...

Rebuilding /usr/share/applications/bamf-2.index...

Trigger für mime-support (3.60ubuntu1) werden verarbeitet ...
and once again:
# dpkg -i virtualbox-6.0_6.0.0-127566~Ubuntu~bionic_amd64.deb 
(Lese Datenbank ... 420583 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von virtualbox-6.0_6.0.0-127566~Ubuntu~bionic_amd64.deb ...
Entpacken von virtualbox-6.0 (6.0.0-127566~Ubuntu~bionic) ...
virtualbox-6.0 (6.0.0-127566~Ubuntu~bionic) wird eingerichtet ...
addgroup: Die Gruppe »vboxusers« existiert bereits als Systemgruppe. Programmende.
Trigger für systemd (237-3ubuntu10.9) werden verarbeitet ...
Trigger für ureadahead (0.100.0-20) werden verarbeitet ...
Trigger für desktop-file-utils (0.23-1ubuntu3.18.04.2) werden verarbeitet ...
Trigger für gnome-menus (3.13.3-11ubuntu1.1) werden verarbeitet ...
Trigger für bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) werden verarbeitet ...
Rebuilding /usr/share/applications/bamf-2.index...
Trigger für mime-support (3.60ubuntu1) werden verarbeitet ...
Trigger für hicolor-icon-theme (0.17-2) werden verarbeitet ...
Trigger für shared-mime-info (1.9-2) werden verarbeitet ...
The new GUI has a new submenu for each vm:

If you choose "Logs", you can directly open the logfiles for this vm:
Very nice feature!

AWS: Accessing S3 buckets from the internet and from ec2 instances

Tue, 2018-12-11 15:02
After reading about endpoints for AWS S3 i was wondering how i can use this feature.

First step was to create a bucket and just tried to access this bucket over the internet:

$ aws s3api create-bucket --bucket my.webtest --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1
    "Location": ""
And the i put this location into my browser:

This is like expected, because i did not allow public access for this bucket:

Ok. Let's try this from an EC2 instance:
$ wget
--2018-12-04 20:09:47--
Auflösen des Hostnamen » («...
Verbindungsaufbau zu (||:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 307 Temporary Redirect
--2018-12-04 20:09:47--
Auflösen des Hostnamen » («...
Verbindungsaufbau zu (||:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 403 Forbidden
2018-12-04 20:09:47 FEHLER 403: Forbidden.
This was not like expected, but how should my bucket know, that this access was from an EC2 instance beloging to the same AWS account.

Let's try to access the bucket with aws cli:
$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
To get this working you have to add an IAM role to your EC2 instance. So let's create a new role:
 choose ec2:
and AmazonS3FullAccess:
Move on (without configuring tags)

 And then attach this role to your EC2 instance:

 and choose your new "AccessToS3Role":

After that the aws cli works like expected:
[ec2-user@ip-172-31-2-99 ~]$ aws s3 ls
2018-12-04 20:02:11 my.webtest
[ec2-user@ip-172-31-2-99 ~]$ aws s3 ls my.webtest
2018-12-04 20:23:12        130 website.json
But still no access via wget possible. This is because the aws cli uses the Amazon API to access the keys which come with the IAM role attached to the ec2 instance. The wget does not know anything about these keys.