Exemplo n.º 1
0
    def write_openstack_manifest(self, remote, template, ci, controllers,
                                 quantums, proxies=None, use_syslog=True,
                                 quantum=True, loopback=True, cinder=True,
                                 cinder_nodes=None, swift=True,
                                 quantum_netnode_on_cnt=True,
                                 ha_provider='pacemaker'):
        if not cinder_nodes: cinder_nodes = ['controller']
        template.replace(
            internal_virtual_ip=ci.internal_virtual_ip(),
            public_virtual_ip=ci.public_virtual_ip(),
            floating_range=self.floating_network(ci, quantum),
            fixed_range=self.fixed_network(ci,quantum),
            mirror_type=self.mirror_type(),
            public_interface=self.public_interface(),
            internal_interface=self.internal_interface(),
            private_interface=self.private_interface(),
            nv_physical_volume=self.physical_volumes(),
            use_syslog=use_syslog,
            cinder=cinder,
            cinder_nodes=cinder_nodes,
            ntp_servers=['pool.ntp.org',ci.internal_router()],
            nagios_master = controllers[0].name + '.your-domain-name.com',
            external_ipinfo=self.external_ip_info(ci, quantums),
            nodes=self.generate_nodes_configs_list(ci),
            dns_nameservers=self.generate_dns_nameservers_list(ci),
            default_gateway=ci.public_router(),
            enable_test_repo=TEST_REPO,
            deployment_id = self.deployment_id(ci),
            public_netmask = ci.public_net_mask(),
            internal_netmask = ci.internal_net_mask(),
        )
        if swift:
            template.replace(swift_loopback=self.loopback(loopback))
        if is_not_essex():
            template.replace(
                quantum=quantum,
                quantum_netnode_on_cnt=quantum_netnode_on_cnt,
                ha_provider=ha_provider,
            )

        self.write_manifest(remote, template)
Exemplo n.º 2
0
 def test_full(self):
     Manifest().write_openstack_manifest(
         remote=self.remote(),
         template=Template.full(),
         ci=self.ci(),
         controllers=self.nodes().controllers,
         proxies=self.nodes().proxies,
         quantums=self.nodes().quantums,
         quantum=True,
     )
     self.validate(self.nodes().controllers[:1], "puppet agent --test 2>&1")
     self.validate(self.nodes().controllers[1:], "puppet agent --test 2>&1")
     self.validate(self.nodes().controllers[:1], "puppet agent --test 2>&1")
     if is_not_essex():
         self.validate(self.nodes().quantums, "puppet agent --test 2>&1")
     self.validate(self.nodes().computes, "puppet agent --test 2>&1")
     self.do(self.nodes().storages, "puppet agent --test 2>&1")
     self.do(self.nodes().storages, "puppet agent --test 2>&1")
     self.do(self.nodes().proxies, "puppet agent --test 2>&1")
     self.validate(self.nodes().storages, "puppet agent --test 2>&1")
     self.validate(self.nodes().proxies, "puppet agent --test 2>&1")
     if CREATE_SNAPSHOTS:
         self.environment().snapshot("full", force=True)
Exemplo n.º 3
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.º 4
0
 def tenant(self):
     if is_not_essex():
         return ADMIN_TENANT_FOLSOM
     return ADMIN_TENANT_ESSEX