def next_page(self, load_page_callback):

        if not self.unlink_from_chef:

            result, messages = self.validate_conf()

            if result == True:
                result, messages = serverconf.setup_server(
                    server_conf=self.server_conf,
                    link_ldap=False,
                    unlink_ldap=False,
                    link_chef=not self.unlink_from_chef,
                    unlink_chef=self.unlink_from_chef
                )

            load_page_callback(LinkToChefResultsPage, {
                'server_conf': self.server_conf,
                'result': result,
                'messages': messages
            })

        else:
            result, messages = serverconf.setup_server(
                server_conf=self.server_conf,
                link_chef=not self.unlink_from_chef,
                unlink_chef=self.unlink_from_chef
            )

            load_page_callback(LinkToChefResultsPage, {
                'result': result,
                'server_conf': self.server_conf,
                'messages': messages
            })
    def next_page(self, load_page_callback):

        hostname = self.ui.txtHostname.get_text()

        if len(hostname) == 0:
            self.show_error(_('The host name cannot be empty.'))
            return

        elif hostname in self.hostnames:
            self.show_error(_('The host name already exists in the Chef server.'))
            return

        self.server_conf.get_chef_conf().set_hostname(hostname)

        result, messages = serverconf.setup_server(
            server_conf=self.server_conf,
            link_ldap=self.link_ldap,
            unlink_ldap=self.unlink_ldap,
            link_chef=self.link_chef,
            unlink_chef=self.unlink_chef
        )

        load_page_callback(LinkToServerResultsPage, {
            'server_conf': self.server_conf,
            'result': result,
            'messages': messages
        })
Exemple #3
0
    def next_page(self, load_page_callback):

        hostname = self.ui.txtHostname.get_text()

        if len(hostname) == 0:
            self.show_error(_('Host name can not be empty.'))
            return

        elif hostname in self.hostnames:
            self.show_error(_('This name already exists in your organization.'))
            return

        self.server_conf.get_chef_conf().set_hostname(hostname)

        result, messages = serverconf.setup_server(
            server_conf=self.server_conf,
            link_ldap=False,
            unlink_ldap=False,
            link_chef=self.link_chef,
            unlink_chef=self.unlink_chef
        )

        load_page_callback(LinkToChefResultsPage, {
            'server_conf': self.server_conf,
            'result': result,
            'messages': messages
        })
    def next_page(self, load_page_callback):
        if self.method == 'ad':
            retval = serverconf.auth_dialog(_('Authentication Required'),
                _('Please, provide administration credentials for the Active Directory.'))
            self.server_conf.get_ad_conf().set_user(retval[0])
            self.server_conf.get_ad_conf().set_passwd(retval[1])

        messages = []

        if self.method == 'ad':
            if not self.server_conf.get_ad_conf().validate():
                messages.append({'type': 'error', 'message': 'Please, check the Active Directory parameters.'})

        else:
            if not self.server_conf.get_ldap_conf().validate():
                messages.append({'type': 'error', 'message': 'Please, check the LDAP parameters.'})

        result = len(messages) == 0
        if result == True:
            result, messages = serverconf.setup_server(
                server_conf=self.server_conf,
                link_ldap=self.link_ldap,
                link_ad=self.link_ad
            )

        load_page_callback(LinkToServerResultsPage, {
            'result': result,
            'server_conf': self.server_conf,
            'messages': messages
         })
Exemple #5
0
    def next_page(self, load_page_callback):

        if self.ui.radioOmit.get_active() or \
            (self.chef_is_configured and not self.ui.chkUnlinkChef.get_active()):
            self.emit('status-changed', 'linkToChef', True)
            load_page_callback(firstboot.pages.localUsers)
            return

        self.show_status()

        try:
            server_conf = None

            if not self.chef_is_configured:

                if self.ui.radioAuto.get_active():
                    url = self.ui.txtUrl.get_text()
                    server_conf = serverconf.get_server_conf(url)

                load_page_callback(LinkToChefConfEditorPage, {
                    'server_conf': server_conf,
                    'chef_is_configured': self.chef_is_configured,
                    'unlink_from_chef': self.ui.chkUnlinkChef.get_active()
                })

            elif self.ui.chkUnlinkChef.get_active():

                result, messages = serverconf.setup_server(
                    server_conf=server_conf,
                    link_chef=False,
                    unlink_chef=True
                )

                load_page_callback(LinkToChefResultsPage, {
                    'result': result,
                    'server_conf': server_conf,
                    'messages': messages
                })

        except serverconf.ServerConfException as e:
            self.show_status(__STATUS_ERROR__, e)

        except Exception as e:
            self.show_status(__STATUS_ERROR__, e)
    def next_page(self, load_page_callback):

        if not self.unlink_from_chef:
            # The unique host name for Chef is mandatory, so we need
            # to ask for it before the setup.

            try:

                if not self.server_conf.get_chef_conf().validate():
                    raise serverconf.ServerConfException(_('The fields are mandatory.'))

                used_hostnames = serverconf.get_chef_hostnames(self.server_conf.get_chef_conf())

                load_page_callback(LinkToChefHostnamePage, {
                    'server_conf': self.server_conf,
                    'link_chef': not self.unlink_from_chef,
                    'unlink_chef': self.unlink_from_chef,
                    'used_hostnames': used_hostnames
                })

            except serverconf.ServerConfException as e:
                messages = [{'type': 'error', 'message': str(e)}]

                load_page_callback(LinkToChefResultsPage, {
                    'result': False,
                    'server_conf': self.server_conf,
                    'messages': messages
                })

        else:
            result, messages = serverconf.setup_server(
                server_conf=self.server_conf,
                link_chef=not self.unlink_from_chef,
                unlink_chef=self.unlink_from_chef
            )

            load_page_callback(LinkToChefResultsPage, {
                'result': result,
                'server_conf': self.server_conf,
                'messages': messages
            })
Exemple #7
0
    def next_page(self, load_page_callback):
        if self.unlink_ldap == True or self.unlink_ad == True:
            server_conf = None
            result, messages = serverconf.setup_server(
                server_conf=server_conf,
                unlink_ldap=self.unlink_ldap,
                unlink_ad=self.unlink_ad
            )

            load_page_callback(LinkToServerResultsPage, {
                'result': result,
                'server_conf': server_conf,
                'messages': messages
            })
            return

        if self.ui.radioNone.get_active() or (self.ldap_is_configured or self.ad_is_configured):
            self.emit('status-changed', 'linkToServer', True)
            load_page_callback(firstboot.pages.linkToChef)
            return

        self.show_status()

        try:
            server_conf = None
            if self.json_cached:
                server_conf = serverconf.get_server_conf(None)

            load_page_callback(LinkToServerConfEditorPage, {
                'server_conf': server_conf,
                'ldap_is_configured': self.ldap_is_configured,
                'auth_method': self.get_auth_method(),
                'ad_is_configured': self.ad_is_configured,
            })

        except serverconf.ServerConfException as e:
            self.show_status(__STATUS_ERROR__, e)

        except Exception as e:
            self.show_status(__STATUS_ERROR__, e)
    def next_page(self, load_page_callback):

        if not self.unlink_from_chef and self.ui.chkChef.get_active():
            # The unique host name for Chef is mandatory, so we need
            # to ask for it before the setup.

            try:
                used_hostnames = serverconf.get_chef_hostnames(self.server_conf.get_chef_conf())

                load_page_callback(
                    LinkToServerHostnamePage,
                    {
                        "server_conf": self.server_conf,
                        "link_ldap": self.ui.chkLDAP.get_active(),
                        "unlink_ldap": self.unlink_from_ldap,
                        "link_chef": self.ui.chkChef.get_active(),
                        "unlink_chef": self.unlink_from_chef,
                        "used_hostnames": used_hostnames,
                    },
                )

            except serverconf.ServerConfException as e:
                messages = [{"type": "error", "message": str(e)}]

                load_page_callback(
                    LinkToServerResultsPage, {"result": False, "server_conf": self.server_conf, "messages": messages}
                )

        else:
            result, messages = serverconf.setup_server(
                server_conf=self.server_conf,
                link_ldap=self.ui.chkLDAP.get_active(),
                unlink_ldap=self.unlink_from_ldap,
                link_chef=self.ui.chkChef.get_active(),
                unlink_chef=self.unlink_from_chef,
            )

            load_page_callback(
                LinkToServerResultsPage, {"result": result, "server_conf": self.server_conf, "messages": messages}
            )