New spec for translation_check_site (Ansible AIO)

After several attempts to use DevStack for translation check site
we want to use OpenStack Ansible AIO to provide a service for
translators and reviewers of I18n team to check translation on
a running OpenStack platform.

Change-Id: Iabc8d6eb52b6ba9134bce26231c35bae4f641a1d
This commit is contained in:
Frank Kloeker 2017-03-02 22:41:18 +01:00 committed by Ian Y. Choi
parent ecf16e32c6
commit e99a73c16c

View File

@ -1,6 +1,7 @@
:: ::
Copyright 2015 Łukasz Jernaś Copyright 2015 Łukasz Jernaś
Copyright 2017 Frank Kloeker
This work is licensed under a Creative Commons Attribution 3.0 This work is licensed under a Creative Commons Attribution 3.0
Unported License. Unported License.
@ -32,33 +33,34 @@ between every translation group.
Proposed Change Proposed Change
=============== ===============
A sample OpenStack instance should be provided to translators, which runs A sample OpenStack instance should be provided to translators, which
the current working branch and regularly fetches updated translations. runs the current working branch and regularly fetches updated translations.
The instance should run Horizon and every module supported by the stock The instance should run Horizon and every module supported by the stock
dashboard. dashboard.
This could be achieved with openstack-ansible AIO.
This could be achieved by running a DevStack instance on a host, which would AIO means "all in one". OpenStack components are installed in separate container
fetch translation from the current translation system by a cron schedule. (i.e. Horizon) on a single VM. Advantages for containers are: easy to manage
The entire DevStack environment should be refreshed approximately once a week (i.e. snapshot backup and recovery in case of failed updates of the horizon container).
because the environment itself is string freezed during translation peak openstack-ansible itself is reboot-save. It's not necessary to re-install
period. The translation update, that is translation import job, is run once from scratch like DevStack. In the Horizon container a script is installed
a day. The instance should be able to spawn pseudo VMs that are using fake to fetch the translation file periodically from the translation server via cron,
virt driver, create networks and all other capabilities provided by Horizon, compile it and serves the new content to the dashboard. The dashboard contents
but should be firewalled off from the rest of the world with a periodic the core functionality plus core plugins. The instance should be able to spawn
cleanup of all resources. pseudo VMs that are using fakevirt driver, create networks and all other
capabilities provided by Horizon, but should be firewalled off from the rest
of the world with a periodic cleanup of all resources.
There is no need for SSO integration as the only required accounts are a shared There is no need for SSO integration as the only required accounts are a shared
admin and a user account, with the credentials known to the translation team. admin and a user account, with the credentials known to the translation team.
The sync cycle of the translation files is configurable. Update mechanism for
different branches or releases of the dashboard are also configurable and done
by ansible. The installed AIO should upgraded 4 times each cycle: soft/hard
string freeze, release, stable.
Alternatives Alternatives
------------ ------------
As an alternative a prebuilt VM image could be created for the translators As an alternative a prebuilt VM image could be created for the translators
to run on their own workstations with a simple set of scripts to update to run on their own workstations or cloud with a manual run of ansible
the translations. However this might take the a similar amount of time playbooks for update Horizon or sync the translation files.
and also would require the translators to have sufficient hardware to run
such VM.
Implementation Implementation
============== ==============
@ -67,13 +69,14 @@ Assignee(s)
----------- -----------
Primary assignee: Primary assignee:
* Ying Chun Guo <guoyingc@cn.ibm.com> * Frank Kloeker <f.kloeker@telekom.de>
Also: Also:
* Łukasz Jernaś <deejay1@srem.org> * Clark Boylan <cboylan@sapwetik.org> (Infrastructure side)
* Elizabeth K. Joseph <lyz@princessleia.com> * Rob Cresswell <robert.cresswell@outlook.com> (PTL Horizon)
* Frank Kloeker <f.kloeker@telekom.de> * Andy McCrae <andy.mccrae@gmail.com> (PTL OpenStackAnsible)
* KATO Tomoyuki <kato.tomoyuki@jp.fujitsu.com> * Ian Y. Choi <ianyrchoi@gmail.com> (PTL I18n)
* KATO Tomoyuki <kato.tomoyuki@jp.fujitsu.com> (I18n Core Team)
Gerrit Topic Gerrit Topic
------------ ------------
@ -110,7 +113,7 @@ teams.
Documentation Documentation
------------- -------------
Documentation related to configuration and potential DevStack debugging Documentation related to configuration and potential AIO debugging
for the infrastructure team in the system-config repository. for the infrastructure team in the system-config repository.
Documentation for translators who will be using this. Documentation for translators who will be using this.
@ -134,4 +137,5 @@ correctly.
Dependencies Dependencies
============ ============
This will require creation of a new puppet module. This will require extension of openstack-ansible-os_horizon