def configure_local_storage(delete_content=False, set_nova_owner=True): utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_images_type', 'default') if delete_content: sudo('rm -fr %s' % NOVA_INSTANCES) stop() sudo('sed -i "#%s#d" /etc/fstab' % NOVA_INSTANCES) sudo('mkdir -p %s' % NOVA_INSTANCES) if set_nova_owner: sudo('chown nova:nova -R %s' % NOVA_INSTANCES) start()
def configure_dhcp_agent(name_server='8.8.8.8'): utils.set_option(DHCP_AGENT_CONF, 'use_namespaces', 'True') utils.set_option(DHCP_AGENT_CONF, 'dnsmasq_dns_server', name_server) utils.set_option(DHCP_AGENT_CONF, 'dhcp_driver', 'neutron.agent.linux.dhcp.Dnsmasq') utils.set_option(DHCP_AGENT_CONF, 'interface_driver', 'neutron.agent.linux.interface.OVSInterfaceDriver')
def configure_nfs_volumes(delete_content=False, set_nova_owner=True): package_ensure('nfs-common') package_ensure('autofs') utils.set_option(NOVA_COMPUTE_CONF, 'nfs_mount_point_base', NOVA_VOLUMES) if delete_content: sudo('rm -fr %s' % NOVA_VOLUMES) stop() nova_volumes_exists = file_exists(NOVA_VOLUMES) if not nova_volumes_exists: sudo('mkdir -p %s' % NOVA_VOLUMES) with settings(warn_only=True): if set_nova_owner: if not nova_volumes_exists: sudo('chown nova:nova -R %s' % NOVA_VOLUMES) start()
def configure_nfs_storage(nfs_server=None, nfs_sparsed_volumes=True, nfs_shares_config="/var/lib/cinder/nfsshare.conf"): ''' Write the list with nfs storage list ''' shared_nfs_list = nfs_server.split(',') for nfs_share in shared_nfs_list: sudo("echo \"%s\" >> %s" % (nfs_share, nfs_shares_config)) with settings(warn_only=True): sudo("chown cinder:cinder %s" % (nfs_shares_config)) utils.set_option(CINDER_CONF, 'volume_driver', 'cinder.volume.nfs.NfsDriver') utils.set_option(CINDER_CONF, 'nfs_shares_config', nfs_shares_config) utils.set_option(CINDER_CONF, 'nfs_mount_point_base', '/var/lib/cinder/volumes/') utils.set_option(CINDER_CONF, 'nfs_disk_util', 'df') utils.set_option(CINDER_CONF, 'nfs_sparsed_volumes', nfs_sparsed_volumes)
def configure_lbaas_agent(): sudo('mkdir -p /etc/neutron/plugins/services/agent_loadbalancer/') utils.set_option(LBAAS_AGENT_CONF, 'use_namespaces', 'True') utils.set_option(LBAAS_AGENT_CONF, 'interface_driver', 'neutron.agent.linux.interface.OVSInterfaceDriver') utils.set_option(LBAAS_AGENT_CONF, 'device_driver', 'neutron.services.loadbalancer.drivers.haproxy.' 'namespace_driver.HaproxyNSDriver') utils.set_option(LBAAS_AGENT_CONF, 'user_group', 'haproxy')
def configure_lbaas_agent(): sudo('mkdir -p /etc/neutron/plugins/services/agent_loadbalancer/') utils.set_option(LBAAS_AGENT_CONF, 'use_namespaces', 'True') utils.set_option(LBAAS_AGENT_CONF, 'interface_driver', 'neutron.agent.linux.interface.OVSInterfaceDriver') utils.set_option( LBAAS_AGENT_CONF, 'device_driver', 'neutron.services.loadbalancer.drivers.haproxy.' 'namespace_driver.HaproxyNSDriver') utils.set_option(LBAAS_AGENT_CONF, 'user_group', 'haproxy')
def configure_ovs_plugin_vlan(vlan_start='1', vlan_end='4094', mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema='quantum'): utils.set_option(OVS_PLUGIN_CONF, 'sql_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='DATABASE') utils.set_option(OVS_PLUGIN_CONF, 'reconnect_interval', '2', section='DATABASE') utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_type', 'vlan', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'network_vlan_ranges', 'physnet1:%s:%s' % (vlan_start, vlan_end), section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo /usr/bin/quantum-rootwrap ' '/etc/quantum/rootwrap.conf', section='AGENT')
def configure_first(root_pass="******"): """Generate mysql configuration. Execute on both servers""" __configure_ubuntu_packages(root_pass) stop() # sudo('echo "manual" >> /etc/init/mysql.override') sudo("echo '[mysql]' >> /etc/mysql/conf.d/mariadb.cnf") utils.set_option("/etc/mysql/conf.d/mariadb.cnf", "wsrep_cluster_address", "'gcomm://'", section="mysqld") utils.set_option( "/etc/mysql/conf.d/mariadb.cnf", "wsrep_provider", "/usr/lib/galera/libgalera_smm.so", section="mysqld" ) utils.set_option("/etc/mysql/conf.d/mariadb.cnf", "wsrep_retry_autocommit", "0", section="mysqld") utils.set_option("/etc/mysql/conf.d/mariadb.cnf", "wsrep_sst_method", "rsync", section="mysqld")
def configure_nfs_storage(nfs_server, delete_content=False, set_nova_owner=True, nfs_server_mount_point_params='defaults'): package_ensure('nfs-common') package_ensure('autofs') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_images_type', 'default') if delete_content: sudo('rm -fr %s' % NOVA_INSTANCES) stop() nova_instance_exists = file_exists(NOVA_INSTANCES) if not nova_instance_exists: sudo('mkdir -p %s' % NOVA_INSTANCES) mpoint = '%s -fstype=nfs,vers=3,%s %s' % \ (NOVA_INSTANCES, nfs_server_mount_point_params, nfs_server) sudo('''echo "/- /etc/auto.nfs" > /etc/auto.master''') sudo('''echo "%s" > /etc/auto.nfs''' % mpoint) sudo('service autofs restart') with settings(warn_only=True): if set_nova_owner: if not nova_instance_exists: sudo('chown nova:nova -R %s' % NOVA_INSTANCES) start()
def configure_fwaas_service(): utils.set_option(NEUTRON_CONF, 'service_plugins', 'neutron.services.loadbalancer.plugin.LoadBalancerPlugin, ' 'neutron.services.firewall.fwaas_plugin.FirewallPlugin') utils.set_option(NEUTRON_CONF, 'driver', 'neutron.services.firewall.drivers.linux.' 'iptables_fwaas.IptablesFwaasDriver', section='fwaas') utils.set_option(NEUTRON_CONF, 'enabled', 'True', section='fwaas') start()
def deploy_and_set_ha_tool(user='******', password='******', auth_host='127.0.0.1',): # ensure period checks are offset between multiple l3 agent nodes # and assumes splay will remain constant (i.e. based on hostname) # Generate a uniformly distributed unique number to sleep. auth_uri = 'http://' + auth_host + ':5000/v2.0' sudo('echo OS_TENANT_NAME = service >> %s' % OPENRC) sudo('echo OS_USERNAME = %s >> %s' % (user, OPENRC)) sudo('echo OS_PASSWORD = %s >> %s' % (password, OPENRC)) sudo("""echo OS_AUTH_URL = "%s" >> %s""" % (auth_uri, OPENRC)) m = hashlib.md5() current_hostname = run('hostname') m.update(current_hostname) checksum = m.hexdigest() splay = 3000 hex_checksum = long(checksum.encode("hex")) sleep_time = hex_checksum % splay cron_l3_healthcheck_minute = '*/1 * * * *' command = 'sleep %s ; . /root/openrc && /usr/local/bin/neutron-ha-tool.py ' \ '--l3-agent-migrate > /dev/null 2>&1' % sleep_time #Deploys the ha tool put('/etc/fabuloso/repos/havana/neutron-ha-tool.py', '/usr/local/bin/neutron-ha-tool.py', use_sudo=True) with settings(warn_only=True): sudo('crontab -l > /tmp/crondump') sudo('echo "%s root %s" >> /tmp/crondump' % (cron_l3_healthcheck_minute, command)) sudo('crontab /tmp/crondump') neutron_server_stop() put('/etc/fabuloso/repos/havana/l3_agent_scheduler.py', '/usr/lib/python2.7/dist-packages/neutron/scheduler/' 'l3_agent_scheduler.py', use_sudo=True) utils.set_option(NEUTRON_CONF, 'router_scheduler_driver', 'neutron.scheduler.l3_agent_scheduler.' 'LeastUtilizedScheduler') neutron_server_start()
def deploy_and_set_ha_tool(user='******', password='******', auth_host='127.0.0.1',): # ensure period checks are offset between multiple l3 agent nodes # and assumes splay will remain constant (i.e. based on hostname) # Generate a uniformly distributed unique number to sleep. auth_uri = 'http://' + auth_host + ':5000/v2.0' sudo('echo OS_TENANT_NAME = service >> %s' % OPENRC) sudo('echo OS_USERNAME = %s >> %s' % (user, OPENRC)) sudo('echo OS_PASSWORD = %s >> %s' % (password, OPENRC)) sudo("""echo OS_AUTH_URL = "%s" >> %s""" % (auth_uri, OPENRC)) m = hashlib.md5() current_hostname = run('hostname') m.update(current_hostname) checksum = m.hexdigest() splay = 3000 hex_checksum = long(checksum.encode("hex")) sleep_time = hex_checksum % splay cron_l3_healthcheck_minute = '*/1 * * * *' command = 'sleep %s ; . /root/openrc && /usr/local/bin/neutron-ha-tool.py ' \ '--l3-agent-migrate > /dev/null 2>&1' % sleep_time #Deploys the ha tool put('neutron-ha-tool.py', '/usr/local/bin/neutron-ha-tool.py', use_sudo=True) with settings(warn_only=True): sudo('crontab -l > /tmp/crondump') sudo('echo "%s root %s" >> /tmp/crondump' % (cron_l3_healthcheck_minute, command)) sudo('crontab /tmp/crondump') neutron_server_stop() put('l3_agent_scheduler.py', '/usr/lib/python2.7/dist-packages/neutron/scheduler/' 'l3_agent_scheduler.py', use_sudo=True) utils.set_option(NEUTRON_CONF, 'router_scheduler_driver', 'neutron.scheduler.l3_agent_scheduler.' 'LeastUtilizedScheduler') neutron_server_start()
def configure_fwaas_service(): utils.set_option( NEUTRON_CONF, 'service_plugins', 'neutron.services.loadbalancer.plugin.LoadBalancerPlugin, ' 'neutron.services.firewall.fwaas_plugin.FirewallPlugin') utils.set_option(NEUTRON_CONF, 'driver', 'neutron.services.firewall.drivers.linux.' 'iptables_fwaas.IptablesFwaasDriver', section='fwaas') utils.set_option(NEUTRON_CONF, 'enabled', 'True', section='fwaas') start()
def configure(root_pass='******', galera_master_ip=None): """Generate mysql configuration. Execute on both servers""" __configure_ubuntu_packages(root_pass) stop() #sudo('echo "manual" >> /etc/init/mysql.override') sudo("echo '[mysql]' >> /etc/mysql/conf.d/mariadb.cnf") utils.set_option('/etc/mysql/conf.d/mariadb.cnf', 'wsrep_cluster_address', "\'gcomm://%s\'" % galera_master_ip, section='mysqld') utils.set_option('/etc/mysql/conf.d/mariadb.cnf', 'wsrep_provider', '/usr/lib/galera/libgalera_smm.so', section='mysqld') utils.set_option('/etc/mysql/conf.d/mariadb.cnf', 'wsrep_retry_autocommit', '0', section='mysqld') utils.set_option('/etc/mysql/conf.d/mariadb.cnf', 'wsrep_sst_method', 'rsync', section='mysqld')
def set_config_file(user='******', password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', tenant='service', rabbit_password='******', rabbit_host='127.0.0.1', mysql_username='******', mysql_password='******', mysql_schema='neutron', mysql_host='127.0.0.1', mysql_port='3306'): utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_tenant_name', tenant, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_user', user, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_password', password, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') auth_uri = 'http://' + auth_host + ':5000' utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_uri', auth_uri, section='filter:authtoken') #cp = 'neutron.plugins.ml2.plugin.Ml2Plugin' cp = 'neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2' utils.set_option(NEUTRON_CONF, 'core_plugin', cp) utils.set_option(NEUTRON_CONF, 'auth_strategy', 'keystone') utils.set_option(NEUTRON_CONF, 'fake_rabbit', 'False') utils.set_option(NEUTRON_CONF, 'rabbit_password', rabbit_password) utils.set_option(NEUTRON_CONF, 'rabbit_host', rabbit_host) utils.set_option(NEUTRON_CONF, 'notification_driver', 'neutron.openstack.common.notifier.rpc_notifier') utils.set_option(NEUTRON_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(NEUTRON_CONF, 'default_notification_level', 'INFO') utils.set_option(NEUTRON_CONF, 'core_plugin', cp) utils.set_option(NEUTRON_CONF, 'connection', utils.sql_connect_string( mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='database') utils.set_option(NEUTRON_CONF, 'admin_tenant_name', tenant, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_user', user, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_password', password, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_host', auth_host, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_port', auth_port, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'allow_overlapping_ips', 'True') # security group section utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', 'neutron.agent.linux.iptables_firewall.' 'OVSHybridIptablesFirewallDriver', section='securitygroup')
def set_config_file(user='******', password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', tenant='service', rabbit_password='******', rabbit_host='127.0.0.1', mysql_username='******', mysql_password='******', mysql_schema='neutron', mysql_host='127.0.0.1', mysql_port='3306'): auth_uri = 'http://' + auth_host + ':5000/v2.0' sudo('echo OS_TENANT_NAME = service >> %s' % OPENRC) sudo('echo OS_USERNAME = %s >> %s' % (user, OPENRC)) sudo('echo OS_PASSWORD = %s >> %s' % (password, OPENRC)) sudo("""echo OS_AUTH_URL = "%s" >> %s""" % (auth_uri, OPENRC)) utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_tenant_name', tenant, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_user', user, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_password', password, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') #utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_uri', # auth_uri, section='filter:authtoken') utils.set_option(NEUTRON_CONF, 'fake_rabbit', 'False') utils.set_option(NEUTRON_CONF, 'rabbit_password', rabbit_password) utils.set_option(NEUTRON_CONF, 'rabbit_host', rabbit_host) utils.set_option(NEUTRON_CONF, 'notification_driver', 'neutron.openstack.common.notifier.rpc_notifier') utils.set_option(NEUTRON_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(NEUTRON_CONF, 'default_notification_level', 'INFO') # Configurtin LBAAS service utils.set_option(NEUTRON_CONF, 'service_plugins', 'neutron.services.loadbalancer.plugin.LoadBalancerPlugin, ' 'neutron.services.firewall.fwaas_plugin.FirewallPlugin, ' 'neutron.services.l3_router.' 'l3_router_plugin.L3RouterPlugin') cp = 'neutron.plugins.ml2.plugin.Ml2Plugin' utils.set_option(NEUTRON_CONF, 'core_plugin', cp) utils.set_option(NEUTRON_CONF, 'connection', utils.sql_connect_string( mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='database') utils.set_option(NEUTRON_CONF, 'admin_tenant_name', tenant, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_user', user, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_password', password, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_host', auth_host, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_port', auth_port, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_url', auth_uri, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'allow_overlapping_ips', 'True') utils.set_option(NEUTRON_CONF, 'quota_driver', 'neutron.db.quota_db.DbQuotaDriver', section='quotas')
def configure_l3_agent(user='******', password='******', auth_host='127.0.0.1', region='RegionOne', metadata_ip='127.0.0.1', tenant='service'): utils.set_option(L3_AGENT_CONF, 'debug', 'True') utils.set_option(L3_AGENT_CONF, 'interface_driver', 'neutron.agent.linux.interface.OVSInterfaceDriver') auth_url = 'http://' + auth_host + ':35357/v2.0' utils.set_option(L3_AGENT_CONF, 'auth_url', auth_url) utils.set_option(L3_AGENT_CONF, 'auth_region', region) utils.set_option(L3_AGENT_CONF, 'admin_tenant_name', tenant) utils.set_option(L3_AGENT_CONF, 'admin_user', user) utils.set_option(L3_AGENT_CONF, 'admin_password', password) utils.set_option(L3_AGENT_CONF, 'root_helper', 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf') utils.set_option(L3_AGENT_CONF, 'metadata_ip', metadata_ip) utils.set_option(L3_AGENT_CONF, 'use_namespaces', 'True')
def configure_lvm_storage(name='nova-volume',sparse='True'): utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_images_type', 'lvm') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_images_volume_group', name) utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_sparse_logical_volumes', sparse) start()
def configure_ml2_plugin_vlan(vlan_start='1', vlan_end='4094', mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema='neutron'): # TODO Fix that when ml2-neutron-plugin will be added in icehouse sudo('mkdir -p /etc/neutron/plugins/ml2') sudo('ln -s %s %s' %(OVS_PLUGIN_CONF, ML2_PLUGIN_CONF)) sudo('echo "''" > %s' % OVS_PLUGIN_CONF) sudo('echo [ml2] >> %s' % OVS_PLUGIN_CONF) sudo('echo [ml2_type_vlan] >> %s' % OVS_PLUGIN_CONF) sudo('echo [database] >> %s' % OVS_PLUGIN_CONF) sudo('echo [securitygroup] >> %s' % OVS_PLUGIN_CONF) sudo('echo [agent] >> %s' % OVS_PLUGIN_CONF) # ML2 section utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_types', 'vlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'type_drivers', 'local,flat,vlan,gre,vxlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'mechanism_drivers', 'openvswitch,linuxbridge', section='ml2') # ml2_type_vlan section utils.set_option(OVS_PLUGIN_CONF, 'network_vlan_ranges', 'physnet1:%s:%s' % (vlan_start, vlan_end), section='ml2_type_vlan') # database section utils.set_option(OVS_PLUGIN_CONF, 'connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='database') # security group section utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', 'neutron.agent.linux.iptables_firewall.' 'OVSHybridIptablesFirewallDriver', section='securitygroup') # agent section utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf', section='agent')
def set_config_file(controller_host=None, public_ip=None, rabbit_password='******', mysql_username='******', mysql_password='******', mysql_port='3306', mysql_schema='nova', service_user='******', service_tenant_name='service', service_pass='******', auth_port='35357', auth_protocol='http', libvirt_type='kvm', vncproxy_port='6080', glance_port='9292'): if controller_host is None: puts("{error:'Controller IP of the node needed as argument'}") exit(0) quantum_url = 'http://%s:9696' % controller_host admin_auth_url = 'http://%s:35357/v2.0' % controller_host auth_host = controller_host mysql_host = controller_host vncproxy_host = public_ip glance_host = controller_host rabbit_host = controller_host utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_tenant_name', service_tenant_name, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_user', service_user, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_password', service_pass, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') utils.set_option(NOVA_COMPUTE_CONF, 'sql_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username)) utils.set_option(NOVA_COMPUTE_CONF, 'verbose', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'auth_strategy', 'keystone') utils.set_option(NOVA_COMPUTE_CONF, 'use_deprecated_auth', 'false') utils.set_option(NOVA_COMPUTE_CONF, 'logdir', '/var/log/nova') utils.set_option(NOVA_COMPUTE_CONF, 'state_path', '/var/lib/nova') utils.set_option(NOVA_COMPUTE_CONF, 'lock_path', '/var/lock/nova') utils.set_option(NOVA_COMPUTE_CONF, 'root_helper', 'sudo nova-rootwrap /etc/nova/rootwrap.conf') utils.set_option(NOVA_COMPUTE_CONF, 'verbose', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'notification_driver', 'nova.openstack.common.notifier.rabbit_notifier') utils.set_option(NOVA_COMPUTE_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(NOVA_COMPUTE_CONF, 'default_notification_level', 'INFO') utils.set_option(NOVA_COMPUTE_CONF, 'connection_type', 'libvirt') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_type', libvirt_type) utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_ovs_bridge', 'br-int') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_vif_type', 'ethernet') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_vif_driver', 'nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_use_virtio_for_bridges', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'start_guests_on_host_boot', 'false') utils.set_option(NOVA_COMPUTE_CONF, 'resume_guests_state_on_host_boot', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'quantum_auth_strategy','keystone') utils.set_option(NOVA_COMPUTE_CONF, 'quantum_admin_username','quantum') utils.set_option(NOVA_COMPUTE_CONF, 'quantum_admin_password','stackops') utils.set_option(NOVA_COMPUTE_CONF, 'quantum_admin_tenant_name','service') utils.set_option(NOVA_COMPUTE_CONF, 'quantum_admin_auth_url',admin_auth_url) utils.set_option(NOVA_COMPUTE_CONF, 'quantum_url',quantum_url) utils.set_option(NOVA_COMPUTE_CONF, 'novncproxy_base_url', 'http://%s:%s/vnc_auto.html' % (vncproxy_host, vncproxy_port)) utils.set_option(NOVA_COMPUTE_CONF, 'vncserver_listen', '0.0.0.0') utils.set_option(NOVA_COMPUTE_CONF, 'novnc_enable', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'vncserver_proxyclient_address', "$my_ip") utils.set_option(NOVA_COMPUTE_CONF, 'compute_driver', 'libvirt.LibvirtDriver') utils.set_option(NOVA_COMPUTE_CONF, 'image_service', 'nova.image.glance.GlanceImageService') utils.set_option(NOVA_COMPUTE_CONF, 'glance_api_servers','%s:%s' % (glance_host, glance_port)) utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_host', rabbit_host) utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_password',rabbit_password) utils.set_option(NOVA_COMPUTE_CONF, 'ec2_private_dns_show_ip', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'enabled_apis', 'ec2,osapi_compute,metadata') utils.set_option(NOVA_COMPUTE_CONF, 'network_api_class', 'nova.network.quantumv2.api.API') utils.set_option(NOVA_COMPUTE_CONF, 'dmz_cidr', '169.254.169.254/32') utils.set_option(NOVA_COMPUTE_CONF, 'metadata_listen', '0.0.0.0') utils.set_option(NOVA_COMPUTE_CONF, 'volume_api_class', 'nova.volume.cinder.API') utils.set_option(NOVA_COMPUTE_CONF, 'cinder_catalog_info','volume:cinder:internalURL') utils.set_option(NOVA_COMPUTE_CONF, 'allow_same_net_traffic','True') utils.set_option(NOVA_COMPUTE_CONF, 'allow_resize_to_same_host','True') start()
def configure_ovs_plugin_gre(controller_host=None, compute_ip=None, mysql_username='******', tunnel_start='1',tunnel_end='1000', mysql_password='******', mysql_port='3306', mysql_schema='quantum'): mysql_host=controller_host utils.set_option(OVS_PLUGIN_CONF,'sql_connection',utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username),section='DATABASE') utils.set_option(OVS_PLUGIN_CONF,'reconnect_interval','2',section='DATABASE') utils.set_option(OVS_PLUGIN_CONF,'tenant_network_type','gre',section='OVS') utils.set_option(OVS_PLUGIN_CONF,'tunnel_id_ranges','%s:%s' % (tunnel_start,tunnel_end),section='OVS') utils.set_option(OVS_PLUGIN_CONF,'local_ip', compute_ip, section='OVS') utils.set_option(OVS_PLUGIN_CONF,'integration_bridge','br-int',section='OVS') utils.set_option(OVS_PLUGIN_CONF,'tunnel_bridge','br-tun',section='OVS') utils.set_option(OVS_PLUGIN_CONF,'enable_tunneling','True',section='OVS') utils.set_option(OVS_PLUGIN_CONF,'root_helper','sudo /usr/bin/quantum-rootwrap /etc/quantum/rootwrap.conf',section='AGENT') with settings(warn_only=True): sudo('ovs-vsctl del-br br-int') sudo('ovs-vsctl add-br br-int') quantum_plugin_openvswitch_agent_start()
def set_config_file(user='******', password='******', mysql_username='******', mysql_password='******', mysql_schema='glance', tenant='service', mysql_host='127.0.0.1', mysql_port='3306', auth_port='35357', auth_protocol='http', auth_host='127.0.0.1'): utils.set_option(GLANCE_API_CONFIG, 'enable_v1_api', 'True') utils.set_option(GLANCE_API_CONFIG, 'enable_v2_api', 'True') for f in ['/etc/glance/glance-api.conf', '/etc/glance/glance-registry.conf']: sudo("sed -i 's#sql_connection.*$#sql_connection = %s#g' %s" % (sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), f)) sudo("sed -i 's/admin_password.*$/admin_password = %s/g' %s" % (password, f)) sudo("sed -i 's/admin_tenant_name.*$/admin_tenant_name = %s/g' %s" % (tenant, f)) sudo("sed -i 's/admin_user.*$/admin_user = %s/g' %s" % (user, f)) sudo("sed -i 's/auth_host.*$/auth_host = %s/g' %s" % (auth_host, f)) sudo("sed -i 's/auth_port.*$/auth_port = %s/g' %s" % (auth_port, f)) sudo("sed -i 's/auth_protocol.*$/auth_protocol = %s/g' %s" % (auth_protocol, f)) utils.set_option(GLANCE_REGISTRY_CONFIG, 'config_file', '/etc/glance/glance-registry-paste.ini', section='paste_deploy') utils.set_option(GLANCE_API_CONFIG, 'config_file', '/etc/glance/glance-api-paste.ini', section='paste_deploy') utils.set_option(GLANCE_API_CONFIG, 'flavor', 'keystone', section='paste_deploy') utils.set_option(GLANCE_API_CONFIG, 'flavor', 'keystone', section='paste_deploy') utils.set_option(GLANCE_REGISTRY_PASTE_INI, 'pipeline', 'authtoken context registryapp', section='pipeline:glance-registry-keystone') for f in [GLANCE_API_PASTE_INI, GLANCE_REGISTRY_PASTE_INI]: utils.set_option(f, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(f, 'admin_user', user, section='filter:authtoken') utils.set_option(f, 'admin_tenant_name', 'service', section='filter:authtoken') utils.set_option(f, 'admin_password', password, section='filter:authtoken') sudo("sed -i 's/^#flavor=.*$/flavor=keystone/g' " "/etc/glance/glance-api.conf") sudo("sed -i 's/^#flavor=.*$/flavor=keystone/g' " "/etc/glance/glance-registry.conf") start() sudo("glance-manage version_control 0") sudo("glance-manage db_sync")
def set_config_file(user='******', password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', tenant='service', rabbit_password='******', rabbit_host='127.0.0.1', mysql_username='******', mysql_password='******', mysql_schema='neutron', mysql_host='127.0.0.1', mysql_port='3306'): utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_tenant_name', tenant, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_user', user, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_password', password, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') auth_uri = 'http://' + auth_host + ':5000' utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_uri', auth_uri, section='filter:authtoken') cp = 'neutron.plugins.ml2.plugin.Ml2Plugin' utils.set_option(NEUTRON_CONF, 'core_plugin', cp) utils.set_option(NEUTRON_CONF, 'auth_strategy', 'keystone') utils.set_option(NEUTRON_CONF, 'fake_rabbit', 'False') utils.set_option(NEUTRON_CONF, 'rabbit_password', rabbit_password) utils.set_option(NEUTRON_CONF, 'rabbit_host', rabbit_host) utils.set_option(NEUTRON_CONF, 'notification_driver', 'neutron.openstack.common.notifier.rpc_notifier') utils.set_option(NEUTRON_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(NEUTRON_CONF, 'default_notification_level', 'INFO') utils.set_option(NEUTRON_CONF, 'core_plugin', cp) utils.set_option(NEUTRON_CONF, 'connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='database') utils.set_option(NEUTRON_CONF, 'admin_tenant_name', tenant, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_user', user, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_password', password, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_host', auth_host, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_port', auth_port, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'allow_overlapping_ips', 'True') # security group section utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', 'neutron.agent.linux.iptables_firewall.' 'OVSHybridIptablesFirewallDriver', section='securitygroup') utils.set_option(NEUTRON_CONF, 'quota_driver', 'neutron.db.quota_db.DbQuotaDriver', section='quotas')
def configure_ovs_plugin_gre(local_ip=None, neutron_mysql_username='******', neutron_mysql_password='******', neutron_mysql_host='127.0.0.1', neutron_mysql_port='3306', neutron_mysql_schema='neutron'): utils.set_option(OVS_PLUGIN_CONF, 'sql_connection', utils.sql_connect_string(neutron_mysql_host, neutron_mysql_password, neutron_mysql_port, neutron_mysql_schema, neutron_mysql_username), section='DATABASE') utils.set_option(OVS_PLUGIN_CONF, 'reconnect_interval', '2', section='DATABASE') utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_type', 'gre', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'tunnel_id_ranges', '1:1000', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'local_ip', local_ip, section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'integration_bridge', 'br-int', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'tunnel_bridge', 'br-tun', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'enable_tunneling', 'True', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo neutron-rootwrap ' '/etc/neutron/rootwrap.conf', section='AGENT') #utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', # 'neutron.agent.linux.iptables_firewall.' # 'OVSHybridIptablesFirewallDriver', # section='securitygroup') with settings(warn_only=True): sudo('ovs-vsctl del-br br-int') sudo('ovs-vsctl add-br br-int') openvswitch_start() neutron_plugin_openvswitch_agent_start()
def configure_ml2_plugin_vxlan(neutron_mysql_username='******', neutron_mysql_password='******', neutron_mysql_host='127.0.0.1', neutron_mysql_port='3306', neutron_mysql_schema='neutron', local_ip='127.0.0.1'): # TODO Fix that when ml2-neutron-plugin will be added in icehouse sudo('mkdir -p /etc/neutron/plugins/ml2') with settings(warn_only=True): sudo('ln -s %s %s' % (OVS_PLUGIN_CONF, ML2_PLUGIN_CONF)) sudo('echo "' '" > %s' % OVS_PLUGIN_CONF) sudo('echo [ml2] >> %s' % OVS_PLUGIN_CONF) sudo('echo [ovs] >> %s' % OVS_PLUGIN_CONF) sudo('echo [ml2_type_vxlan] >> %s' % OVS_PLUGIN_CONF) sudo('echo [database] >> %s' % OVS_PLUGIN_CONF) sudo('echo [securitygroup] >> %s' % OVS_PLUGIN_CONF) sudo('echo [agent] >> %s' % OVS_PLUGIN_CONF) # ML2 section utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_types', 'vxlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'type_drivers', 'local,flat,vlan,gre,vxlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'mechanism_drivers', 'openvswitch,linuxbridge', section='ml2') # ml2_type_vxlan section utils.set_option(OVS_PLUGIN_CONF, 'vni_ranges', '1:1000', section='ml2_type_vxlan') # ovs section utils.set_option(OVS_PLUGIN_CONF, 'local_ip', local_ip, section='ovs') utils.set_option(OVS_PLUGIN_CONF, 'enable_tunneling', 'True', section='ovs') # database section utils.set_option(OVS_PLUGIN_CONF, 'connection', utils.sql_connect_string(neutron_mysql_host, neutron_mysql_password, neutron_mysql_port, neutron_mysql_schema, neutron_mysql_username), section='database') # security group section utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', 'neutron.agent.linux.iptables_firewall.' 'OVSHybridIptablesFirewallDriver', section='securitygroup') # agent section utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo neutron-rootwrap ' '/etc/neutron/rootwrap.conf', section='agent') utils.set_option(OVS_PLUGIN_CONF, 'tunnel_types', 'vxlan', section='agent') with settings(warn_only=True): sudo('ovs-vsctl del-br br-int') sudo('ovs-vsctl add-br br-int') neutron_plugin_openvswitch_agent_start()
def configure_neutron(neutron_service_user='******', neutron_service_password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', neutron_service_tenant='service', rabbit_password='******', rabbit_host='127.0.0.1', neutron_mysql_username='******', neutron_mysql_password='******', neutron_mysql_schema='neutron', mysql_host='127.0.0.1', mysql_port='3306'): cp = 'neutron.plugins.ml2.plugin.Ml2Plugin' utils.set_option(NEUTRON_CONF, 'core_plugin', cp) utils.set_option(NEUTRON_CONF, 'auth_strategy', 'keystone') utils.set_option(NEUTRON_CONF, 'fake_rabbit', 'False') utils.set_option(NEUTRON_CONF, 'rabbit_password', rabbit_password) utils.set_option(NEUTRON_CONF, 'rabbit_host', rabbit_host) utils.set_option(NEUTRON_CONF, 'notification_driver', 'nova.openstack.common.notifier.rpc_notifier') utils.set_option(NEUTRON_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(NEUTRON_CONF, 'default_notification_level', 'INFO') utils.set_option(NEUTRON_CONF, 'connection', utils.sql_connect_string(mysql_host, neutron_mysql_password, mysql_port, neutron_mysql_schema, neutron_mysql_username), section='database') utils.set_option(NEUTRON_CONF, 'admin_tenant_name', neutron_service_tenant, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_user', neutron_service_user, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'admin_password', neutron_service_password, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_host', auth_host, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_port', auth_port, section='keystone_authtoken') utils.set_option(NEUTRON_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') auth_uri = 'http://' + auth_host + ':5000/v2.0' utils.set_option(NEUTRON_CONF, 'auth_url', auth_uri, section='keystone_authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_tenant_name', neutron_service_tenant, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_user', neutron_service_user, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'admin_password', neutron_service_password, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(NEUTRON_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') neutron_plugin_openvswitch_agent_start()
def set_config_file(management_ip=None, controller_host=None, vncproxy_host=None, auth_host=None, nova_mysql_host=None, glance_host=None, rabbit_host=None, rabbit_password='******', nova_mysql_username='******', nova_mysql_password='******', nova_mysql_port='3306', nova_mysql_schema='nova', nova_service_user='******', nova_service_tenant='service', nova_service_pass='******', auth_port='35357', auth_protocol='http', libvirt_type='kvm', vncproxy_protocol="https", vncproxy_port='6080', glance_port='9292'): if controller_host is None: puts("{error:'Management IP of the node needed as argument'}") exit(0) neutron_url = 'http://%s:9696' % controller_host admin_auth_url = 'http://%s:35357/v2.0' % auth_host vncproxy_url = '%s://%s:%s/vnc_auto.html' % (vncproxy_protocol, vncproxy_host, vncproxy_port) auth_host = auth_host mysql_host = nova_mysql_host glance_host = glance_host rabbit_host = rabbit_host utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_tenant_name', nova_service_tenant, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_user', nova_service_user, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_password', nova_service_pass, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') utils.set_option( NOVA_COMPUTE_CONF, 'sql_connection', utils.sql_connect_string(nova_mysql_host, nova_mysql_password, nova_mysql_port, nova_mysql_schema, nova_mysql_username)) utils.set_option(NOVA_COMPUTE_CONF, 'verbose', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'auth_strategy', 'keystone') utils.set_option(NOVA_COMPUTE_CONF, 'use_deprecated_auth', 'false') utils.set_option(NOVA_COMPUTE_CONF, 'logdir', '/var/log/nova') utils.set_option(NOVA_COMPUTE_CONF, 'state_path', '/var/lib/nova') utils.set_option(NOVA_COMPUTE_CONF, 'lock_path', '/var/lock/nova') utils.set_option(NOVA_COMPUTE_CONF, 'root_helper', 'sudo nova-rootwrap /etc/nova/rootwrap.conf') utils.set_option(NOVA_COMPUTE_CONF, 'verbose', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'rpc_backend', 'nova.rpc.impl_kombu') utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_host', rabbit_host) utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_password', rabbit_password) utils.set_option(NOVA_COMPUTE_CONF, 'notification_driver', 'nova.openstack.common.notifier.rpc_notifier') utils.set_option(NOVA_COMPUTE_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(NOVA_COMPUTE_CONF, 'default_notification_level', 'INFO') utils.set_option(NOVA_COMPUTE_CONF, 'my_ip', management_ip) utils.set_option(NOVA_COMPUTE_CONF, 'connection_type', 'libvirt') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_type', libvirt_type) utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_ovs_bridge', 'br-int') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_vif_type', 'ethernet') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_vif_driver', 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_use_virtio_for_bridges', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_auth_strategy', 'keystone') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_username', 'neutron') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_password', 'stackops') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_tenant_name', 'service') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_auth_url', admin_auth_url) utils.set_option(NOVA_COMPUTE_CONF, 'neutron_url', neutron_url) utils.set_option(NOVA_COMPUTE_CONF, 'novncproxy_base_url', vncproxy_url) utils.set_option(NOVA_COMPUTE_CONF, 'vncserver_listen', '0.0.0.0') utils.set_option(NOVA_COMPUTE_CONF, 'vnc_enabled', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'vncserver_proxyclient_address', management_ip) utils.set_option(NOVA_COMPUTE_CONF, 'compute_driver', 'libvirt.LibvirtDriver') utils.set_option(NOVA_COMPUTE_CONF, 'image_service', 'nova.image.glance.GlanceImageService') utils.set_option(NOVA_COMPUTE_CONF, 'glance_api_servers', '%s:%s' % (glance_host, glance_port)) utils.set_option(NOVA_COMPUTE_CONF, 'glance_host', glance_host) # Change for havana to use the neutron fw and security group utils.set_option(NOVA_COMPUTE_CONF, 'firewall_driver', 'nova.virt.firewall.NoopFirewallDriver') utils.set_option(NOVA_COMPUTE_CONF, 'security_group_api', 'neutron') utils.set_option(NOVA_COMPUTE_CONF, 'ec2_private_dns_show_ip', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'network_api_class', 'nova.network.neutronv2.api.API') utils.set_option(NOVA_COMPUTE_CONF, 'dmz_cidr', '169.254.169.254/32') utils.set_option(NOVA_COMPUTE_CONF, 'volume_api_class', 'nova.volume.cinder.API') utils.set_option(NOVA_COMPUTE_CONF, 'cinder_catalog_info', 'volume:cinder:internalURL') utils.set_option(NOVA_COMPUTE_CONF, 'allow_same_net_traffic', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'allow_resize_to_same_host', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'resize_confirm_window', '3600') utils.set_option(NOVA_COMPUTE_CONF, 'snapshot_compression', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'snapshot_image_format', 'qcow2') utils.set_option(NOVA_COMPUTE_CONF, 'start_guests_on_host_boot', 'false') utils.set_option(NOVA_COMPUTE_CONF, 'resume_guests_state_on_host_boot', 'true') start()
def set_config_file(user='******', password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', neutron_host='127.0.0.1', rabbit_host='127.0.0.1', vncproxy_host='127.0.0.1', glance_host='127.0.0.1', glance_port='9292', mysql_username='******', mysql_password='******', mysql_schema='nova', mysql_host='127.0.0.1', tenant='service', mysql_port='3306', rabbit_password='******', vncproxy_port='6080', vcenter_host_ip='localhost', vecenter_host_username='******', vcenter_host_password='******', vcenter_cluster_name='my_cluster', integration_bridge='br-int'): utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_tenant_name', tenant, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_user', user, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'admin_password', password, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(COMPUTE_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') utils.set_option( NOVA_COMPUTE_CONF, 'sql_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username)) utils.set_option(NOVA_COMPUTE_CONF, 'start_guests_on_host_boot', 'false') utils.set_option(NOVA_COMPUTE_CONF, 'resume_guests_state_on_host_boot', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'allow_same_net_traffic', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'allow_resize_to_same_host', 'True') utils.set_option(NOVA_CONF, 'compute_driver', 'vmwareapi.VMwareVCDriver') # Vmware section utils.set_option(NOVA_CONF, 'host_ip', vcenter_host_ip, section='vmware') utils.set_option(NOVA_CONF, 'host_username', vecenter_host_username, section='vmware') utils.set_option(NOVA_CONF, 'host_passwod', vcenter_host_password, section='vmware') utils.set_option(NOVA_CONF, 'cluster_name', vcenter_cluster_name, section='vmware') utils.set_option(NOVA_CONF, 'integration_bridge', integration_bridge, section='vmware') wsdl_loc = 'http://%s/sdk/vimService.wsdl' % vcenter_host_ip utils.set_option(NOVA_CONF, 'wsdl_location', wsdl_loc, section='vmware') #utils.set_option(NOVA_CONF, 'datastore_regex', # datastore_regex, section='vmware') utils.set_option(NOVA_COMPUTE_CONF, 'network_api_class', 'nova.network.neutronv2.api.API') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_auth_strategy', 'keystone') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_username', 'neutron') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_password', 'stackops') utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_tenant_name', 'service') admin_auth_url = 'http://' + auth_host + ':35357/v2.0' utils.set_option(NOVA_COMPUTE_CONF, 'neutron_admin_auth_url', admin_auth_url) neutron_url = 'http://' + neutron_host + ':9696' utils.set_option(NOVA_COMPUTE_CONF, 'neutron_url', neutron_url) utils.set_option(NOVA_COMPUTE_CONF, 'rpc_backend', 'nova.rpc.impl_kombu') utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_host', rabbit_host) utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_password', rabbit_password) utils.set_option(NOVA_COMPUTE_CONF, 'auth_strategy', 'keystone') utils.set_option(NOVA_COMPUTE_CONF, 'use_deprecated_auth', 'false') utils.set_option(NOVA_COMPUTE_CONF, 'logdir', '/var/log/nova') utils.set_option(NOVA_COMPUTE_CONF, 'state_path', '/var/lib/nova') utils.set_option(NOVA_COMPUTE_CONF, 'lock_path', '/var/lock/nova') utils.set_option(NOVA_COMPUTE_CONF, 'root_helper', 'sudo nova-rootwrap /etc/nova/rootwrap.conf') utils.set_option(NOVA_COMPUTE_CONF, 'verbose', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'notification_driver', 'nova.openstack.common.notifier.rpc_notifier') utils.set_option(NOVA_COMPUTE_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(NOVA_COMPUTE_CONF, 'default_notification_level', 'INFO') utils.set_option(NOVA_COMPUTE_CONF, 'start_guests_on_host_boot', 'false') utils.set_option(NOVA_COMPUTE_CONF, 'resume_guests_state_on_host_boot', 'false') utils.set_option( NOVA_COMPUTE_CONF, 'novncproxy_base_url', 'http://%s:%s/vnc_auto.html' % (vncproxy_host, vncproxy_port)) utils.set_option(NOVA_COMPUTE_CONF, 'vncserver_listen', '0.0.0.0') utils.set_option(NOVA_COMPUTE_CONF, 'vnc_enable', 'true') utils.set_option(NOVA_COMPUTE_CONF, 'compute_driver', 'libvirt.LibvirtDriver') utils.set_option(NOVA_COMPUTE_CONF, 'image_service', 'nova.image.glance.GlanceImageService') utils.set_option(NOVA_COMPUTE_CONF, 'glance_api_servers', '%s:%s' % (glance_host, glance_port)) utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_host', rabbit_host) utils.set_option(NOVA_COMPUTE_CONF, 'rabbit_password', rabbit_password) utils.set_option(NOVA_COMPUTE_CONF, 'ec2_private_dns_show_ip', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'network_api_class', 'nova.network.neutronv2.api.API') utils.set_option(NOVA_COMPUTE_CONF, 'dmz_cidr', '169.254.169.254/32') utils.set_option(NOVA_COMPUTE_CONF, 'volume_api_class', 'nova.volume.cinder.API') utils.set_option(NOVA_COMPUTE_CONF, 'cinder_catalog_info', 'volume:cinder:internalURL') utils.set_option(NOVA_COMPUTE_CONF, 'allow_same_net_traffic', 'True') start()
def configure_snapshots(snapshot_compression='True', snapshot_image_format='qcow2'): stop() utils.set_option(NOVA_COMPUTE_CONF, 'snapshot_compression', 'True') utils.set_option(NOVA_COMPUTE_CONF, 'snapshot_image_format', 'qcow2') start()
def configure_dhcp_agent(name_server='8.8.8.8'): utils.set_option(DHCP_AGENT_CONF,'use_namespaces','False') utils.set_option(DHCP_AGENT_CONF,'dnsmasq_dns_server',name_server) quantum_dhcp_agent_start()
def set_option(property='', value=''): utils.set_option(NOVA_COMPUTE_CONF, property, value)
def configure_quantum(controller_host=None, rabbit_password='******'): rabbit_host=controller_host utils.set_option(QUANTUM_CONF,'core_plugin','quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2') utils.set_option(QUANTUM_CONF,'auth_strategy','keystone') utils.set_option(QUANTUM_CONF,'fake_rabbit','False') utils.set_option(QUANTUM_CONF,'rabbit_password',rabbit_password) utils.set_option(QUANTUM_CONF,'rabbit_host',rabbit_host) utils.set_option(QUANTUM_CONF,'notification_driver', 'nova.openstack.common.notifier.rabbit_notifier') utils.set_option(QUANTUM_CONF,'notification_topics', 'notifications,monitor') utils.set_option(QUANTUM_CONF,'default_notification_level', 'INFO') quantum_plugin_openvswitch_agent_start()
def set_config_file(mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema_designate='designate', mysql_schema_powerdns='powerdns', user='******', password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', tenant='service', rabbit_host='localhost', rabbit_password='******'): utils.set_option(DESIGNATE_CONF, 'service:api', 'auth_strategy', 'keystone') utils.set_option(DESIGNATE_CONF, 'service:api', 'enabled_extensions_v1', 'diagnostics, quotas, reports, sync') utils.set_option(DESIGNATE_CONF, 'admin_tenant_name', tenant, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'admin_user', user, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'admin_password', password, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_host', auth_host, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_port', auth_port, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') auth_uri = 'http://' + auth_host + ':5000/v2.0' utils.set_option(DESIGNATE_CONF, 'auth_uri', auth_uri, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_strategy', 'keystone', section='[service:api]') utils.set_option(DESIGNATE_CONF, 'backend_driver', 'powerdns', section='service:central') utils.set_option(DESIGNATE_CONF, 'database_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema_designate, mysql_username), section='storage:sqlalchemy') utils.set_option(DESIGNATE_CONF, 'database_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema_powerdns, mysql_username), section='backend:powerdns') utils.set_option(DESIGNATE_CONF, 'rabbit_host', rabbit_host) utils.set_option(DESIGNATE_CONF, 'rabbit_password', rabbit_password) utils.set_option(DESIGNATE_CONF, 'notification_driver', 'designate.openstack.common.notifier.rpc_notifier') utils.set_option(DESIGNATE_CONF, 'notification_topics', 'notifications,monitor') with settings(warn_only=True): sudo('designate-manage database-init') sudo('designate-manage database-sync') with settings(warn_only=True): sudo('designate-manage powerdns database-init') sudo('designate-manage powerdns database-sync') #PowerDNS configuration utils.modify_property(POWERDNS_CONF, 'launch', 'gmysql') utils.modify_property(POWERDNS_CONF, 'gmysql-host', mysql_host) utils.modify_property(POWERDNS_CONF, 'gmysql-port', mysql_port) utils.modify_property(POWERDNS_CONF, 'gmysql-dbname', mysql_schema_powerdns) utils.modify_property(POWERDNS_CONF, 'gmysql-user', mysql_username) utils.modify_property(POWERDNS_CONF, 'gmysql-password', mysql_password) utils.modify_property(POWERDNS_CONF, 'gmysql-dnssec', 'yes')
def configure_ovs_plugin_gre(ip_tunnel='127.0.0.1', tunnel_start='1', tunnel_end='1000', mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema='neutron'): utils.set_option(OVS_PLUGIN_CONF, 'sql_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='DATABASE') utils.set_option(OVS_PLUGIN_CONF, 'reconnect_interval', '2', section='DATABASE') utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_type', 'gre', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'tunnel_id_ranges', '%s:%s' % (tunnel_start, tunnel_end), section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'local_ip', ip_tunnel, section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'integration_bridge', 'br-int', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'tunnel_bridge', 'br-tun', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'enable_tunneling', 'True', section='OVS') utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo /usr/bin/neutron-rootwrap ' '/etc/neutron/rootwrap.conf', section='AGENT') #utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', # 'neutron.agent.linux.iptables_firewall.' # 'OVSHybridIptablesFirewallDriver', # section='securitygroup') with settings(warn_only=True): sudo('ovs-vsctl del-br br-int') sudo('ovs-vsctl add-br br-int') openvswitch_start() neutron_plugin_openvswitch_agent_start()
def set_option(property='',value=''): utils.set_option(NOVA_COMPUTE_CONF, property, value)
def set_config_file(user='******', password='******', mysql_username='******', mysql_password='******', mysql_schema='glance', tenant='service', mysql_host='127.0.0.1', mysql_port='3306', auth_port='35357', auth_protocol='http', auth_host='127.0.0.1', rabbit_host='127.0.0.1', rabbit_password='******'): utils.set_option(GLANCE_API_CONFIG, 'enable_v1_api', 'True') utils.set_option(GLANCE_API_CONFIG, 'enable_v2_api', 'True') for f in [ '/etc/glance/glance-api.conf', '/etc/glance/glance-registry.conf' ]: sudo("sed -i 's#sql_connection.*$#sql_connection = %s#g' %s" % (sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), f)) sudo("sed -i 's/admin_password.*$/admin_password = %s/g' %s" % (password, f)) sudo("sed -i 's/admin_tenant_name.*$/admin_tenant_name = %s/g' %s" % (tenant, f)) sudo("sed -i 's/admin_user.*$/admin_user = %s/g' %s" % (user, f)) sudo("sed -i 's/auth_host.*$/auth_host = %s/g' %s" % (auth_host, f)) sudo("sed -i 's/auth_port.*$/auth_port = %s/g' %s" % (auth_port, f)) sudo("sed -i 's/auth_protocol.*$/auth_protocol = %s/g' %s" % (auth_protocol, f)) utils.set_option(GLANCE_REGISTRY_CONFIG, 'config_file', '/etc/glance/glance-registry-paste.ini', section='paste_deploy') utils.set_option(GLANCE_API_CONFIG, 'config_file', '/etc/glance/glance-api-paste.ini', section='paste_deploy') utils.set_option(GLANCE_API_CONFIG, 'flavor', 'keystone', section='paste_deploy') utils.set_option(GLANCE_REGISTRY_CONFIG, 'flavor', 'keystone', section='paste_deploy') # Doc says that Glance is not using oslo notifier, decomment this when # it recommends to use it #utils.set_option(GLANCE_API_CONFIG, 'rpc_backend', 'nova.openstack.common.' # 'rpc.impl_kombu') #utils.set_option(GLANCE_API_CONFIG, 'notification_driver', # 'nova.openstack.common.notifier.rpc_notifier') utils.set_option(GLANCE_API_CONFIG, 'rabbit_host', rabbit_host) utils.set_option(GLANCE_API_CONFIG, 'rabbit_password', rabbit_password) utils.set_option(GLANCE_API_CONFIG, 'notification_topics', 'notifications,monitor') utils.set_option(GLANCE_API_CONFIG, 'notifier_strategy', 'rabbit') utils.set_option(GLANCE_API_CONFIG, 'default_notification_level', 'INFO') utils.set_option(GLANCE_REGISTRY_PASTE_INI, 'pipeline', 'authtoken context registryapp', section='pipeline:glance-registry-keystone') for f in [GLANCE_API_PASTE_INI, GLANCE_REGISTRY_PASTE_INI]: utils.set_option(f, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(f, 'admin_user', user, section='filter:authtoken') utils.set_option(f, 'admin_tenant_name', 'service', section='filter:authtoken') utils.set_option(f, 'admin_password', password, section='filter:authtoken') sudo("sed -i 's/^#flavor=.*$/flavor=keystone/g' " "/etc/glance/glance-api.conf") sudo("sed -i 's/^#flavor=.*$/flavor=keystone/g' " "/etc/glance/glance-registry.conf")
def configure_metadata_agent(user='******', password='******', auth_host='127.0.0.1', region='RegionOne', metadata_ip='127.0.0.1', tenant='service'): auth_url = 'http://' + auth_host + ':35357/v2.0' utils.set_option(NEUTRON_METADATA_CONF, 'auth_url', auth_url) utils.set_option(NEUTRON_METADATA_CONF, 'auth_region', region) utils.set_option(NEUTRON_METADATA_CONF, 'admin_tenant_name', tenant) utils.set_option(NEUTRON_METADATA_CONF, 'admin_user', user) utils.set_option(NEUTRON_METADATA_CONF, 'admin_password', password) utils.set_option(NEUTRON_METADATA_CONF, 'nova_metadata_ip', metadata_ip) utils.set_option(NEUTRON_METADATA_CONF, 'nova_metadata_port', '8775') utils.set_option(NEUTRON_METADATA_CONF, 'metadata_proxy_shared_secret', 'password')
def configure_ml2_plugin_vxlan(neutron_mysql_username='******', neutron_mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', neutron_mysql_schema='neutron'): # TODO Fix that when ml2-neutron-plugin will be added in icehouse sudo('mkdir -p /etc/neutron/plugins/ml2') sudo('ln -s %s %s' %(OVS_PLUGIN_CONF, ML2_PLUGIN_CONF)) sudo('echo "''" > %s' % OVS_PLUGIN_CONF) sudo('echo [ml2] >> %s' % OVS_PLUGIN_CONF) sudo('echo [ovs] >> %s' % OVS_PLUGIN_CONF) sudo('echo [ml2_type_vxlan] >> %s' % OVS_PLUGIN_CONF) sudo('echo [database] >> %s' % OVS_PLUGIN_CONF) sudo('echo [securitygroup] >> %s' % OVS_PLUGIN_CONF) sudo('echo [agent] >> %s' % OVS_PLUGIN_CONF) # ML2 section utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_types', 'vxlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'type_drivers', 'local,flat,vlan,gre,vxlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'mechanism_drivers', 'openvswitch,linuxbridge', section='ml2') # ml2_type_vxlan section utils.set_option(OVS_PLUGIN_CONF, 'vni_ranges', '1:1000', section='ml2_type_vxlan') # ovs section utils.set_option(OVS_PLUGIN_CONF, 'enable_tunneling', 'True', section='ovs') # database section utils.set_option(OVS_PLUGIN_CONF, 'connection', utils.sql_connect_string(mysql_host, neutron_mysql_password, mysql_port, neutron_mysql_schema, neutron_mysql_username), section='database') # security group section utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', 'neutron.agent.linux.iptables_firewall.' 'OVSHybridIptablesFirewallDriver', section='securitygroup') # agent section utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo neutron-rootwrap ' '/etc/neutron/rootwrap.conf', section='agent') utils.set_option(OVS_PLUGIN_CONF, 'tunnel_types', 'vxlan', section='agent')
def configure_ovs_plugin_vlan(iface_bridge='eth1', br_postfix='eth1', vlan_start='1', vlan_end='4094', mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema='neutron'): sudo('echo [database] >> %s' % OVS_PLUGIN_CONF) utils.set_option(OVS_PLUGIN_CONF, 'sql_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='database') utils.set_option(OVS_PLUGIN_CONF, 'reconnect_interval', '2', section='database') utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_type', 'vlan', section='ovs') utils.set_option(OVS_PLUGIN_CONF, 'network_vlan_ranges', 'physnet1:%s:%s' % (vlan_start, vlan_end), section='ovs') utils.set_option(OVS_PLUGIN_CONF, 'bridge_mappings', 'physnet1:br-%s' % iface_bridge, section='ovs') # security group section utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', 'neutron.agent.linux.iptables_firewall.' 'OVSHybridIptablesFirewallDriver', section='securitygroup') # agent section utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf', section='agent') with settings(warn_only=True): sudo('ovs-vsctl del-br br-int') sudo('ovs-vsctl add-br br-int') with settings(warn_only=True): sudo('ovs-vsctl del-br br-%s' % br_postfix) sudo('ovs-vsctl add-br br-%s' % br_postfix) sudo('ovs-vsctl add-port br-%s %s' % (br_postfix, iface_bridge)) openvswitch_start() neutron_plugin_openvswitch_agent_start()
def configure_rescue_image(uuid=None): stop() utils.set_option(NOVA_COMPUTE_CONF, 'rescue_image_id', uuid) start()
def configure_ml2_plugin_vlan(iface_bridge='eth1', br_postfix='eth1', vlan_start='1', vlan_end='4094', mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema='neutron'): # TODO Fix that when ml2-neutron-plugin will be added in icehouse sudo('mkdir -p /etc/neutron/plugins/ml2') sudo('ln -s %s %s' %(OVS_PLUGIN_CONF, ML2_PLUGIN_CONF)) sudo('echo "''" > %s' % OVS_PLUGIN_CONF) sudo('echo [ml2] >> %s' % OVS_PLUGIN_CONF) sudo('echo [ml2_type_vlan] >> %s' % OVS_PLUGIN_CONF) sudo('echo [database] >> %s' % OVS_PLUGIN_CONF) sudo('echo [securitygroup] >> %s' % OVS_PLUGIN_CONF) sudo('echo [agent] >> %s' % OVS_PLUGIN_CONF) # ML2 section utils.set_option(OVS_PLUGIN_CONF, 'tenant_network_types', 'vlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'type_drivers', 'local,flat,vlan,gre,vxlan', section='ml2') utils.set_option(OVS_PLUGIN_CONF, 'mechanism_drivers', 'openvswitch,linuxbridge', section='ml2') # ml2_type_vlan section utils.set_option(OVS_PLUGIN_CONF, 'network_vlan_ranges', 'physnet1:%s:%s' % (vlan_start, vlan_end), section='ml2_type_vlan') # database section utils.set_option(OVS_PLUGIN_CONF, 'connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username), section='database') # security group section utils.set_option(OVS_PLUGIN_CONF, 'firewall_driver', 'neutron.agent.linux.iptables_firewall.' 'OVSHybridIptablesFirewallDriver', section='securitygroup') # agent section utils.set_option(OVS_PLUGIN_CONF, 'root_helper', 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf', section='agent') with settings(warn_only=True): sudo('ovs-vsctl del-br br-int') sudo('ovs-vsctl add-br br-int') with settings(warn_only=True): sudo('ovs-vsctl del-br br-%s' % br_postfix) sudo('ovs-vsctl add-br br-%s' % br_postfix) sudo('ovs-vsctl add-port br-%s %s' % (br_postfix, iface_bridge)) openvswitch_start() neutron_plugin_openvswitch_agent_start()
def set_config_file(mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema_designate ='designate', mysql_schema_powerdns ='powerdns', user='******', password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', tenant='service', rabbit_host='localhost', rabbit_password='******'): utils.set_option(DESIGNATE_CONF, 'service:api', 'auth_strategy', 'keystone') utils.set_option(DESIGNATE_CONF, 'service:api', 'enabled_extensions_v1', 'diagnostics, quotas, reports, sync') utils.set_option(DESIGNATE_CONF, 'admin_tenant_name', tenant, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'admin_user', user, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'admin_password', password, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_host', auth_host, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_port', auth_port, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_protocol', auth_protocol, section='keystone_authtoken') auth_uri = 'http://' + auth_host + ':5000/v2.0' utils.set_option(DESIGNATE_CONF, 'auth_uri', auth_uri, section='keystone_authtoken') utils.set_option(DESIGNATE_CONF, 'auth_strategy', 'keystone', section='[service:api]') utils.set_option(DESIGNATE_CONF, 'backend_driver', 'powerdns', section='service:central') utils.set_option(DESIGNATE_CONF, 'database_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema_designate, mysql_username), section='storage:sqlalchemy') utils.set_option(DESIGNATE_CONF, 'database_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema_powerdns, mysql_username), section='backend:powerdns') utils.set_option(DESIGNATE_CONF, 'rabbit_host', rabbit_host) utils.set_option(DESIGNATE_CONF, 'rabbit_password', rabbit_password) utils.set_option(DESIGNATE_CONF, 'notification_driver', 'designate.openstack.common.notifier.rpc_notifier') utils.set_option(DESIGNATE_CONF, 'notification_topics', 'notifications,monitor') with settings(warn_only = True): sudo('designate-manage database-init') sudo('designate-manage database-sync') with settings(warn_only = True): sudo('designate-manage powerdns database-init') sudo('designate-manage powerdns database-sync') #PowerDNS configuration utils.modify_property(POWERDNS_CONF, 'launch', 'gmysql') utils.modify_property(POWERDNS_CONF, 'gmysql-host', mysql_host) utils.modify_property(POWERDNS_CONF, 'gmysql-port', mysql_port) utils.modify_property(POWERDNS_CONF, 'gmysql-dbname', mysql_schema_powerdns) utils.modify_property(POWERDNS_CONF, 'gmysql-user', mysql_username) utils.modify_property(POWERDNS_CONF, 'gmysql-password', mysql_password) utils.modify_property(POWERDNS_CONF, 'gmysql-dnssec', 'yes')
def configure_swift_store(auth_uri='https://' 'identity.api.rackspacecloud.com/v2.0', swift_store_user='******', swift_store_password='******', swift_store_container='glance'): utils.set_option(GLANCE_API_CONFIG, 'default_store', 'swift') utils.set_option(GLANCE_API_CONFIG, 'swift_store_auth_version', '2') utils.set_option(GLANCE_API_CONFIG, 'swift_store_auth_address', auth_uri) utils.set_option(GLANCE_API_CONFIG, 'swift_store_user', swift_store_user) utils.set_option(GLANCE_API_CONFIG, 'swift_store_key', swift_store_password) utils.set_option(GLANCE_API_CONFIG, 'swift_store_container', swift_store_container) utils.set_option(GLANCE_API_CONFIG, 'swift_store_create_container_on_put', 'True') utils.set_option(GLANCE_API_CONFIG, 'swift_store_large_object_size', '5120') utils.set_option(GLANCE_API_CONFIG, 'swift_store_large_object_chunk_size', '1024') utils.set_option(GLANCE_API_CONFIG, 'swift_enable_snet', 'False') start()
def set_config_file(service_user='******', service_tenant_name='service', service_pass='******',auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', rabbit_password='******',rabbit_host='127.0.0.1',external_network_bridge = 'br-ex'): utils.set_option(QUANTUM_API_PASTE_CONF,'admin_tenant_name',service_tenant_name,section='filter:authtoken') utils.set_option(QUANTUM_API_PASTE_CONF,'admin_user',service_user,section='filter:authtoken') utils.set_option(QUANTUM_API_PASTE_CONF,'admin_password',service_pass,section='filter:authtoken') utils.set_option(QUANTUM_API_PASTE_CONF,'auth_host',auth_host,section='filter:authtoken') utils.set_option(QUANTUM_API_PASTE_CONF,'auth_port',auth_port,section='filter:authtoken') utils.set_option(QUANTUM_API_PASTE_CONF,'auth_protocol',auth_protocol,section='filter:authtoken') utils.set_option(QUANTUM_CONF,'fake_rabbit','False') utils.set_option(QUANTUM_CONF,'rabbit_password',rabbit_password) utils.set_option(QUANTUM_CONF,'rabbit_host',rabbit_host) utils.set_option(QUANTUM_CONF,'notification_driver', 'quantum.openstack.common.notifier.rabbit_notifier') utils.set_option(QUANTUM_CONF,'notification_topics', 'notifications,monitor') utils.set_option(QUANTUM_CONF,'default_notification_level', 'INFO') utils.set_option(QUANTUM_CONF,'external_network_bridge', external_network_bridge) utils.set_option(QUANTUM_CONF,'allow_overlapping_ips', "True") quantum_server_start()
def configure_l3_agent(service_user='******', service_tenant_name='service', service_pass='******', admin_user='******', admin_tenant_name='admin',admin_pass='******',auth_url='http://localhost:35357/v2.0',metadata_ip='127.0.0.1',region='RegionOne',metadata_port='8775'): router_id = get_router_id('provider-router', admin_user, admin_tenant_name, admin_pass, auth_url) utils.set_option(L3_AGENT_CONF,'debug','True') utils.set_option(L3_AGENT_CONF,'interface_driver','quantum.agent.linux.interface.OVSInterfaceDriver') utils.set_option(L3_AGENT_CONF,'auth_url',auth_url) utils.set_option(L3_AGENT_CONF,'auth_region',region) utils.set_option(L3_AGENT_CONF,'admin_tenant_name',service_tenant_name) utils.set_option(L3_AGENT_CONF,'admin_user',service_user) utils.set_option(L3_AGENT_CONF,'admin_password',service_pass) utils.set_option(L3_AGENT_CONF,'root_helper','sudo quantum-rootwrap /etc/quantum/rootwrap.conf') utils.set_option(L3_AGENT_CONF,'metadata_ip',metadata_ip) utils.set_option(L3_AGENT_CONF,'metadata_port',metadata_port) utils.set_option(L3_AGENT_CONF,'use_namespaces','False') utils.set_option(L3_AGENT_CONF,'router_id',router_id) utils.set_option(L3_AGENT_CONF,'handle_internal_only_routers','True') utils.set_option(L3_AGENT_CONF,'polling_interval','3') quantum_l3_agent_start()
def set_config_file(user='******', password='******', auth_host='127.0.0.1', auth_port='35357', auth_protocol='http', mysql_username='******', mysql_password='******', mysql_host='127.0.0.1', mysql_port='3306', mysql_schema='cinder', tenant='service', rabbit_password='******', rabbit_host='localhost', iscsi_ip_address='127.0.0.1'): utils.set_option(CINDER_CONF, 'rootwrap_config', '/etc/cinder/rootwrap.conf') utils.set_option(CINDER_CONF, 'auth_strategy', 'keystone') utils.set_option(CINDER_CONF, 'iscsi_helper', 'tgtadm') utils.set_option(CINDER_CONF, 'rpc_backend', 'cinder.openstack.common.rpc.impl_kombu') utils.set_option(CINDER_CONF, 'rabbit_password', rabbit_password) utils.set_option(CINDER_CONF, 'rabbit_host', rabbit_host) utils.set_option( CINDER_CONF, 'sql_connection', utils.sql_connect_string(mysql_host, mysql_password, mysql_port, mysql_schema, mysql_username)) utils.set_option(CINDER_CONF, 'verbose', 'true') utils.set_option(CINDER_CONF, 'api_paste_config', '/etc/cinder/api-paste.ini') utils.set_option(CINDER_CONF, 'volume_group', 'cinder-volumes') utils.set_option(CINDER_CONF, 'iscsi_ip_address', iscsi_ip_address) utils.set_option(CINDER_CONF, 'log_dir', '/var/log/cinder') utils.set_option(CINDER_CONF, 'notification_driver', 'cinder.openstack.common.notifier.rpc_notifier') utils.set_option(CINDER_CONF, 'notification_topics', 'notifications,monitor') utils.set_option(CINDER_CONF, 'default_notification_level', 'INFO') # Check storage types, TODO: Add more storages types ''' utils.set_option(CINDER_CONF, 'scheduler_driver', 'cinder.scheduler.filter_scheduler.FilterScheduler') utils.set_option(CINDER_API_PASTE_CONF, 'admin_tenant_name', tenant, section='filter:authtoken') utils.set_option(CINDER_API_PASTE_CONF, 'admin_user', user, section='filter:authtoken') utils.set_option(CINDER_API_PASTE_CONF, 'admin_password', password, section='filter:authtoken') utils.set_option(CINDER_API_PASTE_CONF, 'auth_host', auth_host, section='filter:authtoken') utils.set_option(CINDER_API_PASTE_CONF, 'auth_port', auth_port, section='filter:authtoken') utils.set_option(CINDER_API_PASTE_CONF, 'auth_protocol', auth_protocol, section='filter:authtoken') auth_uri = 'http://' + auth_host + ':5000/v2.0' utils.set_option(CINDER_API_PASTE_CONF, 'auth_uri', auth_uri, section='filter:authtoken')
def configure_lvm_storage(name='nova-volume', sparse='False'): utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_images_type', 'lvm') utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_images_volume_group', name) utils.set_option(NOVA_COMPUTE_CONF, 'libvirt_sparse_logical_volumes', sparse) start()