<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tetsuya-oikawa</id>
		<title>OpenStack - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tetsuya-oikawa"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/wiki/Special:Contributions/Tetsuya-oikawa"/>
		<updated>2026-07-14T08:01:02Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=RACK/ja&amp;diff=93903</id>
		<title>RACK/ja</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=RACK/ja&amp;diff=93903"/>
				<updated>2015-10-22T01:06:18Z</updated>
		
		<summary type="html">&lt;p&gt;Tetsuya-oikawa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RACK (Real Application Centric Kernel) =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Resources ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''Resource'''&lt;br /&gt;
| '''English '''&lt;br /&gt;
| '''Japanese'''&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| https://wiki.openstack.org/wiki/RACK&lt;br /&gt;
| https://wiki.openstack.org/wiki/RACK/ja&lt;br /&gt;
|-&lt;br /&gt;
| Source code&lt;br /&gt;
| https://github.com/openstack/rack&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Deployment guide&lt;br /&gt;
| https://github.com/openstack/rack/tree/master/tools/setup&lt;br /&gt;
| https://github.com/openstack/rack/blob/master/tools/setup/README_ja.md&lt;br /&gt;
|-&lt;br /&gt;
| Sample applications&lt;br /&gt;
|&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like&lt;br /&gt;
|&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo/README_ja.md&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like/README_ja.md&lt;br /&gt;
|-&lt;br /&gt;
| Python RACK client&lt;br /&gt;
| https://github.com/openstack/python-rackclient&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| DevRACK&lt;br /&gt;
| &lt;br /&gt;
| https://github.com/ctc-g/devrack/blob/master/README_ja.md&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The concept of RACK: &amp;quot;OpenStack Native Application&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
OpenStack Native Application とは、OpenStackのリソース（たとえば、VMやVNET）を、アプリケーションの中から直接利用して動作するソフトウェアの事です。&lt;br /&gt;
現在主流のアプリケーションは、&amp;quot;クラウド以前&amp;quot;にデザインされており、クラウドとの親和性が考慮されていません。&lt;br /&gt;
そのため、これらのアプリケーションがOpenStack上で動作するには、ChefやPuppetといったツールと連携する必要があり、システムが複雑化しています。&lt;br /&gt;
&lt;br /&gt;
RACKはOpenStack上で直接動作するソフトウェア、&amp;quot;After the Cloud&amp;quot; アプリケーションを簡単に作成するための仕組みです。&lt;br /&gt;
プログラマはRACKを使うことで、外部との連携を必要とせずに、OpenStack上でスケールし、移植可能なアプリケーションを記述し動作させることができます。&lt;br /&gt;
&lt;br /&gt;
RACKの概念は以下になります。&lt;br /&gt;
&lt;br /&gt;
# 機能を持たせたVMを1つの実行バイナリファイルとして扱う。&amp;quot;機能&amp;quot;とは、アプリが動作するために必要なOS、ミドル、プログラムの事を指します。ここでのプログラムはRACKのAPIを呼び出して動作するように作ります。&lt;br /&gt;
# この実行バイナリを、OpenStack上に展開することで、このVMはLinuxプロセスのように振る舞い、何らかの仕事をします。&lt;br /&gt;
# このプロセスは、プログラムの中で記述に基づき、Forkして子プロセスを生成したり、プロセス間で通信を行います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
手っ取り早くRACKを体験するには、サンプルプログラムを見てください&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo/README_ja.md&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like/README_ja.md&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DevRACKという簡単にサンプルアプリケーションを実行するためのツールも開発しています。&lt;br /&gt;
* https://github.com/ctc-g/devrack/blob/master/README_ja.md&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Process-Image.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is RACK? ==&lt;br /&gt;
&lt;br /&gt;
RACKは、NovaやNeutron等のAPIをラッピングし、VMがプロセスのように振る舞うためのデータ構造を定義します。&lt;br /&gt;
そして、このプロセスとして扱われるVM間で、通信やデータ共有を行うためのAPIを提供します。&lt;br /&gt;
アプリケーションはこのAPIをコールすることで動作するように記述していきます。&lt;br /&gt;
更にRACKはこのAPIを利用するためのライブラリ[https://github.com/openstack/python-rackclient|python-rackclient]も提供しています。&lt;br /&gt;
このライブラリを使うことで、簡単にOpenStack Native Applicationが記述できます。&lt;br /&gt;
RACKは、OpenStack Native Applicationを記述するためのフレームワークとも言えます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What we call &amp;quot;process&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
RACKではプロセスという単語がよく出てきます。&lt;br /&gt;
このプロセスの実態はNova上の仮想マシンインスタンスです。&lt;br /&gt;
しかしこのインスタンスは、起動すると何かの仕事をするように作られています。&lt;br /&gt;
これは、Linuxの各種実行ファイル、たとえば lsコマンドやgrepコマンドが起動されると仕事をするのと似ています。&lt;br /&gt;
Linuxでは起動した実行ファイルはメモリ上のプロセスとなり、仕事を行い、最後には終了してメモリ上から消えます。&lt;br /&gt;
RACKはこの考え方をOpenStack上で再現します。&lt;br /&gt;
機能を持たせたglanceイメージをNova上で展開し、展開されたインスタンスが何か仕事を行い、最後に消えます。&lt;br /&gt;
そのため、RACKでは仮想マシンインスタンス＝プロセスと呼んでいます。&lt;br /&gt;
&lt;br /&gt;
プロセスとして起動されるVMインスタンスは、PIDを持ち、Fork可能で親子関係を持ちます。&lt;br /&gt;
また関係性を持ったプロセス間（VM間）では、IPアドレスを意識しないプロセス間通信やデータ共有、同一名前空間を持ったファイルシステムが利用可能で、この実行バイナリを作成するプログラマは、Linuxのプログラムを作る感覚で、OpenStack Native Applicationを記述できます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
RACKはVMをプロセスとして扱うためのデータ構造を定義したデータベースを持ち、このデータ構造を操作するためのRestfulなAPIを提供します。&lt;br /&gt;
アプリケーションから命令を受けると、OpenStackのAPIをコールし、プロセスの属性情報を自身のデータベースに書き込みます。&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Architecutre-Overview.png]]&lt;br /&gt;
&lt;br /&gt;
=== Attibutes of a process ===&lt;br /&gt;
プロセスの属性情報には下記のようなものがあります。&lt;br /&gt;
&lt;br /&gt;
* keypair, security-group, network&lt;br /&gt;
Nova、Neutronによって提供されるリソースです。&lt;br /&gt;
プロセスの属性情報としてそれぞれのリソースIDを保持しています。&lt;br /&gt;
&lt;br /&gt;
* GID (group ID)&lt;br /&gt;
各プロセスは一つのグループに所属します。&lt;br /&gt;
同じグループに所属するプロセスは、同一名前空間でファイル共有できるなどのメリットがあります。&lt;br /&gt;
&lt;br /&gt;
* PID, PPID&lt;br /&gt;
各プロセスに付与されるIDおよびその親のIDです。&lt;br /&gt;
これによりプロセス間の親子関係が表現されています。&lt;br /&gt;
&lt;br /&gt;
=== rack-proxy ===&lt;br /&gt;
各グループにはそれぞれrack-proxyというプロセスが存在します。&lt;br /&gt;
rack-apiがパブリックなAPIなのに対し、rack-proxyはそのグループだけがアクセス可能なAPIを提供します。&lt;br /&gt;
プロセス間通信やファイルシステムといった機能は、rack-proxyが提供します。&lt;br /&gt;
&lt;br /&gt;
=== Deployment of rack-api and rack-proxy ===&lt;br /&gt;
rack-apiは単独のネットワークに配置され、パブリックにアクセス可能とします。&lt;br /&gt;
グループごとに存在するrack-proxyは、rack-apiのAPIをコールすることで起動します。&lt;br /&gt;
rack-apiおよびすべてのrack-proxyは、同じデータベースを共有します。&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Topology.png]]&lt;br /&gt;
&lt;br /&gt;
現状、rack-apiとrack-proxyはVMとして起動しますが、将来的には以下の構成になることを目指します。&lt;br /&gt;
&lt;br /&gt;
* '''rack-apiはnova-apiなどのように、OpenStackコントローラノード内の一プロセスとして動作します。'''&lt;br /&gt;
* '''rack-proxyはneutron-ns-metadata-proxyのように、OpenStackネットワークノード内の一プロセスとして動作します。'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''これらはOpenStackのコアプロジェクトと密接に関わる範囲のため、現段階ではVMとして起動するようにしています。'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interprocess communication support ===&lt;br /&gt;
RACKはプロセスのデータ構造操作、起動停止に加え、プロセス間での通信、データ共有を支援する機能を持っています。&lt;br /&gt;
これらはライブラリと組み合わせて実現されています。&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Features.png]]&lt;br /&gt;
&lt;br /&gt;
* ファイルシステム&lt;br /&gt;
グループ内で共有されるファイルシステムを提供します。&lt;br /&gt;
プロセスは同じ名前空間でファイルにアクセスすることができ、あたかもローカルのファイルシステムにアクセスしているかのごとく利用できます。&lt;br /&gt;
&lt;br /&gt;
* 共有メモリ&lt;br /&gt;
簡単なデータをプロセス間で共有するための機能です。&lt;br /&gt;
複数のプロセスで同時に同じデータを参照したい場合などに利用できます。&lt;br /&gt;
&lt;br /&gt;
* パイプ&lt;br /&gt;
Unix-pipeライクな機能を提供します。&lt;br /&gt;
あるプロセスで処理した結果を別のプロセスに渡すということが簡単にできます。&lt;br /&gt;
相手のIPアドレスを知る必要はなく、相手が起動するまで待つ必要もありません。&lt;br /&gt;
&lt;br /&gt;
* シグナル&lt;br /&gt;
PIDの指定だけで任意のプロセスに文字列送信ができる機能です。&lt;br /&gt;
使い方によって複数のプロセスにマルチキャスト送信することも可能です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use cases ==&lt;br /&gt;
&lt;br /&gt;
RACKの使い方に制限はありません。&lt;br /&gt;
プロセスの追加・削除、プロセス間のデータ共有、データ通知などはすべて、プログラムによって記述可能です。&lt;br /&gt;
RACKを使えば、OpenStack Nativeなアプリケーションを簡単に開発することができます。&lt;br /&gt;
&lt;br /&gt;
RACKの使い方のヒントとして、いくつかのサンプルアプリケーションを用意しています。&lt;br /&gt;
まずはサンプルアプリケーションを動かしてみて、OpenStack Native Applicationとはどのようなものか体験してください。&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo/README_ja.md&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like/README_ja.md&lt;/div&gt;</summary>
		<author><name>Tetsuya-oikawa</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=RACK&amp;diff=93510</id>
		<title>RACK</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=RACK&amp;diff=93510"/>
				<updated>2015-10-19T07:10:44Z</updated>
		
		<summary type="html">&lt;p&gt;Tetsuya-oikawa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RACK (Real Application Centric Kernel) =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Resources ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''Resource'''&lt;br /&gt;
| '''English '''&lt;br /&gt;
| '''Japanese'''&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| https://wiki.openstack.org/wiki/RACK&lt;br /&gt;
| https://wiki.openstack.org/wiki/RACK/ja&lt;br /&gt;
|-&lt;br /&gt;
| Source code&lt;br /&gt;
| https://github.com/openstack/rack&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Deployment guide&lt;br /&gt;
| https://github.com/openstack/rack/tree/master/tools/setup&lt;br /&gt;
| https://github.com/openstack/rack/blob/master/tools/setup/README_ja.md&lt;br /&gt;
|-&lt;br /&gt;
| Sample applications&lt;br /&gt;
|&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like&lt;br /&gt;
|&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo/README_ja.md&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like/README_ja.md&lt;br /&gt;
|-&lt;br /&gt;
| Python RACK client&lt;br /&gt;
| https://github.com/openstack/python-rackclient&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The concept of RACK: &amp;quot;OpenStack Native Application&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
OpenStack Native Application is the software, which uses OpenStack resource (eg. VM or VNET) directly from application.&lt;br /&gt;
Recent popular applications are designed before the cloud computing age, so affinity with cloud is not considered.&lt;br /&gt;
In order to make those applications work on OpenStack, tools such as Chef, Puppet and other tools are required, and it makes systems very complex in design.&lt;br /&gt;
&lt;br /&gt;
RACK provides the mechanism to create “After the Cloud” applications.&lt;br /&gt;
Programmer can write codes that are scalable and migratable on OpenStack platform without cooperating with the external systems.&lt;br /&gt;
&lt;br /&gt;
Concepts of RACK are as follows:&lt;br /&gt;
# RACK handles VM with &amp;quot;functions&amp;quot; as a single execution binary file. “Functions” here means OS, middleware and programs that are necessary for application to function. The programs here are made in such a way as to call and operate RACK API.&lt;br /&gt;
# When this execution binary is deployed onto OpenStack, the VM will behave like a Linux process and then finish its own task.&lt;br /&gt;
# This process is based on the descriptions in the program. It does things such as forking and generating a child process, communicating between processes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please take a look at the sample programs to experience RACK!&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Process-Image.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is RACK? ==&lt;br /&gt;
&lt;br /&gt;
RACK defines data structure in order for VM to behave like a &amp;quot;process&amp;quot;.&lt;br /&gt;
It wraps Nova, Neutron and other APIs.&lt;br /&gt;
Also it provides API to control data communication and sharing.&lt;br /&gt;
Applications have to be scripted by order of calling the APIs.&lt;br /&gt;
The RACK also offers libraries [https://github.com/openstack/python-rackclient|python-rackclient] for using APIs.&lt;br /&gt;
It is very easy to write OpenStack Native Application codes by using the libraries.&lt;br /&gt;
The RACK may be recognized as framework for writing OpenStack Native Application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What we call &amp;quot;process&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
When using RACK, you might often hear a word “process”.&lt;br /&gt;
This process is a virtual machine instance on Nova.&lt;br /&gt;
However, this instance is created in such a way as to perform some tasks when it is started.&lt;br /&gt;
This is similar to various execution files of Linux, which start to operate when &amp;quot;ls&amp;quot; command or &amp;quot;grep&amp;quot; command is executed.&lt;br /&gt;
In Linux, the started execution file will become a process on memory, it handles tasks, exits and disappears from memory at the end.&lt;br /&gt;
RACK reproduces this concept on OpenStack.&lt;br /&gt;
It deploys the glance image (with features) on Nova, and the deployed instance performs its task and then disappears at the end.&lt;br /&gt;
This is the reason why a virtual machine is called &amp;quot;process&amp;quot; in the RACK world.&lt;br /&gt;
&lt;br /&gt;
The VM instance that is started as a process has a PID, possible to perform &amp;quot;Fork&amp;quot; and it has a parent-child relationship.&lt;br /&gt;
Additionally, it is possible to communicate without IP address and share data among these processes (VMs) that have such relationships.&lt;br /&gt;
The file system with the same name space is also available, and the programmer who creates this execution binary can describe the OpenStack Native Application as if programming a Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
RACK has a database defined with the data structure to handle VM as a process.&lt;br /&gt;
RACK provides Restful API to manipulate the data structure.&lt;br /&gt;
Once it receives an order from the application, it calls OpenStack API, and then writes the attribute info of the process into its own database.&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Architecutre-Overview.png]]&lt;br /&gt;
&lt;br /&gt;
=== Attibutes of a process ===&lt;br /&gt;
The attribute information of the process includes the followings;&lt;br /&gt;
&lt;br /&gt;
* keypair, security-group, network&lt;br /&gt;
Each process holds above IDs as attribute information.&lt;br /&gt;
&lt;br /&gt;
* GID (group ID)&lt;br /&gt;
Each process belongs to one group.&lt;br /&gt;
The process belongs to the same group has a benefit such as file sharing in the same name space.&lt;br /&gt;
&lt;br /&gt;
* PID, PPID&lt;br /&gt;
Each process holds its own ID (PID) and the parent's IP (PPID).&lt;br /&gt;
These IDs represent the parent-child relationship between processes.&lt;br /&gt;
&lt;br /&gt;
=== rack-proxy ===&lt;br /&gt;
There is a &amp;quot;rack-proxy&amp;quot; process in each group.&lt;br /&gt;
&amp;quot;rack-api&amp;quot; prodives the public API, and the &amp;quot;rack-proxy&amp;quot; on the other hand provides an accessible API only to the particular group.&lt;br /&gt;
File system and interprocess communication would be handled by &amp;quot;rack-proxy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Deployment of rack-api and rack-proxy ===&lt;br /&gt;
&amp;quot;rack-api&amp;quot; is deployed in an independent network and it is accessible from public.&lt;br /&gt;
&amp;quot;rack-proxy&amp;quot;, which exists in every group, is booted by calling the &amp;quot;rack-api&amp;quot; API.&lt;br /&gt;
&amp;quot;rack-api&amp;quot; and all &amp;quot;rack-proxy&amp;quot; share the same database.&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Topology.png]]&lt;br /&gt;
&lt;br /&gt;
Curretnly, &amp;quot;rack-api&amp;quot; and &amp;quot;rack-proxy&amp;quot; are booted as VM.&lt;br /&gt;
Our future plan includes followings:&lt;br /&gt;
&lt;br /&gt;
* '''rack-api runs as Linux process in OpenStack controller node like nova-api.'''&lt;br /&gt;
* '''rack-proxy runs as Linux process in OpenStack network node like nutron-ns-metadata-proxy.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Since this area is closely related to the OpenStack core project, they are deployed as VM at the moment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interprocess communication support ===&lt;br /&gt;
RACK has the ability to support interprocess communication and data sharing as well as data structure manipulation, booting process and shutting down as described above.&lt;br /&gt;
They are realized by combining libraries.&lt;br /&gt;
&lt;br /&gt;
[[File:RACK-Features.png]]&lt;br /&gt;
&lt;br /&gt;
* File system&lt;br /&gt;
It provides a file system that is shared within the group.&lt;br /&gt;
Process can access to files with the same name space just like accessing to local file system. &lt;br /&gt;
&lt;br /&gt;
* Shared memory&lt;br /&gt;
This is a function for sharing simple data between processes.&lt;br /&gt;
It is usable when accessing the same data by multiple processes.&lt;br /&gt;
&lt;br /&gt;
* Pipe&lt;br /&gt;
It provides Unix-pipe like functionality.&lt;br /&gt;
The result of process can be piped to the other process very easily.&lt;br /&gt;
No need to know the peer IP address or wait until the peer boots.&lt;br /&gt;
&lt;br /&gt;
* Signal&lt;br /&gt;
It is a function that can send strings to any process only by specifying a PID.&lt;br /&gt;
It may send the strings to multiple processes by multicast.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use cases ==&lt;br /&gt;
&lt;br /&gt;
You can use RACK in any ways.&lt;br /&gt;
Anything from adding/deleting process, data sharing and data notification among processes are describable by program.&lt;br /&gt;
Using RACK enables you to develop applications such as OpenStack Native and others easily.&lt;br /&gt;
&lt;br /&gt;
As tips on how to use RACK, some sample applications are available.&lt;br /&gt;
We advise you to try these sample applications first and experience the OpenStack Native Application.&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/montecarlo&lt;br /&gt;
* https://github.com/ctc-g/rack-sample-apps/tree/master/shell-like&lt;/div&gt;</summary>
		<author><name>Tetsuya-oikawa</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Stackforge_Namespace_Retirement&amp;diff=91203</id>
		<title>Stackforge Namespace Retirement</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Stackforge_Namespace_Retirement&amp;diff=91203"/>
				<updated>2015-09-28T02:11:17Z</updated>
		
		<summary type="html">&lt;p&gt;Tetsuya-oikawa: /* Active Projects to Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Background ===&lt;br /&gt;
&lt;br /&gt;
The stackforge/ git namespace is being retired, and active projects are being moved to the openstack/ namespace.  See this mailing list post for [http://lists.openstack.org/pipermail/openstack-dev/2015-August/071816.html full background].  These changes are scheduled to occur on October 17, 2015.&lt;br /&gt;
&lt;br /&gt;
There are two lists below, one for active projects that should be moved, and a second for inactive projects that should become read-only.  Please update them to add your project to the correct list.&lt;br /&gt;
&lt;br /&gt;
=== Active Projects to Move ===&lt;br /&gt;
Active stackforge projects that wish to move into the openstack/ namespace should be added to this list.  Projects in this list will be automatically moved by the Infrastructure team to openstack/ on October 17.  Please note that no other renames can happen during this move -- projects will strictly be moved from stackforge/ to openstack/ with their existing names.  &lt;br /&gt;
&lt;br /&gt;
* aeromancer&lt;br /&gt;
* anvil&lt;br /&gt;
* bansho&lt;br /&gt;
* blazar&lt;br /&gt;
* blazar-nova&lt;br /&gt;
* ceilometer-powervm&lt;br /&gt;
* ceilometer-zvm&lt;br /&gt;
* cl-openstack-client&lt;br /&gt;
* cloud-init&lt;br /&gt;
* cloudbase-init&lt;br /&gt;
* clouddocs-maven-plugin&lt;br /&gt;
* cloudkitty&lt;br /&gt;
* cloudkitty-dashboard&lt;br /&gt;
* cloudpulse&lt;br /&gt;
* cognitive&lt;br /&gt;
* compass-adapters&lt;br /&gt;
* compass-core&lt;br /&gt;
* compass-specs&lt;br /&gt;
* compass-web&lt;br /&gt;
* compute-hyperv&lt;br /&gt;
* doc8&lt;br /&gt;
* dox&lt;br /&gt;
* drbd-devstack&lt;br /&gt;
* driverlog&lt;br /&gt;
* ec2-api&lt;br /&gt;
* faafo&lt;br /&gt;
* freezer&lt;br /&gt;
* freezer-api&lt;br /&gt;
* freezer-web-ui&lt;br /&gt;
* fuel-agent&lt;br /&gt;
* fuel-astute&lt;br /&gt;
* fuel-dev-tools&lt;br /&gt;
* fuel-devops&lt;br /&gt;
* fuel-docs&lt;br /&gt;
* fuel-library&lt;br /&gt;
* fuel-main&lt;br /&gt;
* fuel-mirror&lt;br /&gt;
* fuel-nailgun-agent&lt;br /&gt;
* fuel-octane&lt;br /&gt;
* fuel-ostf&lt;br /&gt;
* fuel-ostf-plugin&lt;br /&gt;
* fuel-plugin-calamari&lt;br /&gt;
* fuel-plugin-calico&lt;br /&gt;
* fuel-plugin-ceilometer-redis&lt;br /&gt;
* fuel-plugin-cinder-netapp&lt;br /&gt;
* fuel-plugin-cisco-aci&lt;br /&gt;
* fuel-plugin-contrail&lt;br /&gt;
* fuel-plugin-dbaas-trove&lt;br /&gt;
* fuel-plugin-detach-database&lt;br /&gt;
* fuel-plugin-detach-keystone&lt;br /&gt;
* fuel-plugin-detach-rabbitmq&lt;br /&gt;
* fuel-plugin-elasticsearch-kibana&lt;br /&gt;
* fuel-plugin-external-emc&lt;br /&gt;
* fuel-plugin-external-glusterfs&lt;br /&gt;
* fuel-plugin-external-zabbix&lt;br /&gt;
* fuel-plugin-glance-nfs&lt;br /&gt;
* fuel-plugin-ha-fencing&lt;br /&gt;
* fuel-plugin-influxdb-grafana&lt;br /&gt;
* fuel-plugin-ironic&lt;br /&gt;
* fuel-plugin-ldap&lt;br /&gt;
* fuel-plugin-lma-collector&lt;br /&gt;
* fuel-plugin-lma-infrastructure-alerting&lt;br /&gt;
* fuel-plugin-mellanox&lt;br /&gt;
* fuel-plugin-midonet&lt;br /&gt;
* fuel-plugin-neutron-fwaas&lt;br /&gt;
* fuel-plugin-neutron-lbaas&lt;br /&gt;
* fuel-plugin-neutron-vpnaas&lt;br /&gt;
* fuel-plugin-nova-nfs&lt;br /&gt;
* fuel-plugin-nsxv&lt;br /&gt;
* fuel-plugin-opendaylight&lt;br /&gt;
* fuel-plugin-saltstack&lt;br /&gt;
* fuel-plugin-solidfire-cinder&lt;br /&gt;
* fuel-plugin-swiftstack&lt;br /&gt;
* fuel-plugin-tintri-cinder&lt;br /&gt;
* fuel-plugin-tls&lt;br /&gt;
* fuel-plugin-vmware-dvs&lt;br /&gt;
* fuel-plugin-vxlan&lt;br /&gt;
* fuel-plugin-zabbix-monitoring-emc&lt;br /&gt;
* fuel-plugin-zabbix-monitoring-extreme-networks&lt;br /&gt;
* fuel-plugin-zabbix-snmptrapd&lt;br /&gt;
* fuel-plugins&lt;br /&gt;
* fuel-provision&lt;br /&gt;
* fuel-qa&lt;br /&gt;
* fuel-specs&lt;br /&gt;
* fuel-stats&lt;br /&gt;
* fuel-tasklib&lt;br /&gt;
* fuel-upgrade&lt;br /&gt;
* fuel-web&lt;br /&gt;
* gce-api&lt;br /&gt;
* gerrit-dash-creator&lt;br /&gt;
* git-upstream&lt;br /&gt;
* golang-client&lt;br /&gt;
* group-based-policy&lt;br /&gt;
* group-based-policy-automation&lt;br /&gt;
* group-based-policy-specs&lt;br /&gt;
* group-based-policy-ui&lt;br /&gt;
* intel-nfv-ci-tests&lt;br /&gt;
* merlin&lt;br /&gt;
* monasca-agent&lt;br /&gt;
* monasca-api&lt;br /&gt;
* monasca-ceilometer&lt;br /&gt;
* monasca-common&lt;br /&gt;
* monasca-log-api&lt;br /&gt;
* monasca-notification&lt;br /&gt;
* monasca-persister&lt;br /&gt;
* monasca-statsd&lt;br /&gt;
* monasca-thresh&lt;br /&gt;
* monasca-ui&lt;br /&gt;
* monasca-vagrant&lt;br /&gt;
* monitoring-for-openstack&lt;br /&gt;
* namos&lt;br /&gt;
* nerd-reviewer&lt;br /&gt;
* networking-6wind&lt;br /&gt;
* networking-hyperv&lt;br /&gt;
* networking-ovs-dpdk&lt;br /&gt;
* networking-zvm&lt;br /&gt;
* nova-docker&lt;br /&gt;
* nova-powervm&lt;br /&gt;
* nova-solver-scheduler&lt;br /&gt;
* nova-zvm-virt-driver&lt;br /&gt;
* ops-tags-team&lt;br /&gt;
* osprofiler&lt;br /&gt;
* ospurge&lt;br /&gt;
* packstack&lt;br /&gt;
* puppet-autossh&lt;br /&gt;
* puppet-ceph&lt;br /&gt;
* puppet-n1k-vsm&lt;br /&gt;
* puppet-setproxy&lt;br /&gt;
* puppet-surveil&lt;br /&gt;
* python-blazarclient&lt;br /&gt;
* python-cloudkittyclient&lt;br /&gt;
* python-cloudpulseclient&lt;br /&gt;
* python-cognitiveclient&lt;br /&gt;
* python-fuelclient&lt;br /&gt;
* python-group-based-policy-client &lt;br /&gt;
* python-jenkins&lt;br /&gt;
* python-monascaclient&lt;br /&gt;
* python-openstacksdk&lt;br /&gt;
* python-rackclient&lt;br /&gt;
* python-senlinclient&lt;br /&gt;
* python-surveilclient&lt;br /&gt;
* python-tackerclient&lt;br /&gt;
* rack&lt;br /&gt;
* requests-mock&lt;br /&gt;
* senlin&lt;br /&gt;
* senlin-dashboard&lt;br /&gt;
* shaker&lt;br /&gt;
* sqlalchemy-migrate&lt;br /&gt;
* surveil&lt;br /&gt;
* surveil-specs&lt;br /&gt;
* stackalytics&lt;br /&gt;
* swift3&lt;br /&gt;
* tacker&lt;br /&gt;
* tacker-horizon&lt;br /&gt;
* tacker-specs&lt;br /&gt;
* tap-as-a-service&lt;br /&gt;
* telcowg-usecases&lt;br /&gt;
* terracotta&lt;br /&gt;
* third-party-ci-tools&lt;br /&gt;
* tricircle&lt;br /&gt;
* vmtp&lt;br /&gt;
* wsme&lt;br /&gt;
* xenapi-os-testing&lt;br /&gt;
* xstatic-d3&lt;br /&gt;
* xstatic-angular-sanitize&lt;br /&gt;
* xstatic-bootstrap-datepicker&lt;br /&gt;
* xstatic-angular-gettext &lt;br /&gt;
* xstatic-bootswatch &lt;br /&gt;
* xstatic-angular-cookies &lt;br /&gt;
* xstatic-bootstrap-scss&lt;br /&gt;
* xstatic-angular-smart-table&lt;br /&gt;
* xstatic-angular-fileupload&lt;br /&gt;
* xstatic-angular-bootstrap&lt;br /&gt;
* xstatic-angular&lt;br /&gt;
* xstatic-angular-mock&lt;br /&gt;
* xstatic-angular-lrdragndrop&lt;br /&gt;
* xstatic-roboto-fontface &lt;br /&gt;
* xstatic-jquery.quicksearch&lt;br /&gt;
* xstatic-mdi&lt;br /&gt;
* xstatic-rickshaw&lt;br /&gt;
* xstatic-magic-search &lt;br /&gt;
* xstatic-font-awesome &lt;br /&gt;
* xstatic-hogan &lt;br /&gt;
* xstatic-spin&lt;br /&gt;
* xstatic-jasmine&lt;br /&gt;
* xstatic-jquery-migrate&lt;br /&gt;
* xstatic-jquery-migrate&lt;br /&gt;
* xstatic-jsencrypt&lt;br /&gt;
* yaql&lt;br /&gt;
&lt;br /&gt;
=== Inactive Projects to Retire ===&lt;br /&gt;
Inactive projects that should be retired should be added to this list.  These projects will have a commit merged removing their content and replacing it with a message indicating the project is no longer maintained and will become read-only in Gerrit.&lt;br /&gt;
&lt;br /&gt;
* compass-monit&lt;br /&gt;
* fuel-plugin-availability-zones&lt;br /&gt;
* mercador-pub&lt;br /&gt;
* mercador-sub&lt;br /&gt;
* MRaaS&lt;br /&gt;
* networking-portforwarding&lt;br /&gt;
* openstackdroid&lt;br /&gt;
* python-mercadorclient&lt;br /&gt;
* rubick&lt;br /&gt;
* sahara-guestagent&lt;br /&gt;
* libra&lt;br /&gt;
* logaas&lt;br /&gt;
* python-libraclient&lt;br /&gt;
* python-rallyclient&lt;br /&gt;
* cookbook-pacemaker&lt;br /&gt;
* puppet-openstack_dev_env&lt;br /&gt;
* puppet_openstack_builder&lt;br /&gt;
* puppet-openstack-cloud&lt;br /&gt;
* tripleo-ansible&lt;/div&gt;</summary>
		<author><name>Tetsuya-oikawa</name></author>	</entry>

	</feed>