22 Commits

Author SHA1 Message Date
Mark Goddard
c1c02f67dc Don't use easy_install on Ubuntu 18+
Currently easy_install is not available on Ubuntu 18+ due to [1]. In
that case, install pip via apt rather than easy_install.

[1]
https://bugs.launchpad.net/ubuntu/+source/python-setuptools/+bug/1774419

Change-Id: Id358fdb655d71490b0915680dff131cfe33f4a40
Closes-Bug: #1813492
2019-04-09 09:28:42 +01:00
Mark Goddard
48aea5637f Support Docker CE in bootstrap-servers
Kolla Ansible's bootstrap-servers command provides support for
installing the Docker engine. This is currently done using the packages
at https://apt.dockerproject.org and https://yum.dockerproject.org.
These packages are outdated, with the most recent packages from May 2017
- docker-engine-17.05.

The source for up to date docker packages is
https://download.docker.com, which was introduced with the move to
Docker Community Edition (CE) and Docker Enterprise Edition (EE).

This change adds support to bootstrap-servers for Docker CE for CentOS
and Ubuntu.

It also adds a new variable, 'enable_docker_repo', which controls
whether a package repository for Docker will be enabled.

It also adds a new variable, 'docker_legacy_packages', which controls
whether the legacy packages at dockerproject.org will be used or the
newer packages at docker.com. The default value for this variable is
'false', meaning to use Docker CE.

Upgrading from docker-engine to docker-ce has been tested on CentOS 7.5
and Ubuntu 16.04, by running 'kolla-ansible bootstrap-servers' with
'docker_legacy_packages' set to 'false'. The upgrades were successful,
but result in all containers being stopped. For this reason, the
bootstrap-servers command checks running containers prior to upgrading
packages, and ensures they are running after the package upgrade is
complete.

As mentioned in the release note, care should be taken when upgrading
Docker with clustered services, which could lose quorum. To avoid this,
use --serial or --limit to apply the change in batches.

Change-Id: I6dfd375c868870f8646ef1a8f02c70812e8f6271
Implements: blueprint docker-ce
2018-12-17 14:04:43 +00:00
caoyuan
747e8f2057 Disable the ntp service when bootstrap-servers
since we use chrony container to adjust time by default, we no need
to enable ntp service, this ps to disable it.

Change-Id: I2f1fd9269c9f8cfd0c98e0e903ba69de692473a0
2018-08-03 08:48:05 +00:00
Mark Goddard
8ec92df8e3 Make sudoers config optional in bootstrap-servers
In some environments it may not be desirable to modify the sudoers
configuration. This change makes this part of bootstrap-servers
optional, based on the create_kolla_user_sudoers variable.

Change-Id: I653403bfc5431741807edef57df58e05e679900b
2018-07-09 19:10:39 +01:00
fan_guiju
9ff5d5483e Add sudo package for bootstrap-servers
sudo package is required when we use ubuntu base on centos to deploy.

The following tasks belong to the environment check after
installation of environment-related software packages.
So, move to the post-install module.

    Create kolla user
    Add public key to kolla user authorized keys
    Grant kolla user passwordless sudo
    Ensure node_config_directory directory exists for user kolla
    Ensure node_config_directory directory exists

Change-Id: I86bf5e1df3d6568c4f1ca6f4757f08a3dd22754d
Closes-Bug: #1777571
2018-06-25 16:22:11 +08:00
Kevin Tibi
b6bab5b931 Add custom option for docker
Some options can't be add in the daemon.json
The only way to configure daemon is to add option in the service file

Change-Id: I88697951ed6518f62bca30bb52288ad0e487ec03
2018-05-30 17:45:27 +02:00
Zuul
2381fa89f6 Merge "Support virtualenv installation in baremetal role" 2018-03-24 15:00:01 +00:00
Zuul
7dc385577f Merge "Add a configuration about docker runtime directory" 2018-03-14 07:14:46 +00:00
zhubingbing
83fe717837 Use kolla_user variable to setting kolla user name
Change-Id: I653e16270aab539edcec6d8622f0a1c06d04b492
2018-02-27 15:39:27 +08:00
pengdake
4f98f08ffa Update task about selinux set.
1.Fix the invalid value about selinux policy
2.Update description of task about selinux.The permissive mode
need enable selinux.The parameter named "disable_selinux" is not good.
In order to customize selinux modes, we need a new
parameter named "selinux_state".

Closes-Bug: #1749046
Change-Id: I20c084cf2e46cc0de149afbd34c6dcb77a1051f4
2018-02-03 22:30:24 +08:00
Mark Goddard
69979efc2e Support virtualenv installation in baremetal role
Installing python packages directly to the system site-packages can
cause various problems, in particular when pip overwrites a system
package. Python virtualenvs are one solution to this issue, as they
allow python packages to be installed in an isolated environment.

This change adds support to the baremetal role for installing python
dependencies in a virtualenv. Typically we will need to enable use of
system site-packages from within this virtualenv, to support the use of
modules such as yum, apt, and selinux, which are not available on PyPI.

The path to the virtualenv is configured via the 'virtualenv' variable,
and access to site-packages is controlled via
'virtualenv_site_packages'.

When executing other kolla-ansible commands, the variable
'ansible_python_interpreter' should be set to the python interpreter
installed in 'virtualenv'. Note that this variable cannot be templated.

Change-Id: I0741923065246f9c5b168059fcd66504f2753c41
Related-Bug: #1731026
2018-01-21 08:59:49 +00:00
pengdake
f3e19ecf7b Add a configuration about docker runtime directory
Control the disk space used for Docker images, containers and
volumes is important for us.We need add configuration of
docker daemon to control the disk spaces used for docker images,
containers and volumes.

Change-Id: I3cf99f4e3f62c8406d37201b1cc24a83c68e3b27
Signed-off-by: pengdake <19921207pq@gmail.com>
2018-01-13 09:51:08 +08:00
Tone.Zhang
3886918c1f Change the docker daemon name in Debian 9 on Arm
Enable docker-ce on AArch64 platform in Debian.
Set the docker daemon name according to the existing of "dockerd" binary.

Closes-Bug: #1734255

Co-authored-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>

Change-Id: Ie0b3bac72b408dccf3fb99912b4fe2d4788705e5
Signed-off-by: Tone.Zhang <tone.zhang@arm.com>
2018-01-09 15:02:40 +08:00
Jenkins
002addc6da Merge "Added open-iscsi to default removals" 2017-09-25 09:27:37 +00:00
Eduardo Gonzalez
fa06dcd37b Fix ci gate failure
This patch includes three unrelated fixes.

Make qemu use nova user in centos
Libvirt 3.2.0 (latest version in centos) seems to
have changed behavior of dynamic_ownership.

Pin ansible to <2.4 to make ara work in gates
ARA does not work yet with ansible 2.4, this change
pins to lower version to make gates work.
Revert once ara works with 2.4

Disable selinux for oraclelinux and centos.

Co-Authored-By: wanghongxu <wang19930902@gmail.com>
Co-Authored-By: Jeffrey Zhang <jeffrey.zhang@99cloud.net>
Change-Id: Iac8bec19437192cd198d58f71c6ed0a65a76f820
Closes-bug: #1718541
2017-09-23 09:03:52 +08:00
James Benson
8e1940d47a ntpd behind proxy fails
Change-Id: I0447e90f53f9b04315bc4e6618e528351521e05d
Closes-Bug: #1705558
2017-07-23 03:09:00 +00:00
Michel Rode
82fe7bc07a Added open-iscsi to default removals
The bootstrapping process should remove the open-iscsi package.
Otherwise the iscsid startup will failed.

Change-Id: I0c31c84f4486bd44c467fbaf7a26563e4dbc5ccf
2017-07-10 12:15:13 +00:00
Pavel Glushchak
7aeb8a2af5 Fixed libvirt package removal
On RedHat libvirt is just a metapackage and it does
nothing with libvirt daemon itself if we remove it.
On Ubuntu the correct package name with libvirt daemon
is libvirt-bin.

Closes-Bug: #1690356
Change-Id: Ief8dfd8c038b10878621aefcc8f559aa20dc498b
Signed-off-by: Pavel Glushchak <pglushchak@virtuozzo.com>
2017-05-12 14:23:56 +03:00
Michal (inc0) Jastrzebski
b0e9b2f33e Bump docker to 1.12 in bootstrap-servers
I've seen issues with API versioning between docker 1.11 and docker-py
in containers. 1.12 seems fine. We should also pin docker-py version in
kolla-toolbox image.

Change-Id: I07d5f573176b79a3775dcab2748f428c114bd985
2017-01-31 19:49:56 +00:00
Sean Mooney
7f1084808b replace baremetal_nic with api_interface
- The baremetal_nic variable was used as part of
  kolla host playbook when generating the /etc/hosts file.
  Populating the /etc/hosts is done to ensure that rabbitmq
  can reach the other nodes in the rabbitmq cluster by hostname.
- Before this change the baremetal_nic variable was used to
  determin which interface to read when mapping the hostname to
  an ip address.
- This change removes baremetal_nic and uses api_interface
  instead as the hostname used by rabbitmq should always map to the
  api_interface ip.

TrivialFix
Closes-Bug: #1618381

Change-Id: I65fe3aad58ac34b001a1f4a38641addc9fa5a1d4
2016-08-31 19:39:59 +00:00
Sandhya Dasu
6841276ab7 Removing development packages from Baremetal install defaults
There will never be a need for these python development packages
in the baremental install case, so removing them from main.yml.

TrivialFix

Change-Id: Iab8edcfd07c818e40328aa5311b84880b656af08
2016-08-30 16:05:17 -04:00
Sean Mooney
3e8f9986d1 add baremetal role to install kolla deps.
Change-Id: Ie70db1b18a73528b1194e4fbcf53d09fed20f4a0
Implements: blueprint kolla-host
2016-08-10 16:03:08 +00:00