 83ced7f6e6
			
		
	
	83ced7f6e6
	
	
	
		
			
			Make inventory/service for service-specific things, including the groups.yaml group definitions, and inventory/base for hostvars related to the base system, including the list of hosts. Move the exisitng host_vars into inventory/service, since most of them are likely service-specific. Move group_vars/all.yaml into base/group_vars as almost all of it is related to base things, with the execption of the gerrit public key. A followup patch will move host-specific values into equivilent files in inventory/base. This should let us override hostvars in gate jobs. It should also allow us to do better file matchers - and to be able to organize our playbooks move if we want to. Depends-On: https://review.opendev.org/731583 Change-Id: Iddf57b5be47c2e9de16b83a1bc83bee25db995cf
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash -ux
 | |
| 
 | |
| # Copyright 2015 Hewlett-Packard Development Company, L.P.
 | |
| #
 | |
| # 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.
 | |
| 
 | |
| function puppet_version {
 | |
|     # Default to 3 for the cases, like bridge, where there is no puppet
 | |
|     (PATH=/opt/puppetlabs/bin:$PATH puppet --version || echo 3) | cut -d '.' -f 1
 | |
| }
 | |
| export PUPPET_VERSION=$(puppet_version)
 | |
| 
 | |
| if [ "$PUPPET_VERSION" == "3" ] ; then
 | |
|     export MODULE_PATH=/etc/puppet/modules
 | |
| elif [ "$PUPPET_VERSION" == "4" ] ; then
 | |
|     export MODULE_PATH=/etc/puppetlabs/code/modules
 | |
| fi
 | |
| 
 | |
| ROOT=$(readlink -fn $(dirname $0)/..)
 | |
| 
 | |
| file=$1
 | |
| fileout=${file}.out
 | |
| ansible_root=$(mktemp -d)
 | |
| cat > $ansible_root/ansible.cfg <<EOF
 | |
| [defaults]
 | |
| local_tmp=$ansible_root/local_tmp
 | |
| remote_tmp=$ansible_root/remote_tmp
 | |
| inventory=$ROOT/inventory/base/gate-hosts,$ROOT/inventory/service/gate-groups
 | |
| log_path=$fileout
 | |
| EOF
 | |
| cat > $ROOT/inventory/base/gate-hosts <<EOF
 | |
| localhost ansible_connection=local
 | |
| EOF
 | |
| cat > $ROOT/inventory/service/gate-groups <<EOF
 | |
| [puppet]
 | |
| localhost
 | |
| EOF
 | |
| echo "##" > $fileout
 | |
| cat $file > $fileout
 | |
| sudo -H ANSIBLE_CONFIG=$ansible_root/ansible.cfg /tmp/apply-ansible-env/bin/ansible-playbook -f1 playbooks/remote_puppet_adhoc.yaml -e puppet_environment=production -e manifest=$file -e puppet_noop=true -e puppet_logdest=$fileout -e mgmt_puppet_module_dir=$MODULE_PATH
 | |
| ret=$?
 | |
| if [ $ret -ne 0 ]; then
 | |
|     mv $fileout $fileout.FAILED
 | |
| fi
 | |
| rm -fr $ansible_root
 | |
| exit $ret
 |