[#32]: scripts for local run playbooks
Change-Id: Ia3f0e1461149f4ff887f965dd5b5a00fe2f8f04b
This commit is contained in:
parent
f66f94dc80
commit
d0e1c0258f
13
Vagrantfile
vendored
Normal file
13
Vagrantfile
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.box = "ubuntu/bionic64"
|
||||||
|
config.vm.network "private_network", ip: "192.168.33.10"
|
||||||
|
config.vm.provider "virtualbox" do |vb|
|
||||||
|
vb.memory = "9216"
|
||||||
|
vb.cpus = 4
|
||||||
|
end
|
||||||
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
|
apt-get update
|
||||||
|
ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ""
|
||||||
|
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
|
||||||
|
SHELL
|
||||||
|
end
|
44
tools/gate/00_setup.sh
Executable file
44
tools/gate/00_setup.sh
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
export ISO_DIR=${ISO_DIR:-"/srv/iso"}
|
||||||
|
export SERVE_PORT=${SERVE_PORT:-"8099"}
|
||||||
|
export AIRSHIPCTL_WS=${AIRSHIPCTL_WS:-$PWD}
|
||||||
|
export TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
|
||||||
|
ANSIBLE_CFG=${ANSIBLE_CFG:-"${HOME}/.ansible.cfg"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
OSH_INFRA_DIR=${OSH_INFRA_DIR:-"${TMP_DIR}/openstack-helm-infra"}
|
||||||
|
|
||||||
|
mkdir -p "$TMP_DIR"
|
||||||
|
envsubst <"${AIRSHIPCTL_WS}/tools/gate/config_template.yaml" > "$PLAYBOOK_CONFIG"
|
||||||
|
|
||||||
|
# use new version of ansible, Ubuntu has old one
|
||||||
|
sudo apt install software-properties-common
|
||||||
|
sudo apt-add-repository --yes --update ppa:ansible/ansible
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get -y --no-install-recommends install docker.io ansible make
|
||||||
|
|
||||||
|
echo "primary ansible_host=localhost" > "$ANSIBLE_HOSTS"
|
||||||
|
printf "[defaults]\nroles_path = %s/roles:%s/roles\n" "$AIRSHIPCTL_WS" "$OSH_INFRA_DIR" > "$ANSIBLE_CFG"
|
||||||
|
rm -rf "$OSH_INFRA_DIR"
|
||||||
|
git clone https://review.opendev.org/openstack/openstack-helm-infra.git "$OSH_INFRA_DIR"
|
28
tools/gate/10_build_gate.sh
Executable file
28
tools/gate/10_build_gate.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
|
||||||
|
sudo ansible-playbook -i "$ANSIBLE_HOSTS" \
|
||||||
|
playbooks/airship-airshipctl-build-gate.yaml \
|
||||||
|
-e @"$PLAYBOOK_CONFIG"
|
28
tools/gate/20_run_test_runner.sh
Executable file
28
tools/gate/20_run_test_runner.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
|
||||||
|
sudo ansible-playbook -i "$ANSIBLE_HOSTS" \
|
||||||
|
playbooks/airship-airshipctl-test-runner.yaml \
|
||||||
|
-e @"$PLAYBOOK_CONFIG"
|
29
tools/gate/21_systemwide_executable.sh
Executable file
29
tools/gate/21_systemwide_executable.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
|
||||||
|
sudo ansible-playbook -i "$ANSIBLE_HOSTS" \
|
||||||
|
playbooks/airship-airshipctl-test-runner.yaml \
|
||||||
|
-e @tools/gate/config_systemwide_executable.yaml \
|
||||||
|
-e @"$PLAYBOOK_CONFIG"
|
29
tools/gate/22_test_configs.sh
Executable file
29
tools/gate/22_test_configs.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
|
||||||
|
sudo ansible-playbook -i "$ANSIBLE_HOSTS" \
|
||||||
|
playbooks/airship-airshipctl-test-runner.yaml \
|
||||||
|
-e @tools/gate/config_test_configs.yaml \
|
||||||
|
-e @"$PLAYBOOK_CONFIG"
|
29
tools/gate/23_build_ephemeral_iso.sh
Executable file
29
tools/gate/23_build_ephemeral_iso.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
|
||||||
|
sudo ansible-playbook -i "$ANSIBLE_HOSTS" \
|
||||||
|
playbooks/airship-airshipctl-test-runner.yaml \
|
||||||
|
-e @tools/gate/config_build_ephemeral_iso.yaml \
|
||||||
|
-e @"$PLAYBOOK_CONFIG"
|
29
tools/gate/25_deploy_ephemeral_node.sh
Executable file
29
tools/gate/25_deploy_ephemeral_node.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
|
||||||
|
sudo ansible-playbook -i "$ANSIBLE_HOSTS" \
|
||||||
|
playbooks/airship-airshipctl-test-runner.yaml \
|
||||||
|
-e @tools/gate/config_deploy_ephemeral_node.yaml \
|
||||||
|
-e @"$PLAYBOOK_CONFIG"
|
28
tools/gate/99_collect_logs.sh
Executable file
28
tools/gate/99_collect_logs.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
# or more contributor license agreements. See the NOTICE file
|
||||||
|
# distributed with this work for additional information
|
||||||
|
# regarding copyright ownership. The ASF licenses this file
|
||||||
|
# to you 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.
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"}
|
||||||
|
ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"}
|
||||||
|
PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"}
|
||||||
|
|
||||||
|
sudo ansible-playbook -i "$ANSIBLE_HOSTS" \
|
||||||
|
playbooks/airship-collect-logs.yaml \
|
||||||
|
-e @"$PLAYBOOK_CONFIG"
|
3
tools/gate/config_build_ephemeral_iso.yaml
Normal file
3
tools/gate/config_build_ephemeral_iso.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
test_roles:
|
||||||
|
- airshipctl-build-ephemeral-iso
|
3
tools/gate/config_deploy_ephemeral_node.yaml
Normal file
3
tools/gate/config_deploy_ephemeral_node.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
test_roles:
|
||||||
|
- airshipctl-deploy-ephemeral-node
|
3
tools/gate/config_systemwide_executable.yaml
Normal file
3
tools/gate/config_systemwide_executable.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
test_roles:
|
||||||
|
- airshipctl-systemwide-executable
|
14
tools/gate/config_template.yaml
Normal file
14
tools/gate/config_template.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
serve_dir: /srv/iso
|
||||||
|
serve_port: 8099
|
||||||
|
local_src_dir: "$AIRSHIPCTL_WS"
|
||||||
|
ansible_user: root
|
||||||
|
site_name: test-bootstrap
|
||||||
|
remote_work_dir: "$AIRSHIPCTL_WS"
|
||||||
|
sphinx_build_dir: docs/build
|
||||||
|
python_version: 3.7
|
||||||
|
zuul:
|
||||||
|
executor:
|
||||||
|
log_root: "$TMP_DIR"
|
||||||
|
project:
|
||||||
|
src_dir: "$AIRSHIPCTL_WS"
|
3
tools/gate/config_test_configs.yaml
Normal file
3
tools/gate/config_test_configs.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
test_roles:
|
||||||
|
- airshipctl-test-configs
|
Loading…
Reference in New Issue
Block a user