Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new container scenario #3308

Merged
merged 23 commits into from Nov 27, 2018
Merged

Add new container scenario #3308

merged 23 commits into from Nov 27, 2018

Conversation

leseb
Copy link
Member

@leseb leseb commented Nov 8, 2018

Test with podman instead of docker and also support for python 3 only.

Signed-off-by: Sébastien Han seb@redhat.com

@leseb leseb added the DNM Do NOT merge label Nov 8, 2018
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 8, 2018
@leseb
Copy link
Member Author

leseb commented Nov 8, 2018

@fultonj @gfidente FYI

@leseb leseb changed the title Add new container scenario [skip ci] Add new container scenario Nov 8, 2018
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 8, 2018
@leseb leseb changed the title Add new container scenario [skip ci] Add new container scenario Nov 8, 2018
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 8, 2018
@leseb leseb changed the title Add new container scenario [skip ci] Add new container scenario Nov 8, 2018
@leseb leseb force-pushed the podman-support branch 2 times, most recently from d54dcef to effa73b Compare November 8, 2018 14:00
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 8, 2018
@leseb
Copy link
Member Author

leseb commented Nov 8, 2018

jenkins test dev-container_podman

1 similar comment
@leseb
Copy link
Member Author

leseb commented Nov 9, 2018

jenkins test dev-container_podman

@guits
Copy link
Collaborator

guits commented Nov 9, 2018

jenkins test pipeline

@leseb leseb changed the title Add new container scenario [skip ci] Add new container scenario Nov 9, 2018
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 9, 2018
@leseb leseb changed the title Add new container scenario [skip ci] Add new container scenario Nov 12, 2018
@leseb leseb force-pushed the podman-support branch 2 times, most recently from e67555c to 44807bb Compare November 12, 2018 10:02
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 12, 2018
@leseb leseb changed the title Add new container scenario [skip ci] Add new container scenario Nov 12, 2018
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 12, 2018
@leseb
Copy link
Member Author

leseb commented Nov 12, 2018

jenkins test dev-container_podman

@leseb leseb changed the title Add new container scenario [skip ci] Add new container scenario Nov 12, 2018
@leseb leseb changed the title [skip ci] Add new container scenario Add new container scenario Nov 12, 2018
leseb and others added 22 commits November 27, 2018 12:17
Test with podman instead of docker and also support for python 3 only.

Signed-off-by: Sébastien Han <seb@redhat.com>
Since 84fcf4639140c390a7f1fcd790ba190503713f86 we now use the container
binary cli to create ceph keys instead of creating a container and
'docker execing' into it.

Signed-off-by: Sébastien Han <seb@redhat.com>
Rework all the ceph_key invocation to use either docker or podman
binary.

Signed-off-by: Sébastien Han <seb@redhat.com>
The support of set-uid was remove from Ceph during the Nautilus cycle by
the following commit: d6def8ba1126209f8dcb40e296977dc2b09a376e so this
will not work anymore when deploying Nautilus clusters and above.

Signed-off-by: Sébastien Han <seb@redhat.com>
The entity name is client.bootstrap-osd (as returned by Ceph), and not
bootstrap-osd. The build_key_path function split 'client.bootstrap-osd'
on the '.' so using bootstrap-osd fails with index out of range.

Signed-off-by: Sébastien Han <seb@redhat.com>
The previous dict was missing 2 entities:

* client.bootstrap-mgr
* client.bootstrap-rbd-mirror

So the test was failing since it expects 7 entities to match.

Signed-off-by: Sébastien Han <seb@redhat.com>
Removing bytes literals since rstrip only supports type String or None.

Signed-off-by: Sébastien Han <seb@redhat.com>
Since we are now testing on docker and podman our functionnal tests must
reflect that. So now, if we detect the podman binary we will use it,
otherwise we default to docker.

Signed-off-by: Sébastien Han <seb@redhat.com>
Make flake8 happy on the testinfra files.

Signed-off-by: Sébastien Han <seb@redhat.com>
During its initialisation both rbd-target-api and rbd-target-gw try to
open /dev/log for their syslog handler. If the device is not present the
service fails to start. Thus expose /dev/log from the host in the
container solves that problem.

Signed-off-by: Sébastien Han <seb@redhat.com>
We need to verify wether podman exists or not, if yes we use it instead
of docker.

Signed-off-by: Sébastien Han <seb@redhat.com>
Use podman or docker wether they are available or not. podman will be
prioritized over docker if present.

Signed-off-by: Sébastien Han <seb@redhat.com>
Use the new way to create keys on containerized env as introduced by: 1098b71

Signed-off-by: Sébastien Han <seb@redhat.com>
We deprecated site-docker to site-container so let's have a symlink for
backward compatibility.

Signed-off-by: Sébastien Han <seb@redhat.com>
It seems Atomic 7.5 has podman already, however this is an old version
(0.4). The podman integration is targetting RHEL 8, so Fedora is
currently the closest to that.

Signed-off-by: Sébastien Han <seb@redhat.com>
Always declare container_binary and assign it a correct value.

Signed-off-by: Sébastien Han <seb@redhat.com>
This is not needed to play these tasks on nodes that are not in rgw
group.

Always playing this code makes `shrink_mon.yml` failing.

Typical error:

```
TASK [ceph-defaults : set_fact _radosgw_address to radosgw_interface - ipv4] ***
task path: /home/jenkins-build/build/workspace/ceph-ansible-prs-dev-shrink_mon/roles/ceph-defaults/tasks/set_radosgw_address.yml:21
Thursday 22 November 2018  12:34:51 +0000 (0:00:00.154)       0:00:12.371 *****
fatal: [localhost]: FAILED! => {}

MSG:

The task includes an option with an undefined variable. The error was: 'ansible.vars.hostvars.HostVarsVars object' has no attribute u'ansible_eth1'
```

Indeed, `radosgw_interface` is the network interface on rgw only. It is
expected that this same interface doesn't exist on `localhost`, so, when
running `shrink_mon.yml`, the role `ceph-defaults` is called in
`hosts: localhost` and causes the playbook to fail.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
We need to add the right binary to do the docker exec.

Signed-off-by: Sébastien Han <seb@redhat.com>
ntp is installation is managed by the ceph-infra role.

Signed-off-by: Sébastien Han <seb@redhat.com>
Position the right condition on ceph_docker_version, activate it when
the container_binary is 'docker'.

Signed-off-by: Sébastien Han <seb@redhat.com>
Fix the tests

Signed-off-by: Sébastien Han <seb@redhat.com>
Signed-off-by: Sébastien Han <seb@redhat.com>
@leseb
Copy link
Member Author

leseb commented Nov 27, 2018

jenkins test dev-docker_cluster

@leseb
Copy link
Member Author

leseb commented Nov 27, 2018

jenkins test dev-centos7_cluster

@guits guits removed the DNM Do NOT merge label Nov 27, 2018
@mergify mergify bot merged commit bc2daae into master Nov 27, 2018
@mergify mergify bot deleted the podman-support branch November 27, 2018 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants