You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2020/01/10 05:57:17 UTC

[GitHub] [airflow] dimberman opened a new pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

dimberman opened a new pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123
 
 
   ---
   Issue link: WILL BE INSERTED BY [boring-cyborg](https://github.com/kaxil/boring-cyborg)
   The KubernetesExecutor was only able to delete worker pods in its own namespace. This PR will match delete commands to the namespace of the pod.
    
   - [ ] Description above provides context of the change
   - [ ] Commit message/PR title starts with `[AIRFLOW-NNNN]`. AIRFLOW-NNNN = JIRA ID<sup>*</sup>
   - [ ] Unit tests coverage for changes (not needed for documentation changes)
   - [ ] Commits follow "[How to write a good git commit message](http://chris.beams.io/posts/git-commit/)"
   - [ ] Relevant documentation is updated including usage instructions.
   - [ ] I will engage committers as explained in [Contribution Workflow Example](https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#contribution-workflow-example).
   
   <sup>*</sup> For document-only changes commit message can start with `[AIRFLOW-XXXX]`.
   
   ---
   In case of fundamental code change, Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)) is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in [UPDATING.md](https://github.com/apache/airflow/blob/master/UPDATING.md).
   Read the [Pull Request Guidelines](https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#pull-request-guidelines) for more information.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] codecov-io edited a comment on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
codecov-io edited a comment on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#issuecomment-583900405
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=h1) Report
   > Merging [#7123](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=desc) into [master](https://codecov.io/gh/apache/airflow/commit/d12001a1645f694d0f22ed786071246286f69b2e?src=pr&el=desc) will **increase** coverage by `0.3%`.
   > The diff coverage is `55.55%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/airflow/pull/7123/graphs/tree.svg?width=650&token=WdLKlKHOAU&height=150&src=pr)](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=tree)
   
   ```diff
   @@            Coverage Diff            @@
   ##           master    #7123     +/-   ##
   =========================================
   + Coverage    86.5%   86.81%   +0.3%     
   =========================================
     Files         887      893      +6     
     Lines       41976    42188    +212     
   =========================================
   + Hits        36312    36624    +312     
   + Misses       5664     5564    -100
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=tree) | Coverage Δ | |
   |---|---|---|
   | [...example\_dags/example\_kubernetes\_executor\_config.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGFtcGxlX2RhZ3MvZXhhbXBsZV9rdWJlcm5ldGVzX2V4ZWN1dG9yX2NvbmZpZy5weQ==) | `75% <100%> (+2.77%)` | :arrow_up: |
   | [airflow/executors/kubernetes\_executor.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGVjdXRvcnMva3ViZXJuZXRlc19leGVjdXRvci5weQ==) | `56.8% <50%> (ø)` | :arrow_up: |
   | [airflow/utils/file.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy91dGlscy9maWxlLnB5) | `87.83% <0%> (-1.36%)` | :arrow_down: |
   | [airflow/models/baseoperator.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9tb2RlbHMvYmFzZW9wZXJhdG9yLnB5) | `96.52% <0%> (ø)` | :arrow_up: |
   | [airflow/api/client/\_\_init\_\_.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9hcGkvY2xpZW50L19faW5pdF9fLnB5) | `100% <0%> (ø)` | :arrow_up: |
   | [airflow/models/dag.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9tb2RlbHMvZGFnLnB5) | `91.29% <0%> (ø)` | :arrow_up: |
   | [airflow/example\_dags/example\_xcom.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGFtcGxlX2RhZ3MvZXhhbXBsZV94Y29tLnB5) | `51.72% <0%> (ø)` | :arrow_up: |
   | [airflow/\_\_init\_\_.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9fX2luaXRfXy5weQ==) | `100% <0%> (ø)` | :arrow_up: |
   | [...low/example\_dags/example\_trigger\_controller\_dag.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGFtcGxlX2RhZ3MvZXhhbXBsZV90cmlnZ2VyX2NvbnRyb2xsZXJfZGFnLnB5) | `100% <0%> (ø)` | :arrow_up: |
   | [airflow/models/connection.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9tb2RlbHMvY29ubmVjdGlvbi5weQ==) | `95.07% <0%> (ø)` | :arrow_up: |
   | ... and [29 more](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree-more) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=footer). Last update [d12001a...43387c5](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] dimberman commented on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
dimberman commented on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#issuecomment-572887183
 
 
   Also I honestly forgot what an absolute pleasure typing systems are :). Being able to have highlights of typing errors make handling large code bases SO much easier. #python3.7forthewin

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] codecov-io commented on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
codecov-io commented on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#issuecomment-583900405
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=h1) Report
   > Merging [#7123](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=desc) into [master](https://codecov.io/gh/apache/airflow/commit/9e09fa3c94e6bab98d9557ef2c3a341249d5f746?src=pr&el=desc) will **increase** coverage by `53.56%`.
   > The diff coverage is `50%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/airflow/pull/7123/graphs/tree.svg?width=650&token=WdLKlKHOAU&height=150&src=pr)](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=tree)
   
   ```diff
   @@             Coverage Diff             @@
   ##           master    #7123       +/-   ##
   ===========================================
   + Coverage   32.92%   86.49%   +53.56%     
   ===========================================
     Files         871      871               
     Lines       40660    40660               
   ===========================================
   + Hits        13389    35169    +21780     
   + Misses      27271     5491    -21780
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=tree) | Coverage Δ | |
   |---|---|---|
   | [airflow/executors/kubernetes\_executor.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGVjdXRvcnMva3ViZXJuZXRlc19leGVjdXRvci5weQ==) | `57.66% <50%> (+39.95%)` | :arrow_up: |
   | [airflow/bin/airflow](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9iaW4vYWlyZmxvdw==) | `84.61% <0%> (ø)` | :arrow_up: |
   | [airflow/plugins\_manager.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9wbHVnaW5zX21hbmFnZXIucHk=) | `86.95% <0%> (+0.72%)` | :arrow_up: |
   | [airflow/bin/cli.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9iaW4vY2xpLnB5) | `94.73% <0%> (+2.1%)` | :arrow_up: |
   | [airflow/exceptions.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGNlcHRpb25zLnB5) | `100% <0%> (+3.57%)` | :arrow_up: |
   | [airflow/utils/decorators.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy91dGlscy9kZWNvcmF0b3JzLnB5) | `90.47% <0%> (+4.76%)` | :arrow_up: |
   | [airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==) | `92.25% <0%> (+5.63%)` | :arrow_up: |
   | [...roviders/google/cloud/operators/postgres\_to\_gcs.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9wcm92aWRlcnMvZ29vZ2xlL2Nsb3VkL29wZXJhdG9ycy9wb3N0Z3Jlc190b19nY3MucHk=) | `52.94% <0%> (+5.88%)` | :arrow_up: |
   | [airflow/www/forms.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy93d3cvZm9ybXMucHk=) | `100% <0%> (+8%)` | :arrow_up: |
   | [airflow/utils/timeout.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy91dGlscy90aW1lb3V0LnB5) | `75% <0%> (+8.33%)` | :arrow_up: |
   | ... and [737 more](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree-more) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=footer). Last update [9e09fa3...0b9dc34](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] kaxil commented on a change in pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
kaxil commented on a change in pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#discussion_r382954798
 
 

 ##########
 File path: airflow/executors/kubernetes_executor.py
 ##########
 @@ -344,27 +348,33 @@ def process_error(self, event: Any) -> str:
             (raw_object['reason'], raw_object['code'], raw_object['message'])
         )
 
-    def process_status(self, pod_id: str, status: str, labels: Dict[str, str], resource_version: str) -> None:
+    def process_status(self, pod_id: str,
+                       namespace: str,
+                       status: str,
+                       labels:
 
 Review comment:
   ```suggestion
                          labels: Dict[str, str]
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] kaxil commented on a change in pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
kaxil commented on a change in pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#discussion_r382989994
 
 

 ##########
 File path: airflow/executors/kubernetes_executor.py
 ##########
 @@ -344,27 +348,32 @@ def process_error(self, event: Any) -> str:
             (raw_object['reason'], raw_object['code'], raw_object['message'])
         )
 
-    def process_status(self, pod_id: str, status: str, labels: Dict[str, str], resource_version: str) -> None:
+    def process_status(self, pod_id: str,
+                       namespace: str,
+                       status: str,
+                       labels: Dict[str, str]
 
 Review comment:
   ```suggestion
                          labels: Dict[str, str],
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] dimberman merged pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
dimberman merged pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123
 
 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] dimberman commented on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
dimberman commented on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#issuecomment-572886583
 
 
   So I'm thinking for testing we create a second namespace in the k8s cluster and put a worker in it. @potiuk what do you think? Would that be potentially intrusive for local users?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] kaxil commented on a change in pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
kaxil commented on a change in pull request #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#discussion_r382954805
 
 

 ##########
 File path: airflow/executors/kubernetes_executor.py
 ##########
 @@ -344,27 +348,33 @@ def process_error(self, event: Any) -> str:
             (raw_object['reason'], raw_object['code'], raw_object['message'])
         )
 
-    def process_status(self, pod_id: str, status: str, labels: Dict[str, str], resource_version: str) -> None:
+    def process_status(self, pod_id: str,
+                       namespace: str,
+                       status: str,
+                       labels:
+                       Dict[str, str],
 
 Review comment:
   ```suggestion
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [airflow] codecov-io edited a comment on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace

Posted by GitBox <gi...@apache.org>.
codecov-io edited a comment on issue #7123: [AIRFLOW-6062] Executor would only delete workers in its own namespace
URL: https://github.com/apache/airflow/pull/7123#issuecomment-583900405
 
 
   # [Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=h1) Report
   > Merging [#7123](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=desc) into [master](https://codecov.io/gh/apache/airflow/commit/9e09fa3c94e6bab98d9557ef2c3a341249d5f746?src=pr&el=desc) will **increase** coverage by `53.66%`.
   > The diff coverage is `50%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/airflow/pull/7123/graphs/tree.svg?width=650&token=WdLKlKHOAU&height=150&src=pr)](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=tree)
   
   ```diff
   @@             Coverage Diff             @@
   ##           master    #7123       +/-   ##
   ===========================================
   + Coverage   32.92%   86.59%   +53.66%     
   ===========================================
     Files         871      871               
     Lines       40660    40660               
   ===========================================
   + Hits        13389    35208    +21819     
   + Misses      27271     5452    -21819
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=tree) | Coverage Δ | |
   |---|---|---|
   | [airflow/executors/kubernetes\_executor.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGVjdXRvcnMva3ViZXJuZXRlc19leGVjdXRvci5weQ==) | `57.66% <50%> (+39.95%)` | :arrow_up: |
   | [airflow/bin/airflow](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9iaW4vYWlyZmxvdw==) | `84.61% <0%> (ø)` | :arrow_up: |
   | [airflow/plugins\_manager.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9wbHVnaW5zX21hbmFnZXIucHk=) | `86.95% <0%> (+0.72%)` | :arrow_up: |
   | [airflow/bin/cli.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9iaW4vY2xpLnB5) | `94.73% <0%> (+2.1%)` | :arrow_up: |
   | [airflow/exceptions.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9leGNlcHRpb25zLnB5) | `100% <0%> (+3.57%)` | :arrow_up: |
   | [airflow/utils/decorators.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy91dGlscy9kZWNvcmF0b3JzLnB5) | `90.47% <0%> (+4.76%)` | :arrow_up: |
   | [airflow/kubernetes/pod\_launcher.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL3BvZF9sYXVuY2hlci5weQ==) | `92.25% <0%> (+5.63%)` | :arrow_up: |
   | [airflow/www/forms.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy93d3cvZm9ybXMucHk=) | `100% <0%> (+8%)` | :arrow_up: |
   | [airflow/utils/timeout.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy91dGlscy90aW1lb3V0LnB5) | `75% <0%> (+8.33%)` | :arrow_up: |
   | [airflow/kubernetes/kube\_client.py](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree#diff-YWlyZmxvdy9rdWJlcm5ldGVzL2t1YmVfY2xpZW50LnB5) | `85.71% <0%> (+8.57%)` | :arrow_up: |
   | ... and [738 more](https://codecov.io/gh/apache/airflow/pull/7123/diff?src=pr&el=tree-more) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=footer). Last update [9e09fa3...0b9dc34](https://codecov.io/gh/apache/airflow/pull/7123?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services