:date: 2020-08-19

==========================
Wednesday, August 19, 2020
==========================

Aha, on my machine the :ref:`getlino` test suite fails here::

  ...
  Requirement already satisfied, skipping upgrade: packaging in ./env/lib/python3.7/site-packages (from bleach) (20.4)
  Requirement already satisfied, skipping upgrade: six>=1.9.0 in ./env/lib/python3.7/site-packages (from bleach) (1.15.0)
  Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in ./env/lib/python3.7/site-packages (from packaging->bleach) (2.4.7)
  Installing collected packages: bleach
  Successfully installed bleach-3.1.5
  mysql -u root -p -e "create user 'cosi1'@'localhost' identified by 'POzS7VPLwys';"
  Enter password:

Change: the :meth:`getlino.utils.MySQL.run` method must not specify the ``-p``
option when we are running in batch.

On travis (https://travis-ci.com/github/lino-framework/getlino/builds/180007302)
it fails for another reason::

  docker.errors.APIError: 400 Client Error: Bad Request ("client version 1.39 is too new. Maximum supported API version is 1.38")

I first thought that this just means a little change in our :xfile:`.travis.yml`
file::

  pip3 install docker==1.38

But no. This results in::

  $ pip3 install docker==1.38
  ERROR: Could not find a version that satisfies the requirement docker==1.38 (from versions: 2.0.0, 2.0.1, 2.0.2, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.7.0, 3.0.0, 3.0.1, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.2.0, 3.2.1, 3.3.0, 3.4.0, 3.4.1, 3.5.0, 3.5.1, 3.6.0, 3.7.0, 3.7.1, 3.7.2, 3.7.3, 4.0.0, 4.0.1, 4.0.2, 4.1.0, 4.2.0, 4.2.1, 4.2.2, 4.3.0)
  ERROR: No matching distribution found for docker==1.38
  The command "pip3 install docker==1.38" failed and exited with 1 during .

Ecosia found `this article
<https://medium.com/@gloriapalmagonzalez/apierror-400-client-error-bad-request-client-is-newer-than-server-client-api-version-1-26-c2b6ad976751>`__
and though I don't understand Spanish, I saw that it suggests ::

  client = docker.from_env(version='auto')

Seems that this was it.

Then another problem::

  Traceback (most recent call last):
    File "/home/travis/build/lino-framework/getlino/tests/test_docker.py", line 161, in test_production_server
      res = self.run_docker_command(mastercmd.format(cmd))
    File "/home/travis/build/lino-framework/getlino/tests/test_docker.py", line 40, in run_docker_command
      ln = ln.decode('utf-8')
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 4095: unexpected end of data

I also added some "--quiet" options to :cmd:`apt-get install` and :cmd:`pip
install` commands because now that we can see the output, it's a bit too much of
it. Here is just a little fragment::

  Collecting python_dateutil
  Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)

     |█▍                              | 10 kB 2.6 MB/s eta 0:00:01
     |████▎                           | 30 kB 3.8 MB/s eta 0:00:01
     |█████▊                          | 40 kB 3.2 MB/s eta 0:00:01
     |████████▋                       | 61 kB 3.9 MB/s eta 0:00:01
     |███████████▌                    | 81 kB 3.6 MB/s eta 0:00:01
     |█████████████                   | 92 kB 3.8 MB/s eta 0:00:01
     |███████████████▉                | 112 kB 3.8 MB/s eta 0:00:01
     |█████████████████▎              | 122 kB 3.8 MB/s eta 0:00:01
     |████████████████████▏           | 143 kB 3.8 MB/s eta 0:00:01
     |███████████████████████         | 163 kB 3.8 MB/s eta 0:00:01
     |████████████████████████▌       | 174 kB 3.8 MB/s eta 0:00:01
     |███████████████████████████▍    | 194 kB 3.8 MB/s eta 0:00:01
     |████████████████████████████▉   | 204 kB 3.8 MB/s eta 0:00:01
     |███████████████████████████████▊| 225 kB 3.8 MB/s eta 0:00:01
     |████████████████████████████████| 227 kB 3.8 MB/s





How to use Ansible
==================

I opened :ticket:`3757`.

Created a file :file:`/etc/ansible/ansible.cfg` and pasted the default content from
`their example
<https://github.com/ansible/ansible/blob/devel/examples/ansible.cfg>`_

I added a first host :file:`/etc/ansible/hosts`

First success::

  $ ansible all -m ping
  [WARNING]: Platform linux on host lino-framework.org is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this. See
  https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
  lino-framework.org | SUCCESS => {
      "ansible_facts": {
          "discovered_interpreter_python": "/usr/bin/python"
      },
      "changed": false,
      "ping": "pong"
  }

I read `the mentioned page
<https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html>`__,
but didn't understand how to get rid of the warning.  I tried to set
`interpreter_python = auto_silent` in my :file:`/etc/ansible/ansible.cfg`, which
was wrong.

  $ ansible all -a "/bin/echo hello"



GitLab pages
============

I saw the "Edit on GitHub" in the Ansible docs and wondered whether GitLab has
this as well...

https://stackoverflow.com/questions/48223039/gitlab-pages-docs-generated-with-sphinx

I downloaded the example :xfile:`.gitlab-ci.yml` file
from https://gitlab.com/pages/sphinx
into the root of my ``hw`` project, I changed "." into "docs" when calling sphinx-build.

Not yet done because I want to use sphinxcontrib.youtube, which doesn't work
when installed via pip on Python 3. There is at least one fork for it, but
installing that fork requires git.