The 'orch daemon add ...' command is not idempotent and can cause
duplicate (and failing) attempts to add the same mon.
Maintain the ability to add mons the old way for the benefit of testing
upgrades from early octopus versions of cephadm.
Signed-off-by: Sage Weil <sage@newdream.net>
Note that cephadm.py will no longer do anything with rgw realms and
zones. That means that the setup of rgw roles here is only useful
for the default zone and a non-multisite config.
Signed-off-by: Sage Weil <sage@newdream.net>
This is being done from ansible now. Also, it breaks when
the conf file has unqualified-search-registries but not 'registry'
entries.
Signed-off-by: Sage Weil <sage@newdream.net>
Normally the git_url is git://git.ceph.com/ceph-ci.git, which mirrors
upstream ceph-ci.git. However, the release branches aren't present there.
Allow a custom git_url so we can pull these from the main ceph.git.
Signed-off-by: Sage Weil <sage@newdream.net>
Older cephadm is not smart enough to not combine --cap-add=SYS_PTRACE
and --privileged, which some version of podman cannot handle.
For upgrades, leave off the allow_ptrace behavior since we may be starting
on one of those old versions.
See also https://tracker.ceph.com/issues/46429
Fixes: https://tracker.ceph.com/issues/48142
Signed-off-by: Sage Weil <sage@newdream.net>
rados/cephadm/smoke* does not use the install task and the adjust-ulimits
dependency is met as a part of it. create_rbd_pool needs adjust-ulimits,
so for now we will disable create_rbd_pool by default and only set it
to true for the upgrade suite.
Signed-off-by: Neha Ojha <nojha@redhat.com>
The ceph task already does this and a bunch of tests rely on this pool
being already present. Can be disabled by setting create_rbd_pool to False.
Signed-off-by: Neha Ojha <nojha@redhat.com>
This prevents the first mgr from being shut down due to lack of
appropriate placements.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
This also requires a change to cephadm.py to search for
registry entries for docker.io by 'prefix' or 'location',
and to only add the mirror if a mirror isn't already present
Signed-off-by: Dan Mick <dmick@redhat.com>
Because not all the node in teuthology config might
have any cephadm related role we should not execute
cephadm on random node.
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
This commit adds the file path of ceph log directories to the job's
info.yaml log file. The motivation behind this is, in case of job
timeout, the logs would still be tranferred to teuthology host
before nuking test machines using these ceph log directory paths in
job's info.yaml log file.
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
Check container_image_name only if ceph cluster image is not pre-defined in config.
We shouldn't care about container_image_name if there cephadm or ceph already have image defined.
Signed-off-by: Georgios Kyratsas <gkyratsas@suse.com>
Add containers registry mirror for 'docker.io' to the config
file /etc/containers/registries.conf
Since we need site based config, so each teuthology instance
could have own containers' mirror, store corresponding data
in /etc/teuthology.yaml under 'overrides/cephadm' task specific
section.
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
Adding a check for already bootstrapped clusters where the image is
already set to avoid overriding it.
Signed-off-by: Georgios Kyratsas <gkyratsas@suse.com>
I guess not using the mirror for docker based tests is ok for now.
For adding docker support, we need to:
1. change the docker config
2. restart the docker daemon
Note that Docker's config only supports to mirror the docker.io registry.
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
there is chance that /var/log/ceph (and other directories) is not
created when cephadm fails, but we always try to collect /var/log/ceph
by tar the directory on the test node and transfer it back for archiving
it. when we fail to do so, an exception is thrown, and this exception is
in turn logged as the cause of the failure instead of the one which
fails the test.
in this change, `tarfile.TarError`s is caught and ignored if it is
thrown by `misc.pull_directory()`, as normally, we don't consider it a fatal
failure when `misc.pull_directory()` fails because of `tar`. the
failures for the test are.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Add the possibility of being able to run cephadm.py on clusters that
were already bootstrapped by some other task/way so you can deploy the
rest of the daemons/services.
Signed-off-by: Georgios Kyratsas <gkyratsas@suse.com>
Allow cephadm to start up with roles like:
roles:
- - host.a
- client.0
- osd.0
- osd.1
- - host.b
- osd.2
- osd.3
Cephadm will pick the mon names (based on host) and provision all
services by default.
The cephadm task can still provision other daemons, but it may
fight with mgr/cephadm.
Signed-off-by: Sage Weil <sage@redhat.com>
Revert part of 96220c0c05 so that we still
distribute a *final* ceph.conf and admin keyring to all nodes, right after
all of the mons are up.
Signed-off-by: Sage Weil <sage@redhat.com>
In any environments it is helpful to have SYS_PTRACE so that you can
gdb attach or strace a daemon.
Leave this off by default so that the container is more secure.
Enable this in teuthology and vstart.
Signed-off-by: Sage Weil <sage@redhat.com>