initial import

This commit is contained in:
2022-09-12 13:56:21 +02:00
commit ae3778c57c
16 changed files with 956 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
*.pyc
__pycache__
.tox
build_artifact
ansible_collections
galaxy.yml
FILES.json
MANIFEST.json
importer_result.json
**.swp
*.tar.gz
doc/build
tmp
#idea
.idea/**
*/.idea/**
+8
View File
@@ -0,0 +1,8 @@
# This is a cross-platform list tracking distribution packages needed by tests;
# see https://docs.openstack.org/infra/bindep/ for additional information.
gcc-c++ [doc test platform:rpm]
libyaml-devel [test platform:rpm]
libyaml-dev [test platform:dpkg]
python3-devel [test platform:rpm]
python3 [test platform:rpm]
+32
View File
@@ -0,0 +1,32 @@
---
namespace: opentelekomcloud
name: backend
version: 0.1.0
readme: README.rst
authors:
- Artem Goncharov (@gtema)
description: Roles and modules for managing Open Telekom Cloud Backend
license:
- GPL-2.0-or-later
tags:
- opentelekomcloud
dependencies: {}
repository: https://gitea.eco.tsi-dev.otc-service.com/infra/ansible-collection-backend
documentation: http://docs.otc-service.com
homepage: https://open-telekom-cloud.com
issues: https://gitea.eco.tsi-dev.otc-service.com/infra/ansible-collection-backend/issues
build_ignore:
- '*.tar.gz'
- build_artifact/
- ci/
- galaxy.yml.in
- setup.cfg
- setup.py
- tools
- tox.ini
- .gitignore
- .gitreview
- .zuul.yaml
- .pytest_cache
- importer_result.json
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
otcextensions
+2
View File
@@ -0,0 +1,2 @@
---
{}
+32
View File
@@ -0,0 +1,32 @@
[metadata]
name = ansible-collection-backend
summary = Ansible collections for managing OTC Backend
description-file =
README.md
author = opentelekomcloud
home-page = https://open.telekom.cloud
classifier =
License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
Intended Audience :: System Administrators
Intended Audience :: Information Technology
Topic :: System :: Systems Administration
Topic :: Utilities
[global]
setup-hooks =
pbr.hooks.setup_hook
[files]
data_files =
share/ansible/collections/ansible_collections/opentelekomcloud/backend/ = README.md
share/ansible/collections/ansible_collections/opentelekomcloud/backend/plugins = plugins/*
[wheel]
universal = 1
[pbr]
skip_authors = True
skip_changelog = True
+17
View File
@@ -0,0 +1,17 @@
# 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.
import setuptools
setuptools.setup(
setup_requires=['pbr'],
pbr=True)
+10
View File
@@ -0,0 +1,10 @@
ansible-core
ansible-lint==5.4.0
pycodestyle==2.6.0
flake8==3.8.4
pylint
voluptuous
yamllint
rstcheck
ruamel.yaml
requests
+1
View File
@@ -0,0 +1 @@
cloud: "otc"
+2
View File
@@ -0,0 +1,2 @@
otcextensions
openstacksdk
@@ -0,0 +1,19 @@
---
- ansible.builtin.set_fact:
services:
compute:
name: "nova"
environments:
production:
endpoints:
eu-de:
- url: "https://ecs.eu-de.otc.t-systems.com/v2.1/$(tenant_id)s"
eu-nl:
- url: "https://ecs.eu-nl.otc.t-systems.com/v2.1/$(tenant_id)s"
- name: Check run
opentelekomcloud.backend.service_catalog:
cloud: "{{ cloud }}"
environment: "production"
services: "{{ services }}"
check_mode: true
+93
View File
@@ -0,0 +1,93 @@
[tox]
minversion = 3.1
envlist = pep8
skipsdist = True
ignore_basepython_conflict = True
[testenv]
skip_install = True
install_command = python -m pip install {opts} {packages}
basepython = python3
passenv =
OS_*
pip: PIP_INSTALL
setenv =
VIRTUAL_ENV={envdir}
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=C
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
pip: PIP_INSTALL={env:PIP_INSTALL:true}
deps =
-r{toxinidir}/test-requirements.txt
pip: {toxinidir}
commands = stestr run {posargs}
stestr slowest
[testenv:pep8]
commands =
flake8
[testenv:build]
deps =
pbr
ruamel.yaml
ansible-base
commands =
ansible --version
ansible-galaxy collection build --force {toxinidir} --output-path {toxinidir}/build_artifact
[testenv:linters]
passenv = *
deps =
{[testenv]deps}
commands =
ansible-lint -vvv
[testenv:linters-2.9]
passenv = {[testenv:linters]passenv}
commands = {[testenv:linters]commands}
deps =
-r{toxinidir}/test-requirements-2.9.txt
[testenv:venv]
deps =
-r{toxinidir}/test-requirements.txt
commands = {posargs}
[flake8]
# W503 Is supposed to be off by default but in the latest pycodestyle isn't.
# Also, both openstacksdk and Donald Knuth disagree with the rule. Line
# breaks should occur before the binary operator for readability.
# H4 are rules for docstrings. Maybe we should clean them?
# E501,E402,H301 are ignored so we can import the existing
# modules unchanged and then clean them in subsequent patches.
ignore = W503,H4,E501,E402,H301
show-source = True
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible_collections
[testenv:ansible]
# Need to pass some env vars for the Ansible playbooks
passenv = HOME USER ANSIBLE_*
deps =
{[testenv]deps}
commands =
/bin/bash {toxinidir}/ci/run-ansible-tests-collection.sh -e {envdir} {posargs}
# PIP job runs with Ansible-2.9
[testenv:ansible-pip]
deps =
-r{toxinidir}/test-requirements-2.9.txt
{toxinidir}
passenv = {[testenv:ansible]passenv}
commands = {[testenv:ansible]commands}
[testenv:ansible-2.9]
deps =
-r{toxinidir}/test-requirements-2.9.txt
passenv = {[testenv:ansible]passenv}
commands = {[testenv:ansible]commands}
+63
View File
@@ -0,0 +1,63 @@
# yamllint disable
---
- job:
name: gitcontrol-test-integration
parent: ansible-collection-test-integration
description: |
Execute ansible-test integration for the collection
vars:
ansible_test_test_command: "integration"
ansible_test_no_temp_unicode: true
files:
plugins/module_utils/git.py
plugins/module_utils/github.py
plugins/modules/github
pre-run: tests/playbooks/pre.yaml
secrets:
- secret: gitcontrol-secret
name: gitcontrol
- secret:
name: gitcontrol-secret
data:
token: !encrypted/pkcs1-oaep
- QduY2mJaxznljZMLGoGE/LcHwb0Fk4QRcqX8DY+a8i320Rl0GdRE9yfFwkxfdFQ245UXT
ZgcnHsuofTCbRQOWkt5eEN/+OqKqgvtDyP2QmOfOksbTUhnpWR1jV9/wDgqXIKTH7USgf
EQbnaSBYCgUTIi2BZVhJBPEtb9AvO8h1NcrhCxR4R8Cw8PJ/bOzPAgfvZ/D9067S9smgz
cKZyOuloBhwVRskdbj5tbvViya44cGDs13j6Dpvv1C2tgdVctM/6iHwvXyOL2PtTu5LCP
3OVxgZCWx3XPzgfUl+QwL5KZSaDmsU6b7v5lr89HcTDrVmu02El6sEkMbUPQ/dDB6/7LK
fzMxCXz17bSWehIt1ASC+e+1jkfZKXHC5ss/6ebzRESdEeYDMb/6ueq3FPNslRbKwoGTK
54D8fSOIagjg+F+AYJjXaozslsj5S1Uv7HgGj6Ecgv75Hcx8/jJiUsqyHazx7EZ4CDBfG
Lh28IR72f6JqALD01ontiYLWb7CdlxIa0zzNmmiA2oC/Zcvnef6hpSdvoFwmamY3HNUsM
VsvUiEJiT0uRropSKEr4q3/uKbwsqqbQ8TkWj/CaKbZ+MeIR4N4WO54r81K8W7p/3W6pt
qUFW1s/mMQWoYeQRh1gPHetpEgGfVP8d636Dk0hzK33vuvaJIfQdZxST7hkmuw=
- project:
merge-mode: squash-merge
vars:
ansible_collection_namespace: "opentelekomcloud"
ansible_collection_name: "gitcontrol"
check:
jobs:
- otc-tox-pep8
- otc-tox-linters
- ansible-collection-test-sanity
- ansible-collection-build
- ansible-collection-docs
check-post:
jobs:
- gitcontrol-test-integration
gate:
jobs:
- otc-tox-pep8
- otc-tox-linters
- ansible-collection-test-sanity
- ansible-collection-build
- ansible-collection-docs
- gitcontrol-test-integration
release:
jobs:
- release-ansible-collection
promote:
jobs:
- promote-ansible-collection-docs