[SSSD] [sssd PR#793][+Accepted] ci: improve Jenkinsfile and add Fedora 30
URL: https://github.com/SSSD/sssd/pull/793 Title: #793: ci: improve Jenkinsfile and add Fedora 30 Label: +Accepted ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org
[SSSD] [sssd PR#793][comment] ci: improve Jenkinsfile and add Fedora 30
URL: https://github.com/SSSD/sssd/pull/793 Title: #793: ci: improve Jenkinsfile and add Fedora 30 pbrezina commented: """ The review process takes too long here. Either someone look at these changes or please, given it changes only Jenkinsfile and related scripts, push it without a review (@jhrozek). This way we are missing the good stuff these commits brings to the project, such as running the full set of tests and actually seeing test-suite.log which was not previously archived. * current master is failing on rawhide: https://s3.eu-central-1.amazonaws.com/sssd-ci/PR-793/2/fedora-rawhide/test-suite.log """ See the full comment at https://github.com/SSSD/sssd/pull/793#issuecomment-499863284 ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org
[SSSD] [sssd PR#820][comment] ad: delete domains disabled through ad_enabled_domains from cache
URL: https://github.com/SSSD/sssd/pull/820 Title: #820: ad: delete domains disabled through ad_enabled_domains from cache sumit-bose commented: """ > Ok, I managed to setup trust with the child domain (it was necessary to > change client's hostname because it was already enrolled to the root domain) > and it works correctly. > > There is one corner case when the master domain is the only enabled domain, > we hit `ad_subdomains.c:1837` and the subdomains are not refresh. @sumit-bose > Is it OK to recursively delete all cached subdomains (including the root > domian) here? Or should it be only disabled? Hi, I think it would be more elegant to just set the disable flag for the domain object in the cache. But iirc when starting with an empty cache we do not create a domain object if the domain is not listed in ad_enabled_domains, only for the forest root and I guess for the domain we are joined to as well. In this case it might be more consistent to just remove the domain and only set disable flag for the forest root and the domain we are joined to. bye, Sumit """ See the full comment at https://github.com/SSSD/sssd/pull/820#issuecomment-499856160 ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org
[SSSD] [sssd PR#709][+Accepted] Regex fails if there's a whitespace before option name
URL: https://github.com/SSSD/sssd/pull/709 Title: #709: Regex fails if there's a whitespace before option name Label: +Accepted ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org
[SSSD] [sssd PR#709][comment] Regex fails if there's a whitespace before option name
URL: https://github.com/SSSD/sssd/pull/709 Title: #709: Regex fails if there's a whitespace before option name jhrozek commented: """ Can either of you set +Accepted so I can push the patch? """ See the full comment at https://github.com/SSSD/sssd/pull/709#issuecomment-499847578 ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org
[SSSD] [sssd PR#820][comment] ad: delete domains disabled through ad_enabled_domains from cache
URL: https://github.com/SSSD/sssd/pull/820 Title: #820: ad: delete domains disabled through ad_enabled_domains from cache pbrezina commented: """ Ok, I managed to setup trust with the child domain (it was necessary to change client's hostname because it was already enrolled to the root domain) and it works correctly. There is one corner case when the master domain is the only enabled domain, we hit `ad_subdomains.c:1837` and the subdomains are not refresh. @sumit-bose Is it OK to recursively delete all cached subdomains (including the root domian) here? Or should it be only disabled? """ See the full comment at https://github.com/SSSD/sssd/pull/820#issuecomment-499843260 ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org
[SSSD] [sssd PR#709][comment] Regex fails if there's a whitespace before option name
URL: https://github.com/SSSD/sssd/pull/709 Title: #709: Regex fails if there's a whitespace before option name mzidek-rh commented: """ @thalman Thanks, you are correct, with the multiline feature suppressed the patch is safe. """ See the full comment at https://github.com/SSSD/sssd/pull/709#issuecomment-499838415 ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org
[SSSD] [sssd PR#793][synchronized] ci: improve Jenkinsfile and add Fedora 30
URL: https://github.com/SSSD/sssd/pull/793 Author: pbrezina Title: #793: ci: improve Jenkinsfile and add Fedora 30 Action: synchronized To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/793/head:pr793 git checkout pr793 From 95aed7a58c1fee4e58b9ae7780f871dfb0e23cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= Date: Wed, 20 Mar 2019 12:52:52 +0100 Subject: [PATCH 1/6] ci: do not fail everything when one distro fails Currently if test on one distribution fails, it will trigger the failure branch in post block of all stages. This is a known issue and we must work around it. --- Jenkinsfile | 75 + 1 file changed, 58 insertions(+), 17 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 653c08cfec..a70674e189 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,19 @@ +/** + * Workaround for https://issues.jenkins-ci.org/browse/JENKINS-39203 + * + * At this moment if one stage in parallel block fails, failure branch in + * post block is run in all stages even though they might have been successful. + * + * We remember result of test stages in this variable so we can correctly + * report a success or error even if one of the stages that are run in + * parallel failed. + */ +def ci_result = [:] + +/** + * Remember that the build failed because one of the untrusted files were + * modified. + */ def untrusted = false pipeline { @@ -13,6 +29,7 @@ pipeline { GH_SUCCESS = "Success." GH_PENDING = "Build is pending." GH_FAILURE = "Build failed." +GH_ABORTED = "Aborted." GH_URL = "https://pagure.io/SSSD/sssd"; AWS_BASE = "https://s3.eu-central-1.amazonaws.com/sssd-ci"; SUITE_DIR = "$BASE_DIR/sssd-test-suite" @@ -51,18 +68,26 @@ pipeline { steps { githubNotify status: 'PENDING', context: "$GH_CONTEXT", description: "$GH_PENDING", targetUrl: "$GH_URL" sh '$RUN "$WORKSPACE/sssd" "$SUITE_DIR" "$WORKSPACE/artifacts/$TEST_SYSTEM" "$CONFIG"' +script { + ci_result[env.TEST_SYSTEM] = "success" +} } post { always { archiveArtifacts artifacts: "artifacts/**", allowEmptyArchive: true sh '$ARCHIVE $TEST_SYSTEM $WORKSPACE/artifacts/$TEST_SYSTEM $NAME' sh 'rm -fr "$WORKSPACE/artifacts/$TEST_SYSTEM"' + + script { +if (ci_result[env.TEST_SYSTEM] == "success") { + githubNotify status: 'SUCCESS', context: "$GH_CONTEXT", description: "$GH_SUCCESS", targetUrl: "$GH_URL" +} else { + githubNotify status: 'FAILURE', context: "$GH_CONTEXT", description: "$GH_FAILURE", targetUrl: "$GH_URL" +} + } } -failure { - githubNotify status: 'FAILURE', context: "$GH_CONTEXT", description: "$GH_FAILURE", targetUrl: "$GH_URL" -} -success { - githubNotify status: 'SUCCESS', context: "$GH_CONTEXT", description: "$GH_SUCCESS", targetUrl: "$GH_URL" +aborted { + githubNotify status: 'ERROR', context: "$GH_CONTEXT", description: "$GH_ABORTED", targetUrl: "$GH_URL" } } } @@ -77,18 +102,26 @@ pipeline { steps { githubNotify status: 'PENDING', context: "$GH_CONTEXT", description: "$GH_PENDING", targetUrl: "$GH_URL" sh '$RUN "$WORKSPACE/sssd" "$SUITE_DIR" "$WORKSPACE/artifacts/$TEST_SYSTEM" "$CONFIG"' +script { + ci_result[env.TEST_SYSTEM] = "success" +} } post { always { archiveArtifacts artifacts: "artifacts/**", allowEmptyArchive: true sh '$ARCHIVE $TEST_SYSTEM $WORKSPACE/artifacts/$TEST_SYSTEM $NAME' sh 'rm -fr "$WORKSPACE/artifacts/$TEST_SYSTEM"' + + script { +if (ci_result[env.TEST_SYSTEM] == "success") { + githubNotify status: 'SUCCESS', context: "$GH_CONTEXT", description: "$GH_SUCCESS", targetUrl: "$GH_URL" +} else { + githubNotify status: 'FAILURE', context: "$GH_CONTEXT", description: "$GH_FAILURE", targetUrl: "$GH_URL" +} + } } -failure { - githubNotify status: 'FAILURE', context: "$GH_CONTEXT", description: "$GH_FAILURE", targetUrl: "$GH_URL" -} -success { - githubNotify status: 'SUCCESS', context: "$GH_CONTEXT", description: "$GH_SUCCESS", targetUrl: "$GH_URL" +aborted { + githubNotify status: 'ERROR', context: "$GH_CONTEXT", description: "$GH_ABORTED", targetUrl: "$GH_URL" } } } @@ -103,18 +136,26 @@ pipeline { steps { githubNotify status: 'PENDING', context: "$GH_CONTEXT",
[SSSD] [sssd PR#796][synchronized] ci: enable sssd-ci for 1-16 branch
URL: https://github.com/SSSD/sssd/pull/796 Author: pbrezina Title: #796: ci: enable sssd-ci for 1-16 branch Action: synchronized To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/796/head:pr796 git checkout pr796 From 9a6cf5f5a3218c378c968cc4932152c7a2614fb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= Date: Fri, 29 Mar 2019 11:10:18 +0100 Subject: [PATCH] ci: enable sssd-ci for 1-16 branch Fedora 28 is the latest version containing 1.16 so I think it is fine to not run the test against Fedora 29+. Besides this change this patch contains files from master without change. --- Jenkinsfile | 235 +++ contrib/test-suite/README.md | 38 + contrib/test-suite/run-client.sh | 37 + contrib/test-suite/run.sh| 100 + 4 files changed, 410 insertions(+) create mode 100644 Jenkinsfile create mode 100644 contrib/test-suite/README.md create mode 100755 contrib/test-suite/run-client.sh create mode 100755 contrib/test-suite/run.sh diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00..092033839a --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,235 @@ +/** + * Remember that the build failed because one of the untrusted files were + * modified. + */ +untrusted = false + +/** + * SSSD CI. + * + * This class hold SSSD CI settings and defines several helper methods + * that helps reducing code duplication. Unfortunately, it does not + * seem to be possible to run those methods directly from the pipeline + * as CI.MethodName() as it produces 'Expected a symbol' error therefore + * functions outside this class scope must be defined as well. These functions + * can be then called directly from the pipeline. + */ +class CI { + /** + * Absolute path to directory that holds the workspace on Jenkins slave. + */ + public static String BaseDir = '/home/fedora' + + /** + * Github status context name that is visible in pull request statuses. + */ + public static String GHContext = 'sssd-ci' + + /** + * URL that will be opened when user clicks on 'details' on 'sssd-ci' status. + */ + public static String GHUrl = 'https://pagure.io/SSSD/sssd' + + /** + * URL that will be opened when user clicks on 'details' on specific + * build status (e.g. sssd-ci/fedora28). + */ + public static String AWS = 'https://s3.eu-central-1.amazonaws.com/sssd-ci' + + /** + * Path to SSSD Test Suite on Jenkins slave. + */ + public static String SuiteDir = this.BaseDir + '/sssd-test-suite' + + /** + * Workaround for https://issues.jenkins-ci.org/browse/JENKINS-39203 + * + * At this moment if one stage in parallel block fails, failure branch in + * post block is run in all stages even though they might have been successful. + * + * We remember result of test stages in this variable so we can correctly + * report a success or error even if one of the stages that are run in + * parallel failed. + */ + public static def Results = [:] + + /** + * Mark build as successfull. + */ + public static def BuildSuccessful(build) { +this.Results[build] = "success" + } + + /** + * Return true if the build was successful. + */ + public static def IsBuildSuccessful(build) { +return this.Results[build] == "success" + } + + /** + * Send commit status to Github for sssd-ci context. + */ + public static def Notify(ctx, status, message) { +ctx.githubNotify status: status, + context: this.GHContext, + description: message, + targetUrl: this.GHUrl + } + + /** + * Send commit status to Github for specific build (e.g. sssd-ci/fedora28). + */ + public static def NotifyBuild(ctx, status, message) { +ctx.githubNotify status: status, + context: String.format('%s/%s', this.GHContext, ctx.env.TEST_SYSTEM), + description: message, + targetUrl: String.format( +'%s/%s/%s/%s/index.html', +this.AWS, +ctx.env.BRANCH_NAME, +ctx.env.BUILD_ID, +ctx.env.TEST_SYSTEM + ) + } + + /** + * Run tests. TEST_SYSTEM environment variable must be defined. + */ + public static def RunTests(ctx) { +this.NotifyBuild(ctx, 'PENDING', 'Build is in progress.') + +ctx.sh String.format( + './sssd/contrib/test-suite/run.sh %s %s %s %s', + "${ctx.env.WORKSPACE}/sssd", + "${this.SuiteDir}", + "${ctx.env.WORKSPACE}/artifacts/${ctx.env.TEST_SYSTEM}", + "${this.BaseDir}/configs/${ctx.env.TEST_SYSTEM}.json" +) + +this.BuildSuccessful(ctx.env.TEST_SYSTEM) + } + + /** + * Archive artifacts and notify Github about build result. + */ + public static def WhenCompleted(ctx) { +ctx.archiveArtifacts artifacts: "artifacts/**", allowEmptyArchive: true +ctx.sh String.format( + "${this.BaseDir}/scripts/archive.sh %s %s %s", + ctx.env.TEST_SYSTEM, + "${ctx.env.WORKSPACE}/artifacts/${ctx.env.TEST_SYSTEM}", + "${ctx.en
[SSSD] [sssd PR#709][comment] Regex fails if there's a whitespace before option name
URL: https://github.com/SSSD/sssd/pull/709 Title: #709: Regex fails if there's a whitespace before option name thalman commented: """ Here is my investigation on this: In sssd we use INI_PARSE_NOWRAP i. e. no multiline items. On the other side we do not use INI_PARSE_NOSPACE so leading space/tab in sssd.conf are allowed. Therefore I think it is fine to merge it. """ See the full comment at https://github.com/SSSD/sssd/pull/709#issuecomment-499821551 ___ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org