Example #1
0
 def create_servers(self):
     servers = []
     for endpoint in self.credentials:
         servers.append(provider.Server(host=endpoint['host'],
                                        user=endpoint['user'],
                                        key=endpoint.get('key'),
                                        password=endpoint.get('password'),
                                        port=endpoint.get('port', 22)))
     return servers
Example #2
0
 def create_servers(self):
     servers = []
     for endpoint in self.credentials:
         servers.append(
             provider.Server(host=endpoint["host"],
                             user=endpoint["user"],
                             key=endpoint.get("key"),
                             password=endpoint.get("password"),
                             port=endpoint.get("port", 22)))
     return servers
Example #3
0
    def create_servers(self):
        """Create VMs with chosen image."""

        image_uuid = self.get_image_uuid()
        userdata = self.get_userdata()
        flavor = self.config['flavor_id']
        nics = self.get_nics()

        keypair, public_key_path = self.create_keypair()

        os_servers = []
        for i in range(self.config.get('amount', 1)):
            name = "%s-%d" % (self.config['deployment_name'], i)
            server = self.nova.servers.create(name,
                                              image_uuid,
                                              flavor,
                                              nics=nics,
                                              key_name=keypair.name,
                                              userdata=userdata)
            os_servers.append(server)
            self.resources.create({'id': server.id}, type=SERVER_TYPE)

        kwargs = {
            'is_ready': benchmark_utils.resource_is("ACTIVE"),
            'update_resource': benchmark_utils.get_from_manager(),
            'timeout': 120,
            'check_interval': 5
        }

        for os_server in os_servers:
            benchmark_utils.wait_for(os_server, **kwargs)
        servers = [
            provider.Server(host=s.addresses.values()[0][0]['addr'],
                            user='******',
                            key=public_key_path) for s in os_servers
        ]
        for s in servers:
            s.ssh.wait(timeout=120, interval=5)

        # NOTE(eyerediskin): usually ssh is ready much earlier then cloud-init
        time.sleep(8)
        return servers
Example #4
0
    def create_vm(self, vm_name):
        """Clone prebuilt VM template and start it."""

        virt_url = self._get_virt_connection_url(self.config['connection'])
        cmd = 'virt-clone --connect=%(url)s -o %(t)s -n %(n)s --auto-clone' % {
            't': self.config['template_name'],
            'n': vm_name,
            'url': virt_url
        }
        subprocess.check_call(cmd, shell=True)

        cmd = 'virsh --connect=%s start %s' % (virt_url, vm_name)
        subprocess.check_call(cmd, shell=True)
        self.resources.create({'name': vm_name})

        return provider.Server(
            self._determine_vm_ip(vm_name),
            self.config['template_user'],
            password=self.config.get('template_password'),
        )
Example #5
0
    def create_vm(self, vm_name):
        """Clone prebuilt VM template and start it."""

        virt_url = self._get_virt_connection_url(self.config["connection"])
        cmd = "virt-clone --connect=%(url)s -o %(t)s -n %(n)s --auto-clone" % {
            "t": self.config["template_name"],
            "n": vm_name,
            "url": virt_url
        }
        subprocess.check_call(cmd, shell=True)

        cmd = "virsh --connect=%s start %s" % (virt_url, vm_name)
        subprocess.check_call(cmd, shell=True)
        self.resources.create({"name": vm_name})

        return provider.Server(
            self._determine_vm_ip(vm_name),
            self.config["template_user"],
            password=self.config.get("template_password"),
        )
Example #6
0
 def test_credentials(self):
     server_one = provider.Server(*self.vals)
     creds = server_one.get_credentials()
     server_two = provider.Server.from_credentials(creds)
     for k in self.keys:
         self.assertEqual(getattr(server_one, k), getattr(server_two, k))
Example #7
0
 def test_init_server_dto(self):
     server = provider.Server(*self.vals)
     for k, v in six.iteritems(dict(zip(self.keys, self.vals))):
         self.assertEqual(getattr(server, k), v)
     self.assertIsInstance(server.ssh, sshutils.SSH)