使用puppet自动安装openstack

1. 安装puppet

$ sudo apt-get install puppet-common

 

2. 更新puppet apt repository

$ wgethttp://apt.puppetlabs.com/puppetlabs-release-precise.deb

$ sudo dpkg -i puppetlabs-release-precise.deb

$ sudoapt-get update

3. 安装MYSQL

在用户根目录下创建一个新的mysql.pp文件:

include mysql

include mysql::server

include mysql::config

mysql::db { 'testdb':

 user          => 'user',

 password      => 'passw0rd',

}

 

使用以下命令自动安装mysql服务:

$puppet apply mysql.pp

 

4. 安装Keystone

在用户根目录下创建一个新的keystone.pp文件:

class { 'mysql::server': }

 

class { 'keystone::db::mysql':

 user                  =>'keystone',

 password              =>'passw0rd',

 charset               =>'utf8',

 allowed_hosts         =>'localhost'

}

 

class { 'keystone':

 verbose               => True,

 catalog_type          => 'sql',

 admin_token           =>'c490e66cc19c1c9fc334',

 token_format          =>'UUID',

 sql_connection        =>'mysql://keystone:passw0rd@localhost/keystone'

}

 

keystone_tenant { 'admin':

 ensure                =>present,

 enabled               => True,

 description           =>"Tenant for the Admin",

}

 

keystone_tenant { 'service':

 ensure                =>present,

 enabled               => True,

 description           =>"Tenant for the OpenStack services",

}

 

keystone_user { 'admin':

 ensure                =>present,

 enabled               => True,

 tenant                =>"admin",

 email                 =>"admin@sample.com",

 password              => "passw0rd",

}

 

keystone_role { ['admin', 'Member','_member_']:

 ensure                =>present,

}

 

keystone_user_role { 'admin@admin':

 ensure                =>present,

 roles                 =>'admin',

}

 

class { 'keystone::endpoint':

 public_address        =>'127.0.0.1',

 admin_address         =>'127.0.0.1',

 internal_address      =>'127.0.0.1',

}

 

 

使用以下命令自动安装keystone服务:

$puppet module install puppetlabs/keystone

$puppet apply keystone.pp

 

5. 安装Glance

在用户根目录下创建一个新的glance.pp文件:

class { 'mysql::server': }

 

class { 'glance::api':

 verbose               => true,

 keystone_tenant       =>'service',

 keystone_user         =>'glance',

 keystone_password     =>'passw0rd',

 sql_connection        => 'mysql://glance:passw0rd@127.0.0.1/glance',

}

 

class { 'glance::registry':

 verbose               => true,

 keystone_tenant       =>'service',

 keystone_user         =>'glance',

 keystone_password     =>'passw0rd',

 sql_connection        =>'mysql://glance:passw0rd@127.0.0.1/glance',

}

 

class { 'glance::backend::file': }

 

class { 'glance::db::mysql':

 password              =>'passw0rd',

 allowed_hosts         =>'localhost',

}

 

class { 'glance::keystone::auth':

 password              =>'passw0rd',

 email                 =>'glance@example.com',

 public_address        =>'127.0.0.1',

 admin_address         =>'127.0.0.1',

 internal_address      =>'127.0.0.1',

 tenant                =>'service',

}

 

使用以下命令自动安装glance服务:

$puppet module install puppetlabs/glance

$puppet apply glance.pp

 

6. 安装Nova

在用户根目录下创建一个新的nova.pp文件:

class { 'mysql::server': }

 

class { 'nova::rabbitmq':

 userid        => 'guest',

 password      => 'guest',

 enabled       => true,

}

 

class { 'nova::db::mysql':

 user                  =>'nova',

 password              =>'passw0rd',

 allowed_hosts         =>'127.0.0.1',

 charset               =>'utf8',

}

 

class { 'nova::keystone::auth':

 password              =>'passw0rd',

 email                 => 'nova@example.com',

 public_address        =>'127.0.0.1',

 admin_address         =>'127.0.0.1',

 internal_address      =>'127.0.0.1',

 tenant                =>'service',

}

 

class { 'nova':

 sql_connection        =>'mysql://nova:passw0rd@127.0.0.1/nova',

 rabbit_userid         =>'guest',

 rabbit_password       =>'guest',

 image_service         =>'nova.image.glance.GlanceImageService',

 glance_api_servers    =>'127.0.0.1:9292',

 verbose               => true,

 rabbit_host           =>'127.0.0.1',

}

 

class { 'nova::api':

 enabled               => true,

 admin_tenant_name     =>'service',

 admin_user            =>'nova',

 admin_password        =>'passw0rd'

}

class{ 'nova::compute':

  enabled               => true,

  vnc_enabled           => true,

}

 

class{ 'nova::compute::libvirt':

  libvirt_type          => 'qemu',

  migration_support     => false,

}

 

class{ 'nova::network':

  private_interface     => 'eth0',

  public_interface      => 'eth0',

  fixed_range           => '10.0.0.0/24',

  floating_range        => false,

  create_networks       => true,

  enabled               => true,

  install_service       => true,

}

 

class{ [

  'nova::scheduler',

  'nova::objectstore',

  'nova::cert',

  'nova::consoleauth',

  'nova::conductor'

]:

  enabled               => true,

}

 

class{ 'nova::client': }

 

使用以下命令自动安装nova服务:

$puppet module install puppetlabs/nova

$puppet apply nova.pp

 

7. 安装Horizon

在用户根目录下创建一个新的horizon.pp文件:

class { 'memcached':

 listen_ip             =>'127.0.0.1',

 tcp_port              =>'11211',

 udp_port              =>'11211',

}

 

class { '::horizon':

 cache_server_ip       =>'127.0.0.1',

 cache_server_port     =>'11211',

 secret_key            =>'12345',

 swift                 => false,

 django_debug          =>'True',

 api_result_limit      =>'1000',

}

 

使用以下命令自动安装horizon服务:

$puppet module install puppetlabs/horizon

$puppet apply horizon.pp

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值