[SSSD] [sssd PR#793][+Accepted] ci: improve Jenkinsfile and add Fedora 30

2019-06-07 Thread thalman
  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

2019-06-07 Thread pbrezina
  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

2019-06-07 Thread sumit-bose
  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

2019-06-07 Thread thalman
  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

2019-06-07 Thread jhrozek
  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

2019-06-07 Thread pbrezina
  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

2019-06-07 Thread mzidek-rh
  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

2019-06-07 Thread pbrezina
   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

2019-06-07 Thread pbrezina
   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

2019-06-07 Thread thalman
  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