Пример #1
0
 def get_cloudbaseinit_traceback(self):
     code = util.get_resource('windows/get_traceback.ps1')
     remote_script = "C:\\{}.ps1".format(util.rand_name())
     with _create_tempfile(content=code) as tmp:
         self.remote_client.copy_file(tmp, remote_script)
         stdout = self.remote_client.run_command_verbose(
             remote_script, command_type=util.POWERSHELL)
         return stdout.strip()
Пример #2
0
 def get_user_flags(self, user):
     code = util.get_resource('windows/get_user_flags.ps1')
     remote_script = "C:\\{}.ps1".format(util.rand_name())
     with _create_tempfile(content=code) as tmp:
         self.remote_client.copy_file(tmp, remote_script)
         stdout = self.remote_client.run_command_verbose(
             "powershell {0} {1}".format(remote_script, user))
         return stdout.strip()
Пример #3
0
 def get_cloudbaseinit_traceback(self):
     code = util.get_resource('windows/get_traceback.ps1')
     remote_script = "C:\\{}.ps1".format(util.rand_name())
     with _create_tempfile(content=code) as tmp:
         self.remote_client.copy_file(tmp, remote_script)
         stdout = self.remote_client.run_command_verbose(
             "powershell " + remote_script)
         return stdout.strip()
Пример #4
0
 def get_cloudbaseinit_traceback(self):
     code = util.get_resource('windows/get_traceback.ps1')
     remote_script = "C:\\{}.ps1".format(util.rand_name())
     with _create_tempfile(content=code) as tmp:
         self.remote_client.copy_file(tmp, remote_script)
         stdout = self.remote_client.run_command_verbose(
             remote_script,
             command_type=util.POWERSHELL_SCRIPT_REMOTESIGNED)
         return stdout.strip()
Пример #5
0
 def get_user_flags(self, user):
     code = util.get_resource('windows/get_user_flags.ps1')
     remote_script = "C:\\{}.ps1".format(util.rand_name())
     with _create_tempfile(content=code) as tmp:
         self.remote_client.copy_file(tmp, remote_script)
         stdout = self.remote_client.run_command_verbose(
             "{0} {1}".format(remote_script, user),
             command_type=util.POWERSHELL_SCRIPT_BYPASS)
         return stdout.strip()
Пример #6
0
 def _create_server(self, wait_until='ACTIVE', **kwargs):
     server = self._manager.servers_client.create_server(
         name=util.rand_name(self._name) + "-instance",
         imageRef=self.image_ref,
         flavorRef=self.flavor_ref,
         **kwargs)
     waiters.wait_for_server_status(
         self._manager.servers_client, server['server']['id'], wait_until)
     return server['server']
Пример #7
0
 def _create_server(self, wait_until='ACTIVE', **kwargs):
     for key, value in list(kwargs.items()):
         if not value:
             del kwargs[key]
     server = self._manager.servers_client.create_server(
         name=util.rand_name(self._name) + "-instance",
         imageRef=self.image_ref,
         flavorRef=self.flavor_ref,
         **kwargs)
     waiters.wait_for_server_status(self._manager.servers_client,
                                    server['server']['id'], wait_until)
     return server['server']
Пример #8
0
    def _create_security_groups(self):
        sg_name = util.rand_name(self.__class__.__name__)
        sg_desc = sg_name + " description"
        secgroup = self._manager.security_groups_client.create_security_group(
            name=sg_name, description=sg_desc)['security_group']

        # Add rules to the security group.
        for rule in self._add_security_group_exceptions(secgroup['id']):
            self._security_groups_rules.append(rule['id'])
        self._manager.servers_client.add_security_group(
            server_id=self.internal_instance_id(), name=secgroup['name'])
        return secgroup
 def _create_server(self, wait_until='ACTIVE', **kwargs):
     for key, value in list(kwargs.items()):
         if not value:
             del kwargs[key]
     server = self._manager.servers_client.create_server(
         name=util.rand_name(self._name) + "-instance",
         imageRef=self.image_ref,
         flavorRef=self.flavor_ref,
         **kwargs)
     waiters.wait_for_server_status(
         self._manager.servers_client, server['server']['id'], wait_until)
     return server['server']
Пример #10
0
    def _create_security_groups(self):
        sg_name = util.rand_name(self.__class__.__name__)
        sg_desc = sg_name + " description"
        secgroup = self._manager.security_groups_client.create_security_group(
            name=sg_name, description=sg_desc)['security_group']

        # Add rules to the security group.
        for rule in self._add_security_group_exceptions(secgroup['id']):
            self._security_groups_rules.append(rule['id'])
        self._manager.servers_client.add_security_group(
            server_id=self.internal_instance_id(),
            name=secgroup['name'])
        return secgroup
Пример #11
0
    def _create_private_network(self):
        """Create an extra private network to be attached.

        This network is the one with disabled DHCP and
        ready for static configuration by Cloudbase-Init.
        """
        tenant_id = self._manager.primary_credentials().tenant_id
        # pylint: disable=protected-access
        net_resources = self._manager.isolated_creds._create_network_resources(
            tenant_id)

        # Store the network for later cleanup.
        key = "fake"
        fake_net_creds = util.get_namedtuple(
            "FakeCreds",
            ("network", "subnet", "router",
             "user_id", "tenant_id", "username", "tenant_name"),
            net_resources + (None,) * 4)
        self._manager.isolated_creds._creds[key] = fake_net_creds

        # Disable DHCP for this network to test static configuration and
        # also add default DNS name servers.
        subnet_id = fake_net_creds.subnet["id"]
        subnets_client = self._manager.subnets_client
        subnets_client.update_subnet(
            subnet_id, enable_dhcp=False,
            dns_nameservers=CONFIG.argus.dns_nameservers)

        # Change the allocation pool to configure any IP,
        # other the one used already with dynamic settings.
        allocation_pools = subnets_client.show_subnet(subnet_id)["subnet"][
            "allocation_pools"]
        allocation_pools[0]["start"] = util.next_ip(
            allocation_pools[0]["start"], step=2)
        subnets_client.update_subnet(subnet_id,
                                     allocation_pools=allocation_pools)

        # Create and attach an IPv6 subnet for this network. Also, register
        # it for later cleanup.
        subnet6_name = util.rand_name(self.__class__.__name__) + "-subnet6"
        network_id = fake_net_creds.network["id"]
        subnets_client.create_subnet(
            network_id=network_id,
            cidr=SUBNET6_CIDR,
            name=subnet6_name,
            dns_nameservers=DNSES6,
            tenant_id=tenant_id,
            enable_dhcp=False,
            ip_version=6)
Пример #12
0
    def _create_private_network(self):
        """Create an extra private network to be attached.

        This network is the one with disabled DHCP and
        ready for static configuration by Cloudbase-Init.
        """
        tenant_id = self._manager.primary_credentials().tenant_id
        # pylint: disable=protected-access
        net_resources = self._manager.isolated_creds._create_network_resources(
            tenant_id)

        # Store the network for later cleanup.
        key = "fake"
        fake_net_creds = util.get_namedtuple(
            "FakeCreds", ("network", "subnet", "router", "user_id",
                          "tenant_id", "username", "tenant_name"),
            net_resources + (None, ) * 4)
        self._manager.isolated_creds._creds[key] = fake_net_creds

        # Disable DHCP for this network to test static configuration and
        # also add default DNS name servers.
        subnet_id = fake_net_creds.subnet["id"]
        subnets_client = self._manager.subnets_client
        subnets_client.update_subnet(
            subnet_id,
            enable_dhcp=False,
            dns_nameservers=CONFIG.argus.dns_nameservers)

        # Change the allocation pool to configure any IP,
        # other the one used already with dynamic settings.
        allocation_pools = subnets_client.show_subnet(
            subnet_id)["subnet"]["allocation_pools"]
        allocation_pools[0]["start"] = util.next_ip(
            allocation_pools[0]["start"], step=2)
        subnets_client.update_subnet(subnet_id,
                                     allocation_pools=allocation_pools)

        # Create and attach an IPv6 subnet for this network. Also, register
        # it for later cleanup.
        subnet6_name = util.rand_name(self.__class__.__name__) + "-subnet6"
        network_id = fake_net_creds.network["id"]
        subnets_client.create_subnet(network_id=network_id,
                                     cidr=SUBNET6_CIDR,
                                     name=subnet6_name,
                                     dns_nameservers=DNSES6,
                                     tenant_id=tenant_id,
                                     enable_dhcp=False,
                                     ip_version=6)