Ambiente » History » Version 31
Version 30 (Beraldo Leal, 07 Jun 2012 12:20) → Version 31/87 (Beraldo Leal, 07 Jun 2012 12:23)
h1. Ambiente de Desenvolvimento
h2. Lista de Servidores
* educloud00 - 200.145.46.166
* educloud01 - 200.145.46.167
* educloud02 - 200.145.46.168
* educloud03 - 200.145.46.169
* educloud04 - 200.145.46.170
* educloud05 - 200.145.46.174
* educloud06 - 200.145.46.175
* educloud07 - 200.145.46.173
h3. Desabilitados
* educloud05 - 200.145.46.171
* educloud06 - 200.145.46.172
h1. Documentação do OpenStack
h2. keystone
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 _educloud02_.
Este software é feito em python, e por sua vez instala a dependencia *_keystone-python_*, uma biblioteca em python para uso do próprio keystone.
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.
Além do daemon (servidor) foi instalado o cliente (também feito em python) *_python-keystoneclient_*.
h3. Instalando e configurando o keystone
<pre>
# apt-get install keystone
</pre>
Delete the keystone.db file created in the /var/lib/keystone directory.
<pre>
# rm /var/lib/keystone/keystone.db
</pre>
Install mysql:
<pre>
# apt-get install python-mysqldb mysql-server
</pre>
Use sed to edit /etc/mysql/my.cnf to change bind-address from localhost
(127.0.0.1) to any (0.0.0.0) and restart the mysql service, as root:
<pre>
# sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
# service mysql restart
</pre>
To configure the MySQL database, create the keystone database.
<pre>
# mysql -u root -p
mysql> CREATE DATABASE keystone;
mysql> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystonepass';
mysql> FLUSH PRIVILEGES;
mysql> quit;
</pre>
Edit _*keystone.conf*_ to use mysql:
<pre>
[sql]
connection = mysql://keystone:keystonepass@192.168.69.1/keystone
</pre>
Change in _*keystone.conf*_ the ADMIN_TOKEN:
<pre>
admin_token = 012345SECRET99TOKEN012345
</pre>
Restarte o keystone e inicialize o banco:
<pre>
# service keystone restart
# keystone-manage db_sync
</pre>
h3. Configuring Services to work with Keystone
Crie o arquivo _*/root/openstackrc*_, com o seguinte conteudo:
<pre>
export SERVICE_ENDPOINT=http://192.168.69.1:35357/v2.0/
export SERVICE_TOKEN=012345SECRET99TOKEN012345
</pre>
Estas variaveis de ambiente sao uteis para evitar ficar passando as opcoes --token e --endpoint para os utilitarios de linha de comando.
Carrege o arquivo:
<pre>
# source /root/openstackrc
</pre>
Crie os *tenants* _openstackDemo_ e _service_:
<pre>
# keystone tenant-create --name openstackDemo --description "Default Tenant" --enabled true
# keystone tenant-create --name service --description "Service Tenant" --enabled true
</pre>
Crie o *user* _admin_, substitua o tenant_id pelo tentant_id do openstackDemo, criado no item anterior:
<pre>
# keystone user-create --tenant_id 9c401c9d2b9d41bcabda6919d4aec63a --name admin --pass adminpass --enabled true
</pre>
Crie os *roles* _admin_ e _user_:
<pre>
# keystone role-create --name admin
# keystone role-create --name user
</pre>
Adicione o *user* _admin_ ao *role* _admin_, fazendo as devidas substituicoes:
<pre>
# keystone user-role-add --user [admin_user_id] --tenant_id [openstackDemo_tenant_id] --role [admin_role]
</pre>
Crie um usuario para cada servico, e substitua o tenant_id pelo id do tenant *service*:
<pre>
# keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name glance --pass glancepass --enabled true
# keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name nova --pass novapass --enabled true
# keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name swift --pass swiftpass --enabled true
</pre>
Adicione os users acima ao *role* _admin_, fazendo as devidas substituicoes:
<pre>
# keystone user-role-add --user [glance_user_id] --tenant_id [service_tenant_id] --role [admin_role]
# keystone user-role-add --user [nova_user_id] --tenant_id [service_tenant_id] --role [admin_role]
# keystone user-role-add --user [swift_user_id] --tenant_id [service_tenant_id] --role [admin_role]
</pre>
h3. Definindo os servicos:
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.
Crie os servicos:
<pre>
# keystone service-create --name keystone --type identity --description "Keystone Identity Service"
# keystone service-create --name nova --type compute --description "Nova Compute Service"
# keystone service-create --name volume --type volume --description "Nova Volume Service"
# keystone service-create --name glance --type image --description "Glance Image Service"
# keystone service-create --name swift --type object-storage --description "Object Storage Service"
</pre>
h2. Lista de Servidores
* educloud00 - 200.145.46.166
* educloud01 - 200.145.46.167
* educloud02 - 200.145.46.168
* educloud03 - 200.145.46.169
* educloud04 - 200.145.46.170
* educloud05 - 200.145.46.174
* educloud06 - 200.145.46.175
* educloud07 - 200.145.46.173
h3. Desabilitados
* educloud05 - 200.145.46.171
* educloud06 - 200.145.46.172
h1. Documentação do OpenStack
h2. keystone
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 _educloud02_.
Este software é feito em python, e por sua vez instala a dependencia *_keystone-python_*, uma biblioteca em python para uso do próprio keystone.
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.
Além do daemon (servidor) foi instalado o cliente (também feito em python) *_python-keystoneclient_*.
h3. Instalando e configurando o keystone
<pre>
# apt-get install keystone
</pre>
Delete the keystone.db file created in the /var/lib/keystone directory.
<pre>
# rm /var/lib/keystone/keystone.db
</pre>
Install mysql:
<pre>
# apt-get install python-mysqldb mysql-server
</pre>
Use sed to edit /etc/mysql/my.cnf to change bind-address from localhost
(127.0.0.1) to any (0.0.0.0) and restart the mysql service, as root:
<pre>
# sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
# service mysql restart
</pre>
To configure the MySQL database, create the keystone database.
<pre>
# mysql -u root -p
mysql> CREATE DATABASE keystone;
mysql> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystonepass';
mysql> FLUSH PRIVILEGES;
mysql> quit;
</pre>
Edit _*keystone.conf*_ to use mysql:
<pre>
[sql]
connection = mysql://keystone:keystonepass@192.168.69.1/keystone
</pre>
Change in _*keystone.conf*_ the ADMIN_TOKEN:
<pre>
admin_token = 012345SECRET99TOKEN012345
</pre>
Restarte o keystone e inicialize o banco:
<pre>
# service keystone restart
# keystone-manage db_sync
</pre>
h3. Configuring Services to work with Keystone
Crie o arquivo _*/root/openstackrc*_, com o seguinte conteudo:
<pre>
export SERVICE_ENDPOINT=http://192.168.69.1:35357/v2.0/
export SERVICE_TOKEN=012345SECRET99TOKEN012345
</pre>
Estas variaveis de ambiente sao uteis para evitar ficar passando as opcoes --token e --endpoint para os utilitarios de linha de comando.
Carrege o arquivo:
<pre>
# source /root/openstackrc
</pre>
Crie os *tenants* _openstackDemo_ e _service_:
<pre>
# keystone tenant-create --name openstackDemo --description "Default Tenant" --enabled true
# keystone tenant-create --name service --description "Service Tenant" --enabled true
</pre>
Crie o *user* _admin_, substitua o tenant_id pelo tentant_id do openstackDemo, criado no item anterior:
<pre>
# keystone user-create --tenant_id 9c401c9d2b9d41bcabda6919d4aec63a --name admin --pass adminpass --enabled true
</pre>
Crie os *roles* _admin_ e _user_:
<pre>
# keystone role-create --name admin
# keystone role-create --name user
</pre>
Adicione o *user* _admin_ ao *role* _admin_, fazendo as devidas substituicoes:
<pre>
# keystone user-role-add --user [admin_user_id] --tenant_id [openstackDemo_tenant_id] --role [admin_role]
</pre>
Crie um usuario para cada servico, e substitua o tenant_id pelo id do tenant *service*:
<pre>
# keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name glance --pass glancepass --enabled true
# keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name nova --pass novapass --enabled true
# keystone user-create --tenant_id 92920816c7704a8a95c916d34dc7a05c --name swift --pass swiftpass --enabled true
</pre>
Adicione os users acima ao *role* _admin_, fazendo as devidas substituicoes:
<pre>
# keystone user-role-add --user [glance_user_id] --tenant_id [service_tenant_id] --role [admin_role]
# keystone user-role-add --user [nova_user_id] --tenant_id [service_tenant_id] --role [admin_role]
# keystone user-role-add --user [swift_user_id] --tenant_id [service_tenant_id] --role [admin_role]
</pre>
h3. Definindo os servicos:
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.
Crie os servicos:
<pre>
# keystone service-create --name keystone --type identity --description "Keystone Identity Service"
# keystone service-create --name nova --type compute --description "Nova Compute Service"
# keystone service-create --name volume --type volume --description "Nova Volume Service"
# keystone service-create --name glance --type image --description "Glance Image Service"
# keystone service-create --name swift --type object-storage --description "Object Storage Service"
</pre>