Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
IBM Cloud Manager with OpenStack 4.1 Download Trial Quick Start Guide Cloud Solutions Team: Cloud Solutions Beta – [email protected] Introduction ..............................................................................................................................................................................3 Requirements ...........................................................................................................................................................................3 Phase 1: Install the Chef Deployment Server ...............................................................................................................4 Install in Silent Mode: .......................................................................................................................................................4 Phase 2: Deploy OpenStack ................................................................................................................................................6 OpenStack Network Configuration .............................................................................................................................7 Enable OpenStack Heat Security:.................................................................................................................................7 Enable OpenStack Heat SoftwareConfig: ..................................................................................................................8 Configure and test OpenStack: ..........................................................................................................................................8 Appendix A ................................................................................................................................................................................9 Sample env.json file: .........................................................................................................................................................9 Sample topo.json file: .................................................................................................................................................... 15 Appendix B ............................................................................................................................................................................. 16 Introduction IBM Cloud Manager with OpenStack is a robust Infrastructure as a Service software offering that simplifies management of your virtualized environment. It helps you convert virtualized environments to a cloud quickly and easily. IBM Cloud Manager with OpenStack v4.1 feature highlights: Support for the latest OpenStack community release (Icehouse) Full access to the OpenStack APIs across all core projects Chef deployment for rapid installation and configuration The goal of this document is to provide a simple, example installation of IBM Cloud Manager with OpenStack on a deployment server. Using this deployment server, the user can provision OpenStack on two nodes: The single controller node (Node1) and the compute node (Node2). With these quick-start instructions and sample json files provided in the Appendix, users are able to set up a simple, managed OpenStack environment for evaluation. Cloud Manager with OpenStack setup consists of two phases: Phase 1: Install the Chef deployment server Phase 2: Deploy OpenStack Requirements A physical or virtual system to run the deployment server o IBM Cloud Manager with OpenStack base installation image: Cloud_Manager_4_1_Linux_x86.tar.gz o IBM Cloud Manager with OpenStack fixpack: cmwo_fixpack_4.1.0.1.tar.gz o A network connection on the management network OpenStack systems o Minimal deployment: One RHEL 6.5 64-bit x86 o Controller + compute deployment: Two RHEL 6.5 64-bit x86 o Each system must have two network adapters. One for the data network and one for the management network o Fully qualified domain name (FQDN name.domain format required) o Must all have the same password o A properly configured RHEL yum repository o See Appendix B for detailed system requirements. The deployment server and OpenStack systems must be able to resolve all hostnames in the environment o To get the hostname of each system run: > hostname -f Take the results from the hostname –f command and ensure that every system in the environment is able to ping that hostname. o A properly configured DNS server is the ideal solution for hostname resolution. o If a DNS server is not available, then a properly configured /etc/hosts is an alternative. The following example shows an /etc/hosts configuration to use on all systems in the environment: 127.0.0.1 localhost.localdomain localhost 192.168.2.2 delpoyment-server.ibm.com deployment-server 192.168.2.3 openstack-controller.ibm.com openstack-controller 192.168.2.4 openstack-compute.ibm.com openstack-compute Reserve IP addresses for virtual instances (See network config for details) o Phase 1: Install the Chef Deployment Server Running the IBM Cloud Manager with OpenStack installation process sets up the system as the deployment server. The installation process completes the following tasks: Installs and configures the chef-server Creates a yum repository on the local server with the IBM OpenStack files Uploads the OpenStack cookbooks, roles, data bags and sample environments to the chef-server Installs an IBM extension to the Chef knife command that enables IBM OpenStack topology deployments IBM Cloud Manager with OpenStack can be installed on Linux using a console, a graphical user interface, or a silent installation. For more information, see the IBM Cloud Manager with OpenStack collection in IBM Knowledge Center. The IBM Cloud Manager with OpenStack trial edition can be found at: http://www.ibm.com/developerworks/servicemanagement/cvm/sce/downloads.html IBM Cloud Manager with OpenStack FixPacks are available for download at: http://www-933.ibm.com/support/fixcentral/ Visit this page and enter IBM Cloud Manager with OpenStack as your product to get the latest fixpacks. In this document we outline the use of FixPack 1 (4.1.0.1) but others may be available at the time of installation. Once the download is complete, place the packages in a directory with sufficient filesystem space. This is where the Chef deployment server will be installed. Issue the command below to untar the installer file: tar xvf Cloud_Manager_4_1_Linux_x86.tar.gz This download unpacks the following files: /testcmwo/install/x86-64/linux/cmwo410_xlinux_install_pkg_01.tar.gz /testcmwo/install/x86-64/linux/cmwo410_xlinux_install_pkg_02.tar.gz /testcmwo/install/x86-64/linux/cmwo410_xlinux_install_pkg_03.tar.gz /testcmwo/install/x86-64/linux/cmwo410_xlinux_install.bin Install in Silent Mode: 1) Make sure that both the cmwo410_xlinux_install.bin and cmwo410_xlinux_install_pkg_01.tar.gz, cmwo410_xlinux_install_pkg_02.tar.gz, and cmwo410_xlinux_install_pkg_03.tar.gz files are in the same directory. 2) Issue the following commands with root: 3) chmod +x ./cmwo410_xlinux_install.bin echo LICENSE_ACCEPTED=true > ./installer.rsp ./cmwo410_xlinux_install.bin –i silent –f ./installer.rsp You will be guided through a set of console installation screens. At the completion of the installation, you can view the installation logs in /opt/ibm/cmwo/_installation/Logs/. 4) To install the fixpack, issue the following commands with root assuming the fixpack file is located in /testcmwo : 5) cd /testcmwo tar xvf cmwo_fixpack_4.1.0.1.tar.gz ./install_cmwo_fixpack.sh To verify that Chef server is up and running use the following command: chef-server-ctl status You should see the following: >chef-server-ctl status run: bookshelf: (pid 17198) 201s; run: log: (pid 17197) 201s run: chef-expander: (pid 17145) 207s; run: log: (pid 17144) 207s run: chef-server-webui: (pid 17357) 187s; run: log: (pid 17356) 187s run: chef-solr: (pid 17112) 209s; run: log: (pid 17111) 209s run: erchef: (pid 17535) 180s; run: log: (pid 17239) 199s run: nginx: (pid 17518) 181s; run: log: (pid 17517) 181s run: postgresql: (pid 17015) 220s; run: log: (pid 17014) 220s run: rabbitmq: (pid 16685) 236s; run: log: (pid 16684) 236s Phase 2: Deploy OpenStack In this example, we will set up the following nodes: 1. One OpenStack controller node One OpenStack compute node Log into the deployment server as root and use the following commands to create your deployment directory: > mkdir your-deployment-name > chmod 600 your-deployment-name > cd your-deployment-name 2. Copy the sample json files in the Appendix A and customize the contents: env.json Replace $MANAGEMENT_INTERFACE with your management network interface Replace $DATA_INTERFACE with your data network interface Replace $CLOUD_NAME with a unique string to identify the CMWO server instance Replace $NODE1_IP_ADDRS with the IP address of Node1 (single controller) topo.json Replace $CLOUD_NAME with the same unique string used in env.json Replace $NODE1_HOSTNAME with the FQDN of your first (single controller) node Replace $NODE2_HOSTNAME with the FQDN of your second (compute) node Replace <root_password> with the common root password of all 3 nodes in this exercise 3. Add the new environment to Chef and then validate: 4. Install OpenStack onto Node1 (single controller) and Node2 (compute, optional) 5. knife environment from file env.json knife environment list (and check that your unique cluster id has been added) knife os manage deploy topology topo.json Once both nodes have finished installing, log into the single controller node via the web interface: https://$NODE1_HOSTNAME User Name: admin Password: admin OpenStack Network Configuration 1. Log into Node1 as root source /root/openrc 2. Create an OpenStack network. In our example we use basic flat networking which provides a direct bridged connection for each instance to the data network. neutron net-create ext-net --provider:network_type=flat -provider:physical_network=default --router:external=True --shared 3. Create an OpenStack subnet that provides details about the IP addressing to use on our network. The pool start and end represent a range of addresses that the IBM Cloud Manager with OpenStack administrator must ensure are unique. These addresses will be assigned to virtual machines that are deployed from IBM Cloud Manager with OpenStack neutron subnet-create ext-net --name ext-subnet --gateway <your gateway> -allocation-pool “start=xx.xx.xx.xx,end=xx.xx.xx.yy” <network CIDR> As an example: neutron subnet-create ext-net --name ext-subnet --gateway 192.168.2.1 -allocation-pool “start=192.168.2.10,end=192.168.2.100” 192.168.2.0/24 4. After the neutron network configuration is complete, you can see the new “ext-net” on the OpenStack web interface: System Panel -> Networks Enable OpenStack Heat Security: With IceHouse, OpenStack has moved to a new authentication model that requires more complex configuration of keystone to support advanced Heat functions. Here is a short bash script that you can use to enable this security in your deployment. Note that the keystone domain password used below is temp4now. Consider using a more secure password. #!/bin/bash echo "Create Heat Users and Roles" keystone role-create --name heat_stack_user wget https://raw.githubusercontent.com/openstack/heat/master/bin/heat-keystone-setupdomain --no-check-certificate python heat-keystone-setup-domain --stack-domain-admin-password temp4now | grep stack_ > heat_domain.txt sed -i "s/#stack_user_domain=<None>/\$(grep user_domain heat_domain.txt)/g" /etc/heat/heat.conf sed -i "s/#stack_domain_admin=<None>/\$(grep stack_domain_admin= heat_domain.txt)/g" /etc/heat/heat.conf sed -i "s/#stack_domain_admin_password=<None>/\$(grep stack_domain_admin_password= heat_domain.txt)/g" /etc/heat/heat.conf service openstack-heat-engine restart More information about this security change can be seen in these posts: http://hardysteven.blogspot.co.uk/2014/04/heat-auth-model-updates-part-1-trusts.html http://hardysteven.blogspot.com/2014/04/heat-auth-model-updates-part-2-stack.html https://github.com/openstack/heat/blob/master/bin/heat-keystone-setup-domain Enable OpenStack Heat SoftwareConfig: If you want to use the Heat SoftwareConfig resource types you will need to update your python-heatclient. Use the small bash script below to update: #!/bin/bash echo "Enable Heat Software Config" wget http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/pythonheatclient-0.2.9-1.el6.noarch.rpm rpm -Uvh python-heatclient-0.2.9-1.el6.noarch.rpm service openstack-heat-engine restart Configure and test OpenStack: nova keypair-add –pub-key /root/.ssh/id_rsa.pub testkey (only needs to be done once) Start sample instances nova boot –-image cirros –-flavor m1.small –-key-name testkey cirros-test nova boot –-image ubuntu –-flavor m1.small –-key-name testkey ubuntu-test Set up default security group nova secgroup-add-rule default TCP 1 65535 0.0.0.0/0 nova secgroup-add-rule default UDP 1 65535 0.0.0.0/0 nova secgroup-add-rule default ICMP -1 -1 0.0.0.0/0 Appendix A Sample env.json file: { "name": "$CLOUD_NAME-env", "description": "Example environment for the IBM OpenStack single controller + n compute topology", "cookbook_versions": { "apache2": "~> 1.9.6", "apt": "~> 2.3.8", "aws": "~> 1.0.0", "build-essential": "~> 1.4.2", "chef_handler": "~> 1.1.5", "database": "~> 2.0.0", "erlang": "~> 1.4.2", "homebrew": "~> 1.5.4", "iptables": "~> 0.13.2", "logrotate": "~> 1.5.0", "mysql": "~> 4.1.2", "ntp": "~> 1.5.4", "openssl": "~> 1.1.0", "pacman": "~> 1.0.4", "postgresql": "~> 3.3.4", "python": "~> 1.4.6", "rabbitmq": "~> 3.0.4", "selinux": "~> 0.8.0", "windows": "~> 1.30.0", "xfs": "~> 1.1.0", "yum": "~> 3.1.4", "yum-epel": "~> 0.3.4", "yum-erlang_solutions": "~> 0.1.4", "openstack-block-storage": "~> 9.2.2", "openstack-common": "~> 9.2.2", "openstack-compute": "~> 9.2.2", "openstack-dashboard": "~> 9.0.3", "openstack-identity": "~> 9.2.0", "openstack-image": "~> 9.0.3", "openstack-network": "~> 9.0.8", "openstack-ops-database": "~> 9.0.1", "openstack-ops-messaging": "~> 9.0.1", "openstack-orchestration": "~> 9.1.4", "openstack-telemetry": "~> 9.1.0", "db2": "~> 0.2.2", "ibm-openstack-appliance-migration": "~> 0.1.23", "ibm-openstack-common": "~> 9.5.4", "ibm-openstack-iaas-gateway": "~> 0.1.4", "ibm-openstack-iptables": "~> 9.2.1", "ibm-openstack-powervc-driver": "~> 9.2.0", "ibm-openstack-prs": "~> 0.1.5", "ibm-openstack-roles": "~> 9.0.1", "ibm-openstack-simple-token": "~> 9.0.0", "ibm-openstack-yum-server": "~> 9.0.1", "ibm-openstack-zvm-driver": "~> 0.1.0", "ibm-sce": "~> 0.1.9", "qpid": "~> 0.3.0" }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { "selinux": { "state": "nothing" }, "ibm-openstack": { "iptables": { "status": "enabled", "use_default_rules": true, "include_ssh_default_rule": true, "custom_rules": null }, "zvm-driver": { "xcat": { "server": "0.0.0.0", "username": "", "zhcp_nodename": "", "master": "", "mgt_ip": "0.0.0.0", "mgt_mask": "255.255.255.0" }, "diskpool": "", "diskpool_type": "", "zvm_host": "", "host": "", "user_profile": "", "scsi_pool": "", "fcp_list": "", "zhcp_fcp_list": "", "external_vswitch_mappings": "", "config_drive": { "inject_password": "False" } } }, "openstack": { "endpoints": { "network-openvswitch": { "bind_interface": "$MANAGEMENT_INTERFACE" }, "compute-vnc-bind": { "bind_interface": "$MANAGEMENT_INTERFACE" } }, "compute": { "debug": false, "verbose": true, "state_path": "/var/lib/nova", "driver": "libvirt.LibvirtDriver", "libvirt": { "virt_type": "kvm" } }, "network": { "verbose": false, "debug": false, "openvswitch": { "bridge_mappings": "default:br-ex", "bridge_mapping_interface": "br-ex:$DATA_INTERFACE" } }, "block-storage": { "debug": false, "verbose": true, "volume": { "create_volume_group": true, "volume_group_size": 40, "iscsi_ip_address": "127.0.0.1" } }, "telemetry": { "debug": false, "verbose": true } } }, "override_attributes": { "ntp": { "servers": [ "0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org", "3.pool.ntp.org" ] }, "ibm-openstack-yum-server": { "yumpriorities_enabled": false }, "ibm-openstack": { "password-obfuscate": true, "prs": { "ego": { "master_list": [ "prs.master.node" ] } }, "powervc-driver": { "powervc": { "admin_user": "root", "auth_url": "https://powervc_host/powervc/openstack/identity/v3", "qpid": { "host": "powervc_host" } }, "db_create": false }, "iaas-gateway": { "listen_port": 9973, "logging": { "enabled": true, "debug": false } }, "app-migration": { "sce32": "sce32appliance", "nic": "eth0", "secret": { "appliance32_passwords_data_bag": "appliance32_passwords" } } }, "openstack": { "release": "icehouse", "region": "RegionOne", "yum": { "rdo_enabled": false }, "developer_mode": true, "db": { "service_type": "mysql", "server_role": "ibm-os-database-server-node" }, "mq": { "service_type": "qpid", "server_role": "ibm-os-messaging-server-node", "user": "qpidclient", "image": { "notification_topic": "notifications" }, "qpid": { "protocol": "ssl" } }, "endpoints": { "host": "$NODE1_IP_ADDR", "bind-host": "$NODE1_IP_ADDR", "mq": { "host": "$NODE1_IP_ADDR", "port": "5671" } }, "identity": { "verbose": false, "debug": false }, "image": { "verbose": false, "debug": false, "notification_driver": "messaging", "filesystem_store_datadir": "/var/lib/glance/images", "image_upload": true, "upload_images": [ "cirros", "ubuntu" ], "upload_image": { "ubuntu": "http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64disk1.img", "cirros": "http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img" } }, "network": { "core_plugin": "neutron.plugins.ml2.plugin.Ml2Plugin", "use_namespaces": false, "allow_overlapping_ips": true, "rpc_thread_pool_size": 128, "rpc_conn_pool_size": 60, "rpc_response_timeout": 600, "service_plugins": [ "neutron.services.l3_router.l3_router_plugin.L3RouterPlugin" ], "dhcp": { "ovs_use_veth": false }, "quota": { "driver": "neutron.db.quota_db.DbQuotaDriver", "items": "network,subnet,port", "default": -1, "network": 10, "subnet": 10, "port": 50, "security_group": 10, "security_group_rule": 100 }, "ml2": { "type_drivers": "local,flat,vlan,gre", "tenant_network_types": "vlan", "mechanism_drivers": "openvswitch", "flat_networks": "default", "network_vlan_ranges": "default:1:4094", "tunnel_id_ranges": "1:1000" }, "openvswitch": { "tenant_network_type": "vlan", "network_vlan_ranges": "default:1:4094", "enable_tunneling": "True", "tunnel_type": "gre", "tunnel_id_ranges": "1:1000" } }, "compute": { "enabled_apis": "osapi_compute", "rpc_backend": "nova.openstack.common.rpc.impl_qpid", "rpc_thread_pool_size": 2048, "rpc_conn_pool_size": 60, "rpc_response_timeout": 960, "vif_plugging_is_fatal": false, "network": { "service_type": "neutron", "plugins": [ "openvswitch" ], "neutron": { "service_neutron_metadata_proxy": false, "libvirt_vif_driver": "nova.virt.libvirt.vif.LibvirtGenericVIFDriver", "linuxnet_interface_driver": "nova.network.linux_net.LinuxOVSInterfaceDriver", "dns_server": [ ] } }, "scheduler": { "default_filters": [ "RetryFilter", "AvailabilityZoneFilter", "RamFilter", "ComputeFilter", "ComputeCapabilitiesFilter", "ImagePropertiesFilter" ] }, "misc_nova": [ "api_rate_limit=false", "flat_injected=true", "use_ipv6=true" ], "config": { "force_config_drive": "always", "notification_drivers": [ "nova.openstack.common.notifier.rpc_notifier" ], "instance_usage_audit": "True", "instance_usage_audit_period": "hour", "notify_on_state_change": "vm_and_task_state", "allow_resize_to_same_host": true, "quota_driver": "nova.quota.DbQuotaDriver", "quota_cores": 200, "quota_instances": 100, "quota_ram": 102400, "quota_floating_ips": 100, "quota_fixed_ips": -1, "quota_security_groups": 10, "quota_security_group_rules": 20, "quota_metadata_items": 128, "quota_injected_files": 5, "quota_injected_file_path_bytes": 255, "quota_injected_file_content_bytes": 10240, "quota_key_pairs": 100 } }, "dashboard": { "secret_key_path": "/var/lib/openstack-dashboard/.secret_key_store", "wsgi_socket_prefix": "/var/run/wsgi" }, "orchestration": { "debug": false, "verbose": true } }, "ibm-sce": { "os": { "user": "sce", "group": "sce" }, "config": { "prop": { "silent": "1" } }, "user": { "input": { "authentication": { "username": "admin", "name": "Administrator" } }, "install": { "folder": "/opt/ibm" }, "prop": { "folder": "/var/opt/ibm" }, "shortcuts": "/root" }, "choose": { "license": { "type": { "boolean": "0" } } }, "license": { "path": "" }, "service": { "enabled": false }, "package": { "fixpack": { "file": null }, "update": { "jre": { "file": null } } } }, "mysql": { "allow_remote_root": true, "server_root_password": "openstack1" } } } Sample topo.json file: { "name":"topo-$CLOUD_NAME", "description":"topo-$CLOUD_NAME", "environment":"$CLOUD_NAME-env", "run_sequentially":false, "nodes": [ { "fqdn":"$NODE1_HOSTNAME", "password":"<root_password>", "quit_on_error":true, "run_order_number":1, "runlist": [ "role[ibm-os-allinone-kvm]" ] }, { "fqdn":"$NODE2_HOSTNAME", "password":"<root_password>", "quit_on_error":true, "run_order_number":2, "runlist": [ "role[ibm-os-compute-node-kvm]" ] } ] } Appendix B IBM Cloud Manager with OpenStack hardware prerequisites: Component Minimum hardware requirements IBM Cloud Manager with OpenStack deployment server OpenStack controller Recommended hardware requirements 0.5 CPUs Free disk space: 4 GB for /opt/ibm/cmwo Free disk space: 4.5 GB of temporary space while installing, 2 GB for the chef server and running the product. 16 GB physical memory (using 7.8 GB with system idle) 2 CPUs 25 GB free disk space 16 GB physical memory 4 CPUs 16 GB physical memory 6 GB free disk space for installed code 4 CPUs 16 GB physical memory 6 GB free disk space for installed code and empty databases Standalone DB2® 4 GB for DB2 and empty databases Compute nodes For specific requirements, see information about the applicable virtualization environment from the latest product administrator guide. and empty databases (4 GB for DB2 and databases) 4 GB for DB2 and empty databases Supported IBM Cloud Manager with OpenStack operating systems: Operating system Versions Notes Red Hat Enterprise Linux Version 6.4 and 6.5 (64-bit) With latest fix pack Supported IBM Cloud Manager with OpenStack databases: Database Versions Notes DB2® (Installed by default) 10.5 With service pack 3 MySQL 5.1.x For Red Hat Enterprise Linux versions 6.4 and 6.5 on x86 systems Supported IBM Cloud Manager with OpenStack web browsers: Browser Versions Notes Internet Explorer 9.0 or 10.0 With latest fix pack Minimum resolution of 1024x768 (or greater) Internet Explorer 9 or 10 compatibility view is not supported Firefox ESR 18, 24 With latest fix pack Minimum resolution of 1024x768 (or greater) Chrome 24, 30 With latest fix pack Safari 6 With latest fix pack © Copyright IBM Corporation 2014 IBM Corporation New Orchard Road Armonk, NY 10504 Produced in the United States of America July 2014 IBM, the IBM logo, and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the web at “Copyright and trademark information” at ibm.com/legal/copytrade.shtml This document is current as of the initial date of publication and may be changed by IBM at any time. Not all offerings are available in every country in which IBM operates. THE INFORMATION IN THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING WITHOUT ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OR CONDITION OF NON-INFRINGEMENT. IBM products are warranted according to the terms and conditions of the agreements under which they are provided.