Remove docker-setup receipe

The docker-setup receive has been unmaintained and untested for some
time now. The nova-docker project is also being removed from
OpenStack [1] and people are advised to look at deploying Zun as
a replacement.

This also avoids having to rewrite this receipe in order to remove the
use of the deprecated python cookbook.

[1] https://review.openstack.org/430232

Change-Id: Ia8c9db272c6a0353130fc93d446b385fd72ac250
Partial-Bug: 1558538
This commit is contained in:
Jens Rosenboom 2017-02-08 16:34:36 +00:00
parent f7f6c28249
commit ced5be5512
8 changed files with 0 additions and 222 deletions

View File

@ -40,7 +40,6 @@ The following cookbooks are dependencies:
- 'openstack-identity', '>= 14.0.0'
- 'openstack-image', '>= 14.0.0'
- 'openstack-network', '>= 14.0.0'
- 'python', '~> 1.4.6'
- 'openstackclient', '>= 0.1.0'
Attributes

View File

@ -159,7 +159,6 @@ when 'rhel' # :pragma-foodcritic: ~FC024 - won't fix this
'common_packages' => ['openstack-nova-common'],
'iscsi_helper' => 'ietadm',
'volume_packages' => ['sysfsutils', 'sg3_utils', 'device-mapper-multipath'],
'docker_build_pkgs' => ['git', 'python-devel', 'gcc'],
'package_overrides' => ''
}
when 'debian'
@ -194,7 +193,6 @@ when 'debian'
'common_packages' => ['nova-common'],
'iscsi_helper' => 'tgtadm',
'volume_packages' => ['sysfsutils', 'sg3-utils', 'multipath-tools'],
'docker_build_pkgs' => ['git', 'python-dev', 'gcc'],
'package_overrides' => "-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'"
}
end
@ -209,27 +207,6 @@ default['openstack']['compute']['misc_paste'] = nil
# For true case, this logic allows the following ironic-related attribtes to be overwritten automatically.
# Docker configurations
# Docker compute configuration is supported only in Rhel and Ubuntu
# This is to be true to make a compute docker type and use nova docker driver as compute driver
default['openstack']['compute']['docker']['enable'] = false
# The nova docker driver that will be configured in a docker type compute
default['openstack']['compute']['docker']['driver'] = 'novadocker.virt.docker.driver.DockerDriver'
# Additional python packages required for nova docker driver build and installation from git source
default['openstack']['compute']['docker']['pip_build_pkgs'] = ['setuptools', 'pbr']
# github repository from which nova-docker source will be downloaded
default['openstack']['compute']['docker']['github']['repository'] = 'https://github.com/stackforge/nova-docker'
# github branch from which nova-docker source will be downloaded. Default is master
default['openstack']['compute']['docker']['github']['branch'] = 'master'
# Relative path to docker filter files in nova-docker source which will be cloned from git repo
default['openstack']['compute']['docker']['filter_source_path'] = '/etc/nova/rootwrap.d'
# Path to docker service sock file
default['openstack']['compute']['docker']['service_sock'] = '/var/run/docker.sock'
# Permission level to be assigned to docker service sock file
default['openstack']['compute']['docker']['service_sock_mode'] = 666
# Docker group which will be created and added with openstack compute user
default['openstack']['compute']['docker']['group'] = 'docker'
# ****************** OpenStack Compute Endpoints ******************************
# The OpenStack Compute (Nova) XVPvnc endpoint

View File

@ -17,5 +17,4 @@ depends 'openstack-common', '>= 14.0.0'
depends 'openstack-identity', '>= 14.0.0'
depends 'openstack-image', '>= 14.0.0'
depends 'openstack-network', '>= 14.0.0'
depends 'python', '~> 1.4'
depends 'openstackclient'

View File

@ -23,10 +23,6 @@ class ::Chef::Recipe
include ::Openstack
end
if node['openstack']['compute']['docker']['enable']
include_recipe 'openstack-compute::docker-setup'
end
include_recipe 'openstack-compute::nova-common'
platform_options = node['openstack']['compute']['platform']
@ -70,29 +66,6 @@ end
include_recipe 'openstack-compute::libvirt'
docker_filter_source_path = node['openstack']['compute']['docker']['filter_source_path']
install_directory = "#{Chef::Config['file_cache_path']}/nova-docker"
docker_group = node['openstack']['compute']['docker']['group']
docker_group_members = node['openstack']['compute']['service_user']
filter_target_path = docker_filter_source_path + '/docker.filters'
filter_source_path = install_directory + filter_target_path
group docker_group do
members docker_group_members
action [:create, :manage]
only_if { node['openstack']['compute']['docker']['enable'] }
end
file 'docker.filter' do
owner 'root'
group 'root'
mode 00644
path filter_target_path
content lazy { ::File.open(filter_source_path).read }
action :create
only_if { node['openstack']['compute']['docker']['enable'] }
end
service 'nova-compute' do
service_name platform_options['compute_compute_service']
supports status: true, restart: true

View File

@ -1,65 +0,0 @@
# encoding: UTF-8
#
# Cookbook Name:: openstack-compute
# Recipe:: docker-setup
#
# Copyright 2015 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# Make sure that docker runtime is installed as a prerequsite
include_recipe 'python::pip'
# set nova docker driver as the compute driver
node.set['openstack']['compute']['driver'] = node['openstack']['compute']['docker']['driver']
docker_service_sock = node['openstack']['compute']['docker']['service_sock']
docker_service_sock_mode = node['openstack']['compute']['docker']['service_sock_mode']
platform_options = node['openstack']['compute']['platform']
pip_build_pkgs = node['openstack']['compute']['docker']['pip_build_pkgs']
# upgrade the required packages (some packages will be removed once RPM based nova-docker installation is introduced)
platform_options['docker_build_pkgs'].each do |pkg|
package pkg do
options platform_options['package_overrides']
action :upgrade
end
end
# This will be removed once RPM based installation of nova-docker driver is available
pip_build_pkgs.each do |pip_pkg|
python_pip pip_pkg do
action :upgrade
end
end
# Below code downloads docker driver from configured git repo and branch
github_repository = node['openstack']['compute']['docker']['github']['repository']
github_branch = node['openstack']['compute']['docker']['github']['branch']
git_download_directory = "#{Chef::Config['file_cache_path']}/nova-docker"
git git_download_directory do
repository github_repository
revision github_branch
action :sync
end
# Configure nova docker driver
bash 'install nova docker driver' do
cwd git_download_directory
code <<-EOH
chmod #{docker_service_sock_mode} #{docker_service_sock}
python ./setup.py build
python ./setup.py install
EOH
end

View File

@ -91,52 +91,5 @@ describe 'openstack-compute::compute' do
it 'starts nova compute' do
expect(chef_run).to start_service 'nova-compute'
end
it 'does not include docker-setup recipe' do
expect(chef_run).not_to include_recipe 'openstack-compute::docker-setup'
end
it 'does not create docker group' do
expect(chef_run).not_to create_group('docker')
end
it 'does not manage docker group' do
expect(chef_run).not_to manage_group('docker')
end
it 'does not create docker filter file' do
expect(chef_run).not_to create_file('/etc/nova/rootwrap.d/docker.filters')
end
context 'when docker is enabled' do
before do
node.set['openstack']['compute']['docker']['enable'] = true
end
it 'includes docker-setup recipe' do
expect(chef_run).to include_recipe 'openstack-compute::docker-setup'
end
it 'creates docker group' do
expect(chef_run).to create_group('docker')
end
it 'manages docker group' do
expect(chef_run).to manage_group('docker')
end
it 'creates a file with attributes' do
expect(chef_run).to create_file('/etc/nova/rootwrap.d/docker.filters').with(
user: 'root',
group: 'root',
mode: 0644,
path: '/etc/nova/rootwrap.d/docker.filters'
)
end
it 'configures compute service to subscribe for docker filter' do
expect(chef_run.service('nova-compute')).to subscribe_to('file[docker.filter]')
end
end
end
end

View File

@ -1,17 +0,0 @@
# encoding: UTF-8
require_relative 'spec_helper'
describe 'openstack-compute::docker-setup' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
%w(python-devel git gcc).each do |pkg|
it do
expect(chef_run).to upgrade_package pkg
end
end
end
end

View File

@ -1,41 +0,0 @@
# encoding: UTF-8
require_relative 'spec_helper'
describe 'openstack-compute::docker-setup' do
describe 'ubuntu' do
let(:runner) { ChefSpec::SoloRunner.new(UBUNTU_OPTS) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
it 'runs a run python pip setuptools' do
expect(chef_run).to upgrade_python_pip('setuptools')
end
it 'runs a run python pip pbr' do
expect(chef_run).to upgrade_python_pip('pbr')
end
it 'upgrades git package' do
expect(chef_run).to upgrade_package 'git'
end
it 'upgrades gcc package' do
expect(chef_run).to upgrade_package 'gcc'
end
it 'upgrades python-dev package' do
expect(chef_run).to upgrade_package 'python-dev'
end
git_local_dir = Chef::Config[:file_cache_path] + '/nova-docker'
it 'syncs a git with nova docker git repo' do
expect(chef_run).to sync_git(git_local_dir).with(repository: 'https://github.com/stackforge/nova-docker')
end
it 'runs a bash block install nova docker driver' do
expect(chef_run).to run_bash('install nova docker driver')
end
end
end