Remove legacy-install-afs-with-puppet role

This role uses the system-config:install_puppet.sh script to first
install puppet on the wheel-builder host, and then uses
puppet-kerberos/puppet-openafs to bring up the AFS environment.

This is replaced with ansible roles to do the same AFS bring-up.  A
new "openafs-client" playbook is added to configure this for the infra
environment.  The wheel-building base job is reworked to use this.

Roles have been tested under zuul with
https://review.openstack.org/596018

kerberos-client role:
Depends-On: https://review.openstack.org/593486
openafs-client role:
Depends-On: https://review.openstack.org/593487
add system-config to linters:
Depends-On: https://review.openstack.org/596645
Change-Id: I9a3af36048e4a4439fe86b36582667ff0af68035
This commit is contained in:
Ian Wienand 2018-08-10 13:35:36 +10:00
parent 590534fd08
commit f8849904e8
7 changed files with 28 additions and 105 deletions

View File

@ -0,0 +1,11 @@
- name: Kerberos and OpenAFS client installation
hosts: all
roles:
- role: kerberos-client
realm: 'OPENSTACK.ORG'
admin_server: 'kdc.openstack.org'
kdcs:
- kdc01.openstack.org
- kdc02.openstack.org
- role: openafs-client

View File

@ -1,38 +1,26 @@
- hosts: all
roles:
- bindep
- legacy-install-afs-with-puppet
pre_tasks:
# NOTE(pabelanger): Needed by puppet-openafs package.
- name: Add OpenAFS OpenStack CI build
become: yes
yum_repository:
name: openafs
description: OpenAFS OpenStack CI build
baseurl: https://tarballs.openstack.org/project-config/package-afs-centos7
gpgcheck: no
when: ansible_distribution == "CentOS"
# NOTE(pabelanger): Manually install EPEL dependencies as not to keep EPEL
# enabled.
# NOTE(pabelanger): Manually install EPEL dependencies as not to
# keep EPEL enabled.
- name: Manually install EPEL dependencies
become: yes
yum:
name: "{{ item }}"
enablerepo: epel
state: present
when: ansible_distribution == "CentOS"
with_items:
- dkms
- kstart
loop:
- parallel
when: ansible_distribution == "CentOS"
# NOTE(pabelanger): We need to install extra liberies, such as:
# liberasurecode-devel
- name: Add centos-release-openstack-pike support
# NOTE(pabelanger): We need to install extra libraries, such as
# liberasurecode-devel
# which are only part of the RDO repositories.
- name: Add centos-release-openstack-queens support
yum:
name: centos-release-openstack-queens
state: present
become: yes
when: ansible_distribution == "CentOS"
yum:
name: centos-release-openstack-pike
state: present

View File

@ -1,7 +0,0 @@
Legacy role to install AFS client on nodes with Infra puppet
AFS is a little tricky to install because it takes an additional repo for
CentOS. This is a tide-me-over role to use Infra's puppet manifests to install
AFS client on remote nodes until we have an Ansible solution cooked up.
There are no parameters. It's just hardcoded to get an AFS client up.

View File

@ -1,10 +0,0 @@
class { '::openafs::client':
cell => 'openstack.org',
realm => 'OPENSTACK.ORG',
admin_server => 'kdc.openstack.org',
cache_size => 500000,
kdcs => [
'kdc01.openstack.org',
'kdc02.openstack.org',
],
}

View File

@ -1,33 +0,0 @@
- name: Install puppet
shell: ./install_puppet.sh
args:
chdir: "{{ ansible_user_dir }}/src/git.openstack.org/openstack-infra/system-config"
environment:
# Skip setting up pip, our images have already done this.
SETUP_PIP: "false"
become: yes
# ANSIBLE0013 complains about shell. TODO(jaegerandi): Use command instead,
# for now we just silence the warning.
tags:
- skip_ansible_lint
- name: Copy reduced scope modules.env into place
template:
src: modules.env.j2
dest: src/git.openstack.org/openstack-infra/system-config/modules.env
- name: Install modules
command: ./install_modules.sh
args:
chdir: "{{ ansible_user_dir }}/src/git.openstack.org/openstack-infra/system-config"
become: yes
- name: Copy manifest
copy:
src: manifest.pp
dest: "{{ ansible_user_dir }}/manifest.pp"
- name: Run puppet
puppet:
manifest: "{{ ansible_user_dir }}/manifest.pp"
become: yes

View File

@ -1,23 +0,0 @@
# Copyright 2017 Red Hat, Inc.
#
# 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.
#
OPENSTACK_GIT_ROOT={{ ansible_user_dir }}/src/git.openstack.org
# Please keep sorted
SOURCE_MODULES["https://github.com/puppetlabs/puppetlabs-ntp"]="3.2.1"
SOURCE_MODULES["https://github.com/puppetlabs/puppetlabs-stdlib"]="4.17.0"
SOURCE_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-kerberos"]="origin/master"
SOURCE_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openafs"]="origin/master"

View File

@ -995,8 +995,10 @@
name: build-wheel-mirror-base
abstract: true
description: |
Base job for building of wheel for OpenStack CI mirrors.
pre-run: playbooks/wheel/pre.yaml
Base job for building wheels published in OpenStack CI mirrors.
pre-run:
- playbooks/openafs-client/setup.yaml
- playbooks/wheel/pre.yaml
run: playbooks/wheel/build.yaml
post-run: playbooks/wheel/post-base.yaml
# 2.5 hours
@ -1004,15 +1006,10 @@
# The job iterates over all branches, so we only need to run it on
# master.
branches: master
roles:
- zuul: openstack-infra/system-config
allowed-projects:
- openstack/requirements
roles:
- zuul: openstack-infra/ansible-puppet
name: puppet
required-projects:
- openstack-infra/system-config
- openstack-infra/puppet-kerberos
- openstack-infra/puppet-openafs
- job:
name: build-wheel-mirror-centos-7