Exemplo n.º 1
0
 def install(cls, mh):
     tasks.install_master(cls.master, setup_dns=True)
     # use master's DNS so nsupdate adds correct IP address for client
     tasks.config_host_resolvconf_with_master_data(
         cls.master, cls.clients[0]
     )
     tasks.install_client(cls.master, cls.clients[0])
Exemplo n.º 2
0
    def install(cls, mh):
        if cls.domain_level is not None:
            domain_level = cls.domain_level
        else:
            domain_level = cls.master.config.domain_level
        tasks.install_topo(cls.topology,
                           cls.master, cls.replicas,
                           cls.clients, domain_level,
                           clients_extra_args=('--mkhomedir',))

        cls.ad = cls.ads[0]
        cls.smbserver = cls.clients[0]
        cls.smbclient = cls.clients[1]
        cls.ad_user = '******'.format(cls.ad_user_login, cls.ad.domain.name)

        tasks.config_host_resolvconf_with_master_data(cls.master,
                                                      cls.smbclient)
        tasks.install_adtrust(cls.master)
        tasks.configure_dns_for_trust(cls.master, cls.ad)
        tasks.configure_windows_dns_for_trust(cls.ad, cls.master)
        tasks.establish_trust_with_ad(cls.master, cls.ad.domain.name,
                                      extra_args=['--two-way=true'])

        tasks.create_active_user(cls.master, cls.ipa_user1,
                                 password=cls.ipa_user1_password)
        tasks.create_active_user(cls.master, cls.ipa_user2,
                                 password=cls.ipa_user2_password)
        # Trigger creation of home directories on the SMB server
        for user in [cls.ipa_user1, cls.ipa_user2, cls.ad_user]:
            tasks.run_command_as_user(cls.smbserver, user, ['stat', '.'])
Exemplo n.º 3
0
    def install(cls, mh):
        tasks.install_master(cls.master, setup_dns=True)
        # use master's DNS so nsupdate adds correct IP address for client
        tasks.config_host_resolvconf_with_master_data(cls.master,
                                                      cls.clients[0])
        tasks.install_client(cls.master, cls.clients[0])

        # time to look into journal logs in
        # test_certmonger_ipa_responder_jsonrpc
        cls.since = time.strftime('%H:%M:%S')
Exemplo n.º 4
0
    def test_setup_teardown(self):
        tasks.install_master(self.master, setup_dns=True)

        tasks.install_replica(self.master, self.replicas[0], setup_ca=False)
        tasks.config_host_resolvconf_with_master_data(self.master,
                                                      self.replicas[0])

        yield

        tasks.uninstall_replica(self.master, self.replicas[0])
        tasks.uninstall_master(self.master)
Exemplo n.º 5
0
    def install(cls, mh):

        # install packages before client install in case of IPA DNS problems
        cls.prepare_acme_client()

        tasks.install_master(cls.master, setup_dns=True)

        tasks.install_client(cls.master, cls.clients[0])
        tasks.config_host_resolvconf_with_master_data(cls.master,
                                                      cls.clients[0])
        tasks.install_replica(cls.master, cls.replicas[0])
        tasks.config_host_resolvconf_with_master_data(cls.master,
                                                      cls.replicas[0])
Exemplo n.º 6
0
    def install(cls, mh):

        cls.prepare_acme_client()

        # install master with external-ca
        result = install_server_external_ca_step1(cls.master)
        assert result.returncode == 0
        root_ca_fname, ipa_ca_fname = tasks.sign_ca_and_transport(
            cls.master, paths.ROOT_IPA_CSR, ROOT_CA, IPA_CA)

        install_server_external_ca_step2(cls.master, ipa_ca_fname,
                                         root_ca_fname)
        tasks.kinit_admin(cls.master)

        tasks.install_client(cls.master, cls.clients[0])
        tasks.config_host_resolvconf_with_master_data(cls.master,
                                                      cls.clients[0])
Exemplo n.º 7
0
    def install(cls, mh):
        # cache the acme service uri
        acme_host = f'{IPA_CA_RECORD}.{cls.master.domain.name}'
        cls.acme_server = f'https://{acme_host}/acme/directory'

        # install packages before client install in case of IPA DNS problems
        if not skip_certbot_tests:
            cls.clients[0].run_command(['dnf', 'install', '-y', 'certbot'])
        if not skip_mod_md_tests:
            cls.clients[0].run_command(['dnf', 'install', '-y', 'mod_md'])

        tasks.install_master(cls.master, setup_dns=True)

        tasks.install_client(cls.master, cls.clients[0])
        tasks.config_host_resolvconf_with_master_data(
            cls.master, cls.clients[0]
        )
Exemplo n.º 8
0
    def install(cls, mh):
        super(TestACME, cls).install(mh)

        # install packages before client install in case of IPA DNS problems
        cls.prepare_acme_client()

        # Each subclass handles its own server installation procedure
        if cls.__name__ != 'TestACME':
            return

        tasks.install_master(cls.master, setup_dns=True)

        tasks.install_client(cls.master, cls.clients[0])
        tasks.config_host_resolvconf_with_master_data(cls.master,
                                                      cls.clients[0])
        tasks.install_replica(cls.master, cls.replicas[0])
        tasks.config_host_resolvconf_with_master_data(cls.master,
                                                      cls.replicas[0])
 def install(cls, mh):
     cls.replica1 = cls.replicas[0]
     cls.replica2 = cls.replicas[1]
     if cls.domain_level is None:
         domain_level = cls.master.config.domain_level
     else:
         domain_level = cls.domain_level
     # Configure /etc/resolv.conf on each replica to use the master as DNS
     # Otherwise ipa-replica-manage re-initialize is unable to
     # resolve the master name
     tasks.config_host_resolvconf_with_master_data(cls.master, cls.replica1)
     tasks.config_host_resolvconf_with_master_data(cls.master, cls.replica2)
     # Configure only master and one replica.
     # Replica is configured without CA
     tasks.install_topo(cls.topology,
                        cls.master, [cls.replica1],
                        cls.clients,
                        domain_level,
                        setup_replica_cas=False)