Exemplo n.º 1
0
 def tempest_config_folsom(self, image_ref, image_ref_alt,
                           path_to_private_key,
                           compute_db_uri='mysql://*****:*****@localhost/nova'):
     sample = load(
         root('fuel_test', 'config', 'tempest.conf.folsom.sample'))
     config = sample % {
         'IDENTITY_USE_SSL': 'false',
         'IDENTITY_HOST': self.public_ip,
         'IDENTITY_PORT': '5000',
         'IDENTITY_API_VERSION': 'v2.0',
         'IDENTITY_PATH': 'tokens',
         'IDENTITY_STRATEGY': 'keystone',
         'COMPUTE_ALLOW_TENANT_ISOLATION': 'true',
         'COMPUTE_ALLOW_TENANT_REUSE': 'true',
         'USERNAME': '******',
         'PASSWORD': '******',
         'TENANT_NAME': 'tenant1',
         'ALT_USERNAME': '******',
         'ALT_PASSWORD': '******',
         'ALT_TENANT_NAME': 'tenant2',
         'IMAGE_ID': image_ref,
         'IMAGE_ID_ALT': image_ref_alt,
         'FLAVOR_REF': '1',
         'FLAVOR_REF_ALT': '2',
         'COMPUTE_BUILD_INTERVAL': '10',
         'COMPUTE_BUILD_TIMEOUT': '600',
         'RUN_SSH': 'false',
         'NETWORK_FOR_SSH': 'novanetwork',
         'COMPUTE_CATALOG_TYPE': 'compute',
         'COMPUTE_CREATE_IMAGE_ENABLED': 'true',
         'COMPUTE_RESIZE_AVAILABLE': 'true',
         'COMPUTE_CHANGE_PASSWORD_AVAILABLE': 'false',
         'COMPUTE_LOG_LEVEL': 'DEBUG',
         'COMPUTE_WHITEBOX_ENABLED': 'true',
         'COMPUTE_SOURCE_DIR': '/opt/stack/nova',
         'COMPUTE_CONFIG_PATH': '/etc/nova/nova.conf',
         'COMPUTE_BIN_DIR': '/usr/local/bin',
         'COMPUTE_PATH_TO_PRIVATE_KEY': path_to_private_key,
         'COMPUTE_DB_URI': compute_db_uri,
         'IMAGE_CATALOG_TYPE': 'image',
         'IMAGE_API_VERSION': '1',
         'IMAGE_HOST': self.public_ip,
         'IMAGE_PORT': '9292',
         'IMAGE_USERNAME': '******',
         'IMAGE_PASSWORD': '******',
         'IMAGE_TENANT_NAME': 'tenant1',
         'COMPUTE_ADMIN_USERNAME': ADMIN_USERNAME,
         'COMPUTE_ADMIN_PASSWORD': ADMIN_PASSWORD,
         'COMPUTE_ADMIN_TENANT_NAME': ADMIN_TENANT_FOLSOM,
         'IDENTITY_ADMIN_USERNAME': ADMIN_USERNAME,
         'IDENTITY_ADMIN_PASSWORD': ADMIN_PASSWORD,
         'IDENTITY_ADMIN_TENANT_NAME': ADMIN_TENANT_FOLSOM,
         'VOLUME_CATALOG_TYPE': 'volume',
         'VOLUME_BUILD_INTERVAL': '10',
         'VOLUME_BUILD_TIMEOUT': '300',
         'NETWORK_CATALOG_TYPE': 'network',
         'NETWORK_API_VERSION': 'v2.0',
     }
     return config
Exemplo n.º 2
0
 def setup_agent_nodes(self, nodes):
     agent_config = load(root("fuel_test", "config", "puppet.agent.config"))
     for node in nodes:
         if node.name != "master":
             remote = node.remote("public", login="******", password="******")
             self.add_nodes_to_hosts(remote, self.environment().nodes)
             setup_puppet_client(remote)
             write_config(remote, "/etc/puppet/puppet.conf", agent_config)
             request_cerificate(remote)
Exemplo n.º 3
0
 def setup_agent_nodes(self, nodes):
     agent_config = load(root('fuel_test', 'config', 'puppet.agent.config'))
     for node in nodes:
         if node.name != 'master':
             remote = node.remote('public', login='******', password='******')
             self.add_nodes_to_hosts(remote, self.environment().nodes)
             setup_puppet_client(remote)
             write_config(remote, '/etc/puppet/puppet.conf', agent_config)
             request_cerificate(remote)
Exemplo n.º 4
0
 def prepare_tempest_folsom(self):
     image_ref, image_ref_alt = self.make_tempest_objects()
     self.tempest_write_config(
         self.tempest_config_folsom(
             image_ref=image_ref,
             image_ref_alt=image_ref_alt,
             path_to_private_key=root('fuel_test', 'config', 'ssh_keys',
                                      'openstack'),
             compute_db_uri='mysql://*****:*****@%s/nova' % self.ci().internal_virtual_ip()
         ))
Exemplo n.º 5
0
 def generate_swift_manifest(self, controllers, proxies=None):
     template = Template(
         root('deployment', 'puppet', 'swift', 'examples', 'site.pp'))
     template.replace(
         swift_proxy_address=proxies[0].get_ip_address_by_network_name(
             'internal'),
         controller_node_public=controllers[0].
         get_ip_address_by_network_name('public'),
     )
     return template
Exemplo n.º 6
0
 def setup_agent_nodes(self, nodes):
     agent_config = load(
         root('fuel_test', 'config', 'puppet.agent.config'))
     for node in nodes:
         if node.name != 'master':
             remote = node.remote('public', login='******',
                 password='******')
             self.add_nodes_to_hosts(remote, self.environment().nodes)
             setup_puppet_client(remote)
             write_config(remote, '/etc/puppet/puppet.conf', agent_config)
             request_cerificate(remote)
Exemplo n.º 7
0
 def prepare_tempest_grizzly_simple(self):
     image_ref, image_ref_alt, net_id, router_id = self.make_tempest_objects()
     self.tempest_write_config(
         self.tempest_config_grizzly(
             image_ref=image_ref,
             image_ref_alt=image_ref_alt,
             public_network_id=net_id,
             public_router_id=router_id,
             path_to_private_key=root('fuel_test', 'config', 'ssh_keys',
                                      'openstack'),
             compute_db_uri='mysql://*****:*****@%s/nova' % self.internal_ip
         ))
Exemplo n.º 8
0
 def generate_swift_manifest(self, controllers,
                          proxies=None):
     template = Template(
         root('deployment', 'puppet', 'swift', 'examples',
             'site.pp'))
     template.replace(
         swift_proxy_address=proxies[0].get_ip_address_by_network_name(
             'internal'),
         controller_node_public=controllers[
                                0].get_ip_address_by_network_name(
             'public'),
     )
     return template
Exemplo n.º 9
0
 def generate_cobbler_manifest(self, ci, cobblers):
     site_pp = Template(root('deployment', 'puppet', 'cobbler', 'examples', 'server_site.pp'))
     cobbler = cobblers[0]
     cobbler_address = cobbler.get_ip_address_by_network_name('internal')
     network = IPNetwork(ci.environment().network_by_name('internal').ip_network)
     self.replace = site_pp.replace(server=cobbler_address,
         name_server=cobbler_address,
         next_server=cobbler_address,
         dhcp_start_address=network[5],
         dhcp_end_address=network[-1],
         dhcp_netmask=network.netmask,
         dhcp_gateway=network[1],
         pxetimeout='3000',
         mirror_type=self.mirror_type(),
     )
Exemplo n.º 10
0
 def tempest_config_essex(self, image_ref, image_ref_alt):
     sample = load(
         root('fuel_test', 'config', 'tempest.conf.essex.sample'))
     config = sample % {
         'HOST': self.public_ip,
         'USERNAME': '******',
         'PASSWORD': '******',
         'TENANT_NAME': 'tenant1',
         'ALT_USERNAME': '******',
         'ALT_PASSWORD': '******',
         'ALT_TENANT_NAME': 'tenant2',
         'IMAGE_ID': image_ref,
         'IMAGE_ID_ALT': image_ref_alt,
         'ADMIN_USERNAME': ADMIN_USERNAME,
         'ADMIN_PASSWORD': ADMIN_PASSWORD,
         'ADMIN_TENANT_NAME': ADMIN_TENANT_ESSEX,
     }
     return config
Exemplo n.º 11
0
 def generate_cobbler_manifest(self, ci, cobblers):
     site_pp = Template(
         root('deployment', 'puppet', 'cobbler', 'examples',
              'server_site.pp'))
     cobbler = cobblers[0]
     cobbler_address = cobbler.get_ip_address_by_network_name('internal')
     network = IPNetwork(
         ci.environment().network_by_name('internal').ip_network)
     self.replace = site_pp.replace(
         server=cobbler_address,
         name_server=cobbler_address,
         next_server=cobbler_address,
         dhcp_start_address=network[5],
         dhcp_end_address=network[-1],
         dhcp_netmask=network.netmask,
         dhcp_gateway=network[1],
         pxetimeout='3000',
         mirror_type=self.mirror_type(),
     )
Exemplo n.º 12
0
 def write_openstack_single_manifest(self, remote, ci,
                                     use_syslog=True,
                                     quantum=True,
                                     cinder=True):
     template = Template(
         root(
             'deployment', 'puppet', 'openstack', 'examples',
             'site_openstack_single.pp')).replace(
         floating_range=self.floating_network(ci, quantum),
         fixed_range=self.fixed_network(ci, quantum),
         public_interface=self.public_interface(),
         private_interface=self.private_interface(),
         mirror_type=self.mirror_type(),
         use_syslog=use_syslog,
         cinder=cinder,
         ntp_servers=['pool.ntp.org',ci.internal_router()],
         quantum=quantum,
         enable_test_repo = TEST_REPO,
     )
     self.write_manifest(remote, template)
Exemplo n.º 13
0
 def write_openstack_simple_manifest(self, remote, ci, controllers,
                                     use_syslog=True,
                                     quantum=True,
                                     cinder=True, cinder_on_computes=False):
     template = Template(
         root(
             'deployment', 'puppet', 'openstack', 'examples',
             'site_openstack_simple.pp')).replace(
         floating_range=self.floating_network(ci, quantum),
         fixed_range=self.fixed_network(ci, quantum),
         public_interface=self.public_interface(),
         internal_interface=self.internal_interface(),
         private_interface=self.private_interface(),
         mirror_type=self.mirror_type(),
         #controller_node_address=controllers[0].get_ip_address_by_network_name('internal'),
         #controller_node_public=controllers[0].get_ip_address_by_network_name('public'),
         cinder=cinder,
         cinder_on_computes=cinder_on_computes,
         nv_physical_volume=self.physical_volumes(),
         nagios_master = controllers[0].name + '.your-domain-name.com',
         external_ipinfo=self.external_ip_info(ci, controllers),
         nodes=self.generate_nodes_configs_list(ci),
         dns_nameservers=self.generate_dns_nameservers_list(ci),
         ntp_servers=['pool.ntp.org',ci.internal_router()],
         default_gateway=ci.public_router(),
         enable_test_repo=TEST_REPO,
         deployment_id = self.deployment_id(ci),
         use_syslog=use_syslog,
         public_netmask = ci.public_net_mask(),
         internal_netmask = ci.internal_net_mask(),
     )
     if is_not_essex():
         template.replace(
             quantum=quantum,
             quantum_netnode_on_cnt=quantum,
         )
     self.write_manifest(remote, template)
Exemplo n.º 14
0
 def tempest_config_grizzly(self, image_ref, image_ref_alt, public_network_id, public_router_id,
                           path_to_private_key,
                           compute_db_uri='mysql://*****:*****@localhost/nova'):
     sample = load(
         root('fuel_test', 'config', 'tempest.conf.grizzly.sample'))
     config = sample % {
         'IDENTITY_CATALOG_TYPE': 'identity',
         'IDENTITY_DISABLE_SSL_CHECK': 'true',
         'IDENTITY_USE_SSL': 'false',
         'IDENTITY_URI': 'http://%s:5000/v2.0/' % self.public_ip,
         'IDENTITY_REGION': 'RegionOne',
         'IDENTITY_HOST': self.public_ip,
         'IDENTITY_PORT': '5000',
         'IDENTITY_API_VERSION': 'v2.0',
         'IDENTITY_PATH': 'tokens',
         'IDENTITY_STRATEGY': 'keystone',
         'COMPUTE_ALLOW_TENANT_ISOLATION': 'true',
         'COMPUTE_ALLOW_TENANT_REUSE': 'true',
         'USERNAME': '******',
         'PASSWORD': '******',
         'TENANT_NAME': 'tenant1',
         'ALT_USERNAME': '******',
         'ALT_PASSWORD': '******',
         'ALT_TENANT_NAME': 'tenant2',
         'IMAGE_ID': image_ref,
         'IMAGE_ID_ALT': image_ref_alt,
         'FLAVOR_REF': '1',
         'FLAVOR_REF_ALT': '1', # skip flavor '2' which provides 20Gb ephemerals and lots of RAM...
         'COMPUTE_BUILD_INTERVAL': '10',
         'COMPUTE_BUILD_TIMEOUT': '600',
         'RUN_SSH': 'true',
         'NETWORK_FOR_SSH': 'net04', # todo use private instead of floating?
         'SSH_USER': '******',
         'LIVE_MIGRATION': 'true',
         'USE_BLOCKMIG_FOR_LIVEMIG' : 'true',
         'COMPUTE_CATALOG_TYPE': 'compute',
         'COMPUTE_CREATE_IMAGE_ENABLED': 'true',
         'COMPUTE_RESIZE_AVAILABLE': 'false', # not supported with QEMU...
         'COMPUTE_CHANGE_PASSWORD_AVAILABLE': 'false',
         'COMPUTE_LOG_LEVEL': 'ERROR',
         'COMPUTE_WHITEBOX_ENABLED': 'true',
         'COMPUTE_SOURCE_DIR': '/opt/stack/nova',
         'COMPUTE_CONFIG_PATH': '/etc/nova/nova.conf',
         'COMPUTE_BIN_DIR': '/usr/local/bin',
         'COMPUTE_PATH_TO_PRIVATE_KEY': path_to_private_key,
         'COMPUTE_DB_URI': compute_db_uri,
         'IMAGE_CATALOG_TYPE': 'image',
         'IMAGE_API_VERSION': '1',
         'IMAGE_HOST': self.public_ip,
         'IMAGE_PORT': '9292',
         'IMAGE_USERNAME': '******',
         'IMAGE_PASSWORD': '******',
         'IMAGE_TENANT_NAME': 'tenant1',
         'ADMIN_USER_NAME': ADMIN_USERNAME,
         'ADMIN_PASSWORD': ADMIN_PASSWORD,
         'ADMIN_TENANT_NAME': ADMIN_TENANT_FOLSOM,
         'IDENTITY_ADMIN_USERNAME': ADMIN_USERNAME,
         'IDENTITY_ADMIN_PASSWORD': ADMIN_PASSWORD,
         'IDENTITY_ADMIN_TENANT_NAME': ADMIN_TENANT_FOLSOM,
         'COMPUTE_ADMIN_USERNAME': ADMIN_USERNAME,
         'COMPUTE_ADMIN_PASSWORD': ADMIN_PASSWORD,
         'COMPUTE_ADMIN_TENANT_NAME': ADMIN_TENANT_FOLSOM,
         'IDENTITY_ADMIN_USERNAME': ADMIN_USERNAME,
         'IDENTITY_ADMIN_PASSWORD': ADMIN_PASSWORD,
         'IDENTITY_ADMIN_TENANT_NAME': ADMIN_TENANT_FOLSOM,
         'VOLUME_CATALOG_TYPE': 'volume',
         'VOLUME_BUILD_INTERVAL': '15',
         'VOLUME_BUILD_TIMEOUT': '400',
         'NETWORK_CATALOG_TYPE': 'network',
         'NETWORK_API_VERSION': 'v2.0',
         'QUANTUM': 'true',
         'TENANT_NETS_REACHABLE': 'false',
         'TENANT_NETWORK_CIDR': '192.168.112.0/24', # choose do not overlap with 'net04'
         'TENANT_NETWORK_MASK_BITS': '28', # 29 is too less to test quantum quotas (at least 50 ips needed)
         'PUBLIC_NETWORK_ID': public_network_id,
         'PUBLIC_ROUTER_ID': public_router_id,
     }
     return config
Exemplo n.º 15
0
 def stomp(cls):
     return cls(root('deployment', 'puppet', 'mcollective', 'examples', 'site.pp'))
Exemplo n.º 16
0
 def compact(cls):
     return cls(root('deployment', 'puppet', 'openstack', 'examples',
                     'site_openstack_ha_compact.pp'),
                deployment_mode='ha_compact')
Exemplo n.º 17
0
 def stomp(cls):
     return cls(
         root('deployment', 'puppet', 'mcollective', 'examples', 'site.pp'))
Exemplo n.º 18
0
 def nagios(cls):
     return cls(
         root('deployment', 'puppet', 'nagios', 'examples', 'master.pp'))
Exemplo n.º 19
0
 def full(cls):
     return cls(root('deployment', 'puppet', 'openstack', 'examples',
                     'site_openstack_ha_full.pp'),
                deployment_mode='ha_full')
Exemplo n.º 20
0
 def single(cls):
     return cls(
         root('deployment', 'puppet', 'openstack', 'examples',
              'site_openstack_single.pp'))
Exemplo n.º 21
0
 def tempest_write_config(self, config):
     with open(root('..', 'tempest.conf'), 'w') as f:
         f.write(config)
Exemplo n.º 22
0
 def prepare_tempest_folsom_minimal(self):
     self.make_shared_storage()
     template = root("fuel_test", "config", "tempest.conf.folsom.sample")
     self.prepare.prepare_tempest_folsom(template)
Exemplo n.º 23
0
 def prepare_tempest_essex_minimal(self):
     self.make_shared_storage()
     template = root("fuel_test", "config", "tempest.conf.essex.sample")
     self.prepare.prepare_tempest_essex(template)
Exemplo n.º 24
0
 def prepare_tempest_folsom_minimal(self):
     self.make_shared_storage()
     template = root('fuel_test', 'config', 'tempest.conf.folsom.sample')
     self.prepare.prepare_tempest_folsom(template)
Exemplo n.º 25
0
 def nagios(cls):
     return cls(root('deployment', 'puppet', 'nagios', 'examples', 'master.pp'))
Exemplo n.º 26
0
 def compact(cls):
     return cls(root('deployment', 'puppet', 'openstack', 'examples', 'site_openstack_ha_compact.pp'),
                deployment_mode='ha_compact')
Exemplo n.º 27
0
 def full(cls):
     return cls(root('deployment', 'puppet', 'openstack', 'examples', 'site_openstack_ha_full.pp'),
                deployment_mode='ha_full')
Exemplo n.º 28
0
 def minimal(cls):
     return cls(root('deployment', 'puppet', 'openstack', 'examples',
         'site_openstack_ha_minimal.pp'))
Exemplo n.º 29
0
 def single(cls):
     return cls(
         root(
             'deployment', 'puppet', 'openstack', 'examples',
             'site_openstack_single.pp'))
Exemplo n.º 30
0
 def prepare_tempest_essex_minimal(self):
     self.make_shared_storage()
     template = root('fuel_test', 'config', 'tempest.conf.essex.sample')
     self.prepare.prepare_tempest_essex(template)