From b9205399c5790013d925c822aa84b5ae9b352ea7 Mon Sep 17 00:00:00 2001 From: Maru Newby Date: Sat, 19 Mar 2016 03:49:03 +0000 Subject: [PATCH] Update quickstart doc to use drop-in unit files While it's possible to edit distro/package unit files installed to /lib/systemd/system, a cleaner solution exists. systemd will pick up 'drop-in' unit files located in '/etc/systemd/system/[unit name].d/'. A drop-in unit file only has to include fields that override those in the main unit file, and the drop-in unit and main unit file can change independently. This change updates the quickstart doc to use drop-in unit files to configure docker.service instead of editing the main unit file. See: https://coreos.com/os/docs/latest/using-systemd-drop-in-units.html Change-Id: Iddbebf658741937e3c4157fc0a021751f10fabd2 --- doc/quickstart.rst | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/doc/quickstart.rst b/doc/quickstart.rst index 9595ac34a9..e1e875da1e 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -99,14 +99,19 @@ When running with systemd, setup docker-engine with the appropriate information in the Docker daemon to launch with. This means setting up the following information in the docker.service file. If you do not set the MountFlags option correctly then Kolla-Ansible will fail to deploy the -neutron-dhcp-agent container and throws APIError/HTTPError. After changing the -service file, reload and restart the docker service: +neutron-dhcp-agent container and throws APIError/HTTPError. After adding the +drop-in unit file as follows, reload and restart the docker service: :: - # /lib/systemd/system/docker.service + # Create the drop-in unit directory for docker.service + mkdir -p /etc/systemd/system/docker.service.d + + # Create the drop-in unit file + tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF' [Service] MountFlags=shared + EOF # Run these commands to reload the daemon systemctl daemon-reload @@ -289,28 +294,18 @@ registry is currently running: Docker Inc's packaged version of docker-engine for CentOS is defective and does not read the other_args configuration options from -"/etc/sysconfig/docker". To rectify this problem, set the contents of -"/usr/lib/systemd/system/docker.service" to: +"/etc/sysconfig/docker". To rectify this problem, ensure the +following lines appear in the drop-in unit file at +"/etc/systemd/system/docker.service.d/kolla.conf": :: - [Unit] - Description=Docker Application Container Engine - Documentation=https://docs.docker.com - After=network.target docker.socket - Requires=docker.socket - [Service] EnvironmentFile=/etc/sysconfig/docker - Type=notify + # It's necessary to clear ExecStart before attempting to override it + # or systemd will complain that it is defined more than once. + ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// $other_args - MountFlags=slave - LimitNOFILE=1048576 - LimitNPROC=1048576 - LimitCORE=infinity - - [Install] - WantedBy=multi-user.target And restart docker by executing the following commands: