Compare commits
54 Commits
9e6317d115
...
pdf
Author | SHA1 | Date | |
---|---|---|---|
03ecab9755 | |||
ec59663c39 | |||
b52b0bb5e0 | |||
ccfbd0c235 | |||
28baf2213e | |||
6779395a19 | |||
4e34a4fa80 | |||
c037ca9a53 | |||
8de5c8ba57 | |||
e06e27d0e0 | |||
148e88184e | |||
dd76d849f0 | |||
8d34f223e9 | |||
2e4ab3ec77 | |||
3fc3610cb5 | |||
83b42c8053 | |||
eb996cfbfc | |||
ccd8ac5fcb | |||
c5b22fe720 | |||
9c7a933e0c | |||
d04569f7ca | |||
aa1dccf219 | |||
78e982b20c | |||
6c4bcbd6db | |||
e380347dd0 | |||
b02b97f5c3 | |||
07b3c97d7d | |||
641ec7ddd2 | |||
7eff19f3cd | |||
ba65aca9eb | |||
e0dc83ddc4 | |||
6c49cd3160 | |||
d506f9847e | |||
f10f322623 | |||
6005764f97 | |||
a204f6c0ea | |||
5531b12800 | |||
7c55f348e8 | |||
b5439711d6 | |||
9b52dba4e8 | |||
a7b654ddc8 | |||
d784756fb2 | |||
7cbdf09617 | |||
a4dd457062 | |||
338c58e5fa | |||
a18ca7e2a4 | |||
0f9f4cf295 | |||
7631f90891 | |||
26947ef227 | |||
08bfff0eba | |||
2212b887a1 | |||
644187c236 | |||
490a012d91 | |||
c79eaa6511 |
@ -1,3 +1,3 @@
|
|||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
test_path=./otc-metadata/tests
|
test_path=./otc_metadata/tests/
|
||||||
top_dir=./
|
top_dir=./
|
||||||
|
@ -28,6 +28,7 @@ def read_data(filename):
|
|||||||
with open(filepath, 'r') as fd:
|
with open(filepath, 'r') as fd:
|
||||||
return yaml.safe_load(fd)
|
return yaml.safe_load(fd)
|
||||||
|
|
||||||
|
|
||||||
def rewrite_data(filename, data):
|
def rewrite_data(filename, data):
|
||||||
"""Rewrites data formatting it
|
"""Rewrites data formatting it
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -15,7 +15,7 @@ import copy
|
|||||||
|
|
||||||
import otc_metadata.data
|
import otc_metadata.data
|
||||||
|
|
||||||
__all__ = ['Docs']
|
__all__ = ['Service']
|
||||||
|
|
||||||
BUILTIN_DATA = otc_metadata.data.read_data('docs.yaml')
|
BUILTIN_DATA = otc_metadata.data.read_data('docs.yaml')
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -27,12 +27,12 @@ otcdocs_auto_version = False
|
|||||||
project = '{{ project }}'
|
project = '{{ project }}'
|
||||||
otcdocs_repo_name = '{{ repo_name }}'
|
otcdocs_repo_name = '{{ repo_name }}'
|
||||||
# Those variables are required for edit/bug links
|
# Those variables are required for edit/bug links
|
||||||
{% if git_fqdn -%}
|
{%- if git_fqdn %}
|
||||||
otcdocs_git_fqdn = '{{ git_fqdn }}'
|
otcdocs_git_fqdn = '{{ git_fqdn }}'
|
||||||
{% endif %}
|
{%- endif %}
|
||||||
{% if git_type -%}
|
{%- if git_type %}
|
||||||
otcdocs_git_type = '{{ git_type }}'
|
otcdocs_git_type = '{{ git_type }}'
|
||||||
{% endif %}
|
{%- endif %}
|
||||||
|
|
||||||
# If extensions (or modules to document with autodoc) are in another directory,
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
# add these directories to sys.path here. If the directory is relative to the
|
# add these directories to sys.path here. If the directory is relative to the
|
||||||
@ -42,6 +42,9 @@ sys.path.insert(0, os.path.abspath('../'))
|
|||||||
sys.path.insert(0, os.path.abspath('./'))
|
sys.path.insert(0, os.path.abspath('./'))
|
||||||
|
|
||||||
# -- General configuration ----------------------------------------------------
|
# -- General configuration ----------------------------------------------------
|
||||||
|
# https://docutils.sourceforge.io/docs/user/smartquotes.html - it does not
|
||||||
|
# what it is expected
|
||||||
|
smartquotes = False
|
||||||
|
|
||||||
# Add any Sphinx extension module names here, as strings. They can be
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
@ -79,6 +82,15 @@ html_theme = 'otcdocs'
|
|||||||
# further. For a list of options available for each theme, see the
|
# further. For a list of options available for each theme, see the
|
||||||
# documentation.
|
# documentation.
|
||||||
html_theme_options = {
|
html_theme_options = {
|
||||||
|
{%- if html_options is defined -%}
|
||||||
|
{%- for (k, v) in html_options.items() %}
|
||||||
|
{%- if v is boolean %}
|
||||||
|
"{{ k }}": {{ v }},
|
||||||
|
{%- else %}
|
||||||
|
"{{ k }}": "{{ v }}",
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endif %}
|
||||||
}
|
}
|
||||||
|
|
||||||
# The name for this set of Sphinx documents. If None, it defaults to
|
# The name for this set of Sphinx documents. If None, it defaults to
|
||||||
@ -92,12 +104,16 @@ html_title = "{{ title }}"
|
|||||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
html_static_path = ['_static']
|
html_static_path = ['_static']
|
||||||
|
|
||||||
|
# Do not include sources into the rendered results
|
||||||
|
html_copy_source = False
|
||||||
|
|
||||||
# -- Options for PDF output --------------------------------------------------
|
# -- Options for PDF output --------------------------------------------------
|
||||||
latex_documents = [
|
latex_documents = [
|
||||||
{% if pdf_name is defined -%}
|
{%- if pdf_name is defined %}
|
||||||
('index',
|
('index',
|
||||||
'{{ pdf_name }}.tex',
|
'{{ pdf_name }}.tex',
|
||||||
u'{{ title }}',
|
u'{{ title }}',
|
||||||
u'OpenTelekomCloud', 'manual'),
|
u'OpenTelekomCloud', 'manual'),
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
4
otc_metadata/templates/doc_requirements.txt.j2
Normal file
4
otc_metadata/templates/doc_requirements.txt.j2
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
sphinx>=2.0.0,!=2.1.0 # BSD
|
||||||
|
otcdocstheme # Apache-2.0
|
||||||
|
# releasenotes
|
||||||
|
reno>=3.1.0 # Apache-2.0
|
117
otc_metadata/templates/tox.ini.j2
Normal file
117
otc_metadata/templates/tox.ini.j2
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,23 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
# Copyright 2010-2011 OpenStack Foundation
|
|
||||||
# Copyright (c) 2013 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.
|
|
||||||
|
|
||||||
from unittest import TestCase
|
|
||||||
|
|
||||||
|
|
||||||
class TestCase(TestCase):
|
|
||||||
|
|
||||||
"""Test case base class for all unit tests."""
|
|
@ -19,10 +19,10 @@ test_otc-metadata
|
|||||||
Tests for `otc-metadata` module.
|
Tests for `otc-metadata` module.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from otc-metadata.tests import base
|
from unittest import TestCase
|
||||||
|
|
||||||
|
|
||||||
class TestOtc-metadata(base.TestCase):
|
class TestOtcMetadata(TestCase):
|
||||||
|
|
||||||
def test_something(self):
|
def test_something(self):
|
||||||
pass
|
pass
|
@ -1,11 +1,11 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = otc-metadata
|
name = otc-metadata
|
||||||
summary = Metadata about OTC for Ecosystem
|
summary = Metadata about OTC for Ecosystem
|
||||||
description-file =
|
description_file =
|
||||||
README.rst
|
README.rst
|
||||||
author = Open Telekom Cloud
|
author = Open Telekom Cloud
|
||||||
home-page = https://open.telekom.cloud/
|
home_page = https://open.telekom.cloud/
|
||||||
python-requires = >=3.6
|
python_requires = >=3.6
|
||||||
classifier =
|
classifier =
|
||||||
Environment :: OpenStack
|
Environment :: OpenStack
|
||||||
Intended Audience :: Information Technology
|
Intended Audience :: Information Technology
|
||||||
|
1
setup.py
1
setup.py
@ -11,7 +11,6 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
|
|
||||||
import setuptools
|
import setuptools
|
||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
# of appearance. Changing the order has an impact on the overall integration
|
# of appearance. Changing the order has an impact on the overall integration
|
||||||
# process, which may cause wedges in the gate later.
|
# process, which may cause wedges in the gate later.
|
||||||
|
|
||||||
hacking>=3.0,<3.1 # Apache-2.0
|
stestr>=2.0.0 # Apache-2.0
|
||||||
|
testtools>=2.2.0 # MIT
|
||||||
coverage>=4.0,!=4.4 # Apache-2.0
|
flake8
|
||||||
python-subunit>=0.0.18 # Apache-2.0/BSD
|
|
||||||
stestr>=1.0.0 # Apache-2.0
|
|
||||||
testtools>=1.4.0 # MIT
|
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
GitPython
|
GitPython
|
||||||
ruamel
|
ruamel.yaml
|
||||||
|
requests
|
||||||
|
jinja2
|
||||||
|
dirsync
|
||||||
|
cookiecutter
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
import copy
|
import re
|
||||||
|
|
||||||
import otc_metadata.services
|
import otc_metadata.services
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
@ -6,15 +6,17 @@ from ruamel.yaml import YAML
|
|||||||
data = otc_metadata.services.Services()
|
data = otc_metadata.services.Services()
|
||||||
new_data = data._service_data
|
new_data = data._service_data
|
||||||
|
|
||||||
services = data.service_dict
|
# services = data.service_dict
|
||||||
|
|
||||||
for srv in new_data["services"]:
|
|
||||||
srv["teams"] = [
|
|
||||||
{"name": f"docs-{srv['service_category']}-rw", "permission": "write"}
|
|
||||||
]
|
|
||||||
|
|
||||||
|
for doc in new_data["documents"]:
|
||||||
|
hc_location = None
|
||||||
|
link = doc.get("link")
|
||||||
|
if link:
|
||||||
|
print(f"Parsing {link}")
|
||||||
|
# (p1, p2) = link.split("/")
|
||||||
|
doc["link"] = re.sub(r"/(.*)/(.*)/", r"/\2/\1/", link)
|
||||||
|
|
||||||
_yaml = YAML()
|
_yaml = YAML()
|
||||||
_yaml.indent(mapping=2, sequence=4, offset=2)
|
_yaml.indent(mapping=2, sequence=4, offset=2)
|
||||||
with open('new.yaml', 'w') as fd:
|
with open("new.yaml", "w") as fd:
|
||||||
_yaml.dump(new_data, fd)
|
_yaml.dump(new_data, fd)
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -13,9 +13,11 @@ def main():
|
|||||||
|
|
||||||
_yaml = YAML()
|
_yaml = YAML()
|
||||||
_yaml.indent(mapping=2, sequence=4, offset=2)
|
_yaml.indent(mapping=2, sequence=4, offset=2)
|
||||||
filepath = sys.stdout
|
sys.stdout.write(
|
||||||
sys.stdout.write('# Auto-generated by otc_metadata.generate_docexports.data\n')
|
"# Auto-generated by otc_metadata.generate_docexports.data\n"
|
||||||
_yaml.dump(data.docs_html_by_category('internal'), sys.stdout)
|
)
|
||||||
|
_yaml.dump(data.docs_html_by_category("internal"), sys.stdout)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
|||||||
import copy
|
# import copy
|
||||||
|
|
||||||
import otc_metadata.services
|
import otc_metadata.services
|
||||||
from ruamel.yaml import YAML
|
# from ruamel.yaml import YAML
|
||||||
|
|
||||||
data = otc_metadata.services.Services()
|
data = otc_metadata.services.Services()
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
304
tools/update_zuul_project_configs.py
Normal file
304
tools/update_zuul_project_configs.py
Normal file
File diff suppressed because it is too large
Load Diff
34
tox.ini
34
tox.ini
@ -1,56 +1,26 @@
|
|||||||
[tox]
|
[tox]
|
||||||
minversion = 3.2.0
|
minversion = 3.2.0
|
||||||
envlist = py39,pep8
|
envlist = py3,pep8
|
||||||
skipsdist = True
|
|
||||||
ignore_basepython_conflict = true
|
ignore_basepython_conflict = true
|
||||||
|
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
basepython = python3
|
basepython = python3
|
||||||
usedevelop = True
|
usedevelop = True
|
||||||
setenv =
|
setenv =
|
||||||
PYTHONWARNINGS=default::DeprecationWarning
|
PYTHONWARNINGS=default::DeprecationWarning
|
||||||
OS_STDOUT_CAPTURE=1
|
|
||||||
OS_STDERR_CAPTURE=1
|
|
||||||
OS_TEST_TIMEOUT=60
|
|
||||||
deps = -r{toxinidir}/test-requirements.txt
|
deps = -r{toxinidir}/test-requirements.txt
|
||||||
commands = stestr run {posargs}
|
commands = stestr run {posargs}
|
||||||
|
|
||||||
[testenv:lower-constraints]
|
|
||||||
deps = -r{toxinidir}/test-requirements.txt
|
|
||||||
|
|
||||||
[testenv:pep8]
|
[testenv:pep8]
|
||||||
commands = flake8 {posargs}
|
commands = flake8 {posargs}
|
||||||
|
|
||||||
[testenv:venv]
|
[testenv:venv]
|
||||||
commands = {posargs}
|
commands = {posargs}
|
||||||
|
|
||||||
[testenv:cover]
|
|
||||||
setenv =
|
|
||||||
VIRTUAL_ENV={envdir}
|
|
||||||
PYTHON=coverage run --source otc_metadata --parallel-mode
|
|
||||||
commands =
|
|
||||||
stestr run {posargs}
|
|
||||||
coverage combine
|
|
||||||
coverage html -d cover
|
|
||||||
coverage xml -o cover/coverage.xml
|
|
||||||
|
|
||||||
[testenv:docs]
|
|
||||||
deps = -r{toxinidir}/doc/requirements.txt
|
|
||||||
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
||||||
|
|
||||||
[testenv:releasenotes]
|
|
||||||
deps = {[testenv:docs]deps}
|
|
||||||
commands =
|
|
||||||
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
||||||
|
|
||||||
[testenv:debug]
|
|
||||||
commands = oslo_debug_helper {posargs}
|
|
||||||
|
|
||||||
[flake8]
|
[flake8]
|
||||||
# E123, E125 skipped as they are invalid PEP-8.
|
# E123, E125 skipped as they are invalid PEP-8.
|
||||||
|
|
||||||
show-source = True
|
show-source = True
|
||||||
ignore = E123,E125
|
ignore = E123,E125,W503
|
||||||
builtins = _
|
builtins = _
|
||||||
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
||||||
|
10
zuul.yaml
10
zuul.yaml
@ -1,19 +1,11 @@
|
|||||||
- project:
|
- project:
|
||||||
merge-mode: squash-merge
|
merge-mode: squash-merge
|
||||||
default-branch: master
|
default-branch: main
|
||||||
templates:
|
|
||||||
- publish-to-pypi
|
|
||||||
- publish-otc-docs-hc-pti
|
|
||||||
- release-notes-jobs
|
|
||||||
check:
|
check:
|
||||||
jobs:
|
jobs:
|
||||||
- otc-tox-pep8
|
- otc-tox-pep8
|
||||||
- otc-tox-py38
|
|
||||||
- otc-tox-py39
|
- otc-tox-py39
|
||||||
- tox-functional
|
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
- otc-tox-pep8
|
- otc-tox-pep8
|
||||||
- otc-tox-py38
|
|
||||||
- otc-tox-py39
|
- otc-tox-py39
|
||||||
- tox-functional
|
|
||||||
|
Reference in New Issue
Block a user