Compare commits

..

2 Commits

Author SHA1 Message Date
6b268aa53d adding empty lists
All checks were successful
gl/check check status: success (6b268aa53d49d213ba8c384022990a5592a19776)
gl/gate gate status: success (6b268aa53d49d213ba8c384022990a5592a19776)
2023-06-07 14:43:36 +00:00
04680141f9 removing service entries from services.yaml as obsolete due to split and distributing all service and document entries to separate files
Some checks failed
gl/check check status: failure (04680141f97d5fcb6599f9f57eb163aec9b915b9)
2023-06-07 14:34:18 +00:00
21 changed files with 100 additions and 170 deletions

View File

@ -0,0 +1,9 @@
---
hc_location: devg/as
html_location: docs/as/dev
link: /auto-scaling/dev-guide/
pdf_name: as-dev-guide
rst_location: dev_guide/source
service_type: as
title: Developer Guide
type: dev

View File

@ -0,0 +1,9 @@
---
hc_location: devg/ecs
html_location: docs/ecs/dev
link: /elastic-cloud-server/dev-guide/
pdf_name: ecs-dev-guide
rst_location: dev_guide/source
service_type: ecs
title: Developer Guide
type: dev

View File

@ -0,0 +1,9 @@
---
hc_location: devg/evs
html_location: docs/evs/dev
link: /elastic-volume-service/dev-guide/
pdf_name: evs-dev-guide
rst_location: dev_guide/source
service_type: evs
title: Developer Guide
type: dev

View File

@ -1,8 +0,0 @@
---
html_location: docs/iam/permissions
link: /identity-access-management/permissions/
pdf_name: iam-permissions
rst_location: doc/permissions/source
service_type: iam
title: Permissions
type: permissions

View File

@ -0,0 +1,9 @@
---
hc_location: devg/ims
html_location: docs/ims/dev
link: /image-management-service/dev-guide/
pdf_name: ims-dev-guide
rst_location: dev_guide/source
service_type: ims
title: Developer Guide
type: dev

View File

@ -0,0 +1,8 @@
---
html_location: docs/ims/public-images
link: /image-management-service/public-images/
pdf_name: ims-public-images
rst_location: doc/public-images/source
service_type: ims
title: Public Image Introduction
type: public-images

View File

@ -0,0 +1,9 @@
---
hc_location: pfs/obs
html_location: docs/obs/pfs
link: /object-storage-service/parallel-file-system/
pdf_name: obs-pfs
rst_location: doc/parallel-file-system/source
service_type: obs
title: Parallel File System (PFS)
type: parallel-file-system

View File

@ -0,0 +1,8 @@
---
html_location: docs/obs/perms-cfg
link: /object-storage-service/permissions-configuration-guide/
pdf_name: obs-perms-cfg
rst_location: doc/permissions-configuration-guide/source
service_type: obs
title: Permissions Configuration Guide
type: permissions-configuration-guide

View File

@ -0,0 +1,9 @@
---
hc_location: api_swift/obs
html_location: docs/obs/api-swift
link: /object-storage-service/swiftapi/
pdf_name: obs-swiftapi
rst_location: doc/swiftapi/source
service_type: obs
title: API Reference (Swift)
type: swiftapi

View File

@ -1,9 +0,0 @@
---
hc_location: usermanual/sd
html_location: docs/sd/umn
link: /status-dashboard/umn/
pdf_name: sd-umn
rst_location: umn/source
service_type: sd
title: User Guide
type: umn

View File

@ -1,4 +1,5 @@
--- ---
environment: internal
hc_location: api/dwaf hc_location: api/dwaf
html_location: docs/wafd/api-ref html_location: docs/wafd/api-ref
link: /web-application-firewall-dedicated/api-ref/ link: /web-application-firewall-dedicated/api-ref/

View File

@ -1,4 +1,5 @@
--- ---
environment: internal
hc_location: usermanual/dwaf hc_location: usermanual/dwaf
html_location: docs/wafd/umn html_location: docs/wafd/umn
link: /web-application-firewall-dedicated/umn/ link: /web-application-firewall-dedicated/umn/

View File

@ -0,0 +1,3 @@
---
name: big_data
title: Big Data and Data Analysis

View File

@ -1,16 +0,0 @@
---
repositories:
- environment: internal
repo: docs-swiss/status-dashboard
type: gitea
- environment: public
repo: opentelekomcloud-docs-swiss/status-dashboard
type: github
service_category: other
service_title: Status Dashboard
service_type: sd
service_uri: status-dashboard/umn
environment: hidden
teams:
- name: docs-eco-rw
permission: write

View File

@ -48,15 +48,6 @@ class Services(object):
self._service_data["services"], self._service_data["services"],
key=lambda x: f"{x.get('service_type')}{x.get('service_title')}", key=lambda x: f"{x.get('service_type')}{x.get('service_title')}",
) )
# sort service categories by <name>_<title>
self._service_data["service_categories"] = sorted(
self._service_data["service_categories"],
key=lambda x: f"{x.get('name')}{x.get('title')}",
)
other = {'name': 'other', 'title': 'Other'}
if other in self._service_data["service_categories"]:
self._service_data["service_categories"].remove(other)
self._service_data["service_categories"].append(other)
def _rewrite_data(self): def _rewrite_data(self):
otc_metadata.data.rewrite_data("services.yaml", self._service_data) otc_metadata.data.rewrite_data("services.yaml", self._service_data)
@ -122,58 +113,6 @@ class Services(object):
res[cat]["docs"].append(res_doc) res[cat]["docs"].append(res_doc)
return res return res
def service_types_with_doc_types(self, environment=None):
"""Retrieve type and title from services and corresponding docs.
As well as a list of all available doc types with title.
:param str environment: Optional service environment.
"""
service_list = []
docs = []
for service in self.all_services:
if "environment" in service:
if service["environment"] != environment:
continue
if not service["service_title"]:
continue
if not service["service_type"]:
continue
doc_list = []
for doc in self.all_docs:
if "environment" in doc:
if doc["environment"] != environment:
continue
if doc["service_type"] == service["service_type"]:
doc_list.append({
"title": doc["title"],
"type": doc["type"]
})
new_doc = {
"type": doc["type"],
"title": doc["title"]
}
type_exists = any(
doc_dict["type"] == new_doc["type"] for doc_dict in docs
)
if not type_exists:
docs.append(new_doc)
service_list.append({
"service_title": service["service_title"],
"service_type": service["service_type"],
"docs": doc_list
})
res = {
"services": service_list,
"docs": docs
}
return res
def docs_by_service_category(self, category, environment=None): def docs_by_service_category(self, category, environment=None):
"""List services matching category """List services matching category
@ -237,8 +176,6 @@ class Services(object):
srv_res = dict( srv_res = dict(
service_title=srv["service_title"], service_title=srv["service_title"],
service_type=srv["service_type"], service_type=srv["service_type"],
service_category=srv["service_category"],
service_environment=environment,
docs=[], docs=[],
) )
if "teams" in srv: if "teams" in srv:
@ -262,7 +199,6 @@ class Services(object):
rst_location=doc["rst_location"], rst_location=doc["rst_location"],
title=doc["title"], title=doc["title"],
type=doc.get("type", "dummy"), type=doc.get("type", "dummy"),
link=doc["link"],
) )
if "pdf_name" in doc: if "pdf_name" in doc:
doc_res["pdf_name"] = doc["pdf_name"] doc_res["pdf_name"] = doc["pdf_name"]

View File

@ -37,18 +37,6 @@ otcdocs_git_fqdn = '{{ git_fqdn }}'
otcdocs_git_type = '{{ git_type }}' otcdocs_git_type = '{{ git_type }}'
{%- endif %} {%- endif %}
# Those variables are needed for indexing into OpenSearch
otcdocs_doc_environment = '{{ doc_environment }}'
otcdocs_doc_link = '{{ doc_link }}'
otcdocs_doc_title = '{{ doc_title }}'
otcdocs_doc_type = '{{ doc_type }}'
otcdocs_service_category = '{{ service_category }}'
otcdocs_service_title = '{{ service_title }}'
otcdocs_service_type = '{{ service_type }}'
otcdocs_search_environment = 'hc_swiss'
otcdocs_search_index = 'search_index_swiss'
otcdocs_search_url = "https://opensearch.eco.tsi-dev.otc-service.com/"
# 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
# documentation root, use os.path.abspath to make it absolute, like shown here. # documentation root, use os.path.abspath to make it absolute, like shown here.

View File

@ -4,5 +4,4 @@ otcdocstheme # Apache-2.0
reno>=3.1.0 # Apache-2.0 reno>=3.1.0 # Apache-2.0
otc-sphinx-directives>=0.1.0 otc-sphinx-directives>=0.1.0
sphinx-minify>=0.0.1 # Apache-2.0
git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata-swiss.git#egg=otc_metadata git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata-swiss.git#egg=otc_metadata

View File

@ -24,9 +24,7 @@ commands = {posargs}
# This env is invoked in the periodic pipeline and is therefore responsible to # This env is invoked in the periodic pipeline and is therefore responsible to
# build all relevant docs at once. # build all relevant docs at once.
[testenv:docs] [testenv:docs]
deps = deps = -r{toxinidir}/doc/requirements.txt
-r{toxinidir}/doc/requirements.txt
-c https://raw.githubusercontent.com/opentelekomcloud-docs-swiss/docs-constraints/main/constraints.txt
allowlist_externals = allowlist_externals =
mkdir mkdir
cp cp
@ -34,16 +32,15 @@ allowlist_externals =
rm rm
sphinx-build sphinx-build
commands = commands =
rm -rf doc/build/html doc/build/html_temp doc/build/doctrees rm -rf doc/build/html doc/build/doctrees
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html_temp sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
sphinx-minify --input-directory doc/build/html_temp/ --output-directory doc/build/html
{%- for doc in docs %} {%- for doc in docs %}
{[testenv:{{ doc.type }}]commands} {[testenv:{{ doc.type }}]commands}
{[testenv:json-{{ doc.type }}]commands} {[testenv:json-{{ doc.type }}]commands}
{%- endfor %} {%- endfor %}
[testenv:docs-pdf] [testenv:docs-pdf]
deps = {[testenv:docs]deps} deps = -r{toxinidir}/doc/requirements.txt
allowlist_externals = allowlist_externals =
rm rm
mkdir mkdir
@ -62,24 +59,26 @@ commands =
{% set loc = doc.rst_location | replace('/source', '') %} {% set loc = doc.rst_location | replace('/source', '') %}
# HTML version # HTML version
[testenv:{{ doc.type }}] [testenv:{{ doc.type }}]
deps = {[testenv:docs]deps} deps = -r{toxinidir}/doc/requirements.txt
allowlist_externals = allowlist_externals =
cp cp
mkdir mkdir
commands = commands =
sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html_temp/{{ doc.type }} sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html/{{ doc.type }}
sphinx-minify --input-directory doc/build/html_temp/{{ doc.type }} --output-directory doc/build/html/{{ doc.type }} {%- if doc.type == 'api-ref' %}
{%- if doc.type == 'dev-guide' %} mkdir -p api-ref/build/html
cp -av doc/build/html/api-ref api-ref/build/html
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/html
cp -av doc/build/html/umn umn/build/html
{%- elif doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/html mkdir -p dev_guide/build/html
cp -av doc/build/html/dev-guide dev_guide/build/html cp -av doc/build/html/dev-guide dev_guide/build/html
{%- else %}
mkdir -p {{ doc.type }}/build/html
cp -av doc/build/html/{{ doc.type }} {{ doc.type }}/build/html
{%- endif %} {%- endif %}
# Json version (for search) # Json version (for search)
[testenv:json-{{ doc.type }}] [testenv:json-{{ doc.type }}]
deps = {[testenv:docs]deps} deps = -r{toxinidir}/doc/requirements.txt
allowlist_externals = allowlist_externals =
cp cp
mkdir mkdir
@ -89,18 +88,21 @@ commands =
# Drop data useless for the search - wrap it also with sh/xargs due to bugs # Drop data useless for the search - wrap it also with sh/xargs due to bugs
# in tox # in tox
sh -c "find doc/build/json -type d -and '(' -name '_images' -or -name '_static' -or -name '_sources' ')' -print0 | xargs -0 rm -rf" sh -c "find doc/build/json -type d -and '(' -name '_images' -or -name '_static' -or -name '_sources' ')' -print0 | xargs -0 rm -rf"
{%- if doc.type == 'dev-guide' %} {%- if doc.type == 'api-ref' %}
mkdir -p api-ref/build/json
cp -av doc/build/json/api-ref api-ref/build/json
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/json
cp -av doc/build/json/umn umn/build/json
{%- elif doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/json mkdir -p dev_guide/build/json
cp -av doc/build/json/dev-guide dev_guide/build/json cp -av doc/build/json/dev-guide dev_guide/build/json
{%- else %}
mkdir -p {{ doc.type }}/build/json
cp -av doc/build/json/{{ doc.type }} {{ doc.type }}/build/json
{%- endif %} {%- endif %}
{% if doc.pdf_name -%} {% if doc.pdf_name -%}
# PDF version # PDF version
[testenv:{{ doc.type }}-pdf-docs] [testenv:{{ doc.type }}-pdf-docs]
deps = {[testenv:docs]deps} deps = -r{toxinidir}/doc/requirements.txt
allowlist_externals = allowlist_externals =
rm rm
mkdir mkdir

View File

@ -148,30 +148,8 @@ def process_repositories(args, service):
context["html_options"] = dict( context["html_options"] = dict(
disable_search=True, disable_search=True,
site_name="Internal Documentation Portal", site_name="Internal Documentation Portal",
logo_url="https://docs-int.sc.otc.t-systems.com", logo_url="https://docs-int.otc-service.com",
) )
else:
context["html_options"] = dict(
site_name="Swiss Open Telekom Cloud Docs",
logo_url="https://docs-beta.sc.otc.t-systems.com",
)
context["doc_environment"] = args.target_environment
if doc['link']:
context["doc_link"] = doc['link']
else:
context["doc_link"] = (
'/'
+ service['service_uri']
+ '/'
+ doc['type']
+ '/'
)
context["doc_title"] = doc['title']
context["doc_type"] = doc['type']
context["service_category"] = service['service_category']
context["service_title"] = service['service_title']
context["service_type"] = service['service_type']
conf_py_content = conf_py_template.render(**context) conf_py_content = conf_py_template.render(**context)
with open(conf_py_path, "w", encoding="utf-8", newline="") as out: with open(conf_py_path, "w", encoding="utf-8", newline="") as out:
logging.debug(f"Generating {conf_py_path} from template...") logging.debug(f"Generating {conf_py_path} from template...")
@ -189,8 +167,6 @@ def process_repositories(args, service):
title=f"{service['service_title']} - Service Based View", title=f"{service['service_title']} - Service Based View",
service_type=service["service_type"] service_type=service["service_type"]
) )
context["service_category"] = service['service_category']
context["service_title"] = service['service_title']
if not copy_path.exists(): if not copy_path.exists():
logging.info("Path for sbv does not exist") logging.info("Path for sbv does not exist")
copy_path.mkdir(parents=True, exist_ok=True) copy_path.mkdir(parents=True, exist_ok=True)
@ -203,12 +179,7 @@ def process_repositories(args, service):
context["html_options"] = dict( context["html_options"] = dict(
disable_search=True, disable_search=True,
site_name="Internal Documentation Portal", site_name="Internal Documentation Portal",
logo_url="https://docs-int.sc.otc.t-systems.com", logo_url="https://docs-int.otc-service.com",
)
else:
context["html_options"] = dict(
site_name="Swiss Open Telekom Cloud Docs",
logo_url="https://docs-beta.sc.otc.t-systems.com",
) )
sbv_title = (service["service_title"] + "\n" sbv_title = (service["service_title"] + "\n"
+ ('=' * len(service["service_title"]))) + ('=' * len(service["service_title"])))
@ -277,7 +248,7 @@ def process_repositories(args, service):
args.commit_description args.commit_description
) )
push_args = ["--set-upstream", "origin", branch_name] push_args = ["--set-upstream", "origin", branch_name]
if args.force_push: if args.branch_force:
push_args.append("--force") push_args.append("--force")
repo_to.git.push(*push_args) repo_to.git.push(*push_args)
if "github" in url_to: if "github" in url_to:
@ -357,11 +328,6 @@ def main():
help=("Whether to overwrite index.rst for service-based-view." help=("Whether to overwrite index.rst for service-based-view."
+ "\nCan only be used if --update-sbv is also specified") + "\nCan only be used if --update-sbv is also specified")
) )
parser.add_argument(
"--force-push",
action="store_true",
help="Whether to force push the commit"
)
parser.add_argument( parser.add_argument(
"--commit-description", "--commit-description",
default=( default=(

View File

@ -32,11 +32,9 @@ def process_services(args, services):
block_on_rejected_reviews=True, block_on_rejected_reviews=True,
dismiss_stale_approvals=True, dismiss_stale_approvals=True,
enable_push=False, enable_push=False,
enable_status_check=True,
status_check_contexts=["gl/check"], status_check_contexts=["gl/check"],
enable_merge_whitelist=True, enable_merge_whitelist=True,
merge_whitelist_usernames=["zuul"], merge_whitelist_usernames=["zuul"],
required_approvals=1,
) )
gitea_repo_template = dict( gitea_repo_template = dict(
default_branch="main", default_branch="main",

View File

@ -10,7 +10,6 @@ import otc_metadata.services
def main(): def main():
data = otc_metadata.services.Services() data = otc_metadata.services.Services()
data._sort_data()
_yaml = YAML() _yaml = YAML()
_yaml.indent(mapping=2, sequence=4, offset=2) _yaml.indent(mapping=2, sequence=4, offset=2)