Ansible playbooks to deploy Ceph, the distributed filesystem.
 
 
 
 
Go to file
Dimitri Savineau cdb30bd125 container: inspect Id field instead of RepoDigests
When a container image managed by podman isn't tag anymore then the
RepoDigests field when inspecting the image doesn't return any value.
This is different from docker workflow and it breaks the ceph-ansible
container upgrade when collocated multiple services and using a non
fix container tag (like latest or 4).

$ podman images
REPOSITORY              TAG      IMAGE ID       CREATED        SIZE
docker.io/ceph/daemon   latest   680c9c0d38c3   8 days ago     957 MB
<none>                  <none>   011ee108bfc9   2 months ago   1.01 GB

$ podman inspect 680c9c0d38c3 | jq .[0].RepoDigests[0]
"docker.io/ceph/daemon@sha256:20cf789235e23ddaf38e109b391d1496bb88011239d16862c4c106d0e05fea9e"
$ podman inspect 011ee108bfc9 | jq .[0].RepoDigests[0]
null

Because this field returns "null" then the ansible task trying to
determine this value is failing

-----------------------------
fatal: [foo]: FAILED! =>
  msg: |-
    The task includes an option with an undefined variable. The error
    was: None has no element 0

    The error appears to be in
    'roles/ceph-container-common/tasks/fetch_image.yml': line 137,
    column 3, but may be elsewhere in the file depending on the exact
    syntax problem.

    The offending line appears to be:

    - name: set_fact ceph_osd_image_repodigest_before_pulling
      ^ here
-----------------------------

We don't have this behaviour with docker.

$ docker images
REPOSITORY              TAG      IMAGE ID       CREATED        SIZE
docker.io/ceph/daemon   latest   680c9c0d38c3   8 days ago     928 MB
docker.io/ceph/daemon   <none>   011ee108bfc9   2 months ago   986 MB

$ docker inspect 680c9c0d38c3 | jq .[0].RepoDigests[0]
"docker.io/ceph/daemon@sha256:45e6f28bb67c81b826acb64fad5c0da1cac3dffb41a88992fe4ca2be79575fa6"
$ docker inspect 011ee108bfc9 | jq .[0].RepoDigests[0]
"docker.io/ceph/daemon@sha256:b393a73309d72e43ca7d65cd3519036007947671e373eb59aa75a46185c52231"

Instead we should just get the Id field.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1844496

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
2020-06-16 17:06:25 +02:00
.github github: update issue report template 2020-03-25 14:52:39 +01:00
contrib remove ceph restapi references 2019-06-18 09:13:19 +02:00
docs doc: add day-2 operations documentation 2020-04-21 09:52:01 -04:00
group_vars dashboard: allow disabling grafana api ssl verify 2020-05-13 11:56:57 +02:00
infrastructure-playbooks switch_to_container: fix osd systemd regex 2020-06-16 17:04:06 +02:00
library ceph_pool: support setting application at pool creation 2020-05-16 07:31:57 +02:00
plugins ipaddrs_in_ranges: fix python indent 2019-10-28 09:23:17 +01:00
profiles Common: Add profiles 2017-07-19 11:50:03 +02:00
roles container: inspect Id field instead of RepoDigests 2020-06-16 17:06:25 +02:00
tests ceph_pool: add tests 2020-05-16 07:31:57 +02:00
.gitignore remove ceph-agent role and references 2019-06-03 13:35:50 +02:00
.mergify.yml mergify: remove merge on skip ci 2020-06-09 09:30:10 -04:00
.travis.yml tests: report coverage status for unittests 2020-05-16 07:31:57 +02:00
CONTRIBUTING.md doc: update backport section 2019-08-14 16:42:25 +02:00
LICENSE Add Ceph Playbook 2014-03-03 19:08:51 +01:00
Makefile Fixes for Makefile 2019-11-08 09:09:30 -05:00
README-MULTISITE.md docs: minor fixes to README-MULTISITE.md 2020-05-08 12:06:45 -04:00
README.rst Update Documentation example link to 3.0 2018-02-07 16:34:45 +01:00
Vagrantfile remove *docker*.yml symlinks 2020-03-31 10:03:22 -04:00
ansible.cfg ansible.cfg: do not enforce PreferredAuthentications 2019-12-09 17:15:09 -05:00
ceph-ansible.spec.in doc/tests: bump to ansible 2.9 on master 2020-03-25 08:01:27 +01:00
dashboard.yml ceph-facts: move grafana fact to dedicated file 2020-01-13 12:05:57 -05:00
dummy-ansible-hosts Fix Travis 2015-01-21 16:33:26 +01:00
generate_group_vars_sample.sh Add role definitions of ceph-rgw-loadbalancer 2019-06-06 17:12:04 +02:00
raw_install_python.yml install python-xml on SUSE/openSUSE only if python2 is installed 2019-09-27 14:19:32 +02:00
requirements.txt doc/tests: bump to ansible 2.9 on master 2020-03-25 08:01:27 +01:00
rhcs_edits.txt rhcs: update release to 5 for octopus 2020-03-26 22:00:08 +01:00
site-container.yml.sample nfs: fix nfs with external ceph cluster support 2020-03-19 18:21:16 -04:00
site.yml.sample nfs: fix nfs with external ceph cluster support 2020-03-19 18:21:16 -04:00
test.yml Remove spurious ceph. prefix for roles path in test.yml 2019-01-11 11:10:52 +01:00
tox-docker2podman.ini docker2podman: pull images from docker daemon 2020-05-13 12:02:00 +02:00
tox-external_clients.ini tests: add more coverage in external_clients scenario 2020-03-31 14:49:38 -04:00
tox-filestore_to_bluestore.ini remove *docker*.yml symlinks 2020-03-31 10:03:22 -04:00
tox-podman.ini common: add centos8 support 2020-01-08 11:13:46 +01:00
tox-update.ini remove *docker*.yml symlinks 2020-03-31 10:03:22 -04:00
tox.ini tests: force using the more recent build 2020-05-14 11:34:51 -04:00
vagrant_variables.yml.sample Fix units and add ability to have a dedicated instance 2019-06-10 18:18:46 +02:00

README.rst

ceph-ansible
============
Ansible playbooks for Ceph, the distributed filesystem.

Please refer to our hosted documentation here: http://docs.ceph.com/ceph-ansible/master/

You can view documentation for our ``stable-*`` branches by substituting ``master`` in the link
above for the name of the branch. For example: http://docs.ceph.com/ceph-ansible/stable-3.0/