LANG="en_US.utf8"
GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=2 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0" GRUB_CMDLINE_LINUX=""
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.10.1 netmask 255.255.255.0 auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.253 dns-nameserver 8.8.8.8 dns-search mitaka.openstack
# update-grub # reboot
127.0.0.1 localhost 192.168.10.1 ctrl.mitaka.openstack ctrl 192.168.1.1 public.mitaka.openstack public # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
ctrl
# apt-get update # apt-get upgrade
# apt-get install ubuntu-cloud-keyring
# apt-get -y dist-upgrade # reboot
# apt-get -y autoremove --purge
# apt-get -y install ntp
... #pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst #pool ntp.ubuntu.com pool clock.stdtime.gov.tw interface ignore wildcard interface listen 192.168.1.1 interface listen 192.168.10.1 ... restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap ...
# service ntp restart
# ntpq -p
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
or
# sed -i '/^#net\.ipv4\.ip_forward/ s/^.//' /etc/sysctl.conf
# apt-get -y install iptables-persistent
*nat :PREROUTING ACCEPT :INPUT ACCEPT :OUTPUT ACCEPT :POSTROUTING ACCEPT -A POSTROUTING -o eth1 -j MASQUERADE COMMIT *filter :INPUT DROP :FORWARD DROP :OUTPUT ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT -A INPUT -p udp -m udp --sport 53 -j ACCEPT -A INPUT -p udp -m udp --sport 123 -j ACCEPT -A INPUT -s 140.113.216.224/27 -j ACCEPT -A INPUT -s 192.168.1.0/24 -j ACCEPT -A INPUT -s 192.168.10.0/24 -j ACCEPT -A FORWARD -i eth0 -o eth1 -j ACCEPT -A FORWARD -i eth1 -o eth0 -j ACCEPT COMMIT
# service netfilter-persistent reload
# apt-get -y install bind9
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on { 192.168.10.1; };
allow-recursion { 192.168.10.0/24; };
};
zone "mitaka.openstack." {
type master;
file "/etc/bind/mitaka.openstack.zone";
};
zone "168.192.in-addr.arpa." {
type master;
file "/etc/bind/168.192.in-addr.arpa.zone";
};
$TTL 604800 $ORIGIN mitaka.openstack. @ IN SOA ctrl.mitaka.openstack root ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800) ; Negative Cache TTL ; IN NS ctrl.mitaka.openstack. ctrl IN A 192.168.10.1 public IN A 192.168.1.1 network IN A 192.168.10.2 compute-1 IN A 192.168.10.11 compute-2 IN A 192.168.10.12 compute-3 IN A 192.168.10.13
$TTL 604800
$ORIGIN 168.192.in-addr.arpa.
@ IN SOA ctrl.mitaka.openstack root (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800) ; Negative Cache TTL
;
IN NS ctrl.mitaka.openstack.
1.10 IN PTR ctrl.mitaka.openstack.
1.1 IN PTR public.mitaka.openstack.
2.10 IN PTR network.mitaka.openstack.
11.10 IN PTR compute-1.mitaka.openstack.
12.10 IN PTR compute-2.mitaka.openstack.
13.10 IN PTR compute-3.mitaka.openstack.
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcpstatic address 192.168.10.1 netmask 255.255.255.0 auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 gateway 192.168.1.253 dns-nameserver 192.168.10.1 dns-search mitaka.openstack
# reboot
host ctrl.mitaka.openstack
# apt-get -y install mysql-server python-mysqldb
[mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking skip-host-cache bind-address = 192.168.10.1 key_buffer_size = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 myisam-recover = BACKUP query_cache_limit = 1M query_cache_size = 16M log_error = /var/log/mysql/error.log expire_logs_days = 10 max_binlog_size = 100M character_set_server = utf8 collation_server = utf8_bin default_storage_engine = InnoDB init_connect = 'SET NAMES UTF8'
DROP DATABASE IF EXISTS keystone; CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystoneUser'@'ctrl.mitaka.openstack' IDENTIFIED BY 'keystonePass'; DROP DATABASE IF EXISTS glance; CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glanceUser'@'ctrl.mitaka.openstack' IDENTIFIED BY 'glancePass'; DROP DATABASE IF EXISTS cinder; CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinderUser'@'ctrl.mitaka.openstack' IDENTIFIED BY 'cinderPass'; GRANT ALL PRIVILEGES ON cinder.* TO 'cinderUser'@'compute-%.mitaka.openstack' IDENTIFIED BY 'cinderPass'; DROP DATABASE IF EXISTS nova; CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'novaUser'@'ctrl.mitaka.openstack' IDENTIFIED BY 'novaPass'; DROP DATABASE IF EXISTS `nova-api`; CREATE DATABASE `nova-api`; GRANT ALL PRIVILEGES ON `nova-api`.* TO 'novaUser'@'ctrl.mitaka.openstack' IDENTIFIED BY 'novaPass'; DROP DATABASE IF EXISTS heat; CREATE DATABASE heat; GRANT ALL PRIVILEGES ON heat.* TO 'heatUser'@'ctrl.mitaka.openstack' IDENTIFIED BY 'heatPass'; DROP DATABASE IF EXISTS neutron; CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutronUser'@'network.mitaka.openstack' IDENTIFIED BY 'neutronPass';
# service mysql stop # mysqld --user=mysql --initialize-insecure # service mysql start # mysql_secure_installation
# mysql -u root -p < ~/init-database.sql
mysqlshow -u root -p echo "SELECT user,host FROM user WHERE host LIKE '%.mitaka.openstack';" | mysql -u root -p -t mysql
# apt-get -y install rabbitmq-server
#NODE_NAME=rabbit NODE_NAME=rabbit@localhost #NODE_IP_ADDRESS=127.0.0.1 NODE_IP_ADDRESS=192.168.67.94 NODE_PORT=5672
[
{kernel, [
{inet_dist_use_interface, {127,0,0,1}}
]}
].
turtle user 密碼為 slowlyturtle 權限(全開)# service rabbitmq-server restart # rabbitmqctl add_user turtle slowly # rabbitmqctl set_permissions -p / turtle ".*" ".*" ".*"
# epmd -names # rabbitmqctl status # rabbitmqctl list_user_permissions turtle
# apt-get -y install openstack-dashboard memcached
...
OPENSTACK_HOST = "public.mitaka.openstack"
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"
...
OPENSTACK_API_VERSIONS = {
# "data-processing": 1.1,
"identity": 3,
# "volume": 2,
# "compute": 2,
}
# Set this to True if running on multi-domain model. When this is enabled, it
# will require user to enter the Domain name in addition to username for login.
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
or
# sed -i '/^OPENSTACK_HOST =/ s/127\.0\.0\.1/public\.mitaka\.openstack/' /etc/openstack-dashboard/local_settings.py
# sed -i '/^OPENSTACK_KEYSTONE_URL =/ s/v2\.0/v3/' /etc/openstack-dashboard/local_settings.py
# sed -i '/^#OPENSTACK_API_VERSIONS =/,/^#}$/ {/OPENSTACK_API_VERSIONS =/s/^#//; /identity/s/^#//; /}$/s/^#//}' /etc/openstack-dashboard/local_settings.py
# sed -i '/^#OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT/ {s/False$/True/; s/^#//}' /etc/openstack-dashboard/local_settings.py
grep OPENSTACK_HOST /etc/openstack-dashboard/local_settings.py grep -A 5 'OPENSTACK_API_VERSIONS =' /etc/openstack-dashboard/local_settings.py grep OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT /etc/openstack-dashboard/local_settings.py
Listen 192.168.1.1:80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
# service apache2 restart # service memcached restart
netstat -nlpt | grep ":80"
# apt-get -y install keystone
[DEFAULT] ... rpc_backend = rabbit ... [assignment] #driver = <None> driver = sql ... [catalog] driver = sql ... [database] backend = sqlalchemy #connection = sqlite:////var/lib/keystone/keystone.db connection = mysql://keystoneUser:keystonePass@ctrl.mitaka.openstack/keystone ... [eventlet_server] #public_bind_host = 0.0.0.0 #public_port = 5000 #admin_bind_host = 0.0.0.0 #admin_port = 35357 ... [identity] default_domain_id = default driver = sql ... [memcache] servers = localhost:11211 ... [oslo_messaging_rabbit] #rabbit_host = localhost rabbit_host = ctrl.mitaka.openstack rabbit_port = 5672 #rabbit_userid = guest rabbit_userid = turtle #rabbit_password = guest rabbit_password = slowly rabbit_login_method = AMQPLAIN rabbit_virtual_host = / ... [revoke] driver = sql ... [token] #provider = uuid provider = fernet #driver = sql driver = memcache
<VirtualHost 192.168.1.1:5000>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public
WSGIScriptAlias / /usr/bin/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
LogLevel info
ErrorLog /var/log/apache2/keystone-error.log
CustomLog /var/log/apache2/keystone-access.log combined
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.1:35357>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin
WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
LogLevel info
ErrorLog /var/log/apache2/keystone-error.log
CustomLog /var/log/apache2/keystone-access.log combined
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
Listen 192.168.1.1:80
Listen 192.168.1.1:5000
Listen 192.168.10.1:35357
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
#!/bin/bash
# Modify these variables as needed
CONTROLLER_HOST=controller.mitaka.openstack
KEYSTONE_API_HOST=public.mitaka.openstack
NEUTRON_HOST=network.mitaka.openstack
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL="http://${CONTROLLER_HOST}:35357/v${OS_IDENTITY_API_VERSION}"
ADMIN_PROJECT_NAME=${ADMIN_PROJECT_NAME:-admin}
export OS_PROJECT_NAME=${ADMIN_PROJECT_NAME}
export OS_USERNAME=admin
export OS_PASSWORD=admin_pass
SERVICE_PROJECT_NAME=${SERVICE_PROJECT_NAME:-service}
SERVICE_PASSWORD=${SERVICE_PASSWORD:-service_pass}
KEYSTONE_REGION=${KEYSTONE_REGION:-RegionOne}
DEFAULT_DOMAIN=${DEFAULT_DOMAIN:-default}
ADMIN_ROLE=${ADMIN_ROLE:-admin}
# Services
openstack service create --name glance --description "OpenStack Image service" image
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack service create --name nova --description "OpenStack Compute" compute
openstack service create --name heat --description "Orchestration" orchestration
openstack service create --name heat-cfn --description "Orchestration" cloudformation
openstack service create --name neutron --description "OpenStack Networking" network
# Endpoints
openstack endpoint create --region $KEYSTONE_REGION image public \
'http://'"$CONTROLLER_HOST"':9292'
openstack endpoint create --region $KEYSTONE_REGION image internal \
'http://'"$CONTROLLER_HOST"':9292'
openstack endpoint create --region $KEYSTONE_REGION image admin \
'http://'"$CONTROLLER_HOST"':9292'
openstack endpoint create --region $KEYSTONE_REGION volumev2 public \
'http://'"$CONTROLLER_HOST"':8776/v2/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION volumev2 internal \
'http://'"$CONTROLLER_HOST"':8776/v2/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION volumev2 admin \
'http://'"$CONTROLLER_HOST"':8776/v2/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION compute public \
'http://'"$CONTROLLER_HOST"':8774/v2/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION compute internal \
'http://'"$CONTROLLER_HOST"':8774/v2/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION compute admin \
'http://'"$CONTROLLER_HOST"':8774/v2/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION orchestration public \
'http://'"$CONTROLLER_HOST"':8004/v1/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION orchestration internal \
'http://'"$CONTROLLER_HOST"':8004/v1/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION orchestration admin \
'http://'"$CONTROLLER_HOST"':8004/v1/%(tenant_id)s'
openstack endpoint create --region $KEYSTONE_REGION cloudformation public \
'http://'"$CONTROLLER_HOST"':8000/v1'
openstack endpoint create --region $KEYSTONE_REGION cloudformation internal \
'http://'"$CONTROLLER_HOST"':8000/v1'
openstack endpoint create --region $KEYSTONE_REGIONcloudformation admin \
'http://'"$CONTROLLER_HOST"':8000/v1'
openstack endpoint create --region $KEYSTONE_REGION network public \
'http://'"$NEUTRON_HOST"':9696'
openstack endpoint create --region $KEYSTONE_REGION network internal \
'http://'"$NEUTRON_HOST"':9696'
openstack endpoint create --region $KEYSTONE_REGION network admin \
'http://'"$NEUTRON_HOST"':9696'
# Roles
openstack role create _member_
openstack role create heat_stack_owner
openstack role create heat_stack_user
# Projects
openstack project create --domain $DEFAULT_DOMAIN \
--description "Service Project" $SERVICE_PROJECT_NAME
# Users
openstack user create --domain $DEFAULT_DOMAIN --password $SERVICE_PASSWORD glance
openstack user create --domain $DEFAULT_DOMAIN --password $SERVICE_PASSWORD cinder
openstack user create --domain $DEFAULT_DOMAIN --password $SERVICE_PASSWORD nova
openstack user create --domain $DEFAULT_DOMAIN --password $SERVICE_PASSWORD heat
openstack user create --domain $DEFAULT_DOMAIN --password $SERVICE_PASSWORD neutron
# Add Role
openstack role add --project $ADMIN_PROJECT_NAME --user $ADMIN_PROJECT_NAME $ADMIN_ROLE
openstack role add --project $ADMIN_PROJECT_NAME --user $ADMIN_PROJECT_NAME heat_stack_owner
openstack role add --project $SERVICE_PROJECT_NAME --user glance $ADMIN_ROLE
openstack role add --project $SERVICE_PROJECT_NAME --user cinder $ADMIN_ROLE
openstack role add --project $SERVICE_PROJECT_NAME --user nova $ADMIN_ROLE
openstack role add --project $SERVICE_PROJECT_NAME --user heat $ADMIN_ROLE
openstack role add --project $SERVICE_PROJECT_NAME --user neutron $ADMIN_ROLE
# service keystone stop # systemctl disable keystone
# keystone-manage db_sync # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone # keystone-manage bootstrap --bootstrap-admin-url=http://ctrl.mitaka.openstack:35357/v3 --bootstrap-public-url=http://public.mitaka.openstack:5000/v3 --bootstrap-internal-url=http://public.mitaka.openstack:5000/v3 --bootstrap-service-name=keystone --bootstrap-role-name=admin --bootstrap-project-name=admin --bootstrap-username=admin --bootstrap-password=admin_pass
# service apache2 stop # a2ensite wsgi-keystone # service apache2 start
netstat -nlpt | grep ":5000" netstat -nlpt | grep ":35357"
# rm -f /var/lib/keystone/keystone.db
# chmod +x ~/init-keystone.sh # ~/init-keystone.sh
# openstack --os-auth-url="http://controller.mitaka.openstack:35357/v3" --os-auth-type=v3password --os-project-name=admin --os-project- domain-name=Default --os-username=admin --os-user-domain-name=Default --os-password=admin_pass --os-identity-api-version=3 domain list # openstack --os-auth-url="http://controller.mitaka.openstack:35357/v3" --os-auth-type=v3password --os-project-name=admin --os-project-domain-name=Default --os-username=admin --os-user-domain-name=Default --os-password=admin_pass --os-identity-api-version=3 project list # openstack --os-auth-url="http://controller.mitaka.openstack:35357/v3" --os-auth-type=v3password --os-project-name=admin --os-project-domain-name=Default --os-username=admin --os-user-domain-name=Default --os-password=admin_pass --os-identity-api-version=3 role list # openstack --os-auth-url="http://controller.mitaka.openstack:35357/v3" --os-auth-type=v3password --os-project-name=admin --os-project-domain-name=Default --os-username=admin --os-user-domain-name=Default --os-password=admin_pass --os-identity-api-version=3 user list # openstack --os-auth-url="http://controller.mitaka.openstack:35357/v3" --os-auth-type=v3password --os-project-name=admin --os-project-domain-name=Default --os-username=admin --os-user-domain-name=Default --os-password=admin_pass --os-identity-api-version=3 service list # openstack --os-auth-url="http://controller.mitaka.openstack:35357/v3" --os-auth-type=v3password --os-project-name=admin --os-project-domain-name=Default --os-username=admin --os-user-domain-name=Default --os-password=admin_pass --os-identity-api-version=3 endpoint list
# apt-get -y install glance
[DEFAULT] ... owner_is_tenant = true ... enable_v1_registry = true ... enable_v2_registry = true ... #bind_host = 0.0.0.0 bind_host = 192.168.67.94 #bind_port = <None> bind_port = 9191 ... #log_file = <None> log_file = /var/log/glance/registry.log ... [database] #sqlite_db = /var/lib/glance/glance.sqlite backend = sqlalchemy #connection = <None> connection = mysql://glanceUser:glancePass@ctrl.mitaka.openstack/glance ... [keystone_authtoken] #auth_uri = <None> #identity_uri = <None> #admin_user = <None> #admin_password = <None> #admin_tenant_name = admin [oslo_messaging_rabbit] #rabbit_host = localhost #rabbit_port = 5672 #rabbit_use_ssl = false #rabbit_userid = guest #rabbit_password = guest #rabbit_virtual_host = /
[DEFAULT] owner_is_tenant = true enable_v1_api = true enable_v2_api = true #bind_host = 0.0.0.0 bind_host = 192.168.10.1 #bind_port = <None> bind_port = 9292 #registry_host = 0.0.0.0 registry_host = ctrl.mitaka.openstack registry_port = 9191 #auth_strategy = noauth auth_strategy = keystone registry_client_protocol = http #log_file = <None> log_file = /var/log/glance/api.log [database] #sqlite_db = /var/lib/glance/glance.sqlite backend = sqlalchemy #connection = <None> connection = mysql://glanceUser:glancePass@ctrl.mitaka.openstack/glance [glance_store] stores = file,http default_store = file #filesystem_store_datadir = <None> filesystem_store_datadir = /var/lib/glance/images/ #filesystem_store_file_perm = 0 filesystem_store_file_perm = 644 [image_format] disk_formats = ami,ari,aki,vhd,vmdk,raw,qcow2,vdi,iso,root-tar [keystone_authtoken] #auth_uri = <None> #auth_version = <None> #memcached_servers = <None> #auth_type = <None> auth_type = v3password auth_url = http://public.mitaka.openstack:5000/v3 project_name = service project_domain_name = Default username = glance user_domain_name = Default password = service_pass [oslo_concurrency] #lock_path = <None> lock_path = /var/lock/glance [oslo_messaging_rabbit] #rabbit_host = localhost #rabbit_port = 5672 #rabbit_use_ssl = false #rabbit_userid = guest #rabbit_password = guest #rabbit_virtual_host = / [paste_deploy] #flavor = <None> flavor = keystone
# glance-manage db_sync
# service glance-registry restart # service glance-api restart
# openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=glance --os-user-domain-name=Default --os-password=service_pass --os-image-api-version=1 image list # openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=glance --os-user-domain-name=Default --os-password=service_pass --os-image-api-version=2 image list
# apt-get -y install cinder-api cinder-scheduler
[DEFAULT] rootwrap_config = /etc/cinder/rootwrap.conf api_paste_confg = /etc/cinder/api-paste.ini #iscsi_helper = tgtadm #volume_name_template = volume-%s #volume_group = cinder-volumes #verbose = True #auth_strategy = keystone state_path = /var/lib/cinder #lock_path = /var/lock/cinder #volumes_dir = /var/lib/cinder/volumes enable_v1_api = false enable_v2_api = true rpc_backend = rabbit osapi_volume_listen = 192.168.10.1 osapi_volume_listen_port = 8776 [oslo_concurrency] lock_path = /var/lock/cinder [oslo_messaging_rabbit] rabbit_host = ctrl.mitaka.openstack rabbit_port = 5672 rabbit_userid = turtle rabbit_password = slowly rabbit_login_method = AMQPLAIN rabbit_virtual_host = / [database] backend = sqlalchemy connection = mysql://cinderUser:cinderPass@ctrl.mitaka.openstack/cinder [keystone_authtoken] auth_type = v3password auth_url = http://public.mitaka.openstack:5000/v3 project_name = service project_domain_name = Default username = cinder user_domain_name = Default password = service_pass [keymgr] encryption_auth_url = http://public.mitaka.openstack:5000/v3
# cinder-manage db sync
# service cinder-scheduler restart # service cinder-api restart
# rm -f /var/lib/cinder/cinder.sqlite
# openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=cinder --os-user-domain-name=Default --os-password=service_pass --os-volume-api-version=2 volume list # openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=cinder --os-user-domain-name=Default --os-password=service_pass --os-volume-api-version=2 backup list # cinder --os-auth-url="http://public.mitaka.openstack:5000/v2.0" --os-tenant-name=service --os-username=cinder --os-password=service_pass --os-volume-api-version=2 list # cinder --os-auth-url="http://public.mitaka.openstack:5000/v2.0" --os-tenant-name=service --os-username=cinder --os-password=service_pass --os-volume-api-version=2 service-list # cinder --os-auth-url="http://public.mitaka.openstack:5000/v2.0" --os-tenant-name=service --os-username=cinder --os-password=service_pass --os-volume-api-version=2 availability-zone-list
# apt-get -y install nova-api nova-cert nova-consoleauth nova-scheduler nova-conductor nova-spiceproxy
[DEFAULT] #dhcpbridge_flagfile=/etc/nova/nova.conf #dhcpbridge=/usr/bin/nova-dhcpbridge logdir = /var/log/nova state_path = /var/lib/nova #lock_path=/var/lock/nova #force_dhcp_release=True force_dhcp_release = true #libvirt_use_virtio_for_bridges=True #verbose=True #ec2_private_dns_show_ip=True #api_paste_config=/etc/nova/api-paste.ini #enabled_apis=ec2,osapi_compute,metadata enabled_apis = osapi_compute,metadata network_manager = nova.network.manager.VlanManager osapi_compute_listen = 192.168.10.1 osapi_compute_listen_port = 8774 metadata_listen = 192.168.10.1 metadata_listen_port = 8775 use_neutron = true rpc_backend = rabbit [oslo_messaging_rabbit] rabbit_host = ctrl.mitaka.openstack rabbit_port = 5672 rabbit_userid = turtle rabbit_password = slowly rabbit_login_method = AMQPLAIN rabbit_virtual_host = / [oslo_concurrency] lock_path = /var/lock/nova [spice] agent_enabled = true enabled = false html5proxy_host = 192.168.1.1 html5proxy_port = 6082 [neutron] service_metadata_proxy = true metadata_proxy_shared_secret = helloOpenStack url = http://network.mitaka.openstack:9696 auth_type = v3password auth_url = http://public.mitaka.openstack:5000/v3 project_name = service project_domain_name = Default username = neutron user_domain_name = Default password = service_pass [glance] api_servers = http://ctrl.mitaka.openstack:9292 [api_database] connection = mysql://novaUser:novaPass@ctrl.mitaka.openstack/nova-api [database] backend = sqlalchemy connection = mysql://novaUser:novaPass@ctrl.mitaka.openstack/nova [keystone_authtoken] auth_type = v3password auth_url = http://public.mitaka.openstack:5000/v3 project_name = service project_domain_name = Default username = nova user_domain_name = Default password = service_pass
# nova-manage db sync # nova-manage api_db sync
# service nova-cert restart # service nova-conductor restart # service nova-consoleauth restart # service nova-spiceproxy restart # service nova-scheduler restart # service nova-api restart
# rm -f /var/lib/nova/nova.sqlite
# openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=nova --os-user-domain-name=Default --os-password=service_pass --os-compute-api-version=2 flavor list # openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=nova --os-user-domain-name=Default --os-password=service_pass --os-compute-api-version=2 availability zone list # openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=nova --os-user-domain-name=Default --os-password=service_pass --os-compute-api-version=2 host list # openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=nova --os-user-domain-name=Default --os-password=service_pass --os-compute-api-version=2 compute service list # openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=nova --os-user-domain-name=Default --os-password=service_pass --os-compute-api-version=2 hypervisor list
# apt-get -y install heat-api heat-api-cfn heat-api-cloudwatch heat-engine
[DEFAULT] log_dir = /var/log/heat rpc_backend = rabbit [database] backend = sqlalchemy #connection = <None> connection = mysql://heatUser:heatPass@controller.mitaka.openstack/heat [keystone_authtoken] #auth_uri = <None> #identity_uri = <None> #admin_user = <None> #admin_password = <None> #admin_tenant_name = admin #auth_type = <None> auth_type = v3password auth_url = http://public.mitaka.openstack:5000/v3 project_name = service project_domain_name = Default username = heat user_domain_name = Default password = service_pass [oslo_messaging_rabbit] #rabbit_host = localhost rabbit_host = controller.mitaka.openstack rabbit_port = 5672 #rabbit_userid = guest rabbit_userid = turtle #rabbit_password = guest rabbit_password = slowly rabbit_login_method = AMQPLAIN rabbit_virtual_host = / [heat_api] bind_host = 192.168.10.1 bind_port = 8004 [heat_api_cfn] bind_host = 192.168.10.1 bind_port = 8000 [heat_api_cloudwatch] bind_host = 192.168.10.1 bind_port = 8003
# heat-manage db_sync
# service heat-engine restart # service heat-api restart # service heat-api-cfn restart # service heat-api-cloudwatch restart
# rm -f /var/lib/heat/heat.sqlite
# openstack --os-auth-url="http://public.mitaka.openstack:5000/v3" --os-auth-type=v3password --os-project-name=service --os-project-domain-name=Default --os-username=heat --os-user-domain-name=Default --os-password=service_pass --os-orchestration-api-version=1 stack list # heat --os-auth-url="http://public.mitaka.openstack:5000/v2.0" --os-tenant-name=service --os-username=heat --os-password=service_pass --heat-api-version=1 service-list