Ambiente » History » Version 56
Beraldo Leal, 17 Jul 2012 19:34
| 1 | 1 | Beraldo Leal | h1. Ambiente de Desenvolvimento |
|---|---|---|---|
| 2 | 1 | Beraldo Leal | |
| 3 | 1 | Beraldo Leal | h2. Lista de Servidores |
| 4 | 1 | Beraldo Leal | |
| 5 | 14 | Beraldo Leal | * educloud00 - 200.145.46.166 |
| 6 | 14 | Beraldo Leal | * educloud01 - 200.145.46.167 |
| 7 | 14 | Beraldo Leal | * educloud02 - 200.145.46.168 |
| 8 | 14 | Beraldo Leal | * educloud03 - 200.145.46.169 |
| 9 | 14 | Beraldo Leal | * educloud04 - 200.145.46.170 |
| 10 | 14 | Beraldo Leal | * educloud05 - 200.145.46.174 |
| 11 | 1 | Beraldo Leal | * educloud06 - 200.145.46.175 |
| 12 | 1 | Beraldo Leal | * educloud07 - 200.145.46.173 |
| 13 | 15 | Beraldo Leal | |
| 14 | 16 | Beraldo Leal | h3. Desabilitados |
| 15 | 16 | Beraldo Leal | |
| 16 | 15 | Beraldo Leal | * educloud05 - 200.145.46.171 |
| 17 | 15 | Beraldo Leal | * educloud06 - 200.145.46.172 |
| 18 | 3 | Beraldo Leal | |
| 19 | 53 | Beraldo Leal | h1. Introduction |
| 20 | 53 | Beraldo Leal | |
| 21 | 1 | Beraldo Leal | |
| 22 | 55 | Beraldo Leal | This document refers to the installation manual of the main components of |
| 23 | 55 | Beraldo Leal | OpenStack. The version of each component used can be found in the respective |
| 24 | 55 | Beraldo Leal | sections of the components. |
| 25 | 1 | Beraldo Leal | |
| 26 | 55 | Beraldo Leal | This document was produced by the Center for Scientific Computing, UNESP, with |
| 27 | 55 | Beraldo Leal | funding from Intel and UNESP. |
| 28 | 1 | Beraldo Leal | |
| 29 | 55 | Beraldo Leal | OpenStack OpenStack is a global collaboration of developers and cloud computing |
| 30 | 55 | Beraldo Leal | technologists producing the ubiquitous open source cloud computing platform for |
| 31 | 55 | Beraldo Leal | public and private clouds. The project aims to deliver solutions for all types |
| 32 | 55 | Beraldo Leal | of clouds by being simple to implement, massively scalable, and feature rich. |
| 33 | 55 | Beraldo Leal | The technology consists of a series of interrelated projects delivering various |
| 34 | 55 | Beraldo Leal | components for a cloud infrastructure solution. |
| 35 | 1 | Beraldo Leal | |
| 36 | 55 | Beraldo Leal | The OpenStack project is divided into sub projects that have a specific role in |
| 37 | 55 | Beraldo Leal | the big picture. |
| 38 | 1 | Beraldo Leal | |
| 39 | 55 | Beraldo Leal | The main components are: Cloud Compute (Nova) Cloud Storage (Swift), Image |
| 40 | 55 | Beraldo Leal | registration and delivery (Glance), Identity (Keystone) and Dashboard |
| 41 | 55 | Beraldo Leal | (Horizon). |
| 42 | 1 | Beraldo Leal | |
| 43 | 55 | Beraldo Leal | Each component is independent of each other and can be installed on separate |
| 44 | 55 | Beraldo Leal | machines, or all in one. In the environment of UNESP, OpenStack was installed in |
| 45 | 56 | Beraldo Leal | seven machines, described in section "Environment used." |
| 46 | 55 | Beraldo Leal | |
| 47 | 55 | Beraldo Leal | This document is based on the installation guide [1] of each component with minor |
| 48 | 55 | Beraldo Leal | adjustments and changes to resolve problems encountered during installation and |
| 49 | 55 | Beraldo Leal | adjustment to the environment in which it was installed. |
| 50 | 55 | Beraldo Leal | |
| 51 | 55 | Beraldo Leal | h1. OpenStack Core Components |
| 52 | 55 | Beraldo Leal | |
| 53 | 55 | Beraldo Leal | OpenStack is a collection of open source technology that provides massively |
| 54 | 55 | Beraldo Leal | scalable open source cloud computing software. Currently OpenStack develops two |
| 55 | 55 | Beraldo Leal | related projects: OpenStack Compute, which offers computing power through |
| 56 | 55 | Beraldo Leal | virtual machine and network management, and OpenStack Object Storage which is |
| 57 | 55 | Beraldo Leal | software for redundant, scalable object storage capacity. Closely related to the |
| 58 | 55 | Beraldo Leal | OpenStack Compute project is the Image Service project, named Glance. OpenStack |
| 59 | 55 | Beraldo Leal | can be used by corporations, service providers, VARS, SMBs, researchers, and |
| 60 | 55 | Beraldo Leal | global data centers looking to deploy large-scale cloud deployments for private |
| 61 | 55 | Beraldo Leal | or public clouds. |
| 62 | 55 | Beraldo Leal | |
| 63 | 55 | Beraldo Leal | The main components are: Cloud Compute (Nova) Cloud Storage (Swift), Image |
| 64 | 55 | Beraldo Leal | registration and delivery (Glance), Identity (Keystone) and Dashboard |
| 65 | 55 | Beraldo Leal | (Horizon). |
| 66 | 55 | Beraldo Leal | |
| 67 | 55 | Beraldo Leal | h2. Cloud Compute (Nova) |
| 68 | 55 | Beraldo Leal | |
| 69 | 55 | Beraldo Leal | Nova is the project name for OpenStack Compute, a cloud computing fabric |
| 70 | 55 | Beraldo Leal | controller, the main part of an IaaS system. Individuals and organizations can |
| 71 | 55 | Beraldo Leal | use Nova to host and manage their own cloud computing systems. Nova originated |
| 72 | 55 | Beraldo Leal | as a project out of NASA Ames Research Laboratory. |
| 73 | 55 | Beraldo Leal | |
| 74 | 55 | Beraldo Leal | h2. Object Storage (Swift) |
| 75 | 55 | Beraldo Leal | |
| 76 | 55 | Beraldo Leal | OpenStack Object Storage (Swift) is a system to store objects in a massively |
| 77 | 55 | Beraldo Leal | scalable large capacity system with built-in redundancy and failover. Object |
| 78 | 55 | Beraldo Leal | Storage has a variety of applications, such as backing up or archiving data, |
| 79 | 55 | Beraldo Leal | serving graphics or videos (streaming data to a user's browser), storing |
| 80 | 55 | Beraldo Leal | secondary or tertiary static data, developing new applications with data |
| 81 | 55 | Beraldo Leal | storage integration, storing data when predicting storage capacity is difficult, |
| 82 | 55 | Beraldo Leal | and creating the elasticity and flexibility of cloud-based storage for your web |
| 83 | 55 | Beraldo Leal | applications. |
| 84 | 55 | Beraldo Leal | |
| 85 | 55 | Beraldo Leal | h2. Image Service (Glance) |
| 86 | 55 | Beraldo Leal | |
| 87 | 55 | Beraldo Leal | OpenStack Image Service (Glance) is a lookup and retrieval system for virtual |
| 88 | 55 | Beraldo Leal | machine images. It can be configured in three ways: using OpenStack Object Store |
| 89 | 55 | Beraldo Leal | to store images; using Amazon's Simple Storage Solution (S3) storage directly; |
| 90 | 55 | Beraldo Leal | or using S3 storage with Object Store as the intermediate for S3 access. |
| 91 | 53 | Beraldo Leal | |
| 92 | 53 | Beraldo Leal | |
| 93 | 37 | Beraldo Leal | h1. Installing OpenStack Identity Service - Keystone |
| 94 | 30 | Beraldo Leal | |
| 95 | 43 | Beraldo Leal | O Keystone é um projeto que provê serviços de "Identidade", "Token", "Catalog" and "Policy" para os componentes do OpenStack. O pacote *_keystone_* foi instalado no servidor _educloud01_. |
| 96 | 4 | Beraldo Leal | |
| 97 | 4 | Beraldo Leal | Este software é feito em python, e por sua vez instala a dependencia *_keystone-python_*, uma biblioteca em python para uso do próprio keystone. |
| 98 | 4 | Beraldo Leal | |
| 99 | 4 | Beraldo Leal | Os arquivos de configuração do keystone ficam em /etc/keystone e hoje ele está utilizando como um backend para armazenar os usuários uma base sqlite3, mas ele também permite que seja utilizado uma base LDAP. |
| 100 | 4 | Beraldo Leal | |
| 101 | 1 | Beraldo Leal | Além do daemon (servidor) foi instalado o cliente (também feito em python) *_python-keystoneclient_*. |
| 102 | 5 | Beraldo Leal | |
| 103 | 37 | Beraldo Leal | h2. Instalando e configurando o keystone |
| 104 | 5 | Beraldo Leal | |
| 105 | 1 | Beraldo Leal | <pre> |
| 106 | 18 | Beraldo Leal | # apt-get install keystone |
| 107 | 18 | Beraldo Leal | </pre> |
| 108 | 18 | Beraldo Leal | |
| 109 | 18 | Beraldo Leal | Delete the keystone.db file created in the /var/lib/keystone directory. |
| 110 | 18 | Beraldo Leal | |
| 111 | 18 | Beraldo Leal | <pre> |
| 112 | 18 | Beraldo Leal | # rm /var/lib/keystone/keystone.db |
| 113 | 18 | Beraldo Leal | </pre> |
| 114 | 18 | Beraldo Leal | |
| 115 | 18 | Beraldo Leal | Install mysql: |
| 116 | 18 | Beraldo Leal | |
| 117 | 18 | Beraldo Leal | <pre> |
| 118 | 18 | Beraldo Leal | # apt-get install python-mysqldb mysql-server |
| 119 | 11 | Beraldo Leal | </pre> |
| 120 | 19 | Beraldo Leal | |
| 121 | 19 | Beraldo Leal | Use sed to edit /etc/mysql/my.cnf to change bind-address from localhost |
| 122 | 19 | Beraldo Leal | (127.0.0.1) to any (0.0.0.0) and restart the mysql service, as root: |
| 123 | 19 | Beraldo Leal | |
| 124 | 19 | Beraldo Leal | <pre> |
| 125 | 19 | Beraldo Leal | # sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf |
| 126 | 19 | Beraldo Leal | # service mysql restart |
| 127 | 19 | Beraldo Leal | </pre> |
| 128 | 19 | Beraldo Leal | |
| 129 | 19 | Beraldo Leal | To configure the MySQL database, create the keystone database. |
| 130 | 19 | Beraldo Leal | |
| 131 | 19 | Beraldo Leal | <pre> |
| 132 | 19 | Beraldo Leal | # mysql -u root -p |
| 133 | 19 | Beraldo Leal | mysql> CREATE DATABASE keystone; |
| 134 | 19 | Beraldo Leal | mysql> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystonepass'; |
| 135 | 19 | Beraldo Leal | mysql> FLUSH PRIVILEGES; |
| 136 | 19 | Beraldo Leal | mysql> quit; |
| 137 | 19 | Beraldo Leal | </pre> |
| 138 | 20 | Beraldo Leal | |
| 139 | 20 | Beraldo Leal | Edit _*keystone.conf*_ to use mysql: |
| 140 | 20 | Beraldo Leal | |
| 141 | 20 | Beraldo Leal | <pre> |
| 142 | 20 | Beraldo Leal | [sql] |
| 143 | 20 | Beraldo Leal | connection = mysql://keystone:keystonepass@192.168.69.1/keystone |
| 144 | 21 | Beraldo Leal | </pre> |
| 145 | 21 | Beraldo Leal | |
| 146 | 21 | Beraldo Leal | Change in _*keystone.conf*_ the ADMIN_TOKEN: |
| 147 | 21 | Beraldo Leal | |
| 148 | 20 | Beraldo Leal | <pre> |
| 149 | 21 | Beraldo Leal | admin_token = 012345SECRET99TOKEN012345 |
| 150 | 21 | Beraldo Leal | </pre> |
| 151 | 22 | Beraldo Leal | |
| 152 | 22 | Beraldo Leal | Restarte o keystone e inicialize o banco: |
| 153 | 22 | Beraldo Leal | |
| 154 | 22 | Beraldo Leal | <pre> |
| 155 | 22 | Beraldo Leal | # service keystone restart |
| 156 | 1 | Beraldo Leal | # keystone-manage db_sync |
| 157 | 22 | Beraldo Leal | </pre> |
| 158 | 23 | Beraldo Leal | |
| 159 | 37 | Beraldo Leal | h2. Configuring Services to work with Keystone |
| 160 | 23 | Beraldo Leal | |
| 161 | 23 | Beraldo Leal | Crie o arquivo _*/root/openstackrc*_, com o seguinte conteudo: |
| 162 | 23 | Beraldo Leal | |
| 163 | 23 | Beraldo Leal | <pre> |
| 164 | 23 | Beraldo Leal | export SERVICE_ENDPOINT=http://192.168.69.1:35357/v2.0/ |
| 165 | 23 | Beraldo Leal | export SERVICE_TOKEN=012345SECRET99TOKEN012345 |
| 166 | 23 | Beraldo Leal | </pre> |
| 167 | 23 | Beraldo Leal | |
| 168 | 23 | Beraldo Leal | Estas variaveis de ambiente sao uteis para evitar ficar passando as opcoes --token e --endpoint para os utilitarios de linha de comando. |
| 169 | 23 | Beraldo Leal | |
| 170 | 23 | Beraldo Leal | Carrege o arquivo: |
| 171 | 23 | Beraldo Leal | |
| 172 | 23 | Beraldo Leal | <pre> |
| 173 | 23 | Beraldo Leal | # source /root/openstackrc |
| 174 | 23 | Beraldo Leal | </pre> |
| 175 | 24 | Beraldo Leal | |
| 176 | 26 | Beraldo Leal | Crie os *tenants* _openstackDemo_ e _service_: |
| 177 | 24 | Beraldo Leal | |
| 178 | 24 | Beraldo Leal | <pre> |
| 179 | 24 | Beraldo Leal | # keystone tenant-create --name openstackDemo --description "Default Tenant" --enabled true |
| 180 | 24 | Beraldo Leal | # keystone tenant-create --name service --description "Service Tenant" --enabled true |
| 181 | 24 | Beraldo Leal | </pre> |
| 182 | 25 | Beraldo Leal | |
| 183 | 27 | Beraldo Leal | Crie o *user* _admin_, substitua o tenant_id pelo tentant_id do openstackDemo, criado no item anterior: |
| 184 | 25 | Beraldo Leal | |
| 185 | 1 | Beraldo Leal | <pre> |
| 186 | 1 | Beraldo Leal | # keystone user-create --tenant_id 9c401c9d2b9d41bcabda6919d4aec63a --name admin --pass adminpass --enabled true |
| 187 | 26 | Beraldo Leal | </pre> |
| 188 | 26 | Beraldo Leal | |
| 189 | 26 | Beraldo Leal | Crie os *roles* _admin_ e _user_: |
| 190 | 26 | Beraldo Leal | |
| 191 | 26 | Beraldo Leal | <pre> |
| 192 | 26 | Beraldo Leal | # keystone role-create --name admin |
| 193 | 1 | Beraldo Leal | # keystone role-create --name user |
| 194 | 27 | Beraldo Leal | </pre> |
| 195 | 27 | Beraldo Leal | |
| 196 | 27 | Beraldo Leal | Adicione o *user* _admin_ ao *role* _admin_, fazendo as devidas substituicoes: |
| 197 | 27 | Beraldo Leal | |
| 198 | 27 | Beraldo Leal | <pre> |
| 199 | 29 | Beraldo Leal | # keystone user-role-add --user [admin_user_id] --tenant_id [openstackDemo_tenant_id] --role [admin_role] |
| 200 | 29 | Beraldo Leal | </pre> |
| 201 | 29 | Beraldo Leal | |
| 202 | 29 | Beraldo Leal | Crie um usuario para cada servico, e substitua o tenant_id pelo id do tenant *service*: |
| 203 | 29 | Beraldo Leal | |
| 204 | 29 | Beraldo Leal | <pre> |
| 205 | 29 | Beraldo Leal | # keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name glance --pass glancepass --enabled true |
| 206 | 29 | Beraldo Leal | # keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name nova --pass novapass --enabled true |
| 207 | 29 | Beraldo Leal | # keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name swift --pass swiftpass --enabled true |
| 208 | 29 | Beraldo Leal | </pre> |
| 209 | 29 | Beraldo Leal | |
| 210 | 29 | Beraldo Leal | Adicione os users acima ao *role* _admin_, fazendo as devidas substituicoes: |
| 211 | 29 | Beraldo Leal | |
| 212 | 29 | Beraldo Leal | <pre> |
| 213 | 29 | Beraldo Leal | # keystone user-role-add --user [glance_user_id] --tenant_id [service_tenant_id] --role [admin_role] |
| 214 | 1 | Beraldo Leal | # keystone user-role-add --user [nova_user_id] --tenant_id [service_tenant_id] --role [admin_role] |
| 215 | 29 | Beraldo Leal | # keystone user-role-add --user [swift_user_id] --tenant_id [service_tenant_id] --role [admin_role] |
| 216 | 25 | Beraldo Leal | </pre> |
| 217 | 31 | Beraldo Leal | |
| 218 | 37 | Beraldo Leal | h2. Definindo os servicos: |
| 219 | 31 | Beraldo Leal | |
| 220 | 31 | Beraldo Leal | Ate agora, apenas criamos: tenants, users e roles. O Keystone tambem gerencia os servicos e seus endpoins. Desta forma os componentes do openstack consulta o keystone onde determinado servico encontra-se. |
| 221 | 31 | Beraldo Leal | |
| 222 | 31 | Beraldo Leal | Crie os servicos: |
| 223 | 31 | Beraldo Leal | |
| 224 | 31 | Beraldo Leal | <pre> |
| 225 | 31 | Beraldo Leal | # keystone service-create --name keystone --type identity --description "Keystone Identity Service" |
| 226 | 31 | Beraldo Leal | # keystone service-create --name nova --type compute --description "Nova Compute Service" |
| 227 | 31 | Beraldo Leal | # keystone service-create --name volume --type volume --description "Nova Volume Service" |
| 228 | 31 | Beraldo Leal | # keystone service-create --name glance --type image --description "Glance Image Service" |
| 229 | 41 | Beraldo Leal | # keystone service-create --name swift --type object-store --description "Object Storage Service" |
| 230 | 31 | Beraldo Leal | </pre> |
| 231 | 32 | Beraldo Leal | |
| 232 | 32 | Beraldo Leal | Crie os endpoints para os respectivos servicos: |
| 233 | 32 | Beraldo Leal | |
| 234 | 32 | Beraldo Leal | <pre> |
| 235 | 33 | Beraldo Leal | # keystone endpoint-create --region RegionOne --service_id [keystone_service_id] --publicurl http://192.168.69.1:5000/v2.0 --internalurl http://192.168.69.1:5000/v2.0 --adminurl http://192.168.69.1:35357/v2.0 |
| 236 | 33 | Beraldo Leal | # keystone endpoint-create --region RegionOne --service_id [compute_service_id] --publicurl 'http://192.168.69.1:8774/v2/%(tenant_id)s' --internalurl 'http://192.168.69.1:8774/v2/%(tenant_id)s' --adminurl 'http://192.168.69.1:8774/v2/%(tenant_id)s' |
| 237 | 1 | Beraldo Leal | # keystone endpoint-create --region RegionOne --service_id [volume_service_id] --publicurl 'http://192.168.69.1:8776/v1/%(tenant_id)s' --internalurl 'http://192.168.69.1:8776/v1/%(tenant_id)s' --adminurl 'http://192.168.69.1:8776/v1/%(tenant_id)s' |
| 238 | 33 | Beraldo Leal | # keystone endpoint-create --region RegionOne --service_id [glance_service_id] --publicurl http://192.168.69.1:9292/v1 --internalurl http://192.168.69.1:9292/v1 --adminurl http://192.168.69.1:9292/v1 |
| 239 | 33 | Beraldo Leal | # keystone endpoint-create --region RegionOne --service_id [swift_service_id] --publicurl 'http://192.168.69.1:8888/v1/AUTH_%(tenant_id)s' --adminurl 'http://192.168.69.1:8888/' --internalurl 'http://192.168.69.1:8888/v1/AUTH_%(tenant_id)s' |
| 240 | 32 | Beraldo Leal | </pre> |
| 241 | 34 | Beraldo Leal | |
| 242 | 37 | Beraldo Leal | h2. Verificando a instalacao: |
| 243 | 34 | Beraldo Leal | |
| 244 | 34 | Beraldo Leal | <pre> |
| 245 | 34 | Beraldo Leal | # sudo apt-get install curl openssl |
| 246 | 34 | Beraldo Leal | </pre> |
| 247 | 34 | Beraldo Leal | |
| 248 | 34 | Beraldo Leal | Faca uma requisicao REST para a API do keystone usando o curl: |
| 249 | 34 | Beraldo Leal | |
| 250 | 34 | Beraldo Leal | <pre> |
| 251 | 34 | Beraldo Leal | # curl -d '{"auth": {"tenantName": "openstackDemo", "passwordCredentials": {"username": "admin", "password": "adminpass"}}}' -H "Content-type: application/json" http://192.168.69.1:35357/v2.0/tokens | python -mjson.tool |
| 252 | 34 | Beraldo Leal | </pre> |
| 253 | 34 | Beraldo Leal | |
| 254 | 35 | Beraldo Leal | O retorno deve conter todos os servicos, endpoins e um token que expira em 24 horas: |
| 255 | 34 | Beraldo Leal | |
| 256 | 34 | Beraldo Leal | <pre> |
| 257 | 34 | Beraldo Leal | { |
| 258 | 34 | Beraldo Leal | "access": { |
| 259 | 34 | Beraldo Leal | "serviceCatalog": [ |
| 260 | 34 | Beraldo Leal | { |
| 261 | 34 | Beraldo Leal | "endpoints": [ |
| 262 | 34 | Beraldo Leal | { |
| 263 | 34 | Beraldo Leal | "adminURL": "http://192.168.69.1:8776/v1/9c401c9d2b9d41bcabda6919d4aec63a", |
| 264 | 34 | Beraldo Leal | "internalURL": "http://192.168.69.1:8776/v1/9c401c9d2b9d41bcabda6919d4aec63a", |
| 265 | 34 | Beraldo Leal | "publicURL": "http://192.168.69.1:8776/v1/9c401c9d2b9d41bcabda6919d4aec63a", |
| 266 | 34 | Beraldo Leal | "region": "RegionOne" |
| 267 | 34 | Beraldo Leal | } |
| 268 | 34 | Beraldo Leal | ], |
| 269 | 34 | Beraldo Leal | "endpoints_links": [], |
| 270 | 34 | Beraldo Leal | "name": "volume", |
| 271 | 34 | Beraldo Leal | "type": "volume" |
| 272 | 34 | Beraldo Leal | }, |
| 273 | 34 | Beraldo Leal | { |
| 274 | 34 | Beraldo Leal | "endpoints": [ |
| 275 | 34 | Beraldo Leal | { |
| 276 | 34 | Beraldo Leal | "adminURL": "http://192.168.69.1:9292/v1", |
| 277 | 34 | Beraldo Leal | "internalURL": "http://192.168.69.1:9292/v1", |
| 278 | 34 | Beraldo Leal | "publicURL": "http://192.168.69.1:9292/v1", |
| 279 | 34 | Beraldo Leal | "region": "RegionOne" |
| 280 | 34 | Beraldo Leal | } |
| 281 | 34 | Beraldo Leal | ], |
| 282 | 34 | Beraldo Leal | "endpoints_links": [], |
| 283 | 34 | Beraldo Leal | "name": "glance", |
| 284 | 34 | Beraldo Leal | "type": "image" |
| 285 | 34 | Beraldo Leal | }, |
| 286 | 34 | Beraldo Leal | { |
| 287 | 34 | Beraldo Leal | "endpoints": [ |
| 288 | 34 | Beraldo Leal | { |
| 289 | 34 | Beraldo Leal | "adminURL": "http://192.168.69.1:8774/v2/9c401c9d2b9d41bcabda6919d4aec63a", |
| 290 | 34 | Beraldo Leal | "internalURL": "http://192.168.69.1:8774/v2/9c401c9d2b9d41bcabda6919d4aec63a", |
| 291 | 34 | Beraldo Leal | "publicURL": "http://192.168.69.1:8774/v2/9c401c9d2b9d41bcabda6919d4aec63a", |
| 292 | 34 | Beraldo Leal | "region": "RegionOne" |
| 293 | 34 | Beraldo Leal | } |
| 294 | 34 | Beraldo Leal | ], |
| 295 | 34 | Beraldo Leal | "endpoints_links": [], |
| 296 | 34 | Beraldo Leal | "name": "nova", |
| 297 | 34 | Beraldo Leal | "type": "compute" |
| 298 | 34 | Beraldo Leal | }, |
| 299 | 34 | Beraldo Leal | { |
| 300 | 34 | Beraldo Leal | "endpoints": [ |
| 301 | 34 | Beraldo Leal | { |
| 302 | 34 | Beraldo Leal | "adminURL": "http://192.168.69.1:35357/v2.0", |
| 303 | 34 | Beraldo Leal | "internalURL": "http://192.168.69.1:5000/v2.0", |
| 304 | 34 | Beraldo Leal | "publicURL": "http://192.168.69.1:5000/v2.0", |
| 305 | 34 | Beraldo Leal | "region": "RegionOne" |
| 306 | 34 | Beraldo Leal | } |
| 307 | 34 | Beraldo Leal | ], |
| 308 | 34 | Beraldo Leal | "endpoints_links": [], |
| 309 | 34 | Beraldo Leal | "name": "keystone", |
| 310 | 34 | Beraldo Leal | "type": "identity" |
| 311 | 34 | Beraldo Leal | }, |
| 312 | 34 | Beraldo Leal | { |
| 313 | 34 | Beraldo Leal | "endpoints": [ |
| 314 | 34 | Beraldo Leal | { |
| 315 | 34 | Beraldo Leal | "adminURL": "http://192.168.69.1:8888/", |
| 316 | 34 | Beraldo Leal | "internalURL": "http://192.168.69.1:8888/v1/AUTH_9c401c9d2b9d41bcabda6919d4aec63a", |
| 317 | 34 | Beraldo Leal | "publicURL": "http://192.168.69.1:8888/v1/AUTH_9c401c9d2b9d41bcabda6919d4aec63a", |
| 318 | 34 | Beraldo Leal | "region": "RegionOne" |
| 319 | 34 | Beraldo Leal | } |
| 320 | 34 | Beraldo Leal | ], |
| 321 | 34 | Beraldo Leal | "endpoints_links": [], |
| 322 | 34 | Beraldo Leal | "name": "swift", |
| 323 | 41 | Beraldo Leal | "type": "object-store" |
| 324 | 34 | Beraldo Leal | } |
| 325 | 34 | Beraldo Leal | ], |
| 326 | 34 | Beraldo Leal | "token": { |
| 327 | 34 | Beraldo Leal | "expires": "2012-06-08T15:31:46Z", |
| 328 | 34 | Beraldo Leal | "id": "05b818ff23564d5599c97ea5e1df7bbe", |
| 329 | 34 | Beraldo Leal | "tenant": { |
| 330 | 34 | Beraldo Leal | "description": "Default Tenant", |
| 331 | 34 | Beraldo Leal | "enabled": true, |
| 332 | 34 | Beraldo Leal | "id": "9c401c9d2b9d41bcabda6919d4aec63a", |
| 333 | 34 | Beraldo Leal | "name": "openstackDemo" |
| 334 | 34 | Beraldo Leal | } |
| 335 | 34 | Beraldo Leal | }, |
| 336 | 34 | Beraldo Leal | "user": { |
| 337 | 34 | Beraldo Leal | "id": "1fcfbe778fc3428aa30db782056b34d7", |
| 338 | 34 | Beraldo Leal | "name": "admin", |
| 339 | 34 | Beraldo Leal | "roles": [ |
| 340 | 34 | Beraldo Leal | { |
| 341 | 34 | Beraldo Leal | "id": "a2d6da77c0a54105aab94484e0d2088b", |
| 342 | 34 | Beraldo Leal | "name": "admin" |
| 343 | 34 | Beraldo Leal | } |
| 344 | 34 | Beraldo Leal | ], |
| 345 | 34 | Beraldo Leal | "roles_links": [], |
| 346 | 34 | Beraldo Leal | "username": "admin" |
| 347 | 34 | Beraldo Leal | } |
| 348 | 34 | Beraldo Leal | } |
| 349 | 34 | Beraldo Leal | } |
| 350 | 34 | Beraldo Leal | |
| 351 | 34 | Beraldo Leal | </pre> |
| 352 | 36 | Beraldo Leal | |
| 353 | 36 | Beraldo Leal | Voce pode tambem listar usuarios, roles, tenants e services: |
| 354 | 36 | Beraldo Leal | |
| 355 | 36 | Beraldo Leal | <pre> |
| 356 | 36 | Beraldo Leal | # keystone user-list |
| 357 | 39 | Beraldo Leal | +----------------------------------+---------+-------+--------+ |
| 358 | 39 | Beraldo Leal | | id | enabled | email | name | |
| 359 | 39 | Beraldo Leal | +----------------------------------+---------+-------+--------+ |
| 360 | 39 | Beraldo Leal | | 029c5749548946f7b560b2706d31d488 | True | None | glance | |
| 361 | 39 | Beraldo Leal | | 1fcfbe778fc3428aa30db782056b34d7 | True | None | admin | |
| 362 | 39 | Beraldo Leal | | 4b75079aeb1b408ebdb286bfb85e719f | True | None | swift | |
| 363 | 39 | Beraldo Leal | | e25f81d50eb84bdb92907adbd0e41f25 | True | None | nova | |
| 364 | 39 | Beraldo Leal | +----------------------------------+---------+-------+--------+ |
| 365 | 40 | Beraldo Leal | </pre> |
| 366 | 39 | Beraldo Leal | |
| 367 | 40 | Beraldo Leal | <pre> |
| 368 | 36 | Beraldo Leal | # keystone role-list |
| 369 | 39 | Beraldo Leal | +----------------------------------+-------+ |
| 370 | 39 | Beraldo Leal | | id | name | |
| 371 | 39 | Beraldo Leal | +----------------------------------+-------+ |
| 372 | 39 | Beraldo Leal | | 845e83e4d9bf4d8d8188b1e261dfe103 | user | |
| 373 | 39 | Beraldo Leal | | a2d6da77c0a54105aab94484e0d2088b | admin | |
| 374 | 39 | Beraldo Leal | +----------------------------------+-------+ |
| 375 | 40 | Beraldo Leal | </pre> |
| 376 | 1 | Beraldo Leal | |
| 377 | 40 | Beraldo Leal | <pre> |
| 378 | 36 | Beraldo Leal | # keystone tenant-list |
| 379 | 39 | Beraldo Leal | +----------------------------------+---------------+---------+ |
| 380 | 39 | Beraldo Leal | | id | name | enabled | |
| 381 | 39 | Beraldo Leal | +----------------------------------+---------------+---------+ |
| 382 | 39 | Beraldo Leal | | 92920816c7704a8a95c916d34dc7a05c | service | True | |
| 383 | 39 | Beraldo Leal | | 9c401c9d2b9d41bcabda6919d4aec63a | openstackDemo | True | |
| 384 | 1 | Beraldo Leal | +----------------------------------+---------------+---------+ |
| 385 | 40 | Beraldo Leal | </pre> |
| 386 | 1 | Beraldo Leal | |
| 387 | 40 | Beraldo Leal | <pre> |
| 388 | 36 | Beraldo Leal | # keystone service-list |
| 389 | 39 | Beraldo Leal | +----------------------------------+----------+----------------+---------------------------+ |
| 390 | 39 | Beraldo Leal | | id | name | type | description | |
| 391 | 39 | Beraldo Leal | +----------------------------------+----------+----------------+---------------------------+ |
| 392 | 39 | Beraldo Leal | | 00486163c7c64c6a86f577627071aafc | nova | compute | Nova Compute Service | |
| 393 | 39 | Beraldo Leal | | 69d3a6b21c9348acb1042d7d9386ff81 | volume | volume | Nova Volume Service | |
| 394 | 41 | Beraldo Leal | | 7b09782f9faf448781f5a460acabe258 | swift | object-store | Object Storage Service | |
| 395 | 39 | Beraldo Leal | | d6b32583a6694e9b828b2a50037623ba | keystone | identity | Keystone Identity Service | |
| 396 | 39 | Beraldo Leal | | f7f964a71e2a45119dcaede68fafbd78 | glance | image | Glance Image Service | |
| 397 | 39 | Beraldo Leal | +----------------------------------+----------+----------------+---------------------------+ |
| 398 | 36 | Beraldo Leal | </pre> |
| 399 | 38 | Beraldo Leal | |
| 400 | 38 | Beraldo Leal | h1. Installing OpenStack Object Storage - Swift |
| 401 | 42 | Beraldo Leal | |
| 402 | 1 | Beraldo Leal | [Descrever o Swift aqui] |
| 403 | 44 | Beraldo Leal | |
| 404 | 44 | Beraldo Leal | Como neste ambiente de desenvolvimento temos apenas um no para storage e este sera o mesmo no que estara instalado o swift-proxy, todos os passos abaixo, sao executados na mesma maquina: _educloud01_. |
| 405 | 44 | Beraldo Leal | |
| 406 | 44 | Beraldo Leal | Em um ambiente de producao aconselha-se ter pelo menos 05 object storage nodes e 01 object proxy node. |
| 407 | 44 | Beraldo Leal | |
| 408 | 44 | Beraldo Leal | h2. Instalando e configurando o swift |
| 409 | 44 | Beraldo Leal | |
| 410 | 44 | Beraldo Leal | <pre> |
| 411 | 44 | Beraldo Leal | # apt-get install swift python-xattr python-memcache rsync memcached python-netifaces |
| 412 | 44 | Beraldo Leal | </pre> |
| 413 | 44 | Beraldo Leal | |
| 414 | 44 | Beraldo Leal | Infelizmente no momento da escrita deste manual o pacote do swift nao automatiza algumas tarefas, como por exemplo, a criacao dos arquivos de configuracao. Teremos que fazer isso manualmente: |
| 415 | 44 | Beraldo Leal | |
| 416 | 44 | Beraldo Leal | <pre> |
| 417 | 44 | Beraldo Leal | # mkdir /etc/swift |
| 418 | 44 | Beraldo Leal | </pre> |
| 419 | 44 | Beraldo Leal | |
| 420 | 44 | Beraldo Leal | Crie o arquivo de configuracao _/etc/swift/swift.conf_: |
| 421 | 44 | Beraldo Leal | |
| 422 | 44 | Beraldo Leal | <pre> |
| 423 | 44 | Beraldo Leal | [swift-hash] |
| 424 | 44 | Beraldo Leal | # random unique string that can never change (DO NOT LOSE) |
| 425 | 44 | Beraldo Leal | swift_hash_path_suffix = fLIbertYgibbitZ |
| 426 | 44 | Beraldo Leal | </pre> |
| 427 | 44 | Beraldo Leal | |
| 428 | 44 | Beraldo Leal | h2. Instalando e configurando os "object nodes" |
| 429 | 44 | Beraldo Leal | |
| 430 | 44 | Beraldo Leal | <pre> |
| 431 | 44 | Beraldo Leal | # apt-get install swift-account swift-container swift-object xfsprogs |
| 432 | 44 | Beraldo Leal | </pre> |
| 433 | 44 | Beraldo Leal | |
| 434 | 44 | Beraldo Leal | Cada "Object node" pode ter muitos dispositivos ligados a eles. 'E necessario que seja utilizado o sistema de arquivos xfs. |
| 435 | 44 | Beraldo Leal | |
| 436 | 44 | Beraldo Leal | <pre> |
| 437 | 44 | Beraldo Leal | # fdisk /dev/sdb (set up a single partition) |
| 438 | 44 | Beraldo Leal | # mkfs.xfs -i size=1024 /dev/sdb1 |
| 439 | 44 | Beraldo Leal | </pre> |
| 440 | 44 | Beraldo Leal | |
| 441 | 44 | Beraldo Leal | |
| 442 | 44 | Beraldo Leal | Este dispositivo deve estar montando em /srv/node/ |
| 443 | 44 | Beraldo Leal | |
| 444 | 44 | Beraldo Leal | <pre> |
| 445 | 44 | Beraldo Leal | echo "/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab |
| 446 | 44 | Beraldo Leal | mkdir -p /srv/node/sdb1 |
| 447 | 44 | Beraldo Leal | mount /srv/node/sdb1 |
| 448 | 44 | Beraldo Leal | chown -R swift:swift /srv/node |
| 449 | 44 | Beraldo Leal | </pre> |
| 450 | 44 | Beraldo Leal | |
| 451 | 44 | Beraldo Leal | h2. Configure o _rsyncd.conf_ |
| 452 | 44 | Beraldo Leal | |
| 453 | 44 | Beraldo Leal | <pre> |
| 454 | 44 | Beraldo Leal | uid = swift |
| 455 | 44 | Beraldo Leal | gid = swift |
| 456 | 44 | Beraldo Leal | log file = /var/log/rsyncd.log |
| 457 | 44 | Beraldo Leal | pid file = /var/run/rsyncd.pid |
| 458 | 44 | Beraldo Leal | address = 192.168.69.1 |
| 459 | 44 | Beraldo Leal | |
| 460 | 44 | Beraldo Leal | [account] |
| 461 | 44 | Beraldo Leal | max connections = 2 |
| 462 | 44 | Beraldo Leal | path = /srv/node/ |
| 463 | 44 | Beraldo Leal | read only = false |
| 464 | 44 | Beraldo Leal | lock file = /var/lock/account.lock |
| 465 | 44 | Beraldo Leal | |
| 466 | 44 | Beraldo Leal | [container] |
| 467 | 44 | Beraldo Leal | max connections = 2 |
| 468 | 44 | Beraldo Leal | path = /srv/node/ |
| 469 | 44 | Beraldo Leal | read only = false |
| 470 | 44 | Beraldo Leal | lock file = /var/lock/container.lock |
| 471 | 44 | Beraldo Leal | |
| 472 | 44 | Beraldo Leal | [object] |
| 473 | 44 | Beraldo Leal | max connections = 2 |
| 474 | 44 | Beraldo Leal | path = /srv/node/ |
| 475 | 44 | Beraldo Leal | read only = false |
| 476 | 44 | Beraldo Leal | lock file = /var/lock/object.lock |
| 477 | 44 | Beraldo Leal | </pre> |
| 478 | 44 | Beraldo Leal | |
| 479 | 44 | Beraldo Leal | Edite o _/etc/default/rsync_: |
| 480 | 44 | Beraldo Leal | |
| 481 | 44 | Beraldo Leal | <pre> |
| 482 | 44 | Beraldo Leal | RSYNC_ENABLE = true |
| 483 | 44 | Beraldo Leal | </pre> |
| 484 | 44 | Beraldo Leal | |
| 485 | 44 | Beraldo Leal | Restarte o rsync: |
| 486 | 44 | Beraldo Leal | |
| 487 | 44 | Beraldo Leal | <pre> |
| 488 | 44 | Beraldo Leal | service rsync restart |
| 489 | 44 | Beraldo Leal | </pre> |
| 490 | 44 | Beraldo Leal | |
| 491 | 44 | Beraldo Leal | Crie o _/etc/swift/account-server.conf_: |
| 492 | 44 | Beraldo Leal | |
| 493 | 44 | Beraldo Leal | <pre> |
| 494 | 44 | Beraldo Leal | [DEFAULT] |
| 495 | 44 | Beraldo Leal | bind_ip = 192.168.69.1 |
| 496 | 44 | Beraldo Leal | workers = 2 |
| 497 | 44 | Beraldo Leal | |
| 498 | 44 | Beraldo Leal | [pipeline:main] |
| 499 | 44 | Beraldo Leal | pipeline = account-server |
| 500 | 44 | Beraldo Leal | |
| 501 | 44 | Beraldo Leal | [app:account-server] |
| 502 | 44 | Beraldo Leal | use = egg:swift#account |
| 503 | 44 | Beraldo Leal | |
| 504 | 44 | Beraldo Leal | [account-replicator] |
| 505 | 44 | Beraldo Leal | |
| 506 | 44 | Beraldo Leal | [account-auditor] |
| 507 | 44 | Beraldo Leal | |
| 508 | 44 | Beraldo Leal | [account-reaper] |
| 509 | 44 | Beraldo Leal | </pre> |
| 510 | 44 | Beraldo Leal | |
| 511 | 44 | Beraldo Leal | Crie o _/etc/swift/container-server.conf_: |
| 512 | 44 | Beraldo Leal | |
| 513 | 44 | Beraldo Leal | <pre> |
| 514 | 44 | Beraldo Leal | [DEFAULT] |
| 515 | 44 | Beraldo Leal | bind_ip = 192.168.69.1 |
| 516 | 44 | Beraldo Leal | workers = 2 |
| 517 | 44 | Beraldo Leal | |
| 518 | 44 | Beraldo Leal | [pipeline:main] |
| 519 | 44 | Beraldo Leal | pipeline = container-server |
| 520 | 44 | Beraldo Leal | |
| 521 | 44 | Beraldo Leal | [app:container-server] |
| 522 | 44 | Beraldo Leal | use = egg:swift#container |
| 523 | 44 | Beraldo Leal | |
| 524 | 44 | Beraldo Leal | [container-replicator] |
| 525 | 44 | Beraldo Leal | |
| 526 | 44 | Beraldo Leal | [container-updater] |
| 527 | 44 | Beraldo Leal | |
| 528 | 44 | Beraldo Leal | [container-auditor] |
| 529 | 44 | Beraldo Leal | </pre> |
| 530 | 44 | Beraldo Leal | |
| 531 | 44 | Beraldo Leal | Crie o _/etc/swift/object-server.conf_: |
| 532 | 44 | Beraldo Leal | |
| 533 | 44 | Beraldo Leal | <pre> |
| 534 | 44 | Beraldo Leal | [DEFAULT] |
| 535 | 44 | Beraldo Leal | bind_ip = 192.168.69.1 |
| 536 | 44 | Beraldo Leal | workers = 2 |
| 537 | 44 | Beraldo Leal | |
| 538 | 44 | Beraldo Leal | [pipeline:main] |
| 539 | 44 | Beraldo Leal | pipeline = object-server |
| 540 | 44 | Beraldo Leal | |
| 541 | 44 | Beraldo Leal | [app:object-server] |
| 542 | 44 | Beraldo Leal | use = egg:swift#object |
| 543 | 44 | Beraldo Leal | |
| 544 | 44 | Beraldo Leal | [object-replicator] |
| 545 | 44 | Beraldo Leal | |
| 546 | 44 | Beraldo Leal | [object-updater] |
| 547 | 44 | Beraldo Leal | |
| 548 | 44 | Beraldo Leal | [object-auditor] |
| 549 | 44 | Beraldo Leal | </pre> |
| 550 | 44 | Beraldo Leal | |
| 551 | 44 | Beraldo Leal | |
| 552 | 44 | Beraldo Leal | h2. Instale e configure o swift-proxy |
| 553 | 44 | Beraldo Leal | |
| 554 | 44 | Beraldo Leal | <pre> |
| 555 | 44 | Beraldo Leal | # apt-get install swift-proxy memcached |
| 556 | 44 | Beraldo Leal | </pre> |
| 557 | 44 | Beraldo Leal | |
| 558 | 44 | Beraldo Leal | Crie o certificado SSL auto assinado: |
| 559 | 44 | Beraldo Leal | |
| 560 | 44 | Beraldo Leal | <pre> |
| 561 | 44 | Beraldo Leal | cd /etc/swift |
| 562 | 44 | Beraldo Leal | openssl req -new -x509 -nodes -out cert.crt -keyout cert.key |
| 563 | 44 | Beraldo Leal | </pre> |
| 564 | 44 | Beraldo Leal | |
| 565 | 44 | Beraldo Leal | Modifique o memcached para ouvir na interface da sua rede interna. Edite a seguinte linha no /etc/memcached.conf, mudando |
| 566 | 44 | Beraldo Leal | |
| 567 | 44 | Beraldo Leal | <pre> |
| 568 | 44 | Beraldo Leal | -l 127.0.0.1 |
| 569 | 44 | Beraldo Leal | to |
| 570 | 44 | Beraldo Leal | -l 192.168.69.1 |
| 571 | 44 | Beraldo Leal | </pre> |
| 572 | 44 | Beraldo Leal | |
| 573 | 44 | Beraldo Leal | Restart o memcached: |
| 574 | 44 | Beraldo Leal | |
| 575 | 44 | Beraldo Leal | <pre> |
| 576 | 44 | Beraldo Leal | service memcached restart |
| 577 | 44 | Beraldo Leal | </pre> |
| 578 | 44 | Beraldo Leal | |
| 579 | 44 | Beraldo Leal | Crie o arquivo _/etc/swift/proxy-server.conf_: |
| 580 | 44 | Beraldo Leal | |
| 581 | 44 | Beraldo Leal | <pre> |
| 582 | 44 | Beraldo Leal | [DEFAULT] |
| 583 | 44 | Beraldo Leal | bind_port = 8888 |
| 584 | 44 | Beraldo Leal | user = swift |
| 585 | 44 | Beraldo Leal | |
| 586 | 44 | Beraldo Leal | [pipeline:main] |
| 587 | 44 | Beraldo Leal | pipeline = catch_errors healthcheck cache authtoken keystone proxy-server |
| 588 | 44 | Beraldo Leal | |
| 589 | 44 | Beraldo Leal | [app:proxy-server] |
| 590 | 44 | Beraldo Leal | use = egg:swift#proxy |
| 591 | 44 | Beraldo Leal | account_autocreate = true |
| 592 | 44 | Beraldo Leal | |
| 593 | 44 | Beraldo Leal | [filter:keystone] |
| 594 | 44 | Beraldo Leal | paste.filter_factory = keystone.middleware.swift_auth:filter_factory |
| 595 | 44 | Beraldo Leal | operator_roles = admin, swiftoperator |
| 596 | 44 | Beraldo Leal | |
| 597 | 44 | Beraldo Leal | [filter:authtoken] |
| 598 | 44 | Beraldo Leal | paste.filter_factory = keystone.middleware.auth_token:filter_factory |
| 599 | 44 | Beraldo Leal | # Delaying the auth decision is required to support token-less |
| 600 | 44 | Beraldo Leal | # usage for anonymous referrers ('.r:*'). |
| 601 | 44 | Beraldo Leal | delay_auth_decision = 10 |
| 602 | 44 | Beraldo Leal | service_port = 5000 |
| 603 | 44 | Beraldo Leal | service_host = 192.168.69.1 |
| 604 | 44 | Beraldo Leal | auth_port = 35357 |
| 605 | 44 | Beraldo Leal | auth_host = 192.168.69.1 |
| 606 | 44 | Beraldo Leal | auth_token = 012345SECRET99TOKEN012345 |
| 607 | 44 | Beraldo Leal | admin_token = 012345SECRET99TOKEN012345 |
| 608 | 44 | Beraldo Leal | auth_protocol = http |
| 609 | 44 | Beraldo Leal | |
| 610 | 44 | Beraldo Leal | [filter:cache] |
| 611 | 44 | Beraldo Leal | use = egg:swift#memcache |
| 612 | 44 | Beraldo Leal | set log_name = cache |
| 613 | 44 | Beraldo Leal | |
| 614 | 44 | Beraldo Leal | [filter:catch_errors] |
| 615 | 44 | Beraldo Leal | use = egg:swift#catch_errors |
| 616 | 44 | Beraldo Leal | |
| 617 | 44 | Beraldo Leal | [filter:healthcheck] |
| 618 | 44 | Beraldo Leal | use = egg:swift#healthcheck |
| 619 | 44 | Beraldo Leal | </pre> |
| 620 | 44 | Beraldo Leal | |
| 621 | 45 | Beraldo Leal | |
| 622 | 45 | Beraldo Leal | Create the account, container and object rings. The builder command is basically creating a builder file with a few parameters. The parameter with the value of 18 represents 2 ^ 18th, the value that the partition will be sized to. Set this "partition power" value based on the total amount of storage you expect your entire ring to use. The value of 1 represents the number of replicas of each object, with the last value being the number of hours to restrict moving a partition more than once. |
| 623 | 45 | Beraldo Leal | |
| 624 | 45 | Beraldo Leal | <pre> |
| 625 | 45 | Beraldo Leal | cd /etc/swift |
| 626 | 45 | Beraldo Leal | swift-ring-builder account.builder create 18 1 1 |
| 627 | 45 | Beraldo Leal | swift-ring-builder container.builder create 18 1 1 |
| 628 | 45 | Beraldo Leal | swift-ring-builder object.builder create 18 1 1 |
| 629 | 45 | Beraldo Leal | </pre> |
| 630 | 45 | Beraldo Leal | |
| 631 | 45 | Beraldo Leal | For every storage device on each node add entries to each ring: |
| 632 | 45 | Beraldo Leal | |
| 633 | 45 | Beraldo Leal | <pre> |
| 634 | 45 | Beraldo Leal | swift-ring-builder account.builder add z<ZONE>-<STORAGE_LOCAL_NET_IP>:6002/<DEVICE> 100 |
| 635 | 45 | Beraldo Leal | swift-ring-builder container.builder add z<ZONE>-<STORAGE_LOCAL_NET_IP_1>:6001/<DEVICE> 100 |
| 636 | 45 | Beraldo Leal | swift-ring-builder object.builder add z<ZONE>-<STORAGE_LOCAL_NET_IP_1>:6000/<DEVICE> 100 |
| 637 | 45 | Beraldo Leal | </pre> |
| 638 | 45 | Beraldo Leal | |
| 639 | 45 | Beraldo Leal | Como no nosso caso, apenas temos uma zona, em um storage node e com um device (sdb1), o comando acima ficaria: |
| 640 | 45 | Beraldo Leal | |
| 641 | 45 | Beraldo Leal | <pre> |
| 642 | 45 | Beraldo Leal | swift-ring-builder account.builder add z1-192.168.69.1:6002/sdb1 100 |
| 643 | 45 | Beraldo Leal | swift-ring-builder container.builder add z1-192.168.69.1:6001/sdb1 100 |
| 644 | 45 | Beraldo Leal | swift-ring-builder object.builder add z1-192.168.69.1:6000/sdb1 100 |
| 645 | 45 | Beraldo Leal | </pre> |
| 646 | 45 | Beraldo Leal | |
| 647 | 45 | Beraldo Leal | Verify the ring contents for each ring: |
| 648 | 45 | Beraldo Leal | |
| 649 | 45 | Beraldo Leal | <pre> |
| 650 | 45 | Beraldo Leal | swift-ring-builder account.builder |
| 651 | 45 | Beraldo Leal | swift-ring-builder container.builder |
| 652 | 45 | Beraldo Leal | swift-ring-builder object.builder |
| 653 | 45 | Beraldo Leal | </pre> |
| 654 | 45 | Beraldo Leal | |
| 655 | 45 | Beraldo Leal | Rebalance the rings: |
| 656 | 45 | Beraldo Leal | |
| 657 | 45 | Beraldo Leal | <pre> |
| 658 | 45 | Beraldo Leal | swift-ring-builder account.builder rebalance |
| 659 | 45 | Beraldo Leal | swift-ring-builder container.builder rebalance |
| 660 | 45 | Beraldo Leal | swift-ring-builder object.builder rebalance |
| 661 | 45 | Beraldo Leal | </pre> |
| 662 | 45 | Beraldo Leal | |
| 663 | 44 | Beraldo Leal | Altere as permissoes dos arquivos de configuracao: |
| 664 | 44 | Beraldo Leal | |
| 665 | 44 | Beraldo Leal | <pre> |
| 666 | 44 | Beraldo Leal | # chown -R swift:swift /etc/swift/ |
| 667 | 44 | Beraldo Leal | </pre> |
| 668 | 45 | Beraldo Leal | |
| 669 | 45 | Beraldo Leal | Inicie o swift-proxy: |
| 670 | 45 | Beraldo Leal | |
| 671 | 45 | Beraldo Leal | <pre> |
| 672 | 45 | Beraldo Leal | swift-init proxy start |
| 673 | 45 | Beraldo Leal | </pre> |
| 674 | 45 | Beraldo Leal | |
| 675 | 45 | Beraldo Leal | Inicie todos os servicos: |
| 676 | 45 | Beraldo Leal | |
| 677 | 45 | Beraldo Leal | <pre> |
| 678 | 45 | Beraldo Leal | swift-init main start |
| 679 | 45 | Beraldo Leal | swift-init rest start |
| 680 | 45 | Beraldo Leal | </pre> |
| 681 | 45 | Beraldo Leal | |
| 682 | 45 | Beraldo Leal | |
| 683 | 45 | Beraldo Leal | h2. Verificando a instalacao |
| 684 | 45 | Beraldo Leal | |
| 685 | 45 | Beraldo Leal | O arquivo _/root/openstackrc_ vai receber novas variaveis de ambiente, ele deve ficar assim: |
| 686 | 45 | Beraldo Leal | |
| 687 | 45 | Beraldo Leal | <pre> |
| 688 | 45 | Beraldo Leal | # Used for Keystone |
| 689 | 45 | Beraldo Leal | export SERVICE_ENDPOINT=http://192.168.69.1:35357/v2.0/ |
| 690 | 45 | Beraldo Leal | export SERVICE_TOKEN=012345SECRET99TOKEN012345 |
| 691 | 45 | Beraldo Leal | |
| 692 | 45 | Beraldo Leal | # Used for swift |
| 693 | 45 | Beraldo Leal | export ST_AUTH=http://192.168.69.1:5000/v2.0 |
| 694 | 45 | Beraldo Leal | export ST_USER=openstackDemo:admin |
| 695 | 45 | Beraldo Leal | export ST_KEY=adminpass |
| 696 | 45 | Beraldo Leal | export OS_REGION_NAME=RegionOne |
| 697 | 45 | Beraldo Leal | </pre> |
| 698 | 45 | Beraldo Leal | |
| 699 | 45 | Beraldo Leal | Carregue o arquivo: |
| 700 | 45 | Beraldo Leal | |
| 701 | 45 | Beraldo Leal | <pre> |
| 702 | 45 | Beraldo Leal | # source /root/openstackrc |
| 703 | 45 | Beraldo Leal | </pre> |
| 704 | 45 | Beraldo Leal | |
| 705 | 45 | Beraldo Leal | Tente obter status do swift: |
| 706 | 45 | Beraldo Leal | |
| 707 | 45 | Beraldo Leal | <pre> |
| 708 | 45 | Beraldo Leal | # swift -V 2.0 stat |
| 709 | 45 | Beraldo Leal | </pre> |
| 710 | 45 | Beraldo Leal | |
| 711 | 45 | Beraldo Leal | # Liste os containers: |
| 712 | 45 | Beraldo Leal | |
| 713 | 45 | Beraldo Leal | <pre> |
| 714 | 45 | Beraldo Leal | # swift -V 2.0 list |
| 715 | 45 | Beraldo Leal | </pre> |
| 716 | 46 | Beraldo Leal | |
| 717 | 46 | Beraldo Leal | Suba alguns arquivos para o swift: |
| 718 | 46 | Beraldo Leal | |
| 719 | 45 | Beraldo Leal | <pre> |
| 720 | 46 | Beraldo Leal | # swift -V 2.0 upload myfiles bigfile1.tgz |
| 721 | 46 | Beraldo Leal | # swift -V 2.0 upload myfiles bigfile2.tgz |
| 722 | 46 | Beraldo Leal | </pre> |
| 723 | 46 | Beraldo Leal | |
| 724 | 46 | Beraldo Leal | Baixe o container "myfiles": |
| 725 | 46 | Beraldo Leal | <pre> |
| 726 | 46 | Beraldo Leal | # cd /tmp/ |
| 727 | 46 | Beraldo Leal | # swift -V 2.0 download myfiles |
| 728 | 46 | Beraldo Leal | </pre> |
| 729 | 46 | Beraldo Leal | |
| 730 | 46 | Beraldo Leal | h1. Installing OpenStack Image Service - Glance |
| 731 | 47 | Beraldo Leal | |
| 732 | 47 | Beraldo Leal | [descrever o glance aqui] |
| 733 | 47 | Beraldo Leal | |
| 734 | 47 | Beraldo Leal | O glance esta instalado na _educloud01_. |
| 735 | 47 | Beraldo Leal | |
| 736 | 47 | Beraldo Leal | h2. Instalando e configurando o glance |
| 737 | 47 | Beraldo Leal | |
| 738 | 47 | Beraldo Leal | <pre> |
| 739 | 47 | Beraldo Leal | # apt-get install glance |
| 740 | 47 | Beraldo Leal | </pre> |
| 741 | 47 | Beraldo Leal | |
| 742 | 47 | Beraldo Leal | Remova o arquivo sqlite. |
| 743 | 47 | Beraldo Leal | |
| 744 | 47 | Beraldo Leal | <pre> |
| 745 | 47 | Beraldo Leal | # rm /var/lib/glance/glance.sqlite |
| 746 | 47 | Beraldo Leal | </pre> |
| 747 | 47 | Beraldo Leal | |
| 748 | 47 | Beraldo Leal | h2. Configuring the Image Service database backend |
| 749 | 47 | Beraldo Leal | |
| 750 | 47 | Beraldo Leal | <pre> |
| 751 | 47 | Beraldo Leal | # mysql -u root -p |
| 752 | 47 | Beraldo Leal | mysql> CREATE DATABASE glance; |
| 753 | 47 | Beraldo Leal | mysql> GRANT ALL ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glancepass'; |
| 754 | 47 | Beraldo Leal | mysql> FLUSH PRIVILEGES; |
| 755 | 47 | Beraldo Leal | mysql> quit; |
| 756 | 47 | Beraldo Leal | </pre> |
| 757 | 47 | Beraldo Leal | |
| 758 | 47 | Beraldo Leal | |
| 759 | 47 | Beraldo Leal | Substitua os seguintes arquivos de configuracao em _/etc/glance/_: |
| 760 | 47 | Beraldo Leal | |
| 761 | 47 | Beraldo Leal | */etc/glance/glance-api.conf*: |
| 762 | 47 | Beraldo Leal | <pre> |
| 763 | 47 | Beraldo Leal | [DEFAULT] |
| 764 | 47 | Beraldo Leal | # Show more verbose log output (sets INFO log level output) |
| 765 | 47 | Beraldo Leal | verbose = True |
| 766 | 47 | Beraldo Leal | |
| 767 | 47 | Beraldo Leal | # Show debugging output in logs (sets DEBUG log level output) |
| 768 | 47 | Beraldo Leal | debug = False |
| 769 | 47 | Beraldo Leal | |
| 770 | 47 | Beraldo Leal | # Which backend store should Glance use by default is not specified |
| 771 | 47 | Beraldo Leal | # in a request to add a new image to Glance? Default: 'file' |
| 772 | 47 | Beraldo Leal | # Available choices are 'file', 'swift', and 's3' |
| 773 | 47 | Beraldo Leal | default_store = swift |
| 774 | 47 | Beraldo Leal | |
| 775 | 47 | Beraldo Leal | # Address to bind the API server |
| 776 | 47 | Beraldo Leal | bind_host = 0.0.0.0 |
| 777 | 47 | Beraldo Leal | |
| 778 | 47 | Beraldo Leal | # Port the bind the API server to |
| 779 | 47 | Beraldo Leal | bind_port = 9292 |
| 780 | 47 | Beraldo Leal | |
| 781 | 47 | Beraldo Leal | # Log to this file. Make sure you do not set the same log |
| 782 | 47 | Beraldo Leal | # file for both the API and registry servers! |
| 783 | 47 | Beraldo Leal | log_file = /var/log/glance/api.log |
| 784 | 47 | Beraldo Leal | |
| 785 | 47 | Beraldo Leal | # Backlog requests when creating socket |
| 786 | 47 | Beraldo Leal | backlog = 4096 |
| 787 | 47 | Beraldo Leal | |
| 788 | 47 | Beraldo Leal | # Number of Glance API worker processes to start. |
| 789 | 47 | Beraldo Leal | # On machines with more than one CPU increasing this value |
| 790 | 47 | Beraldo Leal | # may improve performance (especially if using SSL with |
| 791 | 47 | Beraldo Leal | # compression turned on). It is typically recommended to set |
| 792 | 47 | Beraldo Leal | # this value to the number of CPUs present on your machine. |
| 793 | 47 | Beraldo Leal | workers = 0 |
| 794 | 47 | Beraldo Leal | |
| 795 | 47 | Beraldo Leal | # Role used to identify an authenticated user as administrator |
| 796 | 47 | Beraldo Leal | #admin_role = admin |
| 797 | 47 | Beraldo Leal | |
| 798 | 47 | Beraldo Leal | # ================= Syslog Options ============================ |
| 799 | 47 | Beraldo Leal | |
| 800 | 47 | Beraldo Leal | # Send logs to syslog (/dev/log) instead of to file specified |
| 801 | 47 | Beraldo Leal | # by `log_file` |
| 802 | 47 | Beraldo Leal | use_syslog = False |
| 803 | 47 | Beraldo Leal | |
| 804 | 47 | Beraldo Leal | # Facility to use. If unset defaults to LOG_USER. |
| 805 | 47 | Beraldo Leal | # syslog_log_facility = LOG_LOCAL0 |
| 806 | 47 | Beraldo Leal | |
| 807 | 47 | Beraldo Leal | # ================= SSL Options =============================== |
| 808 | 47 | Beraldo Leal | |
| 809 | 47 | Beraldo Leal | # Certificate file to use when starting API server securely |
| 810 | 47 | Beraldo Leal | # cert_file = /path/to/certfile |
| 811 | 47 | Beraldo Leal | |
| 812 | 47 | Beraldo Leal | # Private key file to use when starting API server securely |
| 813 | 47 | Beraldo Leal | # key_file = /path/to/keyfile |
| 814 | 47 | Beraldo Leal | |
| 815 | 47 | Beraldo Leal | # ================= Security Options ========================== |
| 816 | 47 | Beraldo Leal | |
| 817 | 47 | Beraldo Leal | # AES key for encrypting store 'location' metadata, including |
| 818 | 47 | Beraldo Leal | # -- if used -- Swift or S3 credentials |
| 819 | 47 | Beraldo Leal | # Should be set to a random string of length 16, 24 or 32 bytes |
| 820 | 47 | Beraldo Leal | # metadata_encryption_key = <16, 24 or 32 char registry metadata key> |
| 821 | 47 | Beraldo Leal | |
| 822 | 47 | Beraldo Leal | # ============ Registry Options =============================== |
| 823 | 47 | Beraldo Leal | |
| 824 | 47 | Beraldo Leal | # Address to find the registry server |
| 825 | 47 | Beraldo Leal | registry_host = 0.0.0.0 |
| 826 | 47 | Beraldo Leal | |
| 827 | 47 | Beraldo Leal | # Port the registry server is listening on |
| 828 | 47 | Beraldo Leal | registry_port = 9191 |
| 829 | 47 | Beraldo Leal | |
| 830 | 47 | Beraldo Leal | # What protocol to use when connecting to the registry server? |
| 831 | 47 | Beraldo Leal | # Set to https for secure HTTP communication |
| 832 | 47 | Beraldo Leal | registry_client_protocol = http |
| 833 | 47 | Beraldo Leal | |
| 834 | 47 | Beraldo Leal | # The path to the key file to use in SSL connections to the |
| 835 | 47 | Beraldo Leal | # registry server, if any. Alternately, you may set the |
| 836 | 47 | Beraldo Leal | # GLANCE_CLIENT_KEY_FILE environ variable to a filepath of the key file |
| 837 | 47 | Beraldo Leal | # registry_client_key_file = /path/to/key/file |
| 838 | 47 | Beraldo Leal | |
| 839 | 47 | Beraldo Leal | # The path to the cert file to use in SSL connections to the |
| 840 | 47 | Beraldo Leal | # registry server, if any. Alternately, you may set the |
| 841 | 47 | Beraldo Leal | # GLANCE_CLIENT_CERT_FILE environ variable to a filepath of the cert file |
| 842 | 47 | Beraldo Leal | # registry_client_cert_file = /path/to/cert/file |
| 843 | 47 | Beraldo Leal | |
| 844 | 47 | Beraldo Leal | # The path to the certifying authority cert file to use in SSL connections |
| 845 | 47 | Beraldo Leal | # to the registry server, if any. Alternately, you may set the |
| 846 | 47 | Beraldo Leal | # GLANCE_CLIENT_CA_FILE environ variable to a filepath of the CA cert file |
| 847 | 47 | Beraldo Leal | # registry_client_ca_file = /path/to/ca/file |
| 848 | 47 | Beraldo Leal | |
| 849 | 47 | Beraldo Leal | # ============ Notification System Options ===================== |
| 850 | 47 | Beraldo Leal | |
| 851 | 47 | Beraldo Leal | # Notifications can be sent when images are create, updated or deleted. |
| 852 | 47 | Beraldo Leal | # There are three methods of sending notifications, logging (via the |
| 853 | 47 | Beraldo Leal | # log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid |
| 854 | 47 | Beraldo Leal | # message queue), or noop (no notifications sent, the default) |
| 855 | 47 | Beraldo Leal | notifier_strategy = noop |
| 856 | 47 | Beraldo Leal | |
| 857 | 47 | Beraldo Leal | # Configuration options if sending notifications via rabbitmq (these are |
| 858 | 47 | Beraldo Leal | # the defaults) |
| 859 | 47 | Beraldo Leal | rabbit_host = localhost |
| 860 | 47 | Beraldo Leal | rabbit_port = 5672 |
| 861 | 47 | Beraldo Leal | rabbit_use_ssl = false |
| 862 | 47 | Beraldo Leal | rabbit_userid = guest |
| 863 | 47 | Beraldo Leal | rabbit_password = guest |
| 864 | 47 | Beraldo Leal | rabbit_virtual_host = / |
| 865 | 47 | Beraldo Leal | rabbit_notification_exchange = glance |
| 866 | 47 | Beraldo Leal | rabbit_notification_topic = glance_notifications |
| 867 | 47 | Beraldo Leal | |
| 868 | 47 | Beraldo Leal | # Configuration options if sending notifications via Qpid (these are |
| 869 | 47 | Beraldo Leal | # the defaults) |
| 870 | 47 | Beraldo Leal | qpid_notification_exchange = glance |
| 871 | 47 | Beraldo Leal | qpid_notification_topic = glance_notifications |
| 872 | 47 | Beraldo Leal | qpid_host = localhost |
| 873 | 47 | Beraldo Leal | qpid_port = 5672 |
| 874 | 47 | Beraldo Leal | qpid_username = |
| 875 | 47 | Beraldo Leal | qpid_password = |
| 876 | 47 | Beraldo Leal | qpid_sasl_mechanisms = |
| 877 | 47 | Beraldo Leal | qpid_reconnect_timeout = 0 |
| 878 | 47 | Beraldo Leal | qpid_reconnect_limit = 0 |
| 879 | 47 | Beraldo Leal | qpid_reconnect_interval_min = 0 |
| 880 | 47 | Beraldo Leal | qpid_reconnect_interval_max = 0 |
| 881 | 47 | Beraldo Leal | qpid_reconnect_interval = 0 |
| 882 | 47 | Beraldo Leal | qpid_heartbeat = 5 |
| 883 | 47 | Beraldo Leal | # Set to 'ssl' to enable SSL |
| 884 | 47 | Beraldo Leal | qpid_protocol = tcp |
| 885 | 47 | Beraldo Leal | qpid_tcp_nodelay = True |
| 886 | 47 | Beraldo Leal | |
| 887 | 47 | Beraldo Leal | # ============ Filesystem Store Options ======================== |
| 888 | 47 | Beraldo Leal | |
| 889 | 47 | Beraldo Leal | # Directory that the Filesystem backend store |
| 890 | 47 | Beraldo Leal | # writes image data to |
| 891 | 47 | Beraldo Leal | filesystem_store_datadir = /var/lib/glance/images/ |
| 892 | 47 | Beraldo Leal | |
| 893 | 47 | Beraldo Leal | # ============ Swift Store Options ============================= |
| 894 | 47 | Beraldo Leal | |
| 895 | 47 | Beraldo Leal | # Version of the authentication service to use |
| 896 | 47 | Beraldo Leal | # Valid versions are '2' for keystone and '1' for swauth and rackspace |
| 897 | 47 | Beraldo Leal | swift_store_auth_version = 2 |
| 898 | 47 | Beraldo Leal | |
| 899 | 47 | Beraldo Leal | # Address where the Swift authentication service lives |
| 900 | 47 | Beraldo Leal | # Valid schemes are 'http://' and 'https://' |
| 901 | 47 | Beraldo Leal | # If no scheme specified, default to 'https://' |
| 902 | 47 | Beraldo Leal | # For swauth, use something like '127.0.0.1:8080/v1.0/' |
| 903 | 47 | Beraldo Leal | swift_store_auth_address = http://192.168.69.1:35357/v2.0/ |
| 904 | 47 | Beraldo Leal | |
| 905 | 47 | Beraldo Leal | # User to authenticate against the Swift authentication service |
| 906 | 47 | Beraldo Leal | # If you use Swift authentication service, set it to 'account':'user' |
| 907 | 47 | Beraldo Leal | # where 'account' is a Swift storage account and 'user' |
| 908 | 47 | Beraldo Leal | # is a user in that account |
| 909 | 47 | Beraldo Leal | swift_store_user = service:glance |
| 910 | 47 | Beraldo Leal | |
| 911 | 47 | Beraldo Leal | # Auth key for the user authenticating against the |
| 912 | 47 | Beraldo Leal | # Swift authentication service |
| 913 | 47 | Beraldo Leal | swift_store_key = glancepass |
| 914 | 47 | Beraldo Leal | |
| 915 | 47 | Beraldo Leal | # Container within the account that the account should use |
| 916 | 47 | Beraldo Leal | # for storing images in Swift |
| 917 | 47 | Beraldo Leal | swift_store_container = glance |
| 918 | 47 | Beraldo Leal | |
| 919 | 47 | Beraldo Leal | # Do we create the container if it does not exist? |
| 920 | 47 | Beraldo Leal | swift_store_create_container_on_put = True |
| 921 | 47 | Beraldo Leal | |
| 922 | 47 | Beraldo Leal | # What size, in MB, should Glance start chunking image files |
| 923 | 47 | Beraldo Leal | # and do a large object manifest in Swift? By default, this is |
| 924 | 47 | Beraldo Leal | # the maximum object size in Swift, which is 5GB |
| 925 | 47 | Beraldo Leal | swift_store_large_object_size = 5120 |
| 926 | 47 | Beraldo Leal | |
| 927 | 47 | Beraldo Leal | # When doing a large object manifest, what size, in MB, should |
| 928 | 47 | Beraldo Leal | # Glance write chunks to Swift? This amount of data is written |
| 929 | 47 | Beraldo Leal | # to a temporary disk buffer during the process of chunking |
| 930 | 47 | Beraldo Leal | # the image file, and the default is 200MB |
| 931 | 47 | Beraldo Leal | swift_store_large_object_chunk_size = 200 |
| 932 | 47 | Beraldo Leal | |
| 933 | 47 | Beraldo Leal | # Whether to use ServiceNET to communicate with the Swift storage servers. |
| 934 | 47 | Beraldo Leal | # (If you aren't RACKSPACE, leave this False!) |
| 935 | 47 | Beraldo Leal | # |
| 936 | 47 | Beraldo Leal | # To use ServiceNET for authentication, prefix hostname of |
| 937 | 47 | Beraldo Leal | # `swift_store_auth_address` with 'snet-'. |
| 938 | 47 | Beraldo Leal | # Ex. https://example.com/v1.0/ -> https://snet-example.com/v1.0/ |
| 939 | 47 | Beraldo Leal | swift_enable_snet = False |
| 940 | 47 | Beraldo Leal | |
| 941 | 47 | Beraldo Leal | # ============ S3 Store Options ============================= |
| 942 | 47 | Beraldo Leal | |
| 943 | 47 | Beraldo Leal | # Address where the S3 authentication service lives |
| 944 | 47 | Beraldo Leal | # Valid schemes are 'http://' and 'https://' |
| 945 | 47 | Beraldo Leal | # If no scheme specified, default to 'http://' |
| 946 | 47 | Beraldo Leal | s3_store_host = 127.0.0.1:8080/v1.0/ |
| 947 | 47 | Beraldo Leal | |
| 948 | 47 | Beraldo Leal | # User to authenticate against the S3 authentication service |
| 949 | 47 | Beraldo Leal | s3_store_access_key = <20-char AWS access key> |
| 950 | 47 | Beraldo Leal | |
| 951 | 47 | Beraldo Leal | # Auth key for the user authenticating against the |
| 952 | 47 | Beraldo Leal | # S3 authentication service |
| 953 | 47 | Beraldo Leal | s3_store_secret_key = <40-char AWS secret key> |
| 954 | 47 | Beraldo Leal | |
| 955 | 47 | Beraldo Leal | # Container within the account that the account should use |
| 956 | 47 | Beraldo Leal | # for storing images in S3. Note that S3 has a flat namespace, |
| 957 | 47 | Beraldo Leal | # so you need a unique bucket name for your glance images. An |
| 958 | 47 | Beraldo Leal | # easy way to do this is append your AWS access key to "glance". |
| 959 | 47 | Beraldo Leal | # S3 buckets in AWS *must* be lowercased, so remember to lowercase |
| 960 | 47 | Beraldo Leal | # your AWS access key if you use it in your bucket name below! |
| 961 | 47 | Beraldo Leal | s3_store_bucket = <lowercased 20-char aws access key>glance |
| 962 | 47 | Beraldo Leal | |
| 963 | 47 | Beraldo Leal | # Do we create the bucket if it does not exist? |
| 964 | 47 | Beraldo Leal | s3_store_create_bucket_on_put = False |
| 965 | 47 | Beraldo Leal | |
| 966 | 47 | Beraldo Leal | # When sending images to S3, the data will first be written to a |
| 967 | 47 | Beraldo Leal | # temporary buffer on disk. By default the platform's temporary directory |
| 968 | 47 | Beraldo Leal | # will be used. If required, an alternative directory can be specified here. |
| 969 | 47 | Beraldo Leal | # s3_store_object_buffer_dir = /path/to/dir |
| 970 | 47 | Beraldo Leal | |
| 971 | 47 | Beraldo Leal | # ============ RBD Store Options ============================= |
| 972 | 47 | Beraldo Leal | |
| 973 | 47 | Beraldo Leal | # Ceph configuration file path |
| 974 | 47 | Beraldo Leal | # If using cephx authentication, this file should |
| 975 | 47 | Beraldo Leal | # include a reference to the right keyring |
| 976 | 47 | Beraldo Leal | # in a client.<USER> section |
| 977 | 47 | Beraldo Leal | rbd_store_ceph_conf = /etc/ceph/ceph.conf |
| 978 | 47 | Beraldo Leal | |
| 979 | 47 | Beraldo Leal | # RADOS user to authenticate as (only applicable if using cephx) |
| 980 | 47 | Beraldo Leal | rbd_store_user = glance |
| 981 | 47 | Beraldo Leal | |
| 982 | 47 | Beraldo Leal | # RADOS pool in which images are stored |
| 983 | 47 | Beraldo Leal | rbd_store_pool = images |
| 984 | 47 | Beraldo Leal | |
| 985 | 47 | Beraldo Leal | # Images will be chunked into objects of this size (in megabytes). |
| 986 | 47 | Beraldo Leal | # For best performance, this should be a power of two |
| 987 | 47 | Beraldo Leal | rbd_store_chunk_size = 8 |
| 988 | 47 | Beraldo Leal | |
| 989 | 47 | Beraldo Leal | # ============ Delayed Delete Options ============================= |
| 990 | 47 | Beraldo Leal | |
| 991 | 47 | Beraldo Leal | # Turn on/off delayed delete |
| 992 | 47 | Beraldo Leal | delayed_delete = False |
| 993 | 47 | Beraldo Leal | |
| 994 | 47 | Beraldo Leal | # Delayed delete time in seconds |
| 995 | 47 | Beraldo Leal | scrub_time = 43200 |
| 996 | 47 | Beraldo Leal | |
| 997 | 47 | Beraldo Leal | # Directory that the scrubber will use to remind itself of what to delete |
| 998 | 47 | Beraldo Leal | # Make sure this is also set in glance-scrubber.conf |
| 999 | 47 | Beraldo Leal | scrubber_datadir = /var/lib/glance/scrubber |
| 1000 | 47 | Beraldo Leal | |
| 1001 | 47 | Beraldo Leal | # =============== Image Cache Options ============================= |
| 1002 | 47 | Beraldo Leal | |
| 1003 | 47 | Beraldo Leal | # Base directory that the Image Cache uses |
| 1004 | 47 | Beraldo Leal | image_cache_dir = /var/lib/glance/image-cache/ |
| 1005 | 47 | Beraldo Leal | |
| 1006 | 47 | Beraldo Leal | [paste_deploy] |
| 1007 | 47 | Beraldo Leal | flavor = keystone |
| 1008 | 47 | Beraldo Leal | </pre> |
| 1009 | 47 | Beraldo Leal | |
| 1010 | 47 | Beraldo Leal | */etc/glance/glance-api-paste.ini*: |
| 1011 | 47 | Beraldo Leal | |
| 1012 | 47 | Beraldo Leal | <pre> |
| 1013 | 47 | Beraldo Leal | # Default minimal pipeline |
| 1014 | 47 | Beraldo Leal | [pipeline:glance-api] |
| 1015 | 47 | Beraldo Leal | pipeline = versionnegotiation context apiv1app authtoken |
| 1016 | 47 | Beraldo Leal | |
| 1017 | 47 | Beraldo Leal | # Use the following pipeline for keystone auth |
| 1018 | 47 | Beraldo Leal | # i.e. in glance-api.conf: |
| 1019 | 47 | Beraldo Leal | # [paste_deploy] |
| 1020 | 47 | Beraldo Leal | # flavor = keystone |
| 1021 | 47 | Beraldo Leal | # |
| 1022 | 47 | Beraldo Leal | [pipeline:glance-api-keystone] |
| 1023 | 47 | Beraldo Leal | pipeline = versionnegotiation authtoken context apiv1app |
| 1024 | 47 | Beraldo Leal | |
| 1025 | 47 | Beraldo Leal | # Use the following pipeline to enable transparent caching of image files |
| 1026 | 47 | Beraldo Leal | # i.e. in glance-api.conf: |
| 1027 | 47 | Beraldo Leal | # [paste_deploy] |
| 1028 | 47 | Beraldo Leal | # flavor = caching |
| 1029 | 47 | Beraldo Leal | # |
| 1030 | 47 | Beraldo Leal | [pipeline:glance-api-caching] |
| 1031 | 47 | Beraldo Leal | pipeline = versionnegotiation context cache apiv1app |
| 1032 | 47 | Beraldo Leal | |
| 1033 | 47 | Beraldo Leal | # Use the following pipeline for keystone auth with caching |
| 1034 | 47 | Beraldo Leal | # i.e. in glance-api.conf: |
| 1035 | 47 | Beraldo Leal | # [paste_deploy] |
| 1036 | 47 | Beraldo Leal | # flavor = keystone+caching |
| 1037 | 47 | Beraldo Leal | # |
| 1038 | 47 | Beraldo Leal | [pipeline:glance-api-keystone+caching] |
| 1039 | 47 | Beraldo Leal | pipeline = versionnegotiation authtoken context cache apiv1app |
| 1040 | 47 | Beraldo Leal | |
| 1041 | 47 | Beraldo Leal | # Use the following pipeline to enable the Image Cache Management API |
| 1042 | 47 | Beraldo Leal | # i.e. in glance-api.conf: |
| 1043 | 47 | Beraldo Leal | # [paste_deploy] |
| 1044 | 47 | Beraldo Leal | # flavor = cachemanagement |
| 1045 | 47 | Beraldo Leal | # |
| 1046 | 47 | Beraldo Leal | [pipeline:glance-api-cachemanagement] |
| 1047 | 47 | Beraldo Leal | pipeline = versionnegotiation context cache cachemanage apiv1app |
| 1048 | 47 | Beraldo Leal | |
| 1049 | 47 | Beraldo Leal | # Use the following pipeline for keystone auth with cache management |
| 1050 | 47 | Beraldo Leal | # i.e. in glance-api.conf: |
| 1051 | 47 | Beraldo Leal | # [paste_deploy] |
| 1052 | 47 | Beraldo Leal | # flavor = keystone+cachemanagement |
| 1053 | 47 | Beraldo Leal | # |
| 1054 | 47 | Beraldo Leal | [pipeline:glance-api-keystone+cachemanagement] |
| 1055 | 47 | Beraldo Leal | pipeline = versionnegotiation authtoken context cache cachemanage apiv1app |
| 1056 | 47 | Beraldo Leal | |
| 1057 | 47 | Beraldo Leal | [app:apiv1app] |
| 1058 | 47 | Beraldo Leal | paste.app_factory = glance.common.wsgi:app_factory |
| 1059 | 47 | Beraldo Leal | glance.app_factory = glance.api.v1.router:API |
| 1060 | 47 | Beraldo Leal | |
| 1061 | 47 | Beraldo Leal | [filter:versionnegotiation] |
| 1062 | 47 | Beraldo Leal | paste.filter_factory = glance.common.wsgi:filter_factory |
| 1063 | 47 | Beraldo Leal | glance.filter_factory = glance.api.middleware.version_negotiation:VersionNegotiationFilter |
| 1064 | 47 | Beraldo Leal | |
| 1065 | 47 | Beraldo Leal | [filter:cache] |
| 1066 | 47 | Beraldo Leal | paste.filter_factory = glance.common.wsgi:filter_factory |
| 1067 | 47 | Beraldo Leal | glance.filter_factory = glance.api.middleware.cache:CacheFilter |
| 1068 | 47 | Beraldo Leal | |
| 1069 | 47 | Beraldo Leal | [filter:cachemanage] |
| 1070 | 47 | Beraldo Leal | paste.filter_factory = glance.common.wsgi:filter_factory |
| 1071 | 47 | Beraldo Leal | glance.filter_factory = glance.api.middleware.cache_manage:CacheManageFilter |
| 1072 | 47 | Beraldo Leal | |
| 1073 | 47 | Beraldo Leal | [filter:context] |
| 1074 | 47 | Beraldo Leal | paste.filter_factory = glance.common.wsgi:filter_factory |
| 1075 | 47 | Beraldo Leal | glance.filter_factory = glance.common.context:ContextMiddleware |
| 1076 | 47 | Beraldo Leal | |
| 1077 | 47 | Beraldo Leal | [filter:authtoken] |
| 1078 | 47 | Beraldo Leal | paste.filter_factory = keystone.middleware.auth_token:filter_factory |
| 1079 | 47 | Beraldo Leal | service_protocol = http |
| 1080 | 47 | Beraldo Leal | service_host = 192.168.69.1 |
| 1081 | 47 | Beraldo Leal | service_port = 5000 |
| 1082 | 47 | Beraldo Leal | auth_host = 192.168.69.1 |
| 1083 | 47 | Beraldo Leal | auth_port = 35357 |
| 1084 | 47 | Beraldo Leal | auth_protocol = http |
| 1085 | 47 | Beraldo Leal | auth_uri = http://192.168.69.1:5000/ |
| 1086 | 47 | Beraldo Leal | admin_tenant_name = service |
| 1087 | 47 | Beraldo Leal | admin_user = glance |
| 1088 | 47 | Beraldo Leal | admin_password = glancepass |
| 1089 | 47 | Beraldo Leal | </pre> |
| 1090 | 48 | Beraldo Leal | |
| 1091 | 48 | Beraldo Leal | */etc/glance/glance-registry.conf*: |
| 1092 | 48 | Beraldo Leal | |
| 1093 | 48 | Beraldo Leal | <pre> |
| 1094 | 48 | Beraldo Leal | [DEFAULT] |
| 1095 | 48 | Beraldo Leal | # Show more verbose log output (sets INFO log level output) |
| 1096 | 48 | Beraldo Leal | verbose = True |
| 1097 | 48 | Beraldo Leal | |
| 1098 | 48 | Beraldo Leal | # Show debugging output in logs (sets DEBUG log level output) |
| 1099 | 48 | Beraldo Leal | debug = True |
| 1100 | 48 | Beraldo Leal | |
| 1101 | 48 | Beraldo Leal | # Address to bind the registry server |
| 1102 | 48 | Beraldo Leal | bind_host = 0.0.0.0 |
| 1103 | 48 | Beraldo Leal | |
| 1104 | 48 | Beraldo Leal | # Port the bind the registry server to |
| 1105 | 48 | Beraldo Leal | bind_port = 9191 |
| 1106 | 48 | Beraldo Leal | |
| 1107 | 48 | Beraldo Leal | # Log to this file. Make sure you do not set the same log |
| 1108 | 48 | Beraldo Leal | # file for both the API and registry servers! |
| 1109 | 48 | Beraldo Leal | log_file = /var/log/glance/registry.log |
| 1110 | 48 | Beraldo Leal | |
| 1111 | 48 | Beraldo Leal | # Backlog requests when creating socket |
| 1112 | 48 | Beraldo Leal | backlog = 4096 |
| 1113 | 48 | Beraldo Leal | |
| 1114 | 48 | Beraldo Leal | # SQLAlchemy connection string for the reference implementation |
| 1115 | 48 | Beraldo Leal | # registry server. Any valid SQLAlchemy connection string is fine. |
| 1116 | 48 | Beraldo Leal | # See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine |
| 1117 | 48 | Beraldo Leal | sql_connection = mysql://glance:glancepass@192.168.69.1/glance |
| 1118 | 48 | Beraldo Leal | |
| 1119 | 48 | Beraldo Leal | # Period in seconds after which SQLAlchemy should reestablish its connection |
| 1120 | 48 | Beraldo Leal | # to the database. |
| 1121 | 48 | Beraldo Leal | # |
| 1122 | 48 | Beraldo Leal | # MySQL uses a default `wait_timeout` of 8 hours, after which it will drop |
| 1123 | 48 | Beraldo Leal | # idle connections. This can result in 'MySQL Gone Away' exceptions. If you |
| 1124 | 48 | Beraldo Leal | # notice this, you can lower this value to ensure that SQLAlchemy reconnects |
| 1125 | 48 | Beraldo Leal | # before MySQL can drop the connection. |
| 1126 | 48 | Beraldo Leal | sql_idle_timeout = 3600 |
| 1127 | 48 | Beraldo Leal | |
| 1128 | 48 | Beraldo Leal | # Limit the api to return `param_limit_max` items in a call to a container. If |
| 1129 | 48 | Beraldo Leal | # a larger `limit` query param is provided, it will be reduced to this value. |
| 1130 | 48 | Beraldo Leal | api_limit_max = 1000 |
| 1131 | 48 | Beraldo Leal | |
| 1132 | 48 | Beraldo Leal | # If a `limit` query param is not provided in an api request, it will |
| 1133 | 48 | Beraldo Leal | # default to `limit_param_default` |
| 1134 | 48 | Beraldo Leal | limit_param_default = 25 |
| 1135 | 48 | Beraldo Leal | |
| 1136 | 48 | Beraldo Leal | # Role used to identify an authenticated user as administrator |
| 1137 | 48 | Beraldo Leal | #admin_role = admin |
| 1138 | 48 | Beraldo Leal | |
| 1139 | 48 | Beraldo Leal | # ================= Syslog Options ============================ |
| 1140 | 48 | Beraldo Leal | |
| 1141 | 48 | Beraldo Leal | # Send logs to syslog (/dev/log) instead of to file specified |
| 1142 | 48 | Beraldo Leal | # by `log_file` |
| 1143 | 48 | Beraldo Leal | use_syslog = True |
| 1144 | 48 | Beraldo Leal | |
| 1145 | 48 | Beraldo Leal | # Facility to use. If unset defaults to LOG_USER. |
| 1146 | 48 | Beraldo Leal | # syslog_log_facility = LOG_LOCAL1 |
| 1147 | 48 | Beraldo Leal | |
| 1148 | 48 | Beraldo Leal | # ================= SSL Options =============================== |
| 1149 | 48 | Beraldo Leal | |
| 1150 | 48 | Beraldo Leal | # Certificate file to use when starting registry server securely |
| 1151 | 48 | Beraldo Leal | # cert_file = /path/to/certfile |
| 1152 | 48 | Beraldo Leal | |
| 1153 | 48 | Beraldo Leal | # Private key file to use when starting registry server securely |
| 1154 | 48 | Beraldo Leal | # key_file = /path/to/keyfile |
| 1155 | 48 | Beraldo Leal | |
| 1156 | 48 | Beraldo Leal | [paste_deploy] |
| 1157 | 48 | Beraldo Leal | flavor = keystone |
| 1158 | 48 | Beraldo Leal | </pre> |
| 1159 | 48 | Beraldo Leal | |
| 1160 | 48 | Beraldo Leal | |
| 1161 | 48 | Beraldo Leal | */etc/glance/glance-registry-paste.ini*: |
| 1162 | 48 | Beraldo Leal | |
| 1163 | 48 | Beraldo Leal | <pre> |
| 1164 | 48 | Beraldo Leal | # Default minimal pipeline |
| 1165 | 48 | Beraldo Leal | [pipeline:glance-registry] |
| 1166 | 48 | Beraldo Leal | pipeline = context registryapp authtoken |
| 1167 | 48 | Beraldo Leal | |
| 1168 | 48 | Beraldo Leal | # Use the following pipeline for keystone auth |
| 1169 | 48 | Beraldo Leal | # i.e. in glance-registry.conf: |
| 1170 | 48 | Beraldo Leal | # [paste_deploy] |
| 1171 | 48 | Beraldo Leal | # flavor = keystone |
| 1172 | 48 | Beraldo Leal | # |
| 1173 | 48 | Beraldo Leal | [pipeline:glance-registry-keystone] |
| 1174 | 48 | Beraldo Leal | pipeline = authtoken context registryapp |
| 1175 | 48 | Beraldo Leal | |
| 1176 | 48 | Beraldo Leal | [app:registryapp] |
| 1177 | 48 | Beraldo Leal | paste.app_factory = glance.common.wsgi:app_factory |
| 1178 | 48 | Beraldo Leal | glance.app_factory = glance.registry.api.v1:API |
| 1179 | 48 | Beraldo Leal | |
| 1180 | 48 | Beraldo Leal | [filter:context] |
| 1181 | 48 | Beraldo Leal | context_class = glance.registry.context.RequestContext |
| 1182 | 48 | Beraldo Leal | paste.filter_factory = glance.common.wsgi:filter_factory |
| 1183 | 48 | Beraldo Leal | glance.filter_factory = glance.common.context:ContextMiddleware |
| 1184 | 48 | Beraldo Leal | |
| 1185 | 48 | Beraldo Leal | [filter:authtoken] |
| 1186 | 48 | Beraldo Leal | paste.filter_factory = keystone.middleware.auth_token:filter_factory |
| 1187 | 48 | Beraldo Leal | service_protocol = http |
| 1188 | 48 | Beraldo Leal | service_host = 192.168.69.1 |
| 1189 | 48 | Beraldo Leal | service_port = 5000 |
| 1190 | 48 | Beraldo Leal | auth_host = 192.168.69.1 |
| 1191 | 48 | Beraldo Leal | auth_port = 35357 |
| 1192 | 48 | Beraldo Leal | auth_protocol = http |
| 1193 | 48 | Beraldo Leal | auth_uri = http://192.168.69.1:5000/ |
| 1194 | 48 | Beraldo Leal | admin_tenant_name = service |
| 1195 | 48 | Beraldo Leal | admin_user = glance |
| 1196 | 48 | Beraldo Leal | admin_password = glancepass |
| 1197 | 49 | Beraldo Leal | </pre> |
| 1198 | 48 | Beraldo Leal | |
| 1199 | 49 | Beraldo Leal | */etc/glance/glance-scrubber.conf*: |
| 1200 | 49 | Beraldo Leal | |
| 1201 | 49 | Beraldo Leal | <pre> |
| 1202 | 49 | Beraldo Leal | [DEFAULT] |
| 1203 | 49 | Beraldo Leal | # Show more verbose log output (sets INFO log level output) |
| 1204 | 49 | Beraldo Leal | verbose = True |
| 1205 | 49 | Beraldo Leal | |
| 1206 | 49 | Beraldo Leal | # Show debugging output in logs (sets DEBUG log level output) |
| 1207 | 49 | Beraldo Leal | debug = False |
| 1208 | 49 | Beraldo Leal | |
| 1209 | 49 | Beraldo Leal | # Log to this file. Make sure you do not set the same log |
| 1210 | 49 | Beraldo Leal | # file for both the API and registry servers! |
| 1211 | 49 | Beraldo Leal | log_file = /var/log/glance/scrubber.log |
| 1212 | 49 | Beraldo Leal | |
| 1213 | 49 | Beraldo Leal | # Send logs to syslog (/dev/log) instead of to file specified by `log_file` |
| 1214 | 49 | Beraldo Leal | use_syslog = False |
| 1215 | 49 | Beraldo Leal | |
| 1216 | 49 | Beraldo Leal | # Should we run our own loop or rely on cron/scheduler to run us |
| 1217 | 49 | Beraldo Leal | daemon = False |
| 1218 | 49 | Beraldo Leal | |
| 1219 | 49 | Beraldo Leal | # Loop time between checking for new items to schedule for delete |
| 1220 | 49 | Beraldo Leal | wakeup_time = 300 |
| 1221 | 49 | Beraldo Leal | |
| 1222 | 49 | Beraldo Leal | sql_connection = mysql://glance:glancepass@192.168.69.1/glance |
| 1223 | 49 | Beraldo Leal | |
| 1224 | 49 | Beraldo Leal | # Directory that the scrubber will use to remind itself of what to delete |
| 1225 | 49 | Beraldo Leal | # Make sure this is also set in glance-api.conf |
| 1226 | 49 | Beraldo Leal | scrubber_datadir = /var/lib/glance/scrubber |
| 1227 | 49 | Beraldo Leal | |
| 1228 | 49 | Beraldo Leal | # Only one server in your deployment should be designated the cleanup host |
| 1229 | 49 | Beraldo Leal | cleanup_scrubber = False |
| 1230 | 49 | Beraldo Leal | |
| 1231 | 49 | Beraldo Leal | # pending_delete items older than this time are candidates for cleanup |
| 1232 | 49 | Beraldo Leal | cleanup_scrubber_time = 86400 |
| 1233 | 49 | Beraldo Leal | |
| 1234 | 49 | Beraldo Leal | # Address to find the registry server for cleanups |
| 1235 | 49 | Beraldo Leal | registry_host = 0.0.0.0 |
| 1236 | 49 | Beraldo Leal | |
| 1237 | 49 | Beraldo Leal | # Port the registry server is listening on |
| 1238 | 49 | Beraldo Leal | registry_port = 9191 |
| 1239 | 48 | Beraldo Leal | </pre> |
| 1240 | 50 | Beraldo Leal | |
| 1241 | 50 | Beraldo Leal | h2. Sincronizando o banco e reiniciando os servicos: |
| 1242 | 50 | Beraldo Leal | |
| 1243 | 50 | Beraldo Leal | <pre> |
| 1244 | 50 | Beraldo Leal | # glance-manage version_control 0 |
| 1245 | 50 | Beraldo Leal | # glance-manage db_sync |
| 1246 | 50 | Beraldo Leal | # service glance-registry restart |
| 1247 | 50 | Beraldo Leal | # service glance-api restart |
| 1248 | 50 | Beraldo Leal | </pre> |
| 1249 | 50 | Beraldo Leal | |
| 1250 | 50 | Beraldo Leal | h2. Testando a instalacao do Glance: |
| 1251 | 50 | Beraldo Leal | |
| 1252 | 52 | Beraldo Leal | O arquivo _/root/openstackrc_ recebera novas variaveis de ambiente. Ele deve ficar assim: |
| 1253 | 52 | Beraldo Leal | <pre> |
| 1254 | 52 | Beraldo Leal | # Used for Keystone |
| 1255 | 52 | Beraldo Leal | export SERVICE_ENDPOINT=http://192.168.69.1:35357/v2.0/ |
| 1256 | 52 | Beraldo Leal | export SERVICE_TOKEN=012345SECRET99TOKEN012345 |
| 1257 | 52 | Beraldo Leal | |
| 1258 | 52 | Beraldo Leal | # Used for swift |
| 1259 | 52 | Beraldo Leal | export ST_AUTH=http://192.168.69.1:5000/v2.0 |
| 1260 | 52 | Beraldo Leal | export ST_USER=openstackDemo:admin |
| 1261 | 52 | Beraldo Leal | export ST_KEY=adminpass |
| 1262 | 52 | Beraldo Leal | export OS_REGION_NAME=RegionOne |
| 1263 | 52 | Beraldo Leal | |
| 1264 | 52 | Beraldo Leal | # Used for glance |
| 1265 | 52 | Beraldo Leal | export OS_USERNAME=admin |
| 1266 | 52 | Beraldo Leal | export OS_TENANT_NAME=openstackDemo |
| 1267 | 52 | Beraldo Leal | export OS_PASSWORD=adminpass |
| 1268 | 52 | Beraldo Leal | export OS_AUTH_URL=http://192.168.69.1:5000/v2.0/ |
| 1269 | 52 | Beraldo Leal | export OS_REGION_NAME=RegionOne |
| 1270 | 52 | Beraldo Leal | </pre> |
| 1271 | 52 | Beraldo Leal | |
| 1272 | 52 | Beraldo Leal | |
| 1273 | 50 | Beraldo Leal | Obtenha imagem de teste: |
| 1274 | 50 | Beraldo Leal | <pre> |
| 1275 | 50 | Beraldo Leal | mkdir /tmp/images |
| 1276 | 50 | Beraldo Leal | cd /tmp/images/ |
| 1277 | 50 | Beraldo Leal | wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz |
| 1278 | 50 | Beraldo Leal | tar -zxvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz |
| 1279 | 50 | Beraldo Leal | </pre> |
| 1280 | 50 | Beraldo Leal | |
| 1281 | 50 | Beraldo Leal | Suba as imagens, fazendo as devidas substituicoes: |
| 1282 | 50 | Beraldo Leal | |
| 1283 | 50 | Beraldo Leal | <pre> |
| 1284 | 50 | Beraldo Leal | # cd /tmp/images/ |
| 1285 | 50 | Beraldo Leal | # glance add name="tty-linux-kernel" disk_format=aki container_format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz |
| 1286 | 50 | Beraldo Leal | # glance add name="tty-linux-ramdisk" disk_format=ari container_format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader |
| 1287 | 50 | Beraldo Leal | # glance add name="tty-linux" disk_format=ami container_format=ami kernel_id=[kernel_image_id] ramdisk_id=[kernel_ramdisk_image_id] < ttylinux-uec-amd64-12.1_2.6.35-22_1.img |
| 1288 | 50 | Beraldo Leal | </pre> |
| 1289 | 51 | Beraldo Leal | |
| 1290 | 51 | Beraldo Leal | Liste as imagens: |
| 1291 | 51 | Beraldo Leal | |
| 1292 | 51 | Beraldo Leal | <pre> |
| 1293 | 51 | Beraldo Leal | # glance index |
| 1294 | 51 | Beraldo Leal | </pre> |