diff --git a/files/fedora-cloud/hosts b/files/fedora-cloud/hosts new file mode 100644 index 0000000000..1442ea37a0 --- /dev/null +++ b/files/fedora-cloud/hosts @@ -0,0 +1,15 @@ +127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 +::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 + +# http://docs.openstack.org/trunk/install-guide/install/yum/content/basics-neutron-networking-controller-node.html +# controller +{{ controller_public_ip }} controller + +# network +{{ network_public_ip }} network + +# compute1 +#{{ compute1_public_ip }} compute1 + +# compute2 +#{{ compute2_public_ip }} compute2 diff --git a/files/fedora-cloud/ifcfg-br-ex b/files/fedora-cloud/ifcfg-br-ex new file mode 100644 index 0000000000..c05f74eb50 --- /dev/null +++ b/files/fedora-cloud/ifcfg-br-ex @@ -0,0 +1,9 @@ +DEVICE=br-ex +DEVICETYPE=ovs +TYPE=OVSBridge +BOOTPROTO=static +IPADDR={{ network_public_ip }} +NETMASK={{ public_netmask }} # your netmask +GATEWAY={{ public_gateway_ip }} # your gateway +DNS1={{ public_dns }} # your nameserver +ONBOOT=yes diff --git a/files/fedora-cloud/keystonerc_msuchy b/files/fedora-cloud/keystonerc_msuchy new file mode 100644 index 0000000000..5c6ed9c936 --- /dev/null +++ b/files/fedora-cloud/keystonerc_msuchy @@ -0,0 +1,5 @@ +export OS_USERNAME=msuchy +export OS_TENANT_NAME=copr +export OS_PASSWORD=TBD +export OS_AUTH_URL=http://209.132.184.9:5000/v2.0/ +export PS1='[\u@\h \W(keystone_msuchy)]\$ ' diff --git a/files/fedora-cloud/my.cnf b/files/fedora-cloud/my.cnf new file mode 100644 index 0000000000..52e69ea61b --- /dev/null +++ b/files/fedora-cloud/my.cnf @@ -0,0 +1,4 @@ +[client] +host=localhost +user=root +password={{ DBPASSWORD }} diff --git a/files/fedora-cloud/packstack-compute-answers.txt b/files/fedora-cloud/packstack-compute-answers.txt new file mode 100644 index 0000000000..4f31f425d1 --- /dev/null +++ b/files/fedora-cloud/packstack-compute-answers.txt @@ -0,0 +1,498 @@ +[general] + +# Path to a Public key to install on servers. If a usable key has not +# been installed on the remote servers the user will be prompted for a +# password and this key will be installed so the password will not be +# required again +CONFIG_SSH_KEY=/root/.ssh/id_rsa.pub + +# Set to 'y' if you would like Packstack to install MySQL +CONFIG_MYSQL_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack Image +# Service (Glance) +CONFIG_GLANCE_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack Block +# Storage (Cinder) +CONFIG_CINDER_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack Compute +# (Nova) +CONFIG_NOVA_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack +# Networking (Neutron) +CONFIG_NEUTRON_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack +# Dashboard (Horizon) +CONFIG_HORIZON_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack Object +# Storage (Swift) +CONFIG_SWIFT_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack +# Metering (Ceilometer) +CONFIG_CEILOMETER_INSTALL=y + +# Set to 'y' if you would like Packstack to install OpenStack +# Orchestration (Heat) +CONFIG_HEAT_INSTALL=n + +# Set to 'y' if you would like Packstack to install the OpenStack +# Client packages. An admin "rc" file will also be installed +CONFIG_CLIENT_INSTALL=y + +# Comma separated list of NTP servers. Leave plain if Packstack +# should not install ntpd on instances. +CONFIG_NTP_SERVERS= + +# Set to 'y' if you would like Packstack to install Nagios to monitor +# OpenStack hosts +CONFIG_NAGIOS_INSTALL=n + +# Comma separated list of servers to be excluded from installation in +# case you are running Packstack the second time with the same answer +# file and don't want Packstack to touch these servers. Leave plain if +# you don't need to exclude any server. +EXCLUDE_SERVERS= + +# Set to 'y' if you want to run OpenStack services in debug mode. +# Otherwise set to 'n'. +CONFIG_DEBUG_MODE=n + +# Set to 'y' if you want to use VMware vCenter as hypervisor and +# storageOtherwise set to 'n'. +CONFIG_VMWARE_BACKEND=n + +# The IP address of the server on which to install MySQL +CONFIG_MYSQL_HOST={{ controller_public_ip }} + +# Username for the MySQL admin user +CONFIG_MYSQL_USER=root + +# Password for the MySQL admin user +CONFIG_MYSQL_PW={{ DBPASSWORD }} + +# Set the server for the AMQP service +CONFIG_AMQP_BACKEND=rabbitmq + +# The IP address of the server on which to install the AMQP service +CONFIG_AMQP_HOST={{ controller_public_ip }} + +# Enable SSL for the AMQP service +CONFIG_AMQP_ENABLE_SSL=n + +# Enable Authentication for the AMQP service +CONFIG_AMQP_ENABLE_AUTH=n + +# The password for the NSS certificate database of the AMQP service +CONFIG_AMQP_NSS_CERTDB_PW={{ CONFIG_AMQP_NSS_CERTDB_PW }} + +# The port in which the AMQP service listens to SSL connections +CONFIG_AMQP_SSL_PORT=5671 + +# The filename of the certificate that the AMQP service is going to +# use +CONFIG_AMQP_SSL_CERT_FILE=/etc/pki/tls/certs/amqp_selfcert.pem + +# The filename of the private key that the AMQP service is going to +# use +CONFIG_AMQP_SSL_KEY_FILE=/etc/pki/tls/private/amqp_selfkey.pem + +# Auto Generates self signed SSL certificate and key +CONFIG_AMQP_SSL_SELF_SIGNED=y + +# User for amqp authentication +CONFIG_AMQP_AUTH_USER=amqp_user + +# Password for user authentication +CONFIG_AMQP_AUTH_PASSWORD={{ CONFIG_AMQP_AUTH_PASSWORD }} + +# The password to use for the Keystone to access DB +CONFIG_KEYSTONE_DB_PW={{ KEYSTONE_DBPASS }} + +# The token to use for the Keystone service api +CONFIG_KEYSTONE_ADMIN_TOKEN={{ ADMIN_TOKEN }} + +# The password to use for the Keystone admin user +CONFIG_KEYSTONE_ADMIN_PW={{ ADMIN_PASS }} + +# The password to use for the Keystone demo user +CONFIG_KEYSTONE_DEMO_PW={{ DEMO_PASS }} + +# Kestone token format. Use either UUID or PKI +CONFIG_KEYSTONE_TOKEN_FORMAT=PKI + +# The password to use for the Glance to access DB +CONFIG_GLANCE_DB_PW={{ GLANCE_DBPASS }} + +# The password to use for the Glance to authenticate with Keystone +CONFIG_GLANCE_KS_PW={{ GLANCE_PASS }} + +# The password to use for the Cinder to access DB +CONFIG_CINDER_DB_PW={{ CINDER_DBPASS }} + +# The password to use for the Cinder to authenticate with Keystone +CONFIG_CINDER_KS_PW={{ CINDER_PASS }} + +# The Cinder backend to use, valid options are: lvm, gluster, nfs, +# vmdk +CONFIG_CINDER_BACKEND=lvm + +# Create Cinder's volumes group. This should only be done for testing +# on a proof-of-concept installation of Cinder. This will create a +# file-backed volume group and is not suitable for production usage. +CONFIG_CINDER_VOLUMES_CREATE=n + +# Cinder's volumes group size. Note that actual volume size will be +# extended with 3% more space for VG metadata. +CONFIG_CINDER_VOLUMES_SIZE=5G + +# A single or comma separated list of gluster volume shares to mount, +# eg: ip-address:/vol-name, domain:/vol-name +CONFIG_CINDER_GLUSTER_MOUNTS= + +# A single or comma seprated list of NFS exports to mount, eg: ip- +# address:/export-name +CONFIG_CINDER_NFS_MOUNTS= + +# The IP address of the VMware vCenter datastore +CONFIG_VCENTER_HOST= + +# The username to authenticate to VMware vCenter datastore +CONFIG_VCENTER_USER= + +# The password to authenticate to VMware vCenter datastore +CONFIG_VCENTER_PASSWORD= + +# A comma separated list of IP addresses on which to install the Nova +# Compute services +CONFIG_COMPUTE_HOSTS={{ controller_public_ip }} + +# The IP address of the server on which to install the Nova Conductor +# service +CONFIG_NOVA_CONDUCTOR_HOST={{ controller_public_ip }} + +# The password to use for the Nova to access DB +CONFIG_NOVA_DB_PW={{ NOVA_DBPASS }} + +# The password to use for the Nova to authenticate with Keystone +CONFIG_NOVA_KS_PW={{ NOVA_PASS }} + +# The overcommitment ratio for virtual to physical CPUs. Set to 1.0 +# to disable CPU overcommitment +CONFIG_NOVA_SCHED_CPU_ALLOC_RATIO=16.0 + +# The overcommitment ratio for virtual to physical RAM. Set to 1.0 to +# disable RAM overcommitment +CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO=1.5 + +# Private interface for Flat DHCP on the Nova compute servers +CONFIG_NOVA_COMPUTE_PRIVIF=lo + +# The list of IP addresses of the server on which to install the Nova +# Nova network manager +CONFIG_NOVA_NETWORK_MANAGER=nova.network.manager.FlatDHCPManager + +# Public interface on the Nova network server +CONFIG_NOVA_NETWORK_PUBIF={{ controller_public_ip }} + +# Private interface for network manager on the Nova network server +CONFIG_NOVA_NETWORK_PRIVIF=lo + +# IP Range for network manager +CONFIG_NOVA_NETWORK_FIXEDRANGE={{ internal_interface_cidr }} + +# IP Range for Floating IP's +CONFIG_NOVA_NETWORK_FLOATRANGE={{ public_interface_cidr }} + +# Name of the default floating pool to which the specified floating +# ranges are added to +CONFIG_NOVA_NETWORK_DEFAULTFLOATINGPOOL=external + +# Automatically assign a floating IP to new instances +CONFIG_NOVA_NETWORK_AUTOASSIGNFLOATINGIP=y + +# First VLAN for private networks +CONFIG_NOVA_NETWORK_VLAN_START=100 + +# Number of networks to support +CONFIG_NOVA_NETWORK_NUMBER=1 + +# Number of addresses in each private subnet +CONFIG_NOVA_NETWORK_SIZE=255 + +# The IP address of the VMware vCenter server +CONFIG_VCENTER_HOST= + +# The username to authenticate to VMware vCenter server +CONFIG_VCENTER_USER= + +# The password to authenticate to VMware vCenter server +CONFIG_VCENTER_PASSWORD= + +# The name of the vCenter cluster +CONFIG_VCENTER_CLUSTER_NAME= + +# The password to use for Neutron to authenticate with Keystone +CONFIG_NEUTRON_KS_PW={{ NEUTRON_PASS }} + +# The password to use for Neutron to access DB +CONFIG_NEUTRON_DB_PW={{ NEUTRON_DBPASS }} + +# A comma separated list of IP addresses on which to install Neutron +CONFIG_NETWORK_HOSTS={{ controller_public_ip }} + +# The name of the bridge that the Neutron L3 agent will use for +# external traffic, or 'provider' if using provider networks +CONFIG_NEUTRON_L3_EXT_BRIDGE=provider + + +# The name of the L2 plugin to be used with Neutron +CONFIG_NEUTRON_L2_PLUGIN=ml2 + +# A comma separated list of IP addresses on which to install Neutron +# metadata agent +CONFIG_NEUTRON_METADATA_PW={{ NEUTRON_PASS }} + +# A comma separated list of network type driver entrypoints to be +# loaded from the neutron.ml2.type_drivers namespace. +CONFIG_NEUTRON_ML2_TYPE_DRIVERS=local,flat,gre + +# A comma separated ordered list of network_types to allocate as +# tenant networks. The value 'local' is only useful for single-box +# testing but provides no connectivity between hosts. +CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=gre + +# A comma separated ordered list of networking mechanism driver +# entrypoints to be loaded from the neutron.ml2.mechanism_drivers +# namespace. +CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch + +# A comma separated list of physical_network names with which flat +# networks can be created. Use * to allow flat networks with arbitrary +# physical_network names. +CONFIG_NEUTRON_ML2_FLAT_NETWORKS=* + +# A comma separated list of :: +# or specifying physical_network names usable for +# VLAN provider and tenant networks, as well as ranges of VLAN tags on +# each available for allocation to tenant networks. +CONFIG_NEUTRON_ML2_VLAN_RANGES= + +# A comma separated list of : tuples enumerating +# ranges of GRE tunnel IDs that are available for tenant network +# allocation. Should be an array with tun_max +1 - tun_min > 1000000 +CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=1:1000 + +# Multicast group for VXLAN. If unset, disables VXLAN enable sending +# allocate broadcast traffic to this multicast group. When left +# unconfigured, will disable multicast VXLAN mode. Should be an +# Multicast IP (v4 or v6) address. +CONFIG_NEUTRON_ML2_VXLAN_GROUP= + +# A comma separated list of : tuples enumerating +# ranges of VXLAN VNI IDs that are available for tenant network +# allocation. Min value is 0 and Max value is 16777215. +CONFIG_NEUTRON_ML2_VNI_RANGES= + +# The name of the L2 agent to be used with Neutron +CONFIG_NEUTRON_L2_AGENT=openvswitch + +# The type of network to allocate for tenant networks (eg. vlan, +# local) +CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE=gre + +# A comma separated list of VLAN ranges for the Neutron linuxbridge +# plugin (eg. physnet1:1:4094,physnet2,physnet3:3000:3999) +CONFIG_NEUTRON_LB_VLAN_RANGES= + +# A comma separated list of interface mappings for the Neutron +# linuxbridge plugin (eg. physnet1:br-eth1,physnet2:br-eth2,physnet3 +# :br-eth3) +CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS= + +# Type of network to allocate for tenant networks (eg. vlan, local, +# gre, vxlan) +CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre + +# A comma separated list of VLAN ranges for the Neutron openvswitch +# plugin (eg. physnet1:1:4094,physnet2,physnet3:3000:3999) +CONFIG_NEUTRON_OVS_VLAN_RANGES=floatnet + +# A comma separated list of bridge mappings for the Neutron +# openvswitch plugin (eg. physnet1:br-eth1,physnet2:br-eth2,physnet3 +# :br-eth3) +CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=floatnet:br-ex + +# A comma separated list of colon-separated OVS bridge:interface +# pairs. The interface will be added to the associated bridge. +CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-tun:eth1 + +# A comma separated list of tunnel ranges for the Neutron openvswitch +# plugin (eg. 1:1000) +CONFIG_NEUTRON_OVS_TUNNEL_RANGES=1:1000 + +# The interface for the OVS tunnel. Packstack will override the IP +# address used for tunnels on this hypervisor to the IP found on the +# specified interface. (eg. eth1) +CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1 + +# VXLAN UDP port +CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789 + +# To set up Horizon communication over https set this to "y" +CONFIG_HORIZON_SSL=n + +# PEM encoded certificate to be used for ssl on the https server, +# leave blank if one should be generated, this certificate should not +# require a passphrase +CONFIG_SSL_CERT= + +# Keyfile corresponding to the certificate if one was entered +CONFIG_SSL_KEY= + +# The password to use for the Swift to authenticate with Keystone +CONFIG_SWIFT_KS_PW={{ SWIFT_PASS }} + +# A comma separated list of IP addresses on which to install the +# Swift Storage services, each entry should take the format +# [/dev], for example 127.0.0.1/vdb will install /dev/vdb +# on 127.0.0.1 as a swift storage device(packstack does not create the +# filesystem, you must do this first), if /dev is omitted Packstack +# will create a loopback device for a test setup +CONFIG_SWIFT_STORAGES={{ controller_public_ip }} + +# Number of swift storage zones, this number MUST be no bigger than +# the number of storage devices configured +CONFIG_SWIFT_STORAGE_ZONES=1 + +# Number of swift storage replicas, this number MUST be no bigger +# than the number of storage zones configured +CONFIG_SWIFT_STORAGE_REPLICAS=1 + +# FileSystem type for storage nodes +CONFIG_SWIFT_STORAGE_FSTYPE=ext4 + +# Shared secret for Swift +CONFIG_SWIFT_HASH={{ SWIFT_HASH }} + +# Size of the swift loopback file storage device +CONFIG_SWIFT_STORAGE_SIZE=2G + +# Whether to provision for demo usage and testing. Note that +# provisioning is only supported for all-in-one installations. +CONFIG_PROVISION_DEMO=n + +# Whether to configure tempest for testing. Note that provisioning is +# only supported for all-in-one installations. +CONFIG_PROVISION_TEMPEST=n + +# The CIDR network address for the floating IP subnet +CONFIG_PROVISION_DEMO_FLOATRANGE= + +# The uri of the tempest git repository to use +CONFIG_PROVISION_TEMPEST_REPO_URI=https://github.com/openstack/tempest.git + +# The revision of the tempest git repository to use +CONFIG_PROVISION_TEMPEST_REPO_REVISION=master + +# Whether to configure the ovs external bridge in an all-in-one +# deployment +CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE=n + +# The password used by Heat user to authenticate against MySQL +CONFIG_HEAT_DB_PW={{ HEAT_DBPASS }} + +# The encryption key to use for authentication info in database +CONFIG_HEAT_AUTH_ENC_KEY={{ HEAT_AUTH_ENC_KEY }} + +# The password to use for the Heat to authenticate with Keystone +CONFIG_HEAT_KS_PW={{ HEAT_PASS }} + +# Set to 'y' if you would like Packstack to install Heat CloudWatch +# API +CONFIG_HEAT_CLOUDWATCH_INSTALL=n + +# Set to 'y' if you would like Packstack to install Heat +# CloudFormation API +CONFIG_HEAT_CFN_INSTALL=n + +# The IP address of the server on which to install Heat CloudWatch +# API service +CONFIG_HEAT_CLOUDWATCH_HOST={{ controller_public_ip }} + +# The IP address of the server on which to install Heat +# CloudFormation API service +CONFIG_HEAT_CFN_HOST={{ controller_public_ip }} + +# The IP address of the management node +CONFIG_CONTROLLER_HOST={{ controller_public_ip }} + +# Secret key for signing metering messages. +CONFIG_CEILOMETER_SECRET={{ CEILOMETER_SECRET }} + +# The password to use for Ceilometer to authenticate with Keystone +CONFIG_CEILOMETER_KS_PW={{ CEILOMETER_PASS }} + +# The IP address of the server on which to install mongodb +CONFIG_MONGODB_HOST={{ controller_public_ip }} + +# The password of the nagiosadmin user on the Nagios server +CONFIG_NAGIOS_PW= + +# To subscribe each server to EPEL enter "y" +CONFIG_USE_EPEL=y + +# A comma separated list of URLs to any additional yum repositories +# to install +CONFIG_REPO= + +# To subscribe each server with Red Hat subscription manager, include +# this with CONFIG_RH_PW +CONFIG_RH_USER= + +# To subscribe each server with Red Hat subscription manager, include +# this with CONFIG_RH_USER +CONFIG_RH_PW= + +# To subscribe each server to Red Hat Enterprise Linux 6 Server Beta +# channel (only needed for Preview versions of RHOS) enter "y" +CONFIG_RH_BETA_REPO=n + +# To subscribe each server with RHN Satellite,fill Satellite's URL +# here. Note that either satellite's username/password or activation +# key has to be provided +CONFIG_SATELLITE_URL= + +# Username to access RHN Satellite +CONFIG_SATELLITE_USER= + +# Password to access RHN Satellite +CONFIG_SATELLITE_PW= + +# Activation key for subscription to RHN Satellite +CONFIG_SATELLITE_AKEY= + +# Specify a path or URL to a SSL CA certificate to use +CONFIG_SATELLITE_CACERT= + +# If required specify the profile name that should be used as an +# identifier for the system in RHN Satellite +CONFIG_SATELLITE_PROFILE= + +# Comma separated list of flags passed to rhnreg_ks. Valid flags are: +# novirtinfo, norhnsd, nopackages +CONFIG_SATELLITE_FLAGS= + +# Specify a HTTP proxy to use with RHN Satellite +CONFIG_SATELLITE_PROXY= + +# Specify a username to use with an authenticated HTTP proxy +CONFIG_SATELLITE_PROXY_USER= + +# Specify a password to use with an authenticated HTTP proxy. +CONFIG_SATELLITE_PROXY_PW= diff --git a/vars/fedora-cloud.yml b/vars/fedora-cloud.yml new file mode 100644 index 0000000000..29926a5897 --- /dev/null +++ b/vars/fedora-cloud.yml @@ -0,0 +1,21 @@ +# public means "managed" in terms of OS installation guide +public_interface_cidr: 209.132.184.0/24 +internal_interface_cidr: 172.24.0.1/24 +public_gateway_ip: 209.132.184.254 +public_dns: 8.8.8.8 + +public_floating_start: 209.132.184.33 +public_floating_end: 209.132.184.46 + +controller_public_ip: 209.132.184.9 +controller_private_ip: 172.24.0.1 + +network_public_ip: 209.132.184.9 +public_netmask: 255.255.255.0 +network_private_ip: 172.24.0.1 + +#compute1_public_ip: 192.168.122.68 +#compute1_private_ip: 172.24.0.10 + +#compute2_public_ip: 192.168.122.220 +#compute2_private_ip: 172.24.0.0