SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Advent Calendar 2012 JP




       openstack
 Open source software to build public and private clouds.



glance-replicator
                     glance-replicator
                    2012.12.23 @irix_jp


                                                            1
glance-replicator

●   folsom から glance に組み込まれたコマンドツー
    ル

●   二つの glance サーバ間で image のレプリケー
    ションができる。

●   レプリケーションだけでなく、イメージのインポート・
    エクスポートも可能


                                    2
動作イメージ

                                                                  images

                            glance-replicator




   glance-api    glance-registry                glance-api    glance-registry




                DB                                           DB
images                                     images

   data store        keystone                   data store        keystone



                                                                                3
コマンド (stable/folsom)

$ glance-replicator –h

Usage: glance-replicator <command> [options] [args]

Commands:

   help <command>   Output help for one of the commands below

   compare          What is missing from the slave glance?
   dump             Dump the contents of a glance instance to local disk.
   livecopy         Load the contents of one glance instance into another.
   load             Load the contents of a local directory into glance.
   size             Determine the size of a glance instance if dumped to disk.




                                                                                 4
TIPS

●   認証にはテナント・ユーザ・パスワードではな
    く、 keystone が発行した TOKEN を使う
    ●   TOKEN を取得するスクリプト
        –   get_token.sh

            #!/bin/bash

            HOST_IP=$1
            ADMIN_TENANT=$2
            ADMIN_USER=$3
            ADMIN_PASSWORD=$4
            TOKEN=`curl -s -d "{"auth":{"passwordCredentials":
            {"username": "$ADMIN_USER", "password": "$ADMIN_PASSWORD"}, "tenan
            tName": "$ADMIN_TENANT"}}" -H "Content-type: application/json" http://
            $HOST_IP:5000/v2.0/tokens | python -c "import sys; import json; tok =
            json.loads(sys.stdin.read()); print tok['access']['token']['id'];"`
            echo $TOKEN


                                                                                      5
テスト環境

●   二つの独立した OpenStack 環境を構築
●   devstack での All in One 環境( localrc は次項)



             192.168.128.100          192.168.128.200

       Ubuntu12.04             Ubuntu12.04

      Folsom/stable            Folsom/stable
        Devstack                 Devstack
       (all in one)             (all in one)




                                                        6
localrc
HOST_IP=192.168.128.100            HOST_IP=192.168.128.200

ADMIN_PASSWORD=openstack           ADMIN_PASSWORD=openstack
MYSQL_PASSWORD=$ADMIN_PASSWORD     MYSQL_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD    RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD   SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=admintoken           SERVICE_TOKEN=admintoken

disable_service n-net              disable_service n-net
disable_service n-obj              disable_service n-obj
enable_service q-svc               enable_service q-svc
enable_service q-agt               enable_service q-agt
enable_service q-dhcp              enable_service q-dhcp
enable_service q-l3                enable_service q-l3

ENABLE_TENANT_TUNNELS=True         ENABLE_TENANT_TUNNELS=True

FIXED_RANGE=172.24.17.0/24         FIXED_RANGE=172.24.17.0/24
NETWORK_GATEWAY=172.24.17.254      NETWORK_GATEWAY=172.24.17.254
FLOATING_RANGE=10.0.0.0/24         FLOATING_RANGE=10.0.0.0/24

NOVA_BRANCH=stable/folsom          NOVA_BRANCH=stable/folsom
GLANCE_BRANCH=stable/folsom        GLANCE_BRANCH=stable/folsom
KEYSTONE_BRANCH=stable/folsom      KEYSTONE_BRANCH=stable/folsom
HORIZON_BRANCH=stable/folsom       HORIZON_BRANCH=stable/folsom
CINDER_BRANCH=stable/folsom        CINDER_BRANCH=stable/folsom
QUANTUM_BRANCH=stable/folsom       QUANTUM_BRANCH=stable/folsom



                                                                      7
初期状態の glance

   ●    192.168.128.100
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list

+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki          | aki              | 4731440 | active |
| 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+




   ●    192.168.128.200
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list

→ 空




                                                                                                                                  8
compare

   ●   100 → 200
$ glance-replicator -v compare 192.168.128.100:9292 192.168.128.200:9292 
        -M `./get_token.sh 192.168.128.100 admin admin openstack` 
        -S `./get_token.sh 192.168.128.200 admin admin openstack`

de150d8d-eb33-45f9-88a6-142228b902ba: entirely missing from the destination
0db62cb0-d592-4a24-8fdf-45a44a6f9298: entirely missing from the destination
bcaf789e-df5e-4862-b77b-d6cc8e63d33b: entirely missing from the destination



   ●   200 → 100
$ glance-replicator -v compare 192.168.128.200:9292 192.168.128.100:9292 
        -M `./get_token.sh 192.168.128.200 admin admin openstack` 
        -S `./get_token.sh 192.168.128.100 admin admin openstack`

→ 空




                                                                              9
livecopy

   ●   100 → 200
$ glance-replicator -v livecopy 192.168.128.100:9292 192.168.128.200:9292 -M `./get_token.sh
192.168.128.100 demo demo openstack` -S `./get_token.sh 192.168.128.200 demo demo openstack`
Considering de150d8d-eb33-45f9-88a6-142228b902ba
de150d8d-eb33-45f9-88a6-142228b902ba is being synced
Considering 0db62cb0-d592-4a24-8fdf-45a44a6f9298
0db62cb0-d592-4a24-8fdf-45a44a6f9298 is being synced
Considering bcaf789e-df5e-4862-b77b-d6cc8e63d33b
bcaf789e-df5e-4862-b77b-d6cc8e63d33b is being synced


   ●   200 → 100
$ glance-replicator -v compare 192.168.128.200:9292 192.168.128.100:9292 
        -M `./get_token.sh 192.168.128.200 admin admin openstack` 
        -S `./get_token.sh 192.168.128.100 admin admin openstack`

→ 空




                                                                                               10
コピー後の状態1

   ●    192.168.128.100
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list

+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki          | aki              | 4731440 | active |
| 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+




   ●    192.168.128.200
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki          | aki              | 4731440 | active |
| 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+




                                                                                                                                  11
コピー後の状態 2

         192.168.128.100
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name
                                                                        192.168.128.200
                                                                     $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name
admin --os-username admin --os-password openstack image-show         admin --os-username admin --os-password openstack image-show
de150d8d-eb33-45f9-88a6-142228b902ba                                 de150d8d-eb33-45f9-88a6-142228b902ba

+-----------------------+--------------------------------------+     +-----------------------+--------------------------------------+
| Property              | Value                                |     | Property              | Value                                |
+-----------------------+--------------------------------------+     +-----------------------+--------------------------------------+
| Property 'kernel_id' | bcaf789e-df5e-4862-b77b-d6cc8e63d33b |      | Property 'kernel_id' | bcaf789e-df5e-4862-b77b-d6cc8e63d33b |
| Property 'ramdisk_id' | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 |     | Property 'ramdisk_id' | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 |
| checksum              | 2f81976cae15c16ef0010c51e3a6c163     |     | checksum              | 2f81976cae15c16ef0010c51e3a6c163     |
| container_format      | ami                                  |     | container_format      | ami                                  |
| created_at            | 2012-12-22T03:00:42                  |     | created_at            | 2012-12-22T16:46:30                  |
| deleted               | False                                |     | deleted               | False                                |
| disk_format           | ami                                  |     | disk_format           | ami                                  |
| id                    | de150d8d-eb33-45f9-88a6-142228b902ba |     | id                    | de150d8d-eb33-45f9-88a6-142228b902ba |
| is_public             | True                                 |     | is_public             | True                                 |
| min_disk              | 0                                    |     | min_disk              | 0                                    |
| min_ram               | 0                                    |     | min_ram               | 0                                    |
| name                  | cirros-0.3.0-x86_64-uec              |     | name                  | cirros-0.3.0-x86_64-uec              |
| owner                 | a458e9fbf0394622a1aa627550d20daa     |     | owner                 | a458e9fbf0394622a1aa627550d20daa     |
| protected             | False                                |     | protected             | False                                |
| size                  | 25165824                             |     | size                  | 25165824                             |
| status                | active                               |     | status                | active                               |
| updated_at            | 2012-12-22T03:00:43                  |     | updated_at            | 2012-12-22T16:46:31                  |
+-----------------------+--------------------------------------+     +-----------------------+--------------------------------------+

    ●    owner(tenant_id) までコピーされている点に注意
          ●     今回は別の keystone を使っているが、
                is_public=true なので image-list に出ているだけ。
                                                                                                                                        12
is_public=false だと・・・

   ●    100 側、 demo ユーザで追加
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name demo --os-username demo --os-password openstack image-list

+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki          | aki              | 4731440 | active |
| 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249 | active |
| 0d075151-3925-4b85-8f77-d908f1df70be | snap1                           | ami         | ami              | 25165824 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+



   ●    Admin(100) → Admin(200) でコピー
          ●   コピーはされるが、誰も参照できない ( コピーされた ID
              が 200 側の keystone に存在しないため。
MYSQL> use glance; select id,name,is_public,owner from images;

+--------------------------------------+---------------------------------+-----------+----------------------------------+
| id                                   | name                            | is_public | owner                            |
+--------------------------------------+---------------------------------+-----------+----------------------------------+
| 0d075151-3925-4b85-8f77-d908f1df70be | snap1                           |         0 | 936ef2486d3749bbb51bfedbc69e9d28 |
| 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk |         1 | a458e9fbf0394622a1aa627550d20daa |
| bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel |          1 | a458e9fbf0394622a1aa627550d20daa |
| de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec         |         1 | a458e9fbf0394622a1aa627550d20daa |
+--------------------------------------+---------------------------------+-----------+----------------------------------+
                                                                                                                                  13
ユーザ権限でのコピーだと

   ●    100 側
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name demo --os-username demo --os-password openstack image-list
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki          | aki              | 4731440 | active |
| 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249 | active |
| 0d075151-3925-4b85-8f77-d908f1df70be | snap1                           | ami         | ami              | 25165824 | active |
| 3532fd21-6bf8-440c-9bcb-9ea7df30ce8a | snap2                           | ami         | ami              | 25165824 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+

$ glance-replicator -v livecopy 192.168.128.100:9292 192.168.128.200:9292 
        -M `./get_token.sh 192.168.128.100 demo demo openstack` -S `./get_token.sh 192.168.128.200 demo demo openstack`




   ●    200 側
$ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name demo --os-username demo --os-password openstack image-list
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki          | aki              | 4731440 | active |
| 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249 | active |
| 3532fd21-6bf8-440c-9bcb-9ea7df30ce8a | snap2                           | ami         | ami              | 25165824 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+

snap1 のコピーは、既に同じ ID のイメージが登録されている(参照不可)ため失敗します。

                                                                                                                                  14
まとめ

●   keystone を共有しているか、していないかで
    livecopy の使い方が変わる。
    ●   している場合: admin でコピーすれば終わり
    ●   していない場合:ユーザ権限でコピーする
        –   ユーザ権限でコピーすると、 is_public=true のものが、 ID が
            変わってコピーされてしまう。
             ●   --no-replica-public 等のオプションが欲しい。
                   – 冬休みに時間があったらパッチ書く(キリッ


●   dump/load でいったんファイルに落として操作す
    ればどっちでもおk。

                                                    15

Contenu connexe

Tendances

Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Michaël Figuière
 
Oracle cluster installation with grid and iscsi
Oracle cluster  installation with grid and iscsiOracle cluster  installation with grid and iscsi
Oracle cluster installation with grid and iscsiChanaka Lasantha
 
Oracle cluster installation with grid and nfs
Oracle cluster  installation with grid and nfsOracle cluster  installation with grid and nfs
Oracle cluster installation with grid and nfsChanaka Lasantha
 
Non-Relational Postgres / Bruce Momjian (EnterpriseDB)
Non-Relational Postgres / Bruce Momjian (EnterpriseDB)Non-Relational Postgres / Bruce Momjian (EnterpriseDB)
Non-Relational Postgres / Bruce Momjian (EnterpriseDB)Ontico
 
Elastic 101 tutorial - Percona Europe 2018
Elastic 101 tutorial - Percona Europe 2018 Elastic 101 tutorial - Percona Europe 2018
Elastic 101 tutorial - Percona Europe 2018 Antonios Giannopoulos
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL AdministrationEDB
 
Percona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL AdministrationPercona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL AdministrationMydbops
 
Redis SoCraTes 2014
Redis SoCraTes 2014Redis SoCraTes 2014
Redis SoCraTes 2014steffenbauer
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newYiwei Ma
 
MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKI Goo Lee
 
Go Programming Patterns
Go Programming PatternsGo Programming Patterns
Go Programming PatternsHao Chen
 
Postgresql 12 streaming replication hol
Postgresql 12 streaming replication holPostgresql 12 streaming replication hol
Postgresql 12 streaming replication holVijay Kumar N
 
Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2Cong Zhang
 
Centralized + Unified Logging
Centralized + Unified LoggingCentralized + Unified Logging
Centralized + Unified LoggingGabor Kozma
 
Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014Özgür Umut Vurgun
 
Administering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersAdministering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersSematext Group, Inc.
 
Redis - Usability and Use Cases
Redis - Usability and Use CasesRedis - Usability and Use Cases
Redis - Usability and Use CasesFabrizio Farinacci
 
Debugging & Tuning in Spark
Debugging & Tuning in SparkDebugging & Tuning in Spark
Debugging & Tuning in SparkShiao-An Yuan
 
MongoDB: Optimising for Performance, Scale & Analytics
MongoDB: Optimising for Performance, Scale & AnalyticsMongoDB: Optimising for Performance, Scale & Analytics
MongoDB: Optimising for Performance, Scale & AnalyticsServer Density
 

Tendances (20)

Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!
 
Oracle cluster installation with grid and iscsi
Oracle cluster  installation with grid and iscsiOracle cluster  installation with grid and iscsi
Oracle cluster installation with grid and iscsi
 
Oracle cluster installation with grid and nfs
Oracle cluster  installation with grid and nfsOracle cluster  installation with grid and nfs
Oracle cluster installation with grid and nfs
 
Non-Relational Postgres / Bruce Momjian (EnterpriseDB)
Non-Relational Postgres / Bruce Momjian (EnterpriseDB)Non-Relational Postgres / Bruce Momjian (EnterpriseDB)
Non-Relational Postgres / Bruce Momjian (EnterpriseDB)
 
Elastic 101 tutorial - Percona Europe 2018
Elastic 101 tutorial - Percona Europe 2018 Elastic 101 tutorial - Percona Europe 2018
Elastic 101 tutorial - Percona Europe 2018
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL Administration
 
Percona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL AdministrationPercona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL Administration
 
Redis SoCraTes 2014
Redis SoCraTes 2014Redis SoCraTes 2014
Redis SoCraTes 2014
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
 
MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELK
 
Go Programming Patterns
Go Programming PatternsGo Programming Patterns
Go Programming Patterns
 
Postgresql 12 streaming replication hol
Postgresql 12 streaming replication holPostgresql 12 streaming replication hol
Postgresql 12 streaming replication hol
 
Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2Using ngx_lua in UPYUN 2
Using ngx_lua in UPYUN 2
 
Centralized + Unified Logging
Centralized + Unified LoggingCentralized + Unified Logging
Centralized + Unified Logging
 
Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014Oracle12c Pluggable Database Hands On - TROUG 2014
Oracle12c Pluggable Database Hands On - TROUG 2014
 
Administering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersAdministering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud Clusters
 
Redis - Usability and Use Cases
Redis - Usability and Use CasesRedis - Usability and Use Cases
Redis - Usability and Use Cases
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Debugging & Tuning in Spark
Debugging & Tuning in SparkDebugging & Tuning in Spark
Debugging & Tuning in Spark
 
MongoDB: Optimising for Performance, Scale & Analytics
MongoDB: Optimising for Performance, Scale & AnalyticsMongoDB: Optimising for Performance, Scale & Analytics
MongoDB: Optimising for Performance, Scale & Analytics
 

En vedette

OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lispirix_jp
 
Open stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on CloudOpen stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on Cloudirix_jp
 
Eucalyptus on OpenStack
Eucalyptus on OpenStackEucalyptus on OpenStack
Eucalyptus on OpenStackirix_jp
 
OSC.Cloud 2012 分散システムを支えるメッセージングの仕組み
OSC.Cloud 2012 分散システムを支えるメッセージングの仕組みOSC.Cloud 2012 分散システムを支えるメッセージングの仕組み
OSC.Cloud 2012 分散システムを支えるメッセージングの仕組みirix_jp
 
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machinesirix_jp
 
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由irix_jp
 
Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編irix_jp
 
JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101irix_jp
 
OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15irix_jp
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overviewirix_jp
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usageirix_jp
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swiftirix_jp
 
JTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun TzuJTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun Tzuirix_jp
 

En vedette (14)

OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
 
Open stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on CloudOpen stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on Cloud
 
Eucalyptus on OpenStack
Eucalyptus on OpenStackEucalyptus on OpenStack
Eucalyptus on OpenStack
 
OSC.Cloud 2012 分散システムを支えるメッセージングの仕組み
OSC.Cloud 2012 分散システムを支えるメッセージングの仕組みOSC.Cloud 2012 分散システムを支えるメッセージングの仕組み
OSC.Cloud 2012 分散システムを支えるメッセージングの仕組み
 
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machines
 
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
 
Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編
 
JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101
 
OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15
 
Doc Display
Doc DisplayDoc Display
Doc Display
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swift
 
JTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun TzuJTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun Tzu
 

Similaire à glance replicator

파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Composeraccoony
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Praguetomasbart
 
Keep it simple web development stack
Keep it simple web development stackKeep it simple web development stack
Keep it simple web development stackEric Ahn
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-pythonEric Ahn
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-pythonEric Ahn
 
PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22Yuya Takei
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopLorin Hochstein
 
Atmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern DatacenterAtmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern DatacenterPROIDEA
 
Drizzle to MySQL, Stress Free Migration
Drizzle to MySQL, Stress Free MigrationDrizzle to MySQL, Stress Free Migration
Drizzle to MySQL, Stress Free MigrationAndrew Hutchings
 
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce StackIQ
 
nouka inventry manager
nouka inventry managernouka inventry manager
nouka inventry managerToshiaki Baba
 
Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ublnewrforce
 
Composer, putting dependencies on the score
Composer, putting dependencies on the scoreComposer, putting dependencies on the score
Composer, putting dependencies on the scoreRafael Dohms
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016StackIQ
 
Percona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementPercona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementmysqlops
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slidesharetomcopeland
 

Similaire à glance replicator (20)

Backups
BackupsBackups
Backups
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Prague
 
Keep it simple web development stack
Keep it simple web development stackKeep it simple web development stack
Keep it simple web development stack
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-python
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-python
 
PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptop
 
Atmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern DatacenterAtmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern Datacenter
 
Percona toolkit
Percona toolkitPercona toolkit
Percona toolkit
 
Drizzle to MySQL, Stress Free Migration
Drizzle to MySQL, Stress Free MigrationDrizzle to MySQL, Stress Free Migration
Drizzle to MySQL, Stress Free Migration
 
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
 
Stacki - The1600+ Server Journey
Stacki - The1600+ Server JourneyStacki - The1600+ Server Journey
Stacki - The1600+ Server Journey
 
nouka inventry manager
nouka inventry managernouka inventry manager
nouka inventry manager
 
Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ubl
 
Composer, putting dependencies on the score
Composer, putting dependencies on the scoreComposer, putting dependencies on the score
Composer, putting dependencies on the score
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
 
Percona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementPercona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-management
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
 

Plus de irix_jp

The invitation to Infrastructure CI
The invitation to Infrastructure CIThe invitation to Infrastructure CI
The invitation to Infrastructure CIirix_jp
 
The NoOps strategy and tactics
The NoOps strategy and tacticsThe NoOps strategy and tactics
The NoOps strategy and tacticsirix_jp
 
The practical guide of Infrastructure CI
The practical guide of Infrastructure CIThe practical guide of Infrastructure CI
The practical guide of Infrastructure CIirix_jp
 
The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018irix_jp
 
JOSUG 34th Meetup
JOSUG 34th Meetup JOSUG 34th Meetup
JOSUG 34th Meetup irix_jp
 
Japan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson EnvironmentJapan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson Environmentirix_jp
 
OpenStack Summit Report
OpenStack Summit ReportOpenStack Summit Report
OpenStack Summit Reportirix_jp
 
OSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native ApplicationsOSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native Applicationsirix_jp
 
OSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + JupyterOSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + Jupyteririx_jp
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
空回りのクラウド基盤導入
空回りのクラウド基盤導入空回りのクラウド基盤導入
空回りのクラウド基盤導入irix_jp
 
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)irix_jp
 
Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計irix_jp
 
OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要irix_jp
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編irix_jp
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編irix_jp
 
JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向irix_jp
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)irix_jp
 
Okinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack OverviewOkinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack Overviewirix_jp
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overviewirix_jp
 

Plus de irix_jp (20)

The invitation to Infrastructure CI
The invitation to Infrastructure CIThe invitation to Infrastructure CI
The invitation to Infrastructure CI
 
The NoOps strategy and tactics
The NoOps strategy and tacticsThe NoOps strategy and tactics
The NoOps strategy and tactics
 
The practical guide of Infrastructure CI
The practical guide of Infrastructure CIThe practical guide of Infrastructure CI
The practical guide of Infrastructure CI
 
The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018
 
JOSUG 34th Meetup
JOSUG 34th Meetup JOSUG 34th Meetup
JOSUG 34th Meetup
 
Japan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson EnvironmentJapan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson Environment
 
OpenStack Summit Report
OpenStack Summit ReportOpenStack Summit Report
OpenStack Summit Report
 
OSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native ApplicationsOSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native Applications
 
OSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + JupyterOSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + Jupyter
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
空回りのクラウド基盤導入
空回りのクラウド基盤導入空回りのクラウド基盤導入
空回りのクラウド基盤導入
 
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
 
Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計
 
OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
 
JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
 
Okinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack OverviewOkinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack Overview
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
 

Dernier

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Dernier (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

glance replicator

  • 1. Advent Calendar 2012 JP openstack Open source software to build public and private clouds. glance-replicator glance-replicator 2012.12.23 @irix_jp 1
  • 2. glance-replicator ● folsom から glance に組み込まれたコマンドツー ル ● 二つの glance サーバ間で image のレプリケー ションができる。 ● レプリケーションだけでなく、イメージのインポート・ エクスポートも可能 2
  • 3. 動作イメージ images glance-replicator glance-api glance-registry glance-api glance-registry DB DB images images data store keystone data store keystone 3
  • 4. コマンド (stable/folsom) $ glance-replicator –h Usage: glance-replicator <command> [options] [args] Commands: help <command> Output help for one of the commands below compare What is missing from the slave glance? dump Dump the contents of a glance instance to local disk. livecopy Load the contents of one glance instance into another. load Load the contents of a local directory into glance. size Determine the size of a glance instance if dumped to disk. 4
  • 5. TIPS ● 認証にはテナント・ユーザ・パスワードではな く、 keystone が発行した TOKEN を使う ● TOKEN を取得するスクリプト – get_token.sh #!/bin/bash HOST_IP=$1 ADMIN_TENANT=$2 ADMIN_USER=$3 ADMIN_PASSWORD=$4 TOKEN=`curl -s -d "{"auth":{"passwordCredentials": {"username": "$ADMIN_USER", "password": "$ADMIN_PASSWORD"}, "tenan tName": "$ADMIN_TENANT"}}" -H "Content-type: application/json" http:// $HOST_IP:5000/v2.0/tokens | python -c "import sys; import json; tok = json.loads(sys.stdin.read()); print tok['access']['token']['id'];"` echo $TOKEN 5
  • 6. テスト環境 ● 二つの独立した OpenStack 環境を構築 ● devstack での All in One 環境( localrc は次項) 192.168.128.100 192.168.128.200 Ubuntu12.04 Ubuntu12.04 Folsom/stable Folsom/stable Devstack Devstack (all in one) (all in one) 6
  • 7. localrc HOST_IP=192.168.128.100 HOST_IP=192.168.128.200 ADMIN_PASSWORD=openstack ADMIN_PASSWORD=openstack MYSQL_PASSWORD=$ADMIN_PASSWORD MYSQL_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=admintoken SERVICE_TOKEN=admintoken disable_service n-net disable_service n-net disable_service n-obj disable_service n-obj enable_service q-svc enable_service q-svc enable_service q-agt enable_service q-agt enable_service q-dhcp enable_service q-dhcp enable_service q-l3 enable_service q-l3 ENABLE_TENANT_TUNNELS=True ENABLE_TENANT_TUNNELS=True FIXED_RANGE=172.24.17.0/24 FIXED_RANGE=172.24.17.0/24 NETWORK_GATEWAY=172.24.17.254 NETWORK_GATEWAY=172.24.17.254 FLOATING_RANGE=10.0.0.0/24 FLOATING_RANGE=10.0.0.0/24 NOVA_BRANCH=stable/folsom NOVA_BRANCH=stable/folsom GLANCE_BRANCH=stable/folsom GLANCE_BRANCH=stable/folsom KEYSTONE_BRANCH=stable/folsom KEYSTONE_BRANCH=stable/folsom HORIZON_BRANCH=stable/folsom HORIZON_BRANCH=stable/folsom CINDER_BRANCH=stable/folsom CINDER_BRANCH=stable/folsom QUANTUM_BRANCH=stable/folsom QUANTUM_BRANCH=stable/folsom 7
  • 8. 初期状態の glance ● 192.168.128.100 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ ● 192.168.128.200 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list → 空 8
  • 9. compare ● 100 → 200 $ glance-replicator -v compare 192.168.128.100:9292 192.168.128.200:9292 -M `./get_token.sh 192.168.128.100 admin admin openstack` -S `./get_token.sh 192.168.128.200 admin admin openstack` de150d8d-eb33-45f9-88a6-142228b902ba: entirely missing from the destination 0db62cb0-d592-4a24-8fdf-45a44a6f9298: entirely missing from the destination bcaf789e-df5e-4862-b77b-d6cc8e63d33b: entirely missing from the destination ● 200 → 100 $ glance-replicator -v compare 192.168.128.200:9292 192.168.128.100:9292 -M `./get_token.sh 192.168.128.200 admin admin openstack` -S `./get_token.sh 192.168.128.100 admin admin openstack` → 空 9
  • 10. livecopy ● 100 → 200 $ glance-replicator -v livecopy 192.168.128.100:9292 192.168.128.200:9292 -M `./get_token.sh 192.168.128.100 demo demo openstack` -S `./get_token.sh 192.168.128.200 demo demo openstack` Considering de150d8d-eb33-45f9-88a6-142228b902ba de150d8d-eb33-45f9-88a6-142228b902ba is being synced Considering 0db62cb0-d592-4a24-8fdf-45a44a6f9298 0db62cb0-d592-4a24-8fdf-45a44a6f9298 is being synced Considering bcaf789e-df5e-4862-b77b-d6cc8e63d33b bcaf789e-df5e-4862-b77b-d6cc8e63d33b is being synced ● 200 → 100 $ glance-replicator -v compare 192.168.128.200:9292 192.168.128.100:9292 -M `./get_token.sh 192.168.128.200 admin admin openstack` -S `./get_token.sh 192.168.128.100 admin admin openstack` → 空 10
  • 11. コピー後の状態1 ● 192.168.128.100 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ ● 192.168.128.200 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-list +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ 11
  • 12. コピー後の状態 2 192.168.128.100 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name 192.168.128.200 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name admin --os-username admin --os-password openstack image-show admin --os-username admin --os-password openstack image-show de150d8d-eb33-45f9-88a6-142228b902ba de150d8d-eb33-45f9-88a6-142228b902ba +-----------------------+--------------------------------------+ +-----------------------+--------------------------------------+ | Property | Value | | Property | Value | +-----------------------+--------------------------------------+ +-----------------------+--------------------------------------+ | Property 'kernel_id' | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | | Property 'kernel_id' | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | | Property 'ramdisk_id' | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | | Property 'ramdisk_id' | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | | checksum | 2f81976cae15c16ef0010c51e3a6c163 | | checksum | 2f81976cae15c16ef0010c51e3a6c163 | | container_format | ami | | container_format | ami | | created_at | 2012-12-22T03:00:42 | | created_at | 2012-12-22T16:46:30 | | deleted | False | | deleted | False | | disk_format | ami | | disk_format | ami | | id | de150d8d-eb33-45f9-88a6-142228b902ba | | id | de150d8d-eb33-45f9-88a6-142228b902ba | | is_public | True | | is_public | True | | min_disk | 0 | | min_disk | 0 | | min_ram | 0 | | min_ram | 0 | | name | cirros-0.3.0-x86_64-uec | | name | cirros-0.3.0-x86_64-uec | | owner | a458e9fbf0394622a1aa627550d20daa | | owner | a458e9fbf0394622a1aa627550d20daa | | protected | False | | protected | False | | size | 25165824 | | size | 25165824 | | status | active | | status | active | | updated_at | 2012-12-22T03:00:43 | | updated_at | 2012-12-22T16:46:31 | +-----------------------+--------------------------------------+ +-----------------------+--------------------------------------+ ● owner(tenant_id) までコピーされている点に注意 ● 今回は別の keystone を使っているが、 is_public=true なので image-list に出ているだけ。 12
  • 13. is_public=false だと・・・ ● 100 側、 demo ユーザで追加 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name demo --os-username demo --os-password openstack image-list +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | | 0d075151-3925-4b85-8f77-d908f1df70be | snap1 | ami | ami | 25165824 | active | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ ● Admin(100) → Admin(200) でコピー ● コピーはされるが、誰も参照できない ( コピーされた ID が 200 側の keystone に存在しないため。 MYSQL> use glance; select id,name,is_public,owner from images; +--------------------------------------+---------------------------------+-----------+----------------------------------+ | id | name | is_public | owner | +--------------------------------------+---------------------------------+-----------+----------------------------------+ | 0d075151-3925-4b85-8f77-d908f1df70be | snap1 | 0 | 936ef2486d3749bbb51bfedbc69e9d28 | | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | 1 | a458e9fbf0394622a1aa627550d20daa | | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | 1 | a458e9fbf0394622a1aa627550d20daa | | de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec | 1 | a458e9fbf0394622a1aa627550d20daa | +--------------------------------------+---------------------------------+-----------+----------------------------------+ 13
  • 14. ユーザ権限でのコピーだと ● 100 側 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name demo --os-username demo --os-password openstack image-list +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | | 0d075151-3925-4b85-8f77-d908f1df70be | snap1 | ami | ami | 25165824 | active | | 3532fd21-6bf8-440c-9bcb-9ea7df30ce8a | snap2 | ami | ami | 25165824 | active | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ $ glance-replicator -v livecopy 192.168.128.100:9292 192.168.128.200:9292 -M `./get_token.sh 192.168.128.100 demo demo openstack` -S `./get_token.sh 192.168.128.200 demo demo openstack` ● 200 側 $ glance --os-auth-url http://localhost:5000/v2.0 --os-tenant-name demo --os-username demo --os-password openstack image-list +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ | de150d8d-eb33-45f9-88a6-142228b902ba | cirros-0.3.0-x86_64-uec | ami | ami | 25165824 | active | | bcaf789e-df5e-4862-b77b-d6cc8e63d33b | cirros-0.3.0-x86_64-uec-kernel | aki | aki | 4731440 | active | | 0db62cb0-d592-4a24-8fdf-45a44a6f9298 | cirros-0.3.0-x86_64-uec-ramdisk | ari | ari | 2254249 | active | | 3532fd21-6bf8-440c-9bcb-9ea7df30ce8a | snap2 | ami | ami | 25165824 | active | +--------------------------------------+---------------------------------+-------------+------------------+----------+--------+ snap1 のコピーは、既に同じ ID のイメージが登録されている(参照不可)ため失敗します。 14
  • 15. まとめ ● keystone を共有しているか、していないかで livecopy の使い方が変わる。 ● している場合: admin でコピーすれば終わり ● していない場合:ユーザ権限でコピーする – ユーザ権限でコピーすると、 is_public=true のものが、 ID が 変わってコピーされてしまう。 ● --no-replica-public 等のオプションが欲しい。 – 冬休みに時間があったらパッチ書く(キリッ ● dump/load でいったんファイルに落として操作す ればどっちでもおk。 15