[MediaWiki-commits] [Gerrit] operations...production-images[master]: Add service-checker image used to test service images

2018-01-18 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/405205 )

Change subject: Add service-checker image used to test service images
..

Add service-checker image used to test service images

Meant to be invoked via `helm test`, this image will provide a generic
way to test the basic functioning of service production images before
pushing them to the registry and promoting them further down the
pipeline.

Change-Id: If3133a71d116d716539dca3482c8a4eda9412d4d
---
A images/service-checker/Dockerfile.template
A images/service-checker/changelog
A images/service-checker/control
3 files changed, 16 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/operations/docker-images/production-images 
refs/changes/05/405205/1

diff --git a/images/service-checker/Dockerfile.template 
b/images/service-checker/Dockerfile.template
new file mode 100644
index 000..ddf1b0a
--- /dev/null
+++ b/images/service-checker/Dockerfile.template
@@ -0,0 +1,7 @@
+FROM {{ "python3-build-stretch" | image_tag }}
+
+ARG 
SRC=git+https://gerrit.wikimedia.org/r/operations/software/service-checker@9f4d310
+
+RUN pip3 install $SRC
+
+ENTRYPOINT ["/usr/local/bin/service-checker-swagger"]
diff --git a/images/service-checker/changelog b/images/service-checker/changelog
new file mode 100644
index 000..d243053
--- /dev/null
+++ b/images/service-checker/changelog
@@ -0,0 +1,5 @@
+service-checker (0.0.1) wikimedia; urgency=medium
+
+  * Initial release with current master branch (9f4d310) of service-checker.
+
+ -- Dan Duvall   Thu, 18 Jan 2018 13:45:06 -0800
diff --git a/images/service-checker/control b/images/service-checker/control
new file mode 100644
index 000..14c7443
--- /dev/null
+++ b/images/service-checker/control
@@ -0,0 +1,4 @@
+Package: service-checker
+Description: A testing tool for swagger-based webservices
+Maintainer: Dan Duvall 
+Depends: python3-build-stretch

-- 
To view, visit https://gerrit.wikimedia.org/r/405205
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If3133a71d116d716539dca3482c8a4eda9412d4d
Gerrit-PatchSet: 1
Gerrit-Project: operations/docker-images/production-images
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/deployment-charts[master]: Include scaffold for service-checker helm tests

2018-01-18 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/405016 )

Change subject: Include scaffold for service-checker helm tests
..

Include scaffold for service-checker helm tests

Service checker will be used to test the basic integrity of services
images before they are promoted to staging.

Change-Id: Ide2da1d279d6cf3ece7a22d195a6c79760592210
---
A _scaffold/templates/tests/test-service-checker.yaml
1 file changed, 14 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/deployment-charts 
refs/changes/16/405016/1

diff --git a/_scaffold/templates/tests/test-service-checker.yaml 
b/_scaffold/templates/tests/test-service-checker.yaml
new file mode 100644
index 000..4e17cb1
--- /dev/null
+++ b/_scaffold/templates/tests/test-service-checker.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: '{{ template "wmf.releasename" . }}-service-checker'
+  annotations:
+"helm.sh/hook": test-success
+spec:
+  containers:
+  - name: '{{ template "wmf.releasename" . }}-service-checker'
+image: "{{ .Values.docker.registry }}/service-checker"
+imagePullPolicy: {{ .Values.docker.pull_policy }}
+args: ["-t", "5", '{{ template "wmf.releasename" . }}', '{{ template 
"wmf.appbaseurl" . }}']
+  dnsPolicy: ClusterFirst
+  restartPolicy: Never

-- 
To view, visit https://gerrit.wikimedia.org/r/405016
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ide2da1d279d6cf3ece7a22d195a6c79760592210
Gerrit-PatchSet: 1
Gerrit-Project: operations/deployment-charts
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations...docker-pkg[master]: Use default SSL CA cert path for https requests

2018-01-11 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/403731 )

Change subject: Use default SSL CA cert path for https requests
..

Use default SSL CA cert path for https requests

Some installations will not have SSL CA certs in /etc/ssl/certs. For
instance, macOS keeps system-wide CA certs in its keychain, and python3
installed from homebrew on macOS will look in /usr/local/etc/ssl/certs.

Change-Id: I73a13c709533468f0eac5b3686835ff63840f230
---
M docker_pkg/builder.py
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/docker-images/docker-pkg 
refs/changes/31/403731/1

diff --git a/docker_pkg/builder.py b/docker_pkg/builder.py
index 3b1d39c..174787a 100644
--- a/docker_pkg/builder.py
+++ b/docker_pkg/builder.py
@@ -49,7 +49,7 @@
 url=url,
 tag=self.image.tag,
 )
-resp = requests.head(manifest_url, proxies=proxies, 
verify='/etc/ssl/certs')
+resp = requests.head(manifest_url, proxies=proxies)
 return (resp.status_code == requests.codes.ok)
 
 def build(self):

-- 
To view, visit https://gerrit.wikimedia.org/r/403731
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I73a13c709533468f0eac5b3686835ff63840f230
Gerrit-PatchSet: 1
Gerrit-Project: operations/docker-images/docker-pkg
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/deployment-charts[master]: Use sed instead of envsubst

2017-12-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/399256 )

Change subject: Use sed instead of envsubst
..

Use sed instead of envsubst

Although sed is never a good first choice, it does seem better than
depending on gettext tools that are not available by default on all
platforms (*cough* macOS).

Change-Id: I4f4ebf5ada33673a967c9bf83cd24db3e5bff399
---
M _scaffold/Chart.yaml
M _scaffold/values.yaml
M create_new_service.sh
3 files changed, 36 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/deployment-charts 
refs/changes/56/399256/1

diff --git a/_scaffold/Chart.yaml b/_scaffold/Chart.yaml
index b9e67c4..f2585a2 100644
--- a/_scaffold/Chart.yaml
+++ b/_scaffold/Chart.yaml
@@ -1,4 +1,4 @@
 apiVersion: v1
 description: A Helm chart for Kubernetes
-name: $SERVICE_NAME
+name: ${SERVICE_NAME}
 version: 0.0.1
diff --git a/_scaffold/values.yaml b/_scaffold/values.yaml
index 737f738..70bfe92 100644
--- a/_scaffold/values.yaml
+++ b/_scaffold/values.yaml
@@ -2,27 +2,27 @@
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
 helm_scaffold_version: 0.1 # This can be useful when backporting fixes.
-namespace: $NAMESPACE
+namespace: ${NAMESPACE}
 docker:
   registry: docker-registry.wikimedia.org
   pull_policy: IfNotPresent
 resources:
   replicas: 1
 main_app:
-  image: $IMAGE_NAME
+  image: ${IMAGE_NAME}
   version: latest # we use latest everywhere in the defaults.
-  port: $PORT
+  port: ${PORT}
   limits:
 cpu: 1
 memory: 400Mi
   liveness_probe:
 httpGet:
   path: /
-  port: $PORT
+  port: ${PORT}
   readiness_probe:
 httpGet:
   path: /
-  port: $PORT
+  port: ${PORT}
 
 logging:
   enabled: false
@@ -36,7 +36,7 @@
   image_version: latest
 service:
   deployment: minikube # valid values are "production" and "minikube"
-  port: $SERVICE_PORT
+  port: ${SERVICE_PORT}
   externalIP: null # you need to define this if "production" is used
 config:
   public: {} # Add here all the keys that can be publicly available as a 
ConfigMap
diff --git a/create_new_service.sh b/create_new_service.sh
index 7a1520e..94fde9f 100755
--- a/create_new_service.sh
+++ b/create_new_service.sh
@@ -1,28 +1,47 @@
 #!/bin/bash
 set -eu
 function fail {
-_msg=shift
-echo $_msg && exit 1
+echo $1 && exit 1
 }
 
+declare -a sargs=()
+
+function subadd {
+local x=$'\001'
+sargs+=(-e "s${x}\\\${$1}${x}$2${x}g")
+}
+
+function subprompt {
+read -r value
+subadd "$1" "$value"
+}
+
+function subst {
+sed "${sargs[@]}" "$1"
+}
 
 function main {
-which envsubst || fail "You need envusbst(1) to run this script; please 
install gettext!"
 echo "Please input the name of the service"
 read -r SERVICE_NAME
+subadd SERVICE_NAME "$SERVICE_NAME"
+
 test -d "charts/${SERVICE_NAME}" && fail "A service named ${SERVICE_NAME} 
already exists, cannot recreate it."
+
 echo "Please input the namespace this service will be deployed to"
-read -r NAMESPACE
+subprompt NAMESPACE
+
 echo "Please input the port the application is listening on"
-read -r PORT
+subprompt PORT
+
 echo "Please input the port this service will be exposed on (dev only)"
-read -r SERVICE_PORT
+subprompt SERVICE_PORT
+
 echo "Please input the docker image to use:"
-read -r IMAGE_NAME
-export SERVICE_NAME NAMESPACE SERVICE_PORT IMAGE_NAME PORT
+subprompt IMAGE_NAME
+
 cp -rp _scaffold/ charts/${SERVICE_NAME}
-cat _scaffold/values.yaml | envsubst > charts/${SERVICE_NAME}/values.yaml
-cat _scaffold/Chart.yaml | envsubst > charts/${SERVICE_NAME}/Chart.yaml
+subst _scaffold/values.yaml > charts/${SERVICE_NAME}/values.yaml
+subst _scaffold/Chart.yaml > charts/${SERVICE_NAME}/Chart.yaml
 echo "You can edit your chart (if needed!) at 
${PWD}/charts/${SERVICE_NAME}"
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/399256
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4f4ebf5ada33673a967c9bf83cd24db3e5bff399
Gerrit-PatchSet: 1
Gerrit-Project: operations/deployment-charts
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] integration/config[master]: Added trigger-service-pipeline jobs

2017-11-13 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/391136 )

Change subject: Added trigger-service-pipeline jobs
..

Added trigger-service-pipeline jobs

Defined two new freestyle jobs that trigger the service-pipeline jobs
using the `trigger-jobs` builder, essentially serving as proxies between
the latter and Gearman. Gearman does not currently support triggering
`project-type: pipeline` jobs directly.

Bug: T177954
Change-Id: I12f16d31da03bfd861a627a158b88b0a32a031e8
---
M jjb/service-pipeline.yaml
M zuul/layout.yaml
2 files changed, 38 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/36/391136/1

diff --git a/jjb/service-pipeline.yaml b/jjb/service-pipeline.yaml
index 239833d..412f332 100644
--- a/jjb/service-pipeline.yaml
+++ b/jjb/service-pipeline.yaml
@@ -1,27 +1,49 @@
-- job: &job-service-pipeline
+- job:
+name: 'trigger-service-pipeline'
+defaults: global
+node: ServicePipelineProduction
+parameters: &service-pipeline-parameters
+  - string: 
+  name: ZUUL_URL
+  - string:
+  name: ZUUL_PROJECT
+  - string:
+  name: ZUUL_COMMIT
+  - string:
+  name: ZUUL_REF
+builders:
+  - trigger-builds:
+- project: service-pipeline
+  current-parameters: true
+  block: true
+  same-node: true
+
+- job:
+name: 'trigger-service-pipeline-test-only'
+defaults: global
+node: DebianJessieDocker
+parameters: *service-pipeline-parameters
+builders:
+  - trigger-builds:
+- project: service-pipeline-test-only
+  current-parameters: true
+  block: true
+  same-node: true
+
+- job:
 name: 'service-pipeline'
 defaults: global
 project-type: pipeline
-parameters:
-  - string: 
-  name: ZUUL_URL
-  default: https://gerrit.wikimedia.org/r
-  - string:
-  name: ZUUL_PROJECT
-  default: mediawiki/services/mathoid
-  - string:
-  name: ZUUL_COMMIT
-  default: ce18f7a9e18cc60b4162506612d2192ac8c2b8d6
-  - string:
-  name: ZUUL_REF
-  default: refs/changes/19/376319/3
+parameters: *service-pipeline-parameters
 dsl: !include-raw:
   - service-pipeline-production.groovy
   - service-pipeline.groovy
 
 - job:
-<<: *job-service-pipeline
 name: 'service-pipeline-test-only'
+defaults: global
+project-type: pipeline
+parameters: *service-pipeline-parameters
 dsl: !include-raw:
   - service-pipeline-test.groovy
   - service-pipeline.groovy
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 5fe6463..f547e5f 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -1237,7 +1237,7 @@
 gate-and-submit-swat: *npm-service-pipeline-gate-and-submit
 experimental:
   - npm-node-6-docker
-  - service-pipeline-test-only
+  - trigger-service-pipeline-test-only
 
   - name: mwgate-npm
 test:

-- 
To view, visit https://gerrit.wikimedia.org/r/391136
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I12f16d31da03bfd861a627a158b88b0a32a031e8
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs/private[master]: Dummy secret config.json for docker-pusher script

2017-10-10 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/383386 )

Change subject: Dummy secret config.json for docker-pusher script
..

Dummy secret config.json for docker-pusher script

Change-Id: I1a428095137600a36598ca145d8169a4dac64413
---
A modules/secret/secrets/docker-pusher/config.json
1 file changed, 7 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/labs/private 
refs/changes/86/383386/1

diff --git a/modules/secret/secrets/docker-pusher/config.json 
b/modules/secret/secrets/docker-pusher/config.json
new file mode 100644
index 000..3fc9199
--- /dev/null
+++ b/modules/secret/secrets/docker-pusher/config.json
@@ -0,0 +1,7 @@
+{
+   "auths": {
+   "docker-registry.wikimedia.org": {
+   "auth": "c2VjcmV0OnNlY3JldA=="
+   }
+   }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/383386
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1a428095137600a36598ca145d8169a4dac64413
Gerrit-PatchSet: 1
Gerrit-Project: labs/private
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] integration/config[master]: WIP service pipeline

2017-09-25 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/380551 )

Change subject: WIP service pipeline
..

WIP service pipeline

Change-Id: I25da99f67f16086fdc7df17341731d103bd0dc32
---
A jjb/service-pipeline.groovy
A jjb/service-pipeline.yaml
2 files changed, 53 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/51/380551/1

diff --git a/jjb/service-pipeline.groovy b/jjb/service-pipeline.groovy
new file mode 100644
index 000..a10d425
--- /dev/null
+++ b/jjb/service-pipeline.groovy
@@ -0,0 +1,48 @@
+node('ServicePipeline') {
+  def dockerRegistry = 'https://docker-registry.wikimedia.org'
+  def dockerCredential = 'wmf-docker-uploader'
+
+  def name
+  def tag
+  def image
+
+  stage('Setup') {
+checkout scm
+name = npmPackageName()
+tag = env.BUILD_ID
+  }
+
+  stage('Build test image') {
+image = build(name, tag, 'test')
+  }
+
+  stage('Test entry point') {
+image.run()
+  }
+
+  stage('Build production image') {
+image = build(name, tag, 'production')
+  }
+
+  stage('Register image') {
+docker.withRegistry(dockerRegistry, dockerCredential) {
+  image.push("staging-$tag")
+}
+  }
+}
+
+def build = { name, tag, variant ->
+  def dockerfile = blubber(variant)
+  docker.build("$name:$tag", "-f $dockerfile .")
+}
+
+String blubber = { variant ->
+  def dockerfile = "Dockerfile.blubber.$variant"
+  sh "blubber deploy/blubber.yaml $variant > $dockerfile"
+  dockerfile
+}
+
+String npmPackageName = {
+  def cmd = 'npm run env | awk -F \'=\' \'$1 == "npm_package_name" { print $2 
}\''
+  sh(returnStdout: true, script: cmd).trim()
+}
diff --git a/jjb/service-pipeline.yaml b/jjb/service-pipeline.yaml
new file mode 100644
index 000..fdcc6a2
--- /dev/null
+++ b/jjb/service-pipeline.yaml
@@ -0,0 +1,5 @@
+- job:
+name: 'service-pipeline'
+defaults: use-remote-zuul-shallow-clone
+project-type: pipeline
+dsl: !include-raw: service-pipeline.groovy

-- 
To view, visit https://gerrit.wikimedia.org/r/380551
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I25da99f67f16086fdc7df17341731d103bd0dc32
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...mathoid[master]: Experimental Blubber and Helm configurations

2017-09-06 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/376319 )

Change subject: Experimental Blubber and Helm configurations
..

Experimental Blubber and Helm configurations

Created a Blubber config for use in proofing the upcoming container
release pipeline. This configuration has been tested against `minikube`
and Docker via `docker-machine` on macOS in the following way. Note that
`docker-machine` was required to test multi-stage builds as the Docker
version bundled with `minikube` is currently too old. Multi-stage builds
require Docker CE >= 17.05.

Prereqs:
 1. Install minikube, helm, docker machine (just docker for linux folk)
 2. Start up minikube or docker machine
 3. (`eval $(minikube docker-env)` or `eval $(docker-machine env)`)
 4. Deploy helm to k8s (minikube only) via `helm init`

Building and deploying development variant (minikube only):
$ blubber deploy/blubber.yaml development | docker build -f - -t 
localhost/mathoid:development .
$ helm install --set image.path=localhost/mathoid:development ./deploy

Building and running test variant (docker machine or via minikube):
$ blubber deploy/blubber.yaml test | docker build -f - -t 
localhost/mathoid:test .
$ docker run localhost/mathoid:test

Building multi-stage production build (docker machine only):
$ blubber deploy/blubber.yaml production | docker build -f - -t 
localhost/mathoid:production .

Change-Id: Icccb0f79785e6112d4086da2d704d26e4144065e
---
M .dockerignore
A deploy/.helmignore
A deploy/Chart.yaml
A deploy/blubber.yaml
A deploy/templates/NOTES.txt
A deploy/templates/_helpers.tpl
A deploy/templates/deployment.yaml
A deploy/templates/ingress.yaml
A deploy/templates/service.yaml
A deploy/values.yaml
10 files changed, 165 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mathoid 
refs/changes/19/376319/1

diff --git a/.dockerignore b/.dockerignore
index 563df11..59eb9ca 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,3 +1,4 @@
 .git
 coverage
 node_modules
+deploy
diff --git a/deploy/.helmignore b/deploy/.helmignore
new file mode 100644
index 000..f0c1319
--- /dev/null
+++ b/deploy/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/deploy/Chart.yaml b/deploy/Chart.yaml
new file mode 100644
index 000..02ce82f
--- /dev/null
+++ b/deploy/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A chart for Mathoid
+name: mathoid
+version: 0.6.4
diff --git a/deploy/blubber.yaml b/deploy/blubber.yaml
new file mode 100644
index 000..0d03f6d
--- /dev/null
+++ b/deploy/blubber.yaml
@@ -0,0 +1,27 @@
+base: docker-registry.wikimedia.org/nodejs-slim
+apt: { packages: [librsvg2-2] }
+runs:
+  in: /srv/service
+  as: runuser
+  uid: 666
+  gid: 666
+  environment: { APP_BASE_PATH: /srv/service }
+
+variants:
+  build:
+base: docker-registry.wikimedia.org/nodejs-devel
+apt: { packages: [librsvg2-dev, git] }
+node: { env: development, dependencies: true }
+  development:
+includes: [build]
+entrypoint: [node, server.js]
+  test:
+includes: [build]
+entrypoint: [npm, test]
+  prep:
+includes: [build]
+node: { env: production }
+  production:
+copies: prep
+node: { env: production }
+entrypoint: [node, server.js]
diff --git a/deploy/templates/NOTES.txt b/deploy/templates/NOTES.txt
new file mode 100644
index 000..d11f00e
--- /dev/null
+++ b/deploy/templates/NOTES.txt
@@ -0,0 +1,17 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.hostname }}
+  http://{{- .Values.ingress.hostname }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o 
jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o 
jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+   You can watch the status of by running 'kubectl get svc -w {{ 
template "fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ 
template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l 
"app={{ template "name" . }

[MediaWiki-commits] [Gerrit] operations/puppet[production]: [DO NOT MERGE] ci-staging: Docker registry for container builds

2017-03-29 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/345422 )

Change subject: [DO NOT MERGE] ci-staging: Docker registry for container builds
..

[DO NOT MERGE] ci-staging: Docker registry for container builds

Docker registry for hosting base and newly built container images. Down the 
road this may not be necessary as Ops has suggested that we may simply be able 
to share their registry, but we need something for testing our Build PoC.

Check hieradata files for values that must be provided via secret
hieradata on the puppetmaster and/or via horizon.

Bug: T161657
Change-Id: I03378f977f671d5a7e4aa54d631056325b31bed0
---
A hieradata/labs/ci-staging/host/ci-staging-docker-registry.yaml
A modules/role/manifests/ci/docker/registry.pp
2 files changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/22/345422/1

diff --git a/hieradata/labs/ci-staging/host/ci-staging-docker-registry.yaml 
b/hieradata/labs/ci-staging/host/ci-staging-docker-registry.yaml
new file mode 100644
index 000..1f79f2f
--- /dev/null
+++ b/hieradata/labs/ci-staging/host/ci-staging-docker-registry.yaml
@@ -0,0 +1,7 @@
+---
+docker::registry::web::allow_push_from: [] # (add to puppetmaster secrets or 
horizon)
+docker::registry::web::docker_password_hash: # [htpasswd compat hash] (add to 
puppetmaster secrets)
+docker::registry::web::docker_username: ci-staging-docker
+docker::registry::web::http_allowed_hosts: [] # (add to puppetmaster secrets 
or horizon)
+docker::registry::web::http_endpoint: true
+docker::registry::web::use_puppet_certs: true
diff --git a/modules/role/manifests/ci/docker/registry.pp 
b/modules/role/manifests/ci/docker/registry.pp
new file mode 100644
index 000..d33b5c1
--- /dev/null
+++ b/modules/role/manifests/ci/docker/registry.pp
@@ -0,0 +1,11 @@
+class role::ci::docker::registry {
+require ::role::labs::lvm::srv
+
+include ::docker::registry
+include ::sslcert::dhparam
+
+class { '::docker::registry::web':
+ssl_settings => ssl_ciphersuite('nginx', 'mid'),
+require  => Class['::sslcert::dhparam'],
+}
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/345422
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I03378f977f671d5a7e4aa54d631056325b31bed0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/puppet[production]: [DO NOT MERGE] ci: Experimental k8s cluster for ci

2017-03-28 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/345192 )

Change subject: [DO NOT MERGE] ci: Experimental k8s cluster for ci
..

[DO NOT MERGE] ci: Experimental k8s cluster for ci

Roles for setting up an experimental Kubernetes cluster in the
ci-staging project. Includes the following:

 - etcd server for k8s key/value store
 - docker registry for hosting base and newly built container images
 - k8s master role providing kube-apiserver, kube-scheduler, and
   kube-controller-manager.
 - k8s node role providing docker, kube-proxy, kubelet, and flannel for
   node/pod internetworking.

Bug: T159864
Change-Id: Ide9ea3e6e38f3bf63f337fa7af1a908fbf54618d
---
A hieradata/labs/ci-staging/common.yaml
A hieradata/labs/ci-staging/host/ci-staging-k8s-master.yaml
A modules/role/manifests/ci/docker/registry.pp
A modules/role/manifests/ci/k8s/master.pp
A modules/role/manifests/ci/k8s/node.pp
5 files changed, 90 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/92/345192/1

diff --git a/hieradata/labs/ci-staging/common.yaml 
b/hieradata/labs/ci-staging/common.yaml
new file mode 100644
index 000..c39ad61
--- /dev/null
+++ b/hieradata/labs/ci-staging/common.yaml
@@ -0,0 +1,25 @@
+---
+docker::version: 1.12.6-0~debian-jessie
+k8s::apiserver::use_package: true
+k8s::controller::use_package: true
+k8s::kubelet::cluster_dns_ip: 192.168.0.100
+k8s::kubelet::cluster_domain: null
+k8s::kubelet::cni: false
+k8s::kubelet::listen_address: 0.0.0.0
+k8s::kubelet::pod_infra_container_image: null
+k8s::kubelet::tls_cert: /etc/kubernetes/ssl/cert.pem
+k8s::kubelet::tls_key: /etc/kubernetes/ssl/server.key
+k8s::kubelet::use_package: true
+k8s::proxy::use_package: true
+k8s::scheduler::use_package: true
+
+k8s::flannel::etcd_endpoints: 
https://ci-staging-k8s-master.ci-staging.eqiad.wmflabs:2379
+k8s::kubelet::master_host: ci-staging-k8s-master.ci-staging.eqiad.wmflabs
+k8s::proxy::master_host: ci-staging-k8s-master.ci-staging.eqiad.wmflabs
+
+# Add the following to the project puppet settings or puppetmaster secrets for 
now
+# k8s_infrastructure_users:
+#   - id: client-infrastructure
+# name: client-infrastructure
+# token: [random token]
+# type: infrastructure-readwrite
diff --git a/hieradata/labs/ci-staging/host/ci-staging-k8s-master.yaml 
b/hieradata/labs/ci-staging/host/ci-staging-k8s-master.yaml
new file mode 100644
index 000..d7f9b07
--- /dev/null
+++ b/hieradata/labs/ci-staging/host/ci-staging-k8s-master.yaml
@@ -0,0 +1,20 @@
+---
+docker::registry::web::allow_push_from: []
+docker::registry::web::docker_password_hash: # [htpasswd compat hash] (add to 
puppetmaster secrets)
+docker::registry::web::docker_username: ci-staging-docker
+docker::registry::web::http_allowed_hosts: []
+docker::registry::web::http_endpoint: true
+docker::registry::web::use_puppet_certs: true
+etcd::cluster_name: ci-staging-k8s-etcd
+etcd::cluster_state: existing # see https://wikitech.wikimedia.org/wiki/Etcd 
for bootstrapping info
+etcd::host: '%{::fqdn}'
+etcd::peers_list: 
ci-staging-k8s-master=http://ci-staging-k8s-master.ci-staging.eqiad.wmflabs:2380
+etcd::port: 2739
+etcd::ssl::puppet_cert_name: '%{::fqdn}'
+etcd::use_ssl: true
+k8s::apiserver::authz_mode: AlwaysAllow
+k8s::apiserver::docker_registry: ci-staging-k8s-master.ci-staging.eqiad.wmflabs
+k8s::apiserver::etcd_servers: 
https://ci-staging-k8s-master.ci-staging.eqiad.wmflabs:2379
+k8s::apiserver::ssl_cert_path: /etc/kubernetes/ssl/cert.pem
+k8s::apiserver::ssl_key_path: /etc/kubernetes/ssl/server.key
+k8s::etcd_hosts: ci-staging-k8s-master.ci-staging.eqiad.wmflabs
diff --git a/modules/role/manifests/ci/docker/registry.pp 
b/modules/role/manifests/ci/docker/registry.pp
new file mode 100644
index 000..d4fd6089
--- /dev/null
+++ b/modules/role/manifests/ci/docker/registry.pp
@@ -0,0 +1,11 @@
+class role::ci::docker::registry {
+require ::role::labs::lvm::srv
+
+include ::docker::registry
+include ::sslcert::dhparam
+
+class { '::docker::registry::web':
+ssl_settings => ssl_ciphersuite('nginx', 'mid'),
+require => Class['::sslcert::dhparam'],
+}
+}
diff --git a/modules/role/manifests/ci/k8s/master.pp 
b/modules/role/manifests/ci/k8s/master.pp
new file mode 100644
index 000..ade4df5
--- /dev/null
+++ b/modules/role/manifests/ci/k8s/master.pp
@@ -0,0 +1,20 @@
+class role::ci::k8s::master {
+# run the etcd server on the master for now
+include ::etcd
+
+base::expose_puppet_certs { '/etc/kubernetes':
+provide_private => true,
+user=> 'kubernetes',
+group   => 'kubernetes',
+}
+
+include ::k8s::apiserver
+include ::k8s::scheduler
+include ::k8s::controller
+
+# stub tokenauth file for manual management
+# (in toollabs it's populated by the maintain-kubeusers daemon)
+file { '/etc/kubernetes/tokena

[MediaWiki-commits] [Gerrit] operations/puppet[production]: k8s: Accept any given api server authorization mode

2017-03-28 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/345187 )

Change subject: k8s: Accept any given api server authorization mode
..

k8s: Accept any given api server authorization mode

Allow other supported `--authorization-mode` values to be provided for
`k8s::apiserver::authz_mode` such as "AlwaysAllow", "AlwaysDeny", etc.

Change-Id: I17a4c4ac6f27c6a4375b6056e0ed8861752906d4
---
M modules/k8s/templates/kube-apiserver.default.erb
1 file changed, 2 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/87/345187/1

diff --git a/modules/k8s/templates/kube-apiserver.default.erb 
b/modules/k8s/templates/kube-apiserver.default.erb
index b470e47..2ebf8ec 100644
--- a/modules/k8s/templates/kube-apiserver.default.erb
+++ b/modules/k8s/templates/kube-apiserver.default.erb
@@ -31,6 +31,8 @@
 <%- if @authz_mode == 'abac' -%>
 --authorization-mode=ABAC \
 --authorization-policy-file=/etc/kubernetes/abac \
+<%- elsif @authz_mode && @authz_mode != '' -%>
+--authorization-mode=<%= @authz_mode %> \
 <%- end -%>
 <%- if @apiserver_count -%>
 --apiserver-count=<%= @apiserver_count %> \

-- 
To view, visit https://gerrit.wikimedia.org/r/345187
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I17a4c4ac6f27c6a4375b6056e0ed8861752906d4
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/puppet[production]: Remove programdashboard module and related hieradata

2017-02-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/340164 )

Change subject: Remove programdashboard module and related hieradata
..

Remove programdashboard module and related hieradata

The programdashboard roles and module were never quite completed and
are not currently in use by the WikiEd or the Education Program
projects. The dashboard runs on a single unmanaged instance in the labs
globaleducation project.

Change-Id: I9dac36beadfaa13ca1e6e8da5fd0fd6da6006e00
---
D hieradata/role/common/programdashboard.yaml
D modules/programdashboard/manifests/app.pp
D modules/programdashboard/manifests/init.pp
D modules/programdashboard/templates/apache.conf.erb
D modules/role/manifests/programdashboard/app.pp
5 files changed, 0 insertions(+), 142 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/64/340164/1

diff --git a/hieradata/role/common/programdashboard.yaml 
b/hieradata/role/common/programdashboard.yaml
deleted file mode 100644
index e149ced..000
--- a/hieradata/role/common/programdashboard.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-server_name: program-dashboard.wmflabs.org
-server_admin: educat...@wikimedia.org
-
-app::directory: /srv/programdashboard
-app::environment: production
-app::owner: programdashboard
-app::group: programdashboard
-app::dependencies:
-  - git-core
-  - ruby2.1
-  - ruby2.1-dev
-  - rubygems-integration
-  - bundler
-  - nodejs
-  - nodejs-legacy
-  - npm
-  - libmysqlclient-dev
-  - libpq-dev
-  - libqtwebkit-dev
-  - libsqlite3-dev
-  - pandoc
-  - apache2
-  - libapache2-mod-passenger
-  - ruby-passenger
diff --git a/modules/programdashboard/manifests/app.pp 
b/modules/programdashboard/manifests/app.pp
deleted file mode 100644
index 72d4df9..000
--- a/modules/programdashboard/manifests/app.pp
+++ /dev/null
@@ -1,60 +0,0 @@
-# = Class: programdashboard::app
-#
-# The Program Dashboard Rails application.
-#
-# === Parameters
-#
-# [*dependencies*]
-#   Array of packaged dependencies to be installed.
-#
-# [*directory*]
-#   Target deployment directory.
-#
-# [*environment*]
-#   Rails/Rack environment to specify when running the application.
-#
-# [*owner*]
-#   Owner of the target deployment directory.
-#
-# [*group*]
-#   Group owner of the deployment directory.
-#
-class programdashboard::app(
-$dependencies,
-$directory,
-$environment,
-$owner,
-$group,
-) {
-require ::programdashboard
-
-include ::apt
-include ::apache
-include ::apache::mod::passenger
-
-require_package($dependencies)
-
-group { $group:
-ensure => present,
-}
-
-user { $owner:
-ensure => present,
-gid=> $group,
-}
-
-file { $directory:
-ensure => directory,
-owner  => $owner,
-group  => $group,
-mode   => '0750',
-}
-
-$server_name = $::programdashboard::server_name
-$server_admin = $::programdashboard::server_admin
-
-apache::site { 'program-dashboard':
-content => template('programdashboard/apache.conf.erb'),
-require => File[$directory],
-}
-}
diff --git a/modules/programdashboard/manifests/init.pp 
b/modules/programdashboard/manifests/init.pp
deleted file mode 100644
index f03276e..000
--- a/modules/programdashboard/manifests/init.pp
+++ /dev/null
@@ -1,22 +0,0 @@
-# = Class: programdashboard
-#
-# The Program Dashboard is a web application, originally written by the Wiki
-# Education Foundation, that supports Wikipedia education assignments,
-# provides data and course management features for groups of Wikipedia users
-# who are working on a common Wikipedia project. It has since be adopted by
-# WMF for use with other programs.
-#
-# === Parameters
-#
-# [*server_name*]
-#   Host name entrypoint for the dashboard.
-#
-# [*server_admin*]
-#   Email address of the application administrator.
-#
-class programdashboard(
-$server_name,
-$server_admin,
-) {
-
-}
diff --git a/modules/programdashboard/templates/apache.conf.erb 
b/modules/programdashboard/templates/apache.conf.erb
deleted file mode 100644
index 1ba9af7..000
--- a/modules/programdashboard/templates/apache.conf.erb
+++ /dev/null
@@ -1,23 +0,0 @@
-
-  ServerName <%= @server_name %>
-  ServerAdmin <%= @server_admin %>
-
-  RackEnv <%= @environment %>
-  DocumentRoot <%= @directory %>/current/public
-
-  PassengerRuby /usr/bin/ruby2.1
-
-  /current/public>
-Options -MultiViews
-= 2.4>
-  Require all granted
-
-
-  Order Allow,Deny
-  Allow from all
-
-  
-
-  ErrorLog /var/log/apache2/<%= @server_name %>.error.log
-  CustomLog /var/log/apache2/<%= @server_name %>.access.log common
-
diff --git a/modules/role/manifests/programdashboard/app.pp 
b/modules/role/manifests/programdashboard/app.pp
deleted file mode 100644
index 83d366e..000
--- a/modules/role/manifests/programdashboard/app.pp
+++ /dev/null
@@ -1

[MediaWiki-commits] [Gerrit] operations/puppet[production]: docker: apt repo before installing package

2016-11-14 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/321485

Change subject: docker: apt repo before installing package
..

docker: apt repo before installing package

Change-Id: Iae0154d1ba2e7710ade677db91b1169b7d22af89
---
M modules/docker/manifests/init.pp
1 file changed, 5 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/85/321485/1

diff --git a/modules/docker/manifests/init.pp b/modules/docker/manifests/init.pp
index c0926ba..3763ea0 100644
--- a/modules/docker/manifests/init.pp
+++ b/modules/docker/manifests/init.pp
@@ -14,12 +14,16 @@
 #
 class docker($version, $use_dockerproject=true, $proxy=undef){
 if $use_dockerproject {
+$package = 'docker-engine'
+$absent_package = 'docker.io'
+
 apt::repository { 'docker':
 uri=> 'https://apt.dockerproject.org/repo',
 dist   => 'debian-jessie',
 components => 'main',
 source => false,
 keyfile=> 'puppet:///modules/docker/docker.gpg',
+before => Package[$package],
 }
 
 $proxy_ensure = $proxy ? {
@@ -32,9 +36,8 @@
 priority => '80',
 key  => 'Acquire::http::Proxy::apt.dockerproject.org',
 value=> $proxy,
+before   => Package[$package],
 }
-$package = 'docker-engine'
-$absent_package = 'docker.io'
 }
 else {
 $package = 'docker.io'

-- 
To view, visit https://gerrit.wikimedia.org/r/321485
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae0154d1ba2e7710ade677db91b1169b7d22af89
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/puppet[production]: [WIP] contint: New role for Docker based CI slave

2016-11-10 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/320942

Change subject: [WIP] contint: New role for Docker based CI slave
..

[WIP] contint: New role for Docker based CI slave

Experimental new role for a CI slave that executes builds within the
context of a Docker container. Dependencies are greatly simplified over
the traditional CI slave since project dependencies should all be
handled via the repo's Dockerfile (or possibly shared Dockerfiles
defined within integration/config, whichever proves more viable).

Bug: T150502
Change-Id: Ie0711c573a4124d630aaa4af1611e3656ea7c277
---
A modules/role/manifests/ci/slave/labs/docker.pp
1 file changed, 17 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/42/320942/1

diff --git a/modules/role/manifests/ci/slave/labs/docker.pp 
b/modules/role/manifests/ci/slave/labs/docker.pp
new file mode 100644
index 000..da942f5
--- /dev/null
+++ b/modules/role/manifests/ci/slave/labs/docker.pp
@@ -0,0 +1,17 @@
+# == Class role::ci:slave::labs::docker
+#
+# Experimental Jenkins slave instance for providing Docker based CI builds.
+#
+class role::ci::slave::labs::docker {
+requires_realm('labs')
+
+include role::ci::slave::labs::common
+include ::docker
+
+system::role { 'role::ci::slave::labs::docker':
+description => 'CI Jenkins slave using Docker on labs' }
+
+class { 'contint::worker_localhost':
+owner => 'jenkins-deploy',
+}
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/320942
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie0711c573a4124d630aaa4af1611e3656ea7c277
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/puppet[production]: beta: Install MariaDB 10

2016-09-13 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/310360

Change subject: beta: Install MariaDB 10
..

beta: Install MariaDB 10

Bug: T138778
Change-Id: Ibb48a416ca830aab285f65820e9e69c97eca2d00
---
M manifests/role/mariadb.pp
1 file changed, 5 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/60/310360/1

diff --git a/manifests/role/mariadb.pp b/manifests/role/mariadb.pp
index f369515..e88afd0 100644
--- a/manifests/role/mariadb.pp
+++ b/manifests/role/mariadb.pp
@@ -366,8 +366,11 @@
 }
 
 include standard
-include mariadb::packages
 include passwords::misc::scripts
+
+class { 'mariadb::packages_wmf':
+mariadb10 => true,
+}
 
 # This is essentially the same volume created by role::labs::lvm::srv but
 # ensures it will be created before mariadb is installed and leaves some
@@ -376,7 +379,7 @@
 labs_lvm::volume { 'second-local-disk':
 mountat => '/srv',
 size=> '80%FREE',
-before  => Class['mariadb::packages'],
+before  => Class['mariadb::packages_wmf'],
 }
 
 class { 'mariadb::config':

-- 
To view, visit https://gerrit.wikimedia.org/r/310360
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibb48a416ca830aab285f65820e9e69c97eca2d00
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/puppet[production]: labs: Allow LVM mount permissions to remain unmanaged

2016-08-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/305737

Change subject: labs: Allow LVM mount permissions to remain unmanaged
..

labs: Allow LVM mount permissions to remain unmanaged

Although ownership and mode of the LVM mount point can be provided, the
file resource can conflict with those of other modules that must also
manage the mount-point directory ownership/mode, e.g. `mariadb::config`.
Providing a `$mountmanage` flag for whether to define the file resource
will allow for conflicts to be easily resolved.

It may be better long-run to remove management of ownership and
mode from labs_lvm::volume altogether, as this can be achieved more
flexibly with a `labs_lvm::volume -> file` pattern, but this change has
less overall impact.

Change-Id: Ifb888366755b47f9973163e7e59fbc4914b0be8b
---
M modules/labs_lvm/manifests/volume.pp
1 file changed, 37 insertions(+), 29 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/37/305737/1

diff --git a/modules/labs_lvm/manifests/volume.pp 
b/modules/labs_lvm/manifests/volume.pp
index 6e9b593..97a3a54 100644
--- a/modules/labs_lvm/manifests/volume.pp
+++ b/modules/labs_lvm/manifests/volume.pp
@@ -4,20 +4,25 @@
 # created by the labs_lvm class.
 #
 # Parameters:
-#   volname  => arbitrary identifier used to construct the volume
-#   name, and the default mountpoint.  Needs to be
-#   unique in the instance.  Defaults to the resource
-#   title.
-#   mountat  => point where the volume is to be mounted
-#   size => size of the volume, using the lvcreate(8) syntax.
-#   defaults to allocate all of the available space
-#   in the volume group.  Note that if you use the
-#   default value, any /other/ volumes must be created
-#   before that one and should be marked as dependencies.
-#   fstype   => filesystem type.  Defaults to ext4.
-#   mkfs_opt => options for the mkfs if the filesystem needs to
-#   be created.
-#   options  => mount options
+#   volname => arbitrary identifier used to construct the volume
+#  name, and the default mountpoint.  Needs to be
+#  unique in the instance.  Defaults to the resource
+#  title.
+#   mountat => point where the volume is to be mounted
+#   mountmanage => whether to define a file resource to manage
+#  ownership/mode of the mount point.
+#   mountowner  => mount point owner.
+#   mountgroup  => mount point group.
+#   mountmode   => mount point mode/permissions.
+#   size=> size of the volume, using the lvcreate(8) syntax.
+#  defaults to allocate all of the available space
+#  in the volume group.  Note that if you use the
+#  default value, any /other/ volumes must be created
+#  before that one and should be marked as dependencies.
+#   fstype  => filesystem type.  Defaults to ext4.
+#   mkfs_opt=> options for the mkfs if the filesystem needs to
+#  be created.
+#   options => mount options
 #
 # Requires:
 #   The node must have included the labs_lvm class.
@@ -27,15 +32,16 @@
 #
 
 define labs_lvm::volume(
-$volname= $title,
-$mountat= "/mnt/${volname}",
-$mountowner = 'root',
-$mountgroup = 'root',
-$mountmode  = '755',
-$size   = '100%FREE',
-$fstype = 'ext4',
-$mkfs_opt   = '',
-$options= 'defaults',
+$volname = $title,
+$mountat = "/mnt/${volname}",
+$mountmanage = true,
+$mountowner  = 'root',
+$mountgroup  = 'root',
+$mountmode   = '755',
+$size= '100%FREE',
+$fstype  = 'ext4',
+$mkfs_opt= '',
+$options = 'defaults',
 ) {
 include labs_lvm
 
@@ -73,12 +79,14 @@
 ],
 }
 
-file { $mountat:
-ensure  => directory,
-owner   => $mountowner,
-group   => $mountgroup,
-mode=> $mountmode,
-require => Mount[$mountat],
+if $mountmanage {
+file { $mountat:
+ensure  => directory,
+owner   => $mountowner,
+group   => $mountgroup,
+mode=> $mountmode,
+require => Mount[$mountat],
+}
 }
 
 labs_lvm::extend { $mountat:

-- 
To view, visit https://gerrit.wikimedia.org/r/305737
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifb888366755b47f9973163e7e59fbc4914b0be8b
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/mediawiki-config[master]: beta: Configure storage cluster for migrated databases

2016-08-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/305675

Change subject: beta: Configure storage cluster for migrated databases
..

beta: Configure storage cluster for migrated databases

Reconfigure storage cluster for beta to use new jessie-based
deployment-db03 and deployment-db04 instances.

DO NOT MERGE until coordinated migration is completed.

Bug: T138778
Change-Id: I59f0c1bb6b29926f3b5cf26d5f7f4f444ac8d12b
---
M wmf-config/db-labs.php
1 file changed, 8 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/75/305675/1

diff --git a/wmf-config/db-labs.php b/wmf-config/db-labs.php
index d17fa96..b616822 100644
--- a/wmf-config/db-labs.php
+++ b/wmf-config/db-labs.php
@@ -18,8 +18,8 @@
 
'sectionLoads' => [
'DEFAULT' => [
-   'deployment-db1' => 0,
-   'deployment-db2' => 400,
+   'deployment-db03' => 0,
+   'deployment-db04' => 400,
],
],
 
@@ -33,19 +33,19 @@
],
 
'hostsByName' => [
-   'deployment-db1'  => '10.68.16.193', # 
deployment-db1.eqiad.wmflabs
-   'deployment-db2'  => '10.68.17.94', # 
deployment-db2.eqiad.wmflabs
+   'deployment-db03' => '10.68.23.30', # 
deployment-db03.eqiad.wmflabs
+   'deployment-db04' => '10.68.18.35', # 
deployment-db04.eqiad.wmflabs
],
 
'externalLoads' => [
'cluster1' => [
-   '10.68.16.193' => 1, # 
deployment-db1.eqiad.wmflabs, master
-   '10.68.17.94' => 3 , # 
deployment-db2.eqiad.wmflabs
+   '10.68.23.30' => 1,  # 
deployment-db03.eqiad.wmflabs, master
+   '10.68.18.35' => 3 , # 
deployment-db04.eqiad.wmflabs
],
 
'flow_cluster1' => [
-   '10.68.16.193' => 1, # 
deployment-db1.eqiad.wmflabs, master
-   '10.68.17.94' => 3 , # 
deployment-db2.eqiad.wmflabs
+   '10.68.23.30' => 1,  # 
deployment-db03.eqiad.wmflabs, master
+   '10.68.18.35' => 3 , # 
deployment-db04.eqiad.wmflabs
],
],
 

-- 
To view, visit https://gerrit.wikimedia.org/r/305675
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I59f0c1bb6b29926f3b5cf26d5f7f4f444ac8d12b
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] operations/puppet[production]: beta: Create and mount LVM volumes for maridb

2016-08-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/305668

Change subject: beta: Create and mount LVM volumes for maridb
..

beta: Create and mount LVM volumes for maridb

Previous beta database instances have manually provisioned LVM volumes
for the mariadb data directory. Provision these volumes automatically
using 80% of available space.

An additional LVM volume was added using 100% of the remaining space
(20%) for the tmp directory.

Bug: T138778
Change-Id: I4b856c0c7de52f7c16e75acf581443238b07419d
---
M manifests/role/mariadb.pp
1 file changed, 14 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/68/305668/1

diff --git a/manifests/role/mariadb.pp b/manifests/role/mariadb.pp
index e1feaea..78e087d 100644
--- a/manifests/role/mariadb.pp
+++ b/manifests/role/mariadb.pp
@@ -368,12 +368,26 @@
 include mariadb::packages
 include passwords::misc::scripts
 
+labs_lvm::volume { 'sqldata':
+size=> '80%FREE',
+require => Class['mariadb::packages'],
+}
+
+labs_lvm::volume { 'tmp':
+size=> '100%FREE',
+require => [
+Class['mariadb::packages'],
+Labs_lvm::Volume['sqldata']
+],
+}
+
 class { 'mariadb::config':
 prompt   => 'BETA',
 config   => 'mariadb/beta.my.cnf.erb',
 password => $passwords::misc::scripts::mysql_beta_root_pass,
 datadir  => '/mnt/sqldata',
 tmpdir   => '/mnt/tmp',
+require  => Labs_lvm::Volume['sqldata', 'tmp'],
 }
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/305668
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4b856c0c7de52f7c16e75acf581443238b07419d
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki/selenium[master]: Release patch version 1.7.2

2016-08-03 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/302850

Change subject: Release patch version 1.7.2
..

Release patch version 1.7.2

Change-Id: Ia7daf1fb181b41e8921810e9f3ec1c75a9e439ae
---
M RELEASES.md
M UPGRADE.md
M lib/mediawiki_selenium/version.rb
3 files changed, 6 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/50/302850/1

diff --git a/RELEASES.md b/RELEASES.md
index c10a087..89da443 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,9 @@
 ## Release notes
 
+### 1.7.2 2016-08-03
+
+* Bump mediawiki_api dependency to 0.7 for automatic redirect support.
+
 ### 1.7.1 2016-05-26
 
 * Bump mediawiki_api dependency to 0.6. MediaWiki API changed, the new version 
is needed going
diff --git a/UPGRADE.md b/UPGRADE.md
index b02bec8..b039216 100644
--- a/UPGRADE.md
+++ b/UPGRADE.md
@@ -3,7 +3,7 @@
 You can check your current version by running `bundle list mediawiki_selenium`
 in the root directory of your project.
 
-## From 1.x releases to 1.6.x
+## From 1.x releases to 1.7.x
 
 ### Update your `Gemfile`
 
diff --git a/lib/mediawiki_selenium/version.rb 
b/lib/mediawiki_selenium/version.rb
index 2ea2b3e..8fc68e2 100644
--- a/lib/mediawiki_selenium/version.rb
+++ b/lib/mediawiki_selenium/version.rb
@@ -1,3 +1,3 @@
 module MediawikiSelenium
-  VERSION = '1.7.1'
+  VERSION = '1.7.2'
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/302850
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia7daf1fb181b41e8921810e9f3ec1c75a9e439ae
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki/selenium[master]: Bump mediawiki_api dependency for redirect support

2016-08-03 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/302849

Change subject: Bump mediawiki_api dependency for redirect support
..

Bump mediawiki_api dependency for redirect support

Change-Id: Idc89cb85b5714804c7bbbe61416b55f5ed5e2a4d
---
M mediawiki_selenium.gemspec
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/49/302849/1

diff --git a/mediawiki_selenium.gemspec b/mediawiki_selenium.gemspec
index 09692ea..43278c9 100644
--- a/mediawiki_selenium.gemspec
+++ b/mediawiki_selenium.gemspec
@@ -30,7 +30,7 @@
   spec.add_runtime_dependency 'cucumber', '~> 1.3', '>= 1.3.20'
   spec.add_runtime_dependency 'headless', '~> 2.0', '>= 2.1.0'
   spec.add_runtime_dependency 'json', '~> 1.8', '>= 1.8.1'
-  spec.add_runtime_dependency 'mediawiki_api', '~> 0.6', '>= 0.6.0'
+  spec.add_runtime_dependency 'mediawiki_api', '~> 0.7', '>= 0.7.0'
   spec.add_runtime_dependency 'page-object', '~> 1.0'
   spec.add_runtime_dependency 'rest-client', '~> 1.6', '>= 1.6.7'
   spec.add_runtime_dependency 'rspec-core', '~> 2.14', '>= 2.14.4'

-- 
To view, visit https://gerrit.wikimedia.org/r/302849
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idc89cb85b5714804c7bbbe61416b55f5ed5e2a4d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...api[master]: Release minor version 0.7.0

2016-08-03 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/302846

Change subject: Release minor version 0.7.0
..

Release minor version 0.7.0

Change-Id: I16018521c79f665663d3f445e53c43db954e22be
---
M README.md
M lib/mediawiki_api/version.rb
2 files changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/ruby/api 
refs/changes/46/302846/1

diff --git a/README.md b/README.md
index 3dee266..c408d0a 100644
--- a/README.md
+++ b/README.md
@@ -65,6 +65,9 @@
 
 ## Release notes
 
+### 0.7.0 2016-08-03
+- Automatically follow redirects for all API requests.
+
 ### 0.6.0 2016-05-25
 - Update account creation code for AuthManager. This change updates the gem to 
test which API
   flavor is in use, then send requests accordingly.
diff --git a/lib/mediawiki_api/version.rb b/lib/mediawiki_api/version.rb
index 4b5d988..f098e93 100644
--- a/lib/mediawiki_api/version.rb
+++ b/lib/mediawiki_api/version.rb
@@ -1,4 +1,4 @@
 # MediaWiki Ruby API
 module MediawikiApi
-  VERSION = '0.6.0'
+  VERSION = '0.7.0'
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/302846
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I16018521c79f665663d3f445e53c43db954e22be
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/ruby/api
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...api[master]: Support automatic redirects

2016-08-03 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/302766

Change subject: Support automatic redirects
..

Support automatic redirects

In the event an API endpoint is performing redirects (e.g. when
enforcing HTTPS), support that.

Bug: T1029483
Change-Id: I0ef095a62b5d7052338349eb8c9f5464067c8c03
---
M lib/mediawiki_api/client.rb
M mediawiki_api.gemspec
2 files changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/ruby/api 
refs/changes/66/302766/1

diff --git a/lib/mediawiki_api/client.rb b/lib/mediawiki_api/client.rb
index e66996f..8abaa6f 100644
--- a/lib/mediawiki_api/client.rb
+++ b/lib/mediawiki_api/client.rb
@@ -1,4 +1,5 @@
 require 'faraday'
+require 'faraday_middleware'
 require 'faraday-cookie_jar'
 require 'json'
 
@@ -23,6 +24,7 @@
 faraday.request :url_encoded
 faraday.response :logger if log
 faraday.use :cookie_jar, jar: @cookies
+faraday.use FaradayMiddleware::FollowRedirects
 faraday.adapter Faraday.default_adapter
   end
 
diff --git a/mediawiki_api.gemspec b/mediawiki_api.gemspec
index 152b311..a07b747 100644
--- a/mediawiki_api.gemspec
+++ b/mediawiki_api.gemspec
@@ -26,6 +26,7 @@
 
   spec.add_runtime_dependency 'faraday', '~> 0.9', '>= 0.9.0'
   spec.add_runtime_dependency 'faraday-cookie_jar', '~> 0.0', '>= 0.0.6'
+  spec.add_runtime_dependency 'faraday_middleware', '~> 0.10', '>= 0.10.0'
 
   spec.add_development_dependency 'bundler', '~> 1.3'
   spec.add_development_dependency 'rake', '~> 0'

-- 
To view, visit https://gerrit.wikimedia.org/r/302766
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ef095a62b5d7052338349eb8c9f5464067c8c03
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/ruby/api
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] all wikis to 1.27.0-wmf.20 - change (operations/mediawiki-config)

2016-04-07 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/282226

Change subject: all wikis to 1.27.0-wmf.20
..

all wikis to 1.27.0-wmf.20

Change-Id: Id8e218fe40c0afe253ac922996a95d37c643518d
---
M wikiversions.json
1 file changed, 296 insertions(+), 296 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/26/282226/1

diff --git a/wikiversions.json b/wikiversions.json
index b8b384a..5d8b78a 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1,39 +1,39 @@
 {
-"aawiki": "php-1.27.0-wmf.19",
+"aawiki": "php-1.27.0-wmf.20",
 "aawikibooks": "php-1.27.0-wmf.20",
 "aawiktionary": "php-1.27.0-wmf.20",
-"abwiki": "php-1.27.0-wmf.19",
+"abwiki": "php-1.27.0-wmf.20",
 "abwiktionary": "php-1.27.0-wmf.20",
-"acewiki": "php-1.27.0-wmf.19",
+"acewiki": "php-1.27.0-wmf.20",
 "advisorywiki": "php-1.27.0-wmf.20",
-"adywiki": "php-1.27.0-wmf.19",
-"afwiki": "php-1.27.0-wmf.19",
+"adywiki": "php-1.27.0-wmf.20",
+"afwiki": "php-1.27.0-wmf.20",
 "afwikibooks": "php-1.27.0-wmf.20",
 "afwikiquote": "php-1.27.0-wmf.20",
 "afwiktionary": "php-1.27.0-wmf.20",
-"akwiki": "php-1.27.0-wmf.19",
+"akwiki": "php-1.27.0-wmf.20",
 "akwikibooks": "php-1.27.0-wmf.20",
 "akwiktionary": "php-1.27.0-wmf.20",
-"alswiki": "php-1.27.0-wmf.19",
+"alswiki": "php-1.27.0-wmf.20",
 "alswikibooks": "php-1.27.0-wmf.20",
 "alswikiquote": "php-1.27.0-wmf.20",
 "alswiktionary": "php-1.27.0-wmf.20",
-"amwiki": "php-1.27.0-wmf.19",
+"amwiki": "php-1.27.0-wmf.20",
 "amwikiquote": "php-1.27.0-wmf.20",
 "amwiktionary": "php-1.27.0-wmf.20",
-"angwiki": "php-1.27.0-wmf.19",
+"angwiki": "php-1.27.0-wmf.20",
 "angwikibooks": "php-1.27.0-wmf.20",
 "angwikiquote": "php-1.27.0-wmf.20",
 "angwikisource": "php-1.27.0-wmf.20",
 "angwiktionary": "php-1.27.0-wmf.20",
-"anwiki": "php-1.27.0-wmf.19",
+"anwiki": "php-1.27.0-wmf.20",
 "anwiktionary": "php-1.27.0-wmf.20",
-"arbcom_dewiki": "php-1.27.0-wmf.19",
-"arbcom_enwiki": "php-1.27.0-wmf.19",
-"arbcom_fiwiki": "php-1.27.0-wmf.19",
-"arbcom_nlwiki": "php-1.27.0-wmf.19",
-"arcwiki": "php-1.27.0-wmf.19",
-"arwiki": "php-1.27.0-wmf.19",
+"arbcom_dewiki": "php-1.27.0-wmf.20",
+"arbcom_enwiki": "php-1.27.0-wmf.20",
+"arbcom_fiwiki": "php-1.27.0-wmf.20",
+"arbcom_nlwiki": "php-1.27.0-wmf.20",
+"arcwiki": "php-1.27.0-wmf.20",
+"arwiki": "php-1.27.0-wmf.20",
 "arwikibooks": "php-1.27.0-wmf.20",
 "arwikimedia": "php-1.27.0-wmf.20",
 "arwikinews": "php-1.27.0-wmf.20",
@@ -41,80 +41,80 @@
 "arwikisource": "php-1.27.0-wmf.20",
 "arwikiversity": "php-1.27.0-wmf.20",
 "arwiktionary": "php-1.27.0-wmf.20",
-"arzwiki": "php-1.27.0-wmf.19",
-"astwiki": "php-1.27.0-wmf.19",
+"arzwiki": "php-1.27.0-wmf.20",
+"astwiki": "php-1.27.0-wmf.20",
 "astwikibooks": "php-1.27.0-wmf.20",
 "astwikiquote": "php-1.27.0-wmf.20",
 "astwiktionary": "php-1.27.0-wmf.20",
-"aswiki": "php-1.27.0-wmf.19",
+"aswiki": "php-1.27.0-wmf.20",
 "aswikibooks": "php-1.27.0-wmf.20",
 "aswikisource": "php-1.27.0-wmf.20",
 "aswiktionary": "php-1.27.0-wmf.20",
 "auditcomwiki": "php-1.27.0-wmf.20",
-"avwiki": "php-1.27.0-wmf.19",
+"avwiki": "php-1.27.0-wmf.20",
 "avwiktionary": "php-1.27.0-wmf.20",
-"aywiki": "php-1.27.0-wmf.19",
+"aywiki": "php-1.27.0-wmf.20",
 "aywikibooks": "php-1.27.0-wmf.20",
 "aywiktionary": "php-1.27.0-wmf.20",
-"azbwiki": "php-1.27.0-wmf.19",
-"azwiki": "php-1.27.0-wmf.19",
+"azbwiki": "php-1.27.0-wmf.20",
+"azwiki": "php-1.27.0-wmf.20",
 "azwikibooks": "php-1.27.0-wmf.20",
 "azwikiquote": "php-1.27.0-wmf.20",
 "azwikisource": "php-1.27.0-wmf.20",
 "azwiktionary": "php-1.27.0-wmf.20",
-"barwiki": "php-1.27.0-wmf.19",
-"bat_smgwiki": "php-1.27.0-wmf.19",
-"bawiki": "php-1.27.0-wmf.19",
+"barwiki": "php-1.27.0-wmf.20",
+"bat_smgwiki": "php-1.27.0-wmf.20",
+"bawiki": "php-1.27.0-wmf.20",
 "bawikibooks": "php-1.27.0-wmf.20",
-"bclwiki": "php-1.27.0-wmf.19",
+"bclwiki": "php-1.27.0-wmf.20",
 "bdwikimedia": "php-1.27.0-wmf.20",
-"be_x_oldwiki": "php-1.27.0-wmf.19",
+"be_x_oldwiki": "php-1.27.0-wmf.20",
 "betawikiversity": "php-1.27.0-wmf.20",
-"bewiki": "php-1.27.0-wmf.19",
+"bewiki": "php-1.27.0-wmf.20",
 "bewikibooks": "php-1.27.0-wmf.20",
 "bewikimedia": "php-1.27.0-wmf.20",
 "bewikiquote": "php-1.27.0-wmf.20",
 "bewikisource": "php-1.27.0-wmf.20",
 "bewiktionary": "php-1.27.0-wmf.20",
-"bgwiki": "php-1.27.0-wmf.19",
+"bgwiki": "php-1.27.0-wmf.20",
 "bgwikibooks": "php-1.27.0-wmf.20",
 "bgwikinews": "php-1.27.0-wmf.20",
 "bgwikiquote": "php-1.27.0-wmf.20",
 "bgwikisource": "ph

[MediaWiki-commits] [Gerrit] group1 wikis to 1.27.0-wmf.20 - change (operations/mediawiki-config)

2016-04-06 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/281978

Change subject: group1 wikis to 1.27.0-wmf.20
..

group1 wikis to 1.27.0-wmf.20

Change-Id: I28f28ff2db52532905afa024c4e0ca8f70ee0a55
---
M php
M wikiversions.json
2 files changed, 595 insertions(+), 595 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/78/281978/1

diff --git a/php b/php
index 69c5422..f72f360 12
--- a/php
+++ b/php
@@ -1 +1 @@
-php-1.27.0-wmf.19
\ No newline at end of file
+php-1.27.0-wmf.20
\ No newline at end of file
diff --git a/wikiversions.json b/wikiversions.json
index 9b1d443..b8b384a 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1,897 +1,897 @@
 {
 "aawiki": "php-1.27.0-wmf.19",
-"aawikibooks": "php-1.27.0-wmf.19",
-"aawiktionary": "php-1.27.0-wmf.19",
+"aawikibooks": "php-1.27.0-wmf.20",
+"aawiktionary": "php-1.27.0-wmf.20",
 "abwiki": "php-1.27.0-wmf.19",
-"abwiktionary": "php-1.27.0-wmf.19",
+"abwiktionary": "php-1.27.0-wmf.20",
 "acewiki": "php-1.27.0-wmf.19",
-"advisorywiki": "php-1.27.0-wmf.19",
+"advisorywiki": "php-1.27.0-wmf.20",
 "adywiki": "php-1.27.0-wmf.19",
 "afwiki": "php-1.27.0-wmf.19",
-"afwikibooks": "php-1.27.0-wmf.19",
-"afwikiquote": "php-1.27.0-wmf.19",
-"afwiktionary": "php-1.27.0-wmf.19",
+"afwikibooks": "php-1.27.0-wmf.20",
+"afwikiquote": "php-1.27.0-wmf.20",
+"afwiktionary": "php-1.27.0-wmf.20",
 "akwiki": "php-1.27.0-wmf.19",
-"akwikibooks": "php-1.27.0-wmf.19",
-"akwiktionary": "php-1.27.0-wmf.19",
+"akwikibooks": "php-1.27.0-wmf.20",
+"akwiktionary": "php-1.27.0-wmf.20",
 "alswiki": "php-1.27.0-wmf.19",
-"alswikibooks": "php-1.27.0-wmf.19",
-"alswikiquote": "php-1.27.0-wmf.19",
-"alswiktionary": "php-1.27.0-wmf.19",
+"alswikibooks": "php-1.27.0-wmf.20",
+"alswikiquote": "php-1.27.0-wmf.20",
+"alswiktionary": "php-1.27.0-wmf.20",
 "amwiki": "php-1.27.0-wmf.19",
-"amwikiquote": "php-1.27.0-wmf.19",
-"amwiktionary": "php-1.27.0-wmf.19",
+"amwikiquote": "php-1.27.0-wmf.20",
+"amwiktionary": "php-1.27.0-wmf.20",
 "angwiki": "php-1.27.0-wmf.19",
-"angwikibooks": "php-1.27.0-wmf.19",
-"angwikiquote": "php-1.27.0-wmf.19",
-"angwikisource": "php-1.27.0-wmf.19",
-"angwiktionary": "php-1.27.0-wmf.19",
+"angwikibooks": "php-1.27.0-wmf.20",
+"angwikiquote": "php-1.27.0-wmf.20",
+"angwikisource": "php-1.27.0-wmf.20",
+"angwiktionary": "php-1.27.0-wmf.20",
 "anwiki": "php-1.27.0-wmf.19",
-"anwiktionary": "php-1.27.0-wmf.19",
+"anwiktionary": "php-1.27.0-wmf.20",
 "arbcom_dewiki": "php-1.27.0-wmf.19",
 "arbcom_enwiki": "php-1.27.0-wmf.19",
 "arbcom_fiwiki": "php-1.27.0-wmf.19",
 "arbcom_nlwiki": "php-1.27.0-wmf.19",
 "arcwiki": "php-1.27.0-wmf.19",
 "arwiki": "php-1.27.0-wmf.19",
-"arwikibooks": "php-1.27.0-wmf.19",
-"arwikimedia": "php-1.27.0-wmf.19",
-"arwikinews": "php-1.27.0-wmf.19",
-"arwikiquote": "php-1.27.0-wmf.19",
-"arwikisource": "php-1.27.0-wmf.19",
-"arwikiversity": "php-1.27.0-wmf.19",
-"arwiktionary": "php-1.27.0-wmf.19",
+"arwikibooks": "php-1.27.0-wmf.20",
+"arwikimedia": "php-1.27.0-wmf.20",
+"arwikinews": "php-1.27.0-wmf.20",
+"arwikiquote": "php-1.27.0-wmf.20",
+"arwikisource": "php-1.27.0-wmf.20",
+"arwikiversity": "php-1.27.0-wmf.20",
+"arwiktionary": "php-1.27.0-wmf.20",
 "arzwiki": "php-1.27.0-wmf.19",
 "astwiki": "php-1.27.0-wmf.19",
-"astwikibooks": "php-1.27.0-wmf.19",
-"astwikiquote": "php-1.27.0-wmf.19",
-"astwiktionary": "php-1.27.0-wmf.19",
+"astwikibooks": "php-1.27.0-wmf.20",
+"astwikiquote": "php-1.27.0-wmf.20",
+"astwiktionary": "php-1.27.0-wmf.20",
 "aswiki": "php-1.27.0-wmf.19",
-"aswikibooks": "php-1.27.0-wmf.19",
-"aswikisource": "php-1.27.0-wmf.19",
-"aswiktionary": "php-1.27.0-wmf.19",
-"auditcomwiki": "php-1.27.0-wmf.19",
+"aswikibooks": "php-1.27.0-wmf.20",
+"aswikisource": "php-1.27.0-wmf.20",
+"aswiktionary": "php-1.27.0-wmf.20",
+"auditcomwiki": "php-1.27.0-wmf.20",
 "avwiki": "php-1.27.0-wmf.19",
-"avwiktionary": "php-1.27.0-wmf.19",
+"avwiktionary": "php-1.27.0-wmf.20",
 "aywiki": "php-1.27.0-wmf.19",
-"aywikibooks": "php-1.27.0-wmf.19",
-"aywiktionary": "php-1.27.0-wmf.19",
+"aywikibooks": "php-1.27.0-wmf.20",
+"aywiktionary": "php-1.27.0-wmf.20",
 "azbwiki": "php-1.27.0-wmf.19",
 "azwiki": "php-1.27.0-wmf.19",
-"azwikibooks": "php-1.27.0-wmf.19",
-"azwikiquote": "php-1.27.0-wmf.19",
-"azwikisource": "php-1.27.0-wmf.19",
-"azwiktionary": "php-1.27.0-wmf.19",
+"azwikibooks": "php-1.27.0-wmf.20",
+"azwikiquote": "php-1.27.0-wmf.20",
+"azwikisource": "php-1.27.0-wmf.20",
+"azwiktionary": "php-1.27

[MediaWiki-commits] [Gerrit] Group0 to 1.27.0-wmf.20 - change (operations/mediawiki-config)

2016-04-05 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/281729

Change subject: Group0 to 1.27.0-wmf.20
..

Group0 to 1.27.0-wmf.20

Change-Id: I1f58e35f681f74b33b49d7bdfd49c985d422c8d0
---
M wikiversions.json
1 file changed, 5 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/29/281729/1

diff --git a/wikiversions.json b/wikiversions.json
index 13460a3..9b1d443 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -477,7 +477,7 @@
 "maiwiki": "php-1.27.0-wmf.19",
 "map_bmswiki": "php-1.27.0-wmf.19",
 "mdfwiki": "php-1.27.0-wmf.19",
-"mediawikiwiki": "php-1.27.0-wmf.19",
+"mediawikiwiki": "php-1.27.0-wmf.20",
 "metawiki": "php-1.27.0-wmf.19",
 "mgwiki": "php-1.27.0-wmf.19",
 "mgwikibooks": "php-1.27.0-wmf.19",
@@ -744,9 +744,9 @@
 "tawikisource": "php-1.27.0-wmf.19",
 "tawiktionary": "php-1.27.0-wmf.19",
 "tenwiki": "php-1.27.0-wmf.19",
-"test2wiki": "php-1.27.0-wmf.19",
-"testwiki": "php-1.27.0-wmf.19",
-"testwikidatawiki": "php-1.27.0-wmf.19",
+"test2wiki": "php-1.27.0-wmf.20",
+"testwiki": "php-1.27.0-wmf.20",
+"testwikidatawiki": "php-1.27.0-wmf.20",
 "tetwiki": "php-1.27.0-wmf.19",
 "tewiki": "php-1.27.0-wmf.19",
 "tewikibooks": "php-1.27.0-wmf.19",
@@ -876,7 +876,7 @@
 "zawikiquote": "php-1.27.0-wmf.19",
 "zawiktionary": "php-1.27.0-wmf.19",
 "zeawiki": "php-1.27.0-wmf.19",
-"zerowiki": "php-1.27.0-wmf.19",
+"zerowiki": "php-1.27.0-wmf.20",
 "zh_classicalwiki": "php-1.27.0-wmf.19",
 "zh_min_nanwiki": "php-1.27.0-wmf.19",
 "zh_min_nanwikibooks": "php-1.27.0-wmf.19",

-- 
To view, visit https://gerrit.wikimedia.org/r/281729
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1f58e35f681f74b33b49d7bdfd49c985d422c8d0
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Install pkg-config before attempting to build varnish - change (mediawiki/vagrant)

2016-04-01 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/281030

Change subject: Install pkg-config before attempting to build varnish
..

Install pkg-config before attempting to build varnish

Builds of the 4.1 Varnish branch were failing with the error
"configure.ac:123: error: pkg.m4 missing, please install pkg-config".

Change-Id: Iec93f0ae6405e6231027af60c45a02d0383afaa2
---
M puppet/modules/varnish/manifests/init.pp
1 file changed, 2 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/30/281030/1

diff --git a/puppet/modules/varnish/manifests/init.pp 
b/puppet/modules/varnish/manifests/init.pp
index 84b4bb0..416d031 100644
--- a/puppet/modules/varnish/manifests/init.pp
+++ b/puppet/modules/varnish/manifests/init.pp
@@ -30,6 +30,7 @@
 }
 
 # Dependencies to build varnish
+require_package('pkg-config')
 require_package('libncurses-dev')
 require_package('libpcre3-dev')
 require_package('libedit-dev')
@@ -55,6 +56,7 @@
 require => [
 File['/tmp/build-varnish.sh'],
 Git::Clone['Varnish-Cache'],
+Package['pkg-config'],
 Package['libncurses-dev'],
 Package['libpcre3-dev'],
 Package['libedit-dev'],

-- 
To view, visit https://gerrit.wikimedia.org/r/281030
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iec93f0ae6405e6231027af60c45a02d0383afaa2
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Support browser version as part of `BROWSER` - change (mediawiki/selenium)

2016-03-30 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/280470

Change subject: Support browser version as part of `BROWSER`
..

Support browser version as part of `BROWSER`

The version is inherently part of the full browser specification
when running CI builds and this will simplify the configuration
necessary for matrix builds.

Implemented a `browser_version` method that returns either the explicit
version given as `VERSION` or the version given at the end of `BROWSER`
(e.g. `BROWSER=internet_explorer VERSION=8.0` or
`BROWSER='internet_explorer 8.0'`). Implemented `browser_tags` which
will help our rake task filter for only those scenarios that are tagged
with either the browser name (e.g. `@internet_explorer`) or an exact
version (e.g. `@internet_explorer_8.0`).

Bug: T128190
Change-Id: I340e2edbfd9e0b6f30f37ef07f31980099193ebf
---
M lib/mediawiki_selenium/environment.rb
M lib/mediawiki_selenium/rake_task.rb
M spec/environment_spec.rb
3 files changed, 100 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/70/280470/1

diff --git a/lib/mediawiki_selenium/environment.rb 
b/lib/mediawiki_selenium/environment.rb
index 8a757ff..4959deb 100644
--- a/lib/mediawiki_selenium/environment.rb
+++ b/lib/mediawiki_selenium/environment.rb
@@ -183,12 +183,41 @@
   end
 end
 
-# Name of the browser we're using.
+# Name of the browser we're using. If the `:browser` configuration
+# contains a version at the end, only the name is returned.
+#
+# @example
+#   env = Environment.new(browser: 'internet_explorer 8.0')
+#   env.browser_name # => :internet_explorer
 #
 # @return [Symbol]
 #
 def browser_name
-  lookup(:browser, default: 'firefox').downcase.to_sym
+  browser_spec[0].to_sym
+end
+
+# Tag names that can be used to filter test scenarios for a specific
+# browser and/or version.
+#
+# @return [Array]
+#
+def browser_tags
+  tags = [browser_name.to_s]
+
+  version = browser_version
+  tags << "#{browser_name}_#{version}" if version
+
+  tags
+end
+
+# Version of the browser we're using. If a `:version` configuration
+# is provided, that value is returned. Otherwise a version is searched for
+# in the `:browser` configuration.
+#
+# @return [String]
+#
+def browser_version
+  lookup(:version, default: browser_spec[1])
 end
 
 # Returns the current alternate ID for the given configuration key.
@@ -523,7 +552,19 @@
 private
 
 def browser_config
-  lookup_all(browser_factory.all_binding_keys, default: nil).reject { |_k, 
v| v.nil? }
+  config = lookup_all(browser_factory.all_binding_keys, default: 
nil).reject { |_k, v| v.nil? }
+
+  # The browser version may be provided as part of the `:browser`
+  # configuration or separately as `:version`. In either case,
+  # `browser_version` will return the right value.
+  version = browser_version
+  config[:version] = version unless version.nil?
+
+  config
+end
+
+def browser_spec
+  lookup(:browser, default: 'firefox').to_s.downcase.split(' ')
 end
 
 def normalize_config(hash)
diff --git a/lib/mediawiki_selenium/rake_task.rb 
b/lib/mediawiki_selenium/rake_task.rb
index 8066f87..9690221 100644
--- a/lib/mediawiki_selenium/rake_task.rb
+++ b/lib/mediawiki_selenium/rake_task.rb
@@ -10,7 +10,7 @@
 
   workspace = env.lookup(:workspace, default: nil)
   site = URI.parse(env.lookup(:mediawiki_url)).host
-  browser = env.browser_name
+  browser_tags = env.browser_tags.map { |tag| "@#{tag}" }.join(',')
 
   options = "#{env.test_dir}"
 
@@ -22,7 +22,7 @@
   end
 
   super(name) do |t|
-t.cucumber_opts = "#{options} --tags @#{browser}"
+t.cucumber_opts = "#{options} --tags #{browser_tags}"
   end
 end
   end
diff --git a/spec/environment_spec.rb b/spec/environment_spec.rb
index 85f8ad3..cafe184 100644
--- a/spec/environment_spec.rb
+++ b/spec/environment_spec.rb
@@ -260,6 +260,60 @@
   expect(subject).to be(:firefox)
 end
   end
+
+  context 'when browser and version are combined' do
+let(:browser) { 'internet_explorer 8.0' }
+
+it 'returns only the name' do
+  expect(subject).to be(:internet_explorer)
+end
+  end
+end
+
+describe '#browser_tags' do
+  subject { env.browser_tags }
+
+  context 'when a version is specified' do
+let(:browser) { 'internet_explorer 8.0' }
+
+it 'returns tags for use in filter test scenarios' do
+  expect(subject).to eq(['internet_explorer', 'internet_explorer_8.0'])
+end
+  end
+
+  context 'when no version is specified' do
+let(:browser) { 'internet_explorer' }
+
+it 'includes only a tag for the browser name' do

[MediaWiki-commits] [Gerrit] contint: increase tmpfs size to 384M (+128M) - change (operations/puppet)

2016-03-25 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/279640

Change subject: contint: increase tmpfs size to 384M (+128M)
..

contint: increase tmpfs size to 384M (+128M)

There have been recent issues related to a full tmpfs and package
installation/compilation. This issue will be moot once we're fully moved
over to nodepool instances that make use of the package caching, but
let's increase the tmpfs size for now to accommodate jobs still running
on older instances.

Change-Id: Idc3c7a2ff0daec351d4269f425d811f1e06a30a3
---
M modules/role/manifests/ci/slave.pp
1 file changed, 2 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/40/279640/1

diff --git a/modules/role/manifests/ci/slave.pp 
b/modules/role/manifests/ci/slave.pp
index 253aca8..05bc3cb 100644
--- a/modules/role/manifests/ci/slave.pp
+++ b/modules/role/manifests/ci/slave.pp
@@ -44,8 +44,9 @@
 
 contint::tmpfs { 'tmpfs for jenkins CI slave':
 mount_point => '/var/lib/jenkins-slave/tmpfs',
-size=> '256M',
+size=> '384M',
 }
+
 nrpe::monitor_service { 'ci_tmpfs':
 description  => 'CI tmpfs disk space',
 nrpe_command => '/usr/lib/nagios/plugins/check_disk -w 20% -c 5% -e -p 
/var/lib/jenkins-slave/tmpfs',

-- 
To view, visit https://gerrit.wikimedia.org/r/279640
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idc3c7a2ff0daec351d4269f425d811f1e06a30a3
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs: Database server to support Program Dashboard - change (operations/puppet)

2016-03-04 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/275138

Change subject: labs: Database server to support Program Dashboard
..

labs: Database server to support Program Dashboard

Provision a basic MariaDB server to store Program Dashboard data. The
data directory is kept on an LVM volume to allow for periodic
snapshotting.

Bug: T127105
Change-Id: Ie816ea8f4127c8a2c9a817c8d815f3b7956b0cde
---
A hieradata/common/programdashboard/database.yaml
A modules/programdashboard/manifests/database.pp
A modules/programdashboard/templates/my.cnf.erb
A modules/role/manifests/programdashboard/database.pp
4 files changed, 100 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/38/275138/1

diff --git a/hieradata/common/programdashboard/database.yaml 
b/hieradata/common/programdashboard/database.yaml
new file mode 100644
index 000..1fb7ec6
--- /dev/null
+++ b/hieradata/common/programdashboard/database.yaml
@@ -0,0 +1,2 @@
+datadir: /srv/sqldata
+tmpdir: /srv/tmp
diff --git a/modules/programdashboard/manifests/database.pp 
b/modules/programdashboard/manifests/database.pp
new file mode 100644
index 000..ae27f68
--- /dev/null
+++ b/modules/programdashboard/manifests/database.pp
@@ -0,0 +1,40 @@
+# = Class: programdashboard::database
+#
+# A database server for the the Program Dashboard Rails application.
+#
+# === Parameters
+#
+# [*datadir*]
+#   MariaDB data directory. An XFS formatted LVM volume will be created from
+#   80% of the instance volume's free space and mounted at this directory.
+#
+# [*tmpdir*]
+#   MariaDB temporary directory. An XFS formatted LVM volume will be created
+#   from 20% of the instance volume's free space and mounted at this
+#   directory.
+#
+class programdashboard::database(
+$datadir,
+$tmpdir,
+) {
+include mariadb::packages
+
+labs_lvm::volume { 'dashboard-data':
+mountat => $datadir,
+size=> '80%FREE',
+}
+
+labs_lvm::volume { 'dashboard-tmp':
+mountat => $tmpdir,
+size=> '100%FREE',
+require => Labs_lvm::Volume['dashboard-db'],
+}
+
+class { 'mariadb::config':
+prompt   => 'DASHBOARD',
+config   => 'programdashboard/my.cnf.erb',
+datadir  => $datadir,
+tmpdir   => $tmpdir,
+require  => Labs_lvm::Volume['dashboard-db', 'dashboard-tmp'],
+}
+}
diff --git a/modules/programdashboard/templates/my.cnf.erb 
b/modules/programdashboard/templates/my.cnf.erb
new file mode 100644
index 000..224abb7
--- /dev/null
+++ b/modules/programdashboard/templates/my.cnf.erb
@@ -0,0 +1,46 @@
+# Use for Analytics Cluster misc meta stores (Hive, Oozie, etc.)
+
+[client]
+port   = 3306
+socket = /tmp/mysql.sock
+
+[mysqld]
+
+log_error=/var/log/mysql.err
+
+log_bin
+binlog_format = MIXED
+log_slave_updates
+skip-external-locking
+skip-name-resolve
+temp-pool
+log_basename=program-dashboard
+
+user  = mysql
+socket= /tmp/mysql.sock
+port  = 3306
+datadir   = <%= @datadir %>
+tmpdir= <%= @tmpdir %>
+server_id = <%= @server_id %>
+read_only = <%= (@read_only == 'off' or not @read_only) ? 0 : 1 %>
+
+max_allowed_packet = 64M
+sync_binlog= 1
+expire_logs_days   = 7
+
+innodb_file_per_table  = 1
+innodb_log_file_size   = 64M
+innodb_flush_method= O_DIRECT
+innodb_flush_log_at_trx_commit = 1
+innodb_buffer_pool_size= <%= (@memoryfree_mb * 0.9).floor %>M
+innodb_buffer_pool_instances   = <%= (@memoryfree_mb * 0.9 / 1024).ceil %>
+
+query_cache_type= 1
+query_cache_size= 16M
+
+[mysqldump]
+
+quick
+max_allowed_packet = 16M
+
+#!includedir /etc/mysql/conf.d/
diff --git a/modules/role/manifests/programdashboard/database.pp 
b/modules/role/manifests/programdashboard/database.pp
new file mode 100644
index 000..682b6ab
--- /dev/null
+++ b/modules/role/manifests/programdashboard/database.pp
@@ -0,0 +1,12 @@
+# = Class: role::programdashboard::database
+#
+# This role sets up a database server for the Program Dashboard Rails
+# application.
+#
+class role::programdashboard::database {
+include ::programdashboard::database
+
+system::role { 'role::programdashboard::database':
+description => 'Program Dashboard database server',
+}
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/275138
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie816ea8f4127c8a2c9a817c8d815f3b7956b0cde
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs: Deployer access for programdashboard - change (operations/puppet)

2016-03-02 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/274579

Change subject: labs: Deployer access for programdashboard
..

labs: Deployer access for programdashboard

Provide an easy way to grant deploy access by authorizing SSH login as
the programdashboard user to all keys given for
`programdashboard::app::deployer_keys`. This is meant as a temporary
solution in Labs until the project is fully production ready at which
time we'll see about deploying via scap and auth'ing via keyholder.

Bug: T105967
Change-Id: Idfdc3ea048a5f0637bd1fe04a6077a350c4eca02
---
M hieradata/common/programdashboard/app.yaml
M modules/programdashboard/manifests/app.pp
2 files changed, 11 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/79/274579/1

diff --git a/hieradata/common/programdashboard/app.yaml 
b/hieradata/common/programdashboard/app.yaml
index 3e0aea6..7903402 100644
--- a/hieradata/common/programdashboard/app.yaml
+++ b/hieradata/common/programdashboard/app.yaml
@@ -2,6 +2,7 @@
 environment: production
 owner: programdashboard
 group: programdashboard
+deployer_keys: []
 dependencies:
   - git-core
   - ruby2.1
diff --git a/modules/programdashboard/manifests/app.pp 
b/modules/programdashboard/manifests/app.pp
index fdf02f9..db7811f 100644
--- a/modules/programdashboard/manifests/app.pp
+++ b/modules/programdashboard/manifests/app.pp
@@ -19,12 +19,17 @@
 # [*group*]
 #   Group owner of the deployment directory.
 #
+# [*deployer_keys*]
+#   SSH keys to authorize for the deployment owner. When used in Labs, deploy
+#   access can be granted by redefining this in Hiera:.
+#
 class programdashboard::app(
 $dependencies,
 $directory,
 $environment,
 $owner,
 $group,
+$deployer_keys,
 ) {
 require programdashboard
 
@@ -50,6 +55,11 @@
 mode   => '0750',
 }
 
+ssh::userkey { $owner:
+content => join($deployer_keys, "\n"),
+require => User[$owner],
+}
+
 $server_name = $::programdashboard::server_name
 $server_admin = $::programdashboard::server_admin
 

-- 
To view, visit https://gerrit.wikimedia.org/r/274579
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idfdc3ea048a5f0637bd1fe04a6077a350c4eca02
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix programdashboard hieradata - change (operations/puppet)

2016-03-02 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/274572

Change subject: Fix programdashboard hieradata
..

Fix programdashboard hieradata

Moved programdashboard::app hieradata into common and labs specific
programdashboard hieradata into labs/globaleducation.

Change-Id: Ia358ec768525820e55f028498c89b31a4dd2d882
---
A hieradata/common/programdashboard/app.yaml
A hieradata/labs/globaleducation/common.yaml
D hieradata/role/common/programdashboard.yaml
3 files changed, 23 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/72/274572/1

diff --git a/hieradata/common/programdashboard/app.yaml 
b/hieradata/common/programdashboard/app.yaml
new file mode 100644
index 000..3e0aea6
--- /dev/null
+++ b/hieradata/common/programdashboard/app.yaml
@@ -0,0 +1,21 @@
+directory: /srv/programdashboard
+environment: production
+owner: programdashboard
+group: programdashboard
+dependencies:
+  - git-core
+  - ruby2.1
+  - ruby2.1-dev
+  - rubygems-integration
+  - bundler
+  - nodejs
+  - nodejs-legacy
+  - npm
+  - libmysqlclient-dev
+  - libpq-dev
+  - libqtwebkit-dev
+  - libsqlite3-dev
+  - pandoc
+  - apache2
+  - libapache2-mod-passenger
+  - ruby-passenger
diff --git a/hieradata/labs/globaleducation/common.yaml 
b/hieradata/labs/globaleducation/common.yaml
new file mode 100644
index 000..70519f2
--- /dev/null
+++ b/hieradata/labs/globaleducation/common.yaml
@@ -0,0 +1,2 @@
+server_name: program-dashboard.wmflabs.org
+server_admin: educat...@wikimedia.org
diff --git a/hieradata/role/common/programdashboard.yaml 
b/hieradata/role/common/programdashboard.yaml
deleted file mode 100644
index e149ced..000
--- a/hieradata/role/common/programdashboard.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-server_name: program-dashboard.wmflabs.org
-server_admin: educat...@wikimedia.org
-
-app::directory: /srv/programdashboard
-app::environment: production
-app::owner: programdashboard
-app::group: programdashboard
-app::dependencies:
-  - git-core
-  - ruby2.1
-  - ruby2.1-dev
-  - rubygems-integration
-  - bundler
-  - nodejs
-  - nodejs-legacy
-  - npm
-  - libmysqlclient-dev
-  - libpq-dev
-  - libqtwebkit-dev
-  - libsqlite3-dev
-  - pandoc
-  - apache2
-  - libapache2-mod-passenger
-  - ruby-passenger

-- 
To view, visit https://gerrit.wikimedia.org/r/274572
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia358ec768525820e55f028498c89b31a4dd2d882
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs: Expand paths for nuyaml hiera lookup under common - change (operations/puppet)

2016-03-02 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/274566

Change subject: labs: Expand paths for nuyaml hiera lookup under common
..

labs: Expand paths for nuyaml hiera lookup under common

For roles that are intended for both labs and eventual production use,
it's nice to have the same module-to-path lookup capabilities for common
hieradata. This expansion used to be supported but was removed in
Ifa5c79bc10f1147518fbf352d75c9fcd3019bd72.

Change-Id: I288d439960ae81a4f02eb17b80bd02e728e216d3
---
M modules/puppetmaster/files/labs.hiera.yaml
1 file changed, 2 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/66/274566/1

diff --git a/modules/puppetmaster/files/labs.hiera.yaml 
b/modules/puppetmaster/files/labs.hiera.yaml
index 1658cb1..28ea9b8 100644
--- a/modules/puppetmaster/files/labs.hiera.yaml
+++ b/modules/puppetmaster/files/labs.hiera.yaml
@@ -3,6 +3,8 @@
   - nuyaml
 :nuyaml:
   :datadir: /etc/puppet/hieradata
+  :expand_path:
+- common
 :mwyaml:
   :host: https://wikitech.wikimedia.org
   :cache_ttl: 120

-- 
To view, visit https://gerrit.wikimedia.org/r/274566
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I288d439960ae81a4f02eb17b80bd02e728e216d3
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix role::programdashboard include and hieradata - change (operations/puppet)

2016-02-23 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/272906

Change subject: Fix role::programdashboard include and hieradata
..

Fix role::programdashboard include and hieradata

Change-Id: I74d9c18284bc9827e4a2dce2f9a5c8e08a1a0336
---
A hieradata/role/common/programdashboard.yaml
D hieradata/role/common/programdashboard/app.yaml
M modules/role/manifests/programdashboard/app.pp
3 files changed, 25 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/06/272906/1

diff --git a/hieradata/role/common/programdashboard.yaml 
b/hieradata/role/common/programdashboard.yaml
new file mode 100644
index 000..e149ced
--- /dev/null
+++ b/hieradata/role/common/programdashboard.yaml
@@ -0,0 +1,24 @@
+server_name: program-dashboard.wmflabs.org
+server_admin: educat...@wikimedia.org
+
+app::directory: /srv/programdashboard
+app::environment: production
+app::owner: programdashboard
+app::group: programdashboard
+app::dependencies:
+  - git-core
+  - ruby2.1
+  - ruby2.1-dev
+  - rubygems-integration
+  - bundler
+  - nodejs
+  - nodejs-legacy
+  - npm
+  - libmysqlclient-dev
+  - libpq-dev
+  - libqtwebkit-dev
+  - libsqlite3-dev
+  - pandoc
+  - apache2
+  - libapache2-mod-passenger
+  - ruby-passenger
diff --git a/hieradata/role/common/programdashboard/app.yaml 
b/hieradata/role/common/programdashboard/app.yaml
deleted file mode 100644
index a2a4909..000
--- a/hieradata/role/common/programdashboard/app.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-programdashboard::server_name: program-dashboard.wmflabs.org
-programdashboard::server_admin: educat...@wikimedia.org
-
-programdashboard::app::directory: /srv/programdashboard
-programdashboard::app::environment: production
-programdashboard::app::owner: programdashboard
-programdashboard::app::group: programdashboard
-programdashboard::app::dependencies:
-  - git-core
-  - ruby2.1
-  - ruby2.1-dev
-  - rubygems-integration
-  - bundler
-  - nodejs
-  - nodejs-legacy
-  - npm
-  - libmysqlclient-dev
-  - libpq-dev
-  - libqtwebkit-dev
-  - libsqlite3-dev
-  - pandoc
-  - apache2
-  - libapache2-mod-passenger
-  - ruby-passenger
diff --git a/modules/role/manifests/programdashboard/app.pp 
b/modules/role/manifests/programdashboard/app.pp
index e5bc0c0..b720485 100644
--- a/modules/role/manifests/programdashboard/app.pp
+++ b/modules/role/manifests/programdashboard/app.pp
@@ -4,7 +4,7 @@
 # configuration for running the Rails application.
 #
 class role::programdashboard::app {
-include programdashboard::app
+include ::programdashboard::app
 
 system::role { 'role::programdashboard::app':
 description => 'Program Dashboard application server',

-- 
To view, visit https://gerrit.wikimedia.org/r/272906
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I74d9c18284bc9827e4a2dce2f9a5c8e08a1a0336
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Program Dashboard configuration for initial labs rollout - change (operations/puppet)

2016-02-16 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/271149

Change subject: Program Dashboard configuration for initial labs rollout
..

Program Dashboard configuration for initial labs rollout

Defined role::programdashboard::app and programdashboard::app which
provision Rails application dependencies, Passenger setup, and the
deployment directory. This setup assumes that deployments will be
executed using Capistrano and the existing configuration within the
application repo.

A labs specific database setup will be included in a follow-up patch.

Bug: T105967
Change-Id: If6d8deed74dd6def372dee6df786c7594bddbe0c
---
A hieradata/labs/globaleducation/common.yaml
A manifests/role/programdashboard.pp
A modules/programdashboard/manifests/app.pp
A modules/programdashboard/manifests/init.pp
A modules/programdashboard/templates/apache.conf.erb
5 files changed, 141 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/49/271149/1

diff --git a/hieradata/labs/globaleducation/common.yaml 
b/hieradata/labs/globaleducation/common.yaml
new file mode 100644
index 000..a2a4909
--- /dev/null
+++ b/hieradata/labs/globaleducation/common.yaml
@@ -0,0 +1,24 @@
+programdashboard::server_name: program-dashboard.wmflabs.org
+programdashboard::server_admin: educat...@wikimedia.org
+
+programdashboard::app::directory: /srv/programdashboard
+programdashboard::app::environment: production
+programdashboard::app::owner: programdashboard
+programdashboard::app::group: programdashboard
+programdashboard::app::dependencies:
+  - git-core
+  - ruby2.1
+  - ruby2.1-dev
+  - rubygems-integration
+  - bundler
+  - nodejs
+  - nodejs-legacy
+  - npm
+  - libmysqlclient-dev
+  - libpq-dev
+  - libqtwebkit-dev
+  - libsqlite3-dev
+  - pandoc
+  - apache2
+  - libapache2-mod-passenger
+  - ruby-passenger
diff --git a/manifests/role/programdashboard.pp 
b/manifests/role/programdashboard.pp
new file mode 100644
index 000..e5bc0c0
--- /dev/null
+++ b/manifests/role/programdashboard.pp
@@ -0,0 +1,12 @@
+# = Class: role::programdashboard::app
+#
+# This role sets up Program Dashboard dependencies and an Apache/Passenger
+# configuration for running the Rails application.
+#
+class role::programdashboard::app {
+include programdashboard::app
+
+system::role { 'role::programdashboard::app':
+description => 'Program Dashboard application server',
+}
+}
diff --git a/modules/programdashboard/manifests/app.pp 
b/modules/programdashboard/manifests/app.pp
new file mode 100644
index 000..519b63f
--- /dev/null
+++ b/modules/programdashboard/manifests/app.pp
@@ -0,0 +1,60 @@
+# = Class: programdashboard::app
+#
+# The Program Dashboard Rails application.
+#
+# === Parameters
+#
+# [*dependencies*]
+#   Array of packaged dependencies to be installed.
+#
+# [*directory*]
+#   Target deployment directory.
+#
+# [*environment*]
+#   Rails/Rack environment to specify when running the application.
+#
+# [*owner*]
+#   Owner of the target deployment directory.
+#
+# [*group*]
+#   Group owner of the deployment directory.
+#
+class programdashboard::app(
+$dependencies,
+$directory,
+$environment,
+$owner,
+$group,
+) {
+require programdashboard
+
+include apt
+include apache
+include apache::mod::passenger
+
+require_package($dependencies)
+
+group { $group:
+ensure => present,
+}
+
+user { $owner:
+ensure => present,
+gid=> $group,
+}
+
+file { $directory:
+ensure  => directory,
+owner   => $owner,
+group   => $group,
+mode=> 0750,
+}
+
+$server_name = $::programdashboard::server_name;
+$server_admin = $::programdashboard::server_admin;
+
+apache::site { 'program-dashboard':
+content => template('programdashboard/apache.conf.erb'),
+require => File[$directory],
+}
+}
diff --git a/modules/programdashboard/manifests/init.pp 
b/modules/programdashboard/manifests/init.pp
new file mode 100644
index 000..f03276e
--- /dev/null
+++ b/modules/programdashboard/manifests/init.pp
@@ -0,0 +1,22 @@
+# = Class: programdashboard
+#
+# The Program Dashboard is a web application, originally written by the Wiki
+# Education Foundation, that supports Wikipedia education assignments,
+# provides data and course management features for groups of Wikipedia users
+# who are working on a common Wikipedia project. It has since be adopted by
+# WMF for use with other programs.
+#
+# === Parameters
+#
+# [*server_name*]
+#   Host name entrypoint for the dashboard.
+#
+# [*server_admin*]
+#   Email address of the application administrator.
+#
+class programdashboard(
+$server_name,
+$server_admin,
+) {
+
+}
diff --git a/modules/programdashboard/templates/apache.conf.erb 
b/modules/programdashboard/templates/apache.conf.erb
new file mode 100644
inde

[MediaWiki-commits] [Gerrit] Handle cyclical extension dependencies - change (integration/config)

2016-02-04 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/268451

Change subject: Handle cyclical extension dependencies
..

Handle cyclical extension dependencies

Refactored `get_dependencies` to handle cyclical dependencies using an
accumulator that skips recursion when coming upon an extension for which
dependencies have already been resolved.

Change-Id: I8be31368b30da15af3081e44303d83f874fd0084
---
M tests/test_zuul_ext_dependencies.py
M zuul/ext_dependencies.py
2 files changed, 26 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/51/268451/1

diff --git a/tests/test_zuul_ext_dependencies.py 
b/tests/test_zuul_ext_dependencies.py
index 05dac81..2ed06d4 100644
--- a/tests/test_zuul_ext_dependencies.py
+++ b/tests/test_zuul_ext_dependencies.py
@@ -34,6 +34,13 @@
 self.assertIn('EXT_NAME', params)
 self.assertEqual(params['EXT_NAME'], 'Example')
 
+def test_cyclical_dependencies(self):
+"""verifies that cyclical dependencies are possible"""
+
+mapping = {'Foo': ['Bar'], 'Bar': ['Foo']}
+
+self.assertEqual(get_dependencies('Foo', mapping), set(['Foo', 'Bar']))
+
 def test_resolvable_dependencies(self):
 """verifies that we can resolve all of the dependencies"""
 for ext_name in dependencies:
diff --git a/zuul/ext_dependencies.py b/zuul/ext_dependencies.py
index a855843..92acbcd 100644
--- a/zuul/ext_dependencies.py
+++ b/zuul/ext_dependencies.py
@@ -94,10 +94,22 @@
 :param mapping: mapping of extensions to their dependencies
 :return: set of dependencies, recursively processed
 """
-deps = set()
-if ext_name in mapping:
-for dep in mapping[ext_name]:
-deps.add(dep)
-# TODO: Max recursion limit?
-deps = deps.union(get_dependencies(dep, mapping))
-return deps
+resolved = set()
+
+def resolve_deps(ext):
+if ext in resolved:
+return
+
+resolved.add(ext)
+deps = set()
+
+if ext in mapping:
+for dep in mapping[ext]:
+deps.add(dep)
+
+if dep not in resolved:
+deps = deps.union(resolve_deps(dep))
+
+return deps
+
+return resolve_deps(ext_name)

-- 
To view, visit https://gerrit.wikimedia.org/r/268451
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8be31368b30da15af3081e44303d83f874fd0084
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Remove RandomRootPage extension from branching config - change (mediawiki...release)

2016-02-02 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267989

Change subject: Remove RandomRootPage extension from branching config
..

Remove RandomRootPage extension from branching config

The RandomRootPage extension has been archived.

Change-Id: I627fcc27c44a2b7126186e8dd905118f86e34747
---
M make-wmf-branch/config.json
1 file changed, 0 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release 
refs/changes/89/267989/1

diff --git a/make-wmf-branch/config.json b/make-wmf-branch/config.json
index 2e5aa21..1087f68 100644
--- a/make-wmf-branch/config.json
+++ b/make-wmf-branch/config.json
@@ -104,7 +104,6 @@
"ProofreadPage",
"QuickSurveys",
"Quiz",
-   "RandomRootPage",
"RelatedArticles",
"RelatedSites",
"Renameuser",

-- 
To view, visit https://gerrit.wikimedia.org/r/267989
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I627fcc27c44a2b7126186e8dd905118f86e34747
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Check .scap-master-ready file before syncing scap masters - change (operations/puppet)

2016-02-02 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267934

Change subject: Check .scap-master-ready file before syncing scap masters
..

Check .scap-master-ready file before syncing scap masters

As an extra safely precaution against syncs of partially set up
deployment masters, there must now exist a file on both the local and
remote master called '.scap-master-ready'.

Change-Id: I6b307d374719bf21f143d75fb6eda293edb91dd6
---
M modules/scap/files/scap-master-sync
1 file changed, 18 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/34/267934/1

diff --git a/modules/scap/files/scap-master-sync 
b/modules/scap/files/scap-master-sync
index b0dc544..6abd171 100755
--- a/modules/scap/files/scap-master-sync
+++ b/modules/scap/files/scap-master-sync
@@ -1,16 +1,33 @@
 #!/bin/bash
 # Rsync the common module from the given deployment master to the local
-# staging directory (/srv/mediawiki-staging)
+# staging directory (/srv/mediawiki-staging).
+#
+# As an extra safely precaution against syncs of partially set up masters,
+# there must be a file touched on both the local and remote master called
+# '.scap-master-ready'.
 
 set -eu
 
 MASTER=${1:?No master provided}
+READYFLAG=/srv/mediawiki-staging/.scap-master-ready
 
 if [[ $EUID -ne 0 ]]; then
 echo "$0 must be run as root" 1>&2
 exit 2
 fi
 
+if ! test -f "$READYFLAG"; then
+echo "${READYFLAG} file not found"
+echo "Please 'touch ${READYFLAG}' once this server is fully set up."
+exit 1
+fi
+
+if ! ssh "$MASTER" "test -f '${READYFLAG}'"; then
+echo "${READYFLAG} file not found on ${MASTER}"
+echo "Skipping master sync for ${MASTER}."
+exit 0
+fi
+
 exec /usr/bin/rsync \
 --archive --delete-delay --delay-updates --compress --delete \
 --exclude="**/cache/l10n/*.cdb" \

-- 
To view, visit https://gerrit.wikimedia.org/r/267934
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b307d374719bf21f143d75fb6eda293edb91dd6
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] QA: Upgrade to mediawiki_selenium 1.6.5 - change (mediawiki/core)

2016-02-01 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267803

Change subject: QA: Upgrade to mediawiki_selenium 1.6.5
..

QA: Upgrade to mediawiki_selenium 1.6.5

Bug: T114241
Change-Id: I2996611d51b5d08c67f7a60d05003db97dffc0b7
---
M Gemfile
M Gemfile.lock
2 files changed, 8 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/03/267803/1

diff --git a/Gemfile b/Gemfile
index ee09906..636d4ee 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,4 +1,4 @@
 source 'https://rubygems.org'
 
-gem 'mediawiki_selenium', '~> 1.6.3'
+gem 'mediawiki_selenium', '~> 1.6.5'
 gem 'rubocop', '~> 0.32.1', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 4d0203a..8684be9 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -5,7 +5,7 @@
 astrolabe (1.3.0)
   parser (>= 2.2.0.pre.3, < 3.0)
 builder (3.2.2)
-childprocess (0.5.8)
+childprocess (0.5.9)
   ffi (~> 1.0, >= 1.0.11)
 cucumber (1.3.20)
   builder (>= 2.1.2)
@@ -17,7 +17,7 @@
   faker (>= 1.1.2)
   yml_reader (>= 0.6)
 diff-lcs (1.2.5)
-domain_name (0.5.25)
+domain_name (0.5.20160128)
   unf (>= 0.0.5, < 1.0.0)
 faker (1.6.1)
   i18n (~> 0.5)
@@ -37,7 +37,7 @@
 mediawiki_api (0.5.0)
   faraday (~> 0.9, >= 0.9.0)
   faraday-cookie_jar (~> 0.0, >= 0.0.6)
-mediawiki_selenium (1.6.3)
+mediawiki_selenium (1.6.5)
   cucumber (~> 1.3, >= 1.3.20)
   headless (~> 2.0, >= 2.1.0)
   json (~> 1.8, >= 1.8.1)
@@ -53,7 +53,7 @@
 multi_test (0.1.2)
 multipart-post (2.0.0)
 netrc (0.11.0)
-page-object (1.1.0)
+page-object (1.1.1)
   page_navigation (>= 0.9)
   selenium-webdriver (>= 2.44.0)
   watir-webdriver (>= 0.6.11)
@@ -78,7 +78,7 @@
   ruby-progressbar (~> 1.4)
 ruby-progressbar (1.7.5)
 rubyzip (1.1.7)
-selenium-webdriver (2.48.1)
+selenium-webdriver (2.50.0)
   childprocess (~> 0.5)
   multi_json (~> 1.0)
   rubyzip (~> 1.0)
@@ -91,11 +91,11 @@
 watir-webdriver (0.9.1)
   selenium-webdriver (>= 2.46.2)
 websocket (1.2.2)
-yml_reader (0.6)
+yml_reader (0.7)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  mediawiki_selenium (~> 1.6.3)
+  mediawiki_selenium (~> 1.6.5)
   rubocop (~> 0.32.1)

-- 
To view, visit https://gerrit.wikimedia.org/r/267803
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2996611d51b5d08c67f7a60d05003db97dffc0b7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] QA: Fix user lookup test for Linux Firefox - change (mediawiki...CentralAuth)

2016-01-28 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267181

Change subject: QA: Fix user lookup test for Linux Firefox
..

QA: Fix user lookup test for Linux Firefox

The form submit button was not actually being clicked due to
interference from the username autocomplete dropdown. This seems to only
be an issue in Firefox on Linux but is easily worked around by adding an
enter key press after filling in the username.

Change-Id: I11f3284496381bb3870dd8a71e067209d5a0dc2a
---
M Gemfile.lock
M tests/browser/features/support/pages/special_central_auth.rb
2 files changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralAuth 
refs/changes/81/267181/1

diff --git a/Gemfile.lock b/Gemfile.lock
index 5a2756f..bd68341 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -99,3 +99,6 @@
 DEPENDENCIES
   mediawiki_selenium (~> 1.6.3)
   rubocop (~> 0.34.1)
+
+BUNDLED WITH
+   1.10.6
diff --git a/tests/browser/features/support/pages/special_central_auth.rb 
b/tests/browser/features/support/pages/special_central_auth.rb
index cbd4068..9f35ef7 100644
--- a/tests/browser/features/support/pages/special_central_auth.rb
+++ b/tests/browser/features/support/pages/special_central_auth.rb
@@ -9,7 +9,7 @@
   fieldset(:centralauth_info, id: 'mw-centralauth-info')
 
   def lookup_user(username)
-target_field_element.when_present.send_keys(username)
+target_field_element.when_present.send_keys(username, :enter)
 submit_element.when_present.click
   end
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/267181
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I11f3284496381bb3870dd8a71e067209d5a0dc2a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CentralAuth
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] QA: Upgrade mediawiki_selenium to version 1.6.5 - change (mediawiki...CentralAuth)

2016-01-28 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267182

Change subject: QA: Upgrade mediawiki_selenium to version 1.6.5
..

QA: Upgrade mediawiki_selenium to version 1.6.5

Bug: T114241
Change-Id: I8d1393e43242c171026cf5dc9941d59e5d09c15d
---
M Gemfile
M Gemfile.lock
2 files changed, 7 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralAuth 
refs/changes/82/267182/1

diff --git a/Gemfile b/Gemfile
index 0a32c40..bd39e20 100755
--- a/Gemfile
+++ b/Gemfile
@@ -1,4 +1,4 @@
 source 'https://rubygems.org'
 
-gem 'mediawiki_selenium', '~> 1.6.3'
+gem 'mediawiki_selenium', '~> 1.6.5'
 gem 'rubocop', '~> 0.34.1', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index bd68341..b4a010a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -5,7 +5,7 @@
 astrolabe (1.3.1)
   parser (~> 2.2)
 builder (3.2.2)
-childprocess (0.5.8)
+childprocess (0.5.9)
   ffi (~> 1.0, >= 1.0.11)
 cucumber (1.3.20)
   builder (>= 2.1.2)
@@ -37,7 +37,7 @@
 mediawiki_api (0.5.0)
   faraday (~> 0.9, >= 0.9.0)
   faraday-cookie_jar (~> 0.0, >= 0.0.6)
-mediawiki_selenium (1.6.3)
+mediawiki_selenium (1.6.5)
   cucumber (~> 1.3, >= 1.3.20)
   headless (~> 2.0, >= 2.1.0)
   json (~> 1.8, >= 1.8.1)
@@ -53,7 +53,7 @@
 multi_test (0.1.2)
 multipart-post (2.0.0)
 netrc (0.11.0)
-page-object (1.1.0)
+page-object (1.1.1)
   page_navigation (>= 0.9)
   selenium-webdriver (>= 2.44.0)
   watir-webdriver (>= 0.6.11)
@@ -78,7 +78,7 @@
   ruby-progressbar (~> 1.4)
 ruby-progressbar (1.7.5)
 rubyzip (1.1.7)
-selenium-webdriver (2.48.1)
+selenium-webdriver (2.49.0)
   childprocess (~> 0.5)
   multi_json (~> 1.0)
   rubyzip (~> 1.0)
@@ -91,13 +91,13 @@
 watir-webdriver (0.9.1)
   selenium-webdriver (>= 2.46.2)
 websocket (1.2.2)
-yml_reader (0.6)
+yml_reader (0.7)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  mediawiki_selenium (~> 1.6.3)
+  mediawiki_selenium (~> 1.6.5)
   rubocop (~> 0.34.1)
 
 BUNDLED WITH

-- 
To view, visit https://gerrit.wikimedia.org/r/267182
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8d1393e43242c171026cf5dc9941d59e5d09c15d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CentralAuth
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Guard against $wgOut not existing - change (mediawiki...WikimediaEvents)

2016-01-28 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267153

Change subject: Guard against $wgOut not existing
..

Guard against $wgOut not existing

UserSaveOptions can be apparently called before $wgOut was
initialized; skip the hook in that case (it's only meant to run
when Special:Preferences or the options API is posted).

Bug: T125151
Change-Id: I9581fd4586d61c66e51eafc1dcaac10631b5bfe1
---
M WikimediaEventsHooks.php
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaEvents 
refs/changes/53/267153/1

diff --git a/WikimediaEventsHooks.php b/WikimediaEventsHooks.php
index 74b1b57..f5ac107 100644
--- a/WikimediaEventsHooks.php
+++ b/WikimediaEventsHooks.php
@@ -187,7 +187,7 @@
// TODO (mattflaschen, 2013-06-13): Ideally this would be done 
more cleanly without
// looking explicitly at page names and URL parameters.
// Maybe a userInitiated flag passed to saveSettings would work.
-   if ( ( $wgOut->getTitle() && $wgOut->getTitle()->isSpecial( 
'Preferences' ) )
+   if ( ( $wgOut && $wgOut->getTitle() && 
$wgOut->getTitle()->isSpecial( 'Preferences' ) )
|| ( defined( 'MW_API' ) && 
$wgOut->getRequest()->getVal( 'action' ) === 'options' )
) {
// $clone is the current user object before the new 
option values are set

-- 
To view, visit https://gerrit.wikimedia.org/r/267153
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9581fd4586d61c66e51eafc1dcaac10631b5bfe1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: wmf/1.27.0-wmf.11
Gerrit-Owner: Dduvall 
Gerrit-Reviewer: Gergő Tisza 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] all wikis to 1.27.0-wmf.11 - change (operations/mediawiki-config)

2016-01-28 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/267138

Change subject: all wikis to 1.27.0-wmf.11
..

all wikis to 1.27.0-wmf.11

Change-Id: I2330dd6bacec787123fe584ee60ac058a0f97c2c
---
M wikiversions.json
1 file changed, 295 insertions(+), 295 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/38/267138/1

diff --git a/wikiversions.json b/wikiversions.json
index fe75c43..d134f13 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1,38 +1,38 @@
 {
-"aawiki": "php-1.27.0-wmf.10",
+"aawiki": "php-1.27.0-wmf.11",
 "aawikibooks": "php-1.27.0-wmf.11",
 "aawiktionary": "php-1.27.0-wmf.11",
-"abwiki": "php-1.27.0-wmf.10",
+"abwiki": "php-1.27.0-wmf.11",
 "abwiktionary": "php-1.27.0-wmf.11",
-"acewiki": "php-1.27.0-wmf.10",
+"acewiki": "php-1.27.0-wmf.11",
 "advisorywiki": "php-1.27.0-wmf.11",
-"afwiki": "php-1.27.0-wmf.10",
+"afwiki": "php-1.27.0-wmf.11",
 "afwikibooks": "php-1.27.0-wmf.11",
 "afwikiquote": "php-1.27.0-wmf.11",
 "afwiktionary": "php-1.27.0-wmf.11",
-"akwiki": "php-1.27.0-wmf.10",
+"akwiki": "php-1.27.0-wmf.11",
 "akwikibooks": "php-1.27.0-wmf.11",
 "akwiktionary": "php-1.27.0-wmf.11",
-"alswiki": "php-1.27.0-wmf.10",
+"alswiki": "php-1.27.0-wmf.11",
 "alswikibooks": "php-1.27.0-wmf.11",
 "alswikiquote": "php-1.27.0-wmf.11",
 "alswiktionary": "php-1.27.0-wmf.11",
-"amwiki": "php-1.27.0-wmf.10",
+"amwiki": "php-1.27.0-wmf.11",
 "amwikiquote": "php-1.27.0-wmf.11",
 "amwiktionary": "php-1.27.0-wmf.11",
-"angwiki": "php-1.27.0-wmf.10",
+"angwiki": "php-1.27.0-wmf.11",
 "angwikibooks": "php-1.27.0-wmf.11",
 "angwikiquote": "php-1.27.0-wmf.11",
 "angwikisource": "php-1.27.0-wmf.11",
 "angwiktionary": "php-1.27.0-wmf.11",
-"anwiki": "php-1.27.0-wmf.10",
+"anwiki": "php-1.27.0-wmf.11",
 "anwiktionary": "php-1.27.0-wmf.11",
-"arbcom_dewiki": "php-1.27.0-wmf.10",
-"arbcom_enwiki": "php-1.27.0-wmf.10",
-"arbcom_fiwiki": "php-1.27.0-wmf.10",
-"arbcom_nlwiki": "php-1.27.0-wmf.10",
-"arcwiki": "php-1.27.0-wmf.10",
-"arwiki": "php-1.27.0-wmf.10",
+"arbcom_dewiki": "php-1.27.0-wmf.11",
+"arbcom_enwiki": "php-1.27.0-wmf.11",
+"arbcom_fiwiki": "php-1.27.0-wmf.11",
+"arbcom_nlwiki": "php-1.27.0-wmf.11",
+"arcwiki": "php-1.27.0-wmf.11",
+"arwiki": "php-1.27.0-wmf.11",
 "arwikibooks": "php-1.27.0-wmf.11",
 "arwikimedia": "php-1.27.0-wmf.11",
 "arwikinews": "php-1.27.0-wmf.11",
@@ -40,80 +40,80 @@
 "arwikisource": "php-1.27.0-wmf.11",
 "arwikiversity": "php-1.27.0-wmf.11",
 "arwiktionary": "php-1.27.0-wmf.11",
-"arzwiki": "php-1.27.0-wmf.10",
-"astwiki": "php-1.27.0-wmf.10",
+"arzwiki": "php-1.27.0-wmf.11",
+"astwiki": "php-1.27.0-wmf.11",
 "astwikibooks": "php-1.27.0-wmf.11",
 "astwikiquote": "php-1.27.0-wmf.11",
 "astwiktionary": "php-1.27.0-wmf.11",
-"aswiki": "php-1.27.0-wmf.10",
+"aswiki": "php-1.27.0-wmf.11",
 "aswikibooks": "php-1.27.0-wmf.11",
 "aswikisource": "php-1.27.0-wmf.11",
 "aswiktionary": "php-1.27.0-wmf.11",
 "auditcomwiki": "php-1.27.0-wmf.11",
-"avwiki": "php-1.27.0-wmf.10",
+"avwiki": "php-1.27.0-wmf.11",
 "avwiktionary": "php-1.27.0-wmf.11",
-"aywiki": "php-1.27.0-wmf.10",
+"aywiki": "php-1.27.0-wmf.11",
 "aywikibooks": "php-1.27.0-wmf.11",
 "aywiktionary": "php-1.27.0-wmf.11",
-"azbwiki": "php-1.27.0-wmf.10",
-"azwiki": "php-1.27.0-wmf.10",
+"azbwiki": "php-1.27.0-wmf.11",
+"azwiki": "php-1.27.0-wmf.11",
 "azwikibooks": "php-1.27.0-wmf.11",
 "azwikiquote": "php-1.27.0-wmf.11",
 "azwikisource": "php-1.27.0-wmf.11",
 "azwiktionary": "php-1.27.0-wmf.11",
-"barwiki": "php-1.27.0-wmf.10",
-"bat_smgwiki": "php-1.27.0-wmf.10",
-"bawiki": "php-1.27.0-wmf.10",
+"barwiki": "php-1.27.0-wmf.11",
+"bat_smgwiki": "php-1.27.0-wmf.11",
+"bawiki": "php-1.27.0-wmf.11",
 "bawikibooks": "php-1.27.0-wmf.11",
-"bclwiki": "php-1.27.0-wmf.10",
+"bclwiki": "php-1.27.0-wmf.11",
 "bdwikimedia": "php-1.27.0-wmf.11",
-"be_x_oldwiki": "php-1.27.0-wmf.10",
+"be_x_oldwiki": "php-1.27.0-wmf.11",
 "betawikiversity": "php-1.27.0-wmf.11",
-"bewiki": "php-1.27.0-wmf.10",
+"bewiki": "php-1.27.0-wmf.11",
 "bewikibooks": "php-1.27.0-wmf.11",
 "bewikimedia": "php-1.27.0-wmf.11",
 "bewikiquote": "php-1.27.0-wmf.11",
 "bewikisource": "php-1.27.0-wmf.11",
 "bewiktionary": "php-1.27.0-wmf.11",
-"bgwiki": "php-1.27.0-wmf.10",
+"bgwiki": "php-1.27.0-wmf.11",
 "bgwikibooks": "php-1.27.0-wmf.11",
 "bgwikinews": "php-1.27.0-wmf.11",
 "bgwikiquote": "php-1.27.0-wmf.11",
 "bgwikisource": "php-1.27.0-wmf.11",
 "bgwiktionary": "php-1.27.0-wmf.11",
-"bhwiki":

[MediaWiki-commits] [Gerrit] Target testwiki for PdfHandler browser tests - change (integration/config)

2016-01-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266952

Change subject: Target testwiki for PdfHandler browser tests
..

Target testwiki for PdfHandler browser tests

Change-Id: I397703e00712cc564f4ebf18a89bc964f36bed19
Depends-on: I48acf0f4ec7be40e1aead81b2c12516ae43b1336
---
M jjb/browsertests.yaml
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/52/266952/1

diff --git a/jjb/browsertests.yaml b/jjb/browsertests.yaml
index 3c4793b..6a2e04a 100644
--- a/jjb/browsertests.yaml
+++ b/jjb/browsertests.yaml
@@ -339,7 +339,7 @@
 folder: tests
 headless: 'false'
 mediawiki_credentials_id: Selenium_user-at-wikipedia.org
-mediawiki_url: test2.wikipedia.org
+mediawiki_url: test.wikipedia.org
 platform: linux
 recipients: *emails-qa
 repository: mediawiki/extensions/PdfHandler

-- 
To view, visit https://gerrit.wikimedia.org/r/266952
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I397703e00712cc564f4ebf18a89bc964f36bed19
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] QA: Target testwiki instead of test2wiki - change (mediawiki...PdfHandler)

2016-01-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266947

Change subject: QA: Target testwiki instead of test2wiki
..

QA: Target testwiki instead of test2wiki

It was proposed that test2wiki be shut down, and this is one of the few
remaining test suites that runs against it.

Change-Id: I48acf0f4ec7be40e1aead81b2c12516ae43b1336
---
M tests/browser/environments.yml
M tests/browser/features/pdf.feature
2 files changed, 3 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PdfHandler 
refs/changes/47/266947/1

diff --git a/tests/browser/environments.yml b/tests/browser/environments.yml
index 35eb153..2915092 100644
--- a/tests/browser/environments.yml
+++ b/tests/browser/environments.yml
@@ -27,8 +27,8 @@
   mediawiki_user: Selenium_user
   # mediawiki_password: SET THIS IN THE ENVIRONMENT!
 
-test2:
-  mediawiki_url: http://test2.wikipedia.org/wiki/
+test:
+  mediawiki_url: http://test.wikipedia.org/wiki/
   mediawiki_user: Selenium_user
   # mediawiki_password: SET THIS IN THE ENVIRONMENT!
 
diff --git a/tests/browser/features/pdf.feature 
b/tests/browser/features/pdf.feature
index f78dd1c..84fb3ff 100644
--- a/tests/browser/features/pdf.feature
+++ b/tests/browser/features/pdf.feature
@@ -1,15 +1,4 @@
-#
-# This file is subject to the license terms in the LICENSE file found in the
-# qa-browsertests top-level directory and at
-# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/LICENSE. No part of
-# qa-browsertests, including this file, may be copied, modified, propagated, or
-# distributed except according to the terms contained in the LICENSE file.
-#
-# Copyright 2012-2014 by the Mediawiki developers. See the CREDITS file in the
-# qa-browsertests top-level directory and at
-# https://git.wikimedia.org/blob/qa%2Fbrowsertests/HEAD/CREDITS
-#
-@chrome @firefox @internet_explorer_8 @internet_explorer_9 
@internet_explorer_10 @phantomjs @test2.wikipedia.org
+@chrome @firefox @internet_explorer_8 @internet_explorer_9 
@internet_explorer_10 @phantomjs @test.wikipedia.org
 Feature: PDF
 
   Scenario: Check for Download as PDF link

-- 
To view, visit https://gerrit.wikimedia.org/r/266947
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I48acf0f4ec7be40e1aead81b2c12516ae43b1336
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PdfHandler
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] QA: Upgrade mediawiki_selenium to version 1.6.5 - change (mediawiki...PdfHandler)

2016-01-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266929

Change subject: QA: Upgrade mediawiki_selenium to version 1.6.5
..

QA: Upgrade mediawiki_selenium to version 1.6.5

The new version includes a fix to the SauceLabs job URL in JUnit
log output.

Bug: T114241
Change-Id: Iaf5b653476202017b826af0f96919e118aa823be
---
M Gemfile
M Gemfile.lock
2 files changed, 12 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PdfHandler 
refs/changes/29/266929/1

diff --git a/Gemfile b/Gemfile
index b87770d..7a5162e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,4 +1,4 @@
 source 'https://rubygems.org'
 
-gem 'mediawiki_selenium', '~> 1.6.2'
+gem 'mediawiki_selenium', '~> 1.6.5'
 gem 'rubocop', '~> 0.35.1', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 47934de..5e41a81 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -5,7 +5,7 @@
 astrolabe (1.3.1)
   parser (~> 2.2)
 builder (3.2.2)
-childprocess (0.5.8)
+childprocess (0.5.9)
   ffi (~> 1.0, >= 1.0.11)
 cucumber (1.3.20)
   builder (>= 2.1.2)
@@ -13,9 +13,9 @@
   gherkin (~> 2.12)
   multi_json (>= 1.7.5, < 2.0)
   multi_test (>= 0.1.2)
-data_magic (0.21)
+data_magic (0.22)
   faker (>= 1.1.2)
-  yml_reader (>= 0.4)
+  yml_reader (>= 0.6)
 diff-lcs (1.2.5)
 domain_name (0.5.25)
   unf (>= 0.0.5, < 1.0.0)
@@ -37,7 +37,7 @@
 mediawiki_api (0.5.0)
   faraday (~> 0.9, >= 0.9.0)
   faraday-cookie_jar (~> 0.0, >= 0.0.6)
-mediawiki_selenium (1.6.2)
+mediawiki_selenium (1.6.5)
   cucumber (~> 1.3, >= 1.3.20)
   headless (~> 2.0, >= 2.1.0)
   json (~> 1.8, >= 1.8.1)
@@ -53,7 +53,7 @@
 multi_test (0.1.2)
 multipart-post (2.0.0)
 netrc (0.11.0)
-page-object (1.1.0)
+page-object (1.1.1)
   page_navigation (>= 0.9)
   selenium-webdriver (>= 2.44.0)
   watir-webdriver (>= 0.6.11)
@@ -79,7 +79,7 @@
   tins (<= 1.6.0)
 ruby-progressbar (1.7.5)
 rubyzip (1.1.7)
-selenium-webdriver (2.48.1)
+selenium-webdriver (2.49.0)
   childprocess (~> 0.5)
   multi_json (~> 1.0)
   rubyzip (~> 1.0)
@@ -93,11 +93,14 @@
 watir-webdriver (0.9.1)
   selenium-webdriver (>= 2.46.2)
 websocket (1.2.2)
-yml_reader (0.5)
+yml_reader (0.7)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  mediawiki_selenium (~> 1.6.2)
+  mediawiki_selenium (~> 1.6.5)
   rubocop (~> 0.35.1)
+
+BUNDLED WITH
+   1.10.6

-- 
To view, visit https://gerrit.wikimedia.org/r/266929
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaf5b653476202017b826af0f96919e118aa823be
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PdfHandler
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] group1 wikis to 1.27.0-wmf.11 - change (operations/mediawiki-config)

2016-01-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266795

Change subject: group1 wikis to 1.27.0-wmf.11
..

group1 wikis to 1.27.0-wmf.11

Change-Id: Icbc6af9a812a6ce59f66fefa37a0b1701b4a1bb3
---
M wikiversions.json
1 file changed, 594 insertions(+), 594 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/95/266795/1

diff --git a/wikiversions.json b/wikiversions.json
index a5d746a..fe75c43 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1,896 +1,896 @@
 {
 "aawiki": "php-1.27.0-wmf.10",
-"aawikibooks": "php-1.27.0-wmf.10",
-"aawiktionary": "php-1.27.0-wmf.10",
+"aawikibooks": "php-1.27.0-wmf.11",
+"aawiktionary": "php-1.27.0-wmf.11",
 "abwiki": "php-1.27.0-wmf.10",
-"abwiktionary": "php-1.27.0-wmf.10",
+"abwiktionary": "php-1.27.0-wmf.11",
 "acewiki": "php-1.27.0-wmf.10",
-"advisorywiki": "php-1.27.0-wmf.10",
+"advisorywiki": "php-1.27.0-wmf.11",
 "afwiki": "php-1.27.0-wmf.10",
-"afwikibooks": "php-1.27.0-wmf.10",
-"afwikiquote": "php-1.27.0-wmf.10",
-"afwiktionary": "php-1.27.0-wmf.10",
+"afwikibooks": "php-1.27.0-wmf.11",
+"afwikiquote": "php-1.27.0-wmf.11",
+"afwiktionary": "php-1.27.0-wmf.11",
 "akwiki": "php-1.27.0-wmf.10",
-"akwikibooks": "php-1.27.0-wmf.10",
-"akwiktionary": "php-1.27.0-wmf.10",
+"akwikibooks": "php-1.27.0-wmf.11",
+"akwiktionary": "php-1.27.0-wmf.11",
 "alswiki": "php-1.27.0-wmf.10",
-"alswikibooks": "php-1.27.0-wmf.10",
-"alswikiquote": "php-1.27.0-wmf.10",
-"alswiktionary": "php-1.27.0-wmf.10",
+"alswikibooks": "php-1.27.0-wmf.11",
+"alswikiquote": "php-1.27.0-wmf.11",
+"alswiktionary": "php-1.27.0-wmf.11",
 "amwiki": "php-1.27.0-wmf.10",
-"amwikiquote": "php-1.27.0-wmf.10",
-"amwiktionary": "php-1.27.0-wmf.10",
+"amwikiquote": "php-1.27.0-wmf.11",
+"amwiktionary": "php-1.27.0-wmf.11",
 "angwiki": "php-1.27.0-wmf.10",
-"angwikibooks": "php-1.27.0-wmf.10",
-"angwikiquote": "php-1.27.0-wmf.10",
-"angwikisource": "php-1.27.0-wmf.10",
-"angwiktionary": "php-1.27.0-wmf.10",
+"angwikibooks": "php-1.27.0-wmf.11",
+"angwikiquote": "php-1.27.0-wmf.11",
+"angwikisource": "php-1.27.0-wmf.11",
+"angwiktionary": "php-1.27.0-wmf.11",
 "anwiki": "php-1.27.0-wmf.10",
-"anwiktionary": "php-1.27.0-wmf.10",
+"anwiktionary": "php-1.27.0-wmf.11",
 "arbcom_dewiki": "php-1.27.0-wmf.10",
 "arbcom_enwiki": "php-1.27.0-wmf.10",
 "arbcom_fiwiki": "php-1.27.0-wmf.10",
 "arbcom_nlwiki": "php-1.27.0-wmf.10",
 "arcwiki": "php-1.27.0-wmf.10",
 "arwiki": "php-1.27.0-wmf.10",
-"arwikibooks": "php-1.27.0-wmf.10",
-"arwikimedia": "php-1.27.0-wmf.10",
-"arwikinews": "php-1.27.0-wmf.10",
-"arwikiquote": "php-1.27.0-wmf.10",
-"arwikisource": "php-1.27.0-wmf.10",
-"arwikiversity": "php-1.27.0-wmf.10",
-"arwiktionary": "php-1.27.0-wmf.10",
+"arwikibooks": "php-1.27.0-wmf.11",
+"arwikimedia": "php-1.27.0-wmf.11",
+"arwikinews": "php-1.27.0-wmf.11",
+"arwikiquote": "php-1.27.0-wmf.11",
+"arwikisource": "php-1.27.0-wmf.11",
+"arwikiversity": "php-1.27.0-wmf.11",
+"arwiktionary": "php-1.27.0-wmf.11",
 "arzwiki": "php-1.27.0-wmf.10",
 "astwiki": "php-1.27.0-wmf.10",
-"astwikibooks": "php-1.27.0-wmf.10",
-"astwikiquote": "php-1.27.0-wmf.10",
-"astwiktionary": "php-1.27.0-wmf.10",
+"astwikibooks": "php-1.27.0-wmf.11",
+"astwikiquote": "php-1.27.0-wmf.11",
+"astwiktionary": "php-1.27.0-wmf.11",
 "aswiki": "php-1.27.0-wmf.10",
-"aswikibooks": "php-1.27.0-wmf.10",
-"aswikisource": "php-1.27.0-wmf.10",
-"aswiktionary": "php-1.27.0-wmf.10",
-"auditcomwiki": "php-1.27.0-wmf.10",
+"aswikibooks": "php-1.27.0-wmf.11",
+"aswikisource": "php-1.27.0-wmf.11",
+"aswiktionary": "php-1.27.0-wmf.11",
+"auditcomwiki": "php-1.27.0-wmf.11",
 "avwiki": "php-1.27.0-wmf.10",
-"avwiktionary": "php-1.27.0-wmf.10",
+"avwiktionary": "php-1.27.0-wmf.11",
 "aywiki": "php-1.27.0-wmf.10",
-"aywikibooks": "php-1.27.0-wmf.10",
-"aywiktionary": "php-1.27.0-wmf.10",
+"aywikibooks": "php-1.27.0-wmf.11",
+"aywiktionary": "php-1.27.0-wmf.11",
 "azbwiki": "php-1.27.0-wmf.10",
 "azwiki": "php-1.27.0-wmf.10",
-"azwikibooks": "php-1.27.0-wmf.10",
-"azwikiquote": "php-1.27.0-wmf.10",
-"azwikisource": "php-1.27.0-wmf.10",
-"azwiktionary": "php-1.27.0-wmf.10",
+"azwikibooks": "php-1.27.0-wmf.11",
+"azwikiquote": "php-1.27.0-wmf.11",
+"azwikisource": "php-1.27.0-wmf.11",
+"azwiktionary": "php-1.27.0-wmf.11",
 "barwiki": "php-1.27.0-wmf.10",
 "bat_smgwiki": "php-1.27.0-wmf.10",
 "bawiki": "php-1.27.0-wmf.10",
-"bawikibooks": "php-1.27.0-wmf.10",
+"bawikibooks": "php-1.27.0-wmf.11",
 "bclwiki":

[MediaWiki-commits] [Gerrit] Release patch version 1.6.5 - change (mediawiki/selenium)

2016-01-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266780

Change subject: Release patch version 1.6.5
..

Release patch version 1.6.5

Change-Id: Iec05389ef5fd253837f8a9e329a974863b7dde57
---
M RELEASES.md
M lib/mediawiki_selenium/version.rb
2 files changed, 5 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/80/266780/1

diff --git a/RELEASES.md b/RELEASES.md
index 773914d..cb8e73b 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,9 @@
 ## Release notes
 
+### 1.6.5 2016-01-27
+
+* Fixed `NoMethodError` in `EmbedBrowserSession` helper
+
 ### 1.6.4 2016-01-27
 
 * Log SauceLabs session URLs via Cucumber logger embeds
diff --git a/lib/mediawiki_selenium/version.rb 
b/lib/mediawiki_selenium/version.rb
index 65cf8bf..f8b7ef5 100644
--- a/lib/mediawiki_selenium/version.rb
+++ b/lib/mediawiki_selenium/version.rb
@@ -1,3 +1,3 @@
 module MediawikiSelenium
-  VERSION = '1.6.4'
+  VERSION = '1.6.5'
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/266780
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iec05389ef5fd253837f8a9e329a974863b7dde57
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fixed `NoMethodError` in `EmbedBrowserSession` helper - change (mediawiki/selenium)

2016-01-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266776

Change subject: Fixed `NoMethodError` in `EmbedBrowserSession` helper
..

Fixed `NoMethodError` in `EmbedBrowserSession` helper

Added a check for the `#session_id` method in the helper as it's only
public for remote sessions.

Change-Id: Ied87185f5d622ac759360d311ac7acbe79add798
---
A features/embed_browser_session.feature
A features/step_definitions/embed_browser_session_steps.rb
M lib/mediawiki_selenium/cucumber/embed_browser_session.rb
3 files changed, 22 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/76/266776/1

diff --git a/features/embed_browser_session.feature 
b/features/embed_browser_session.feature
new file mode 100644
index 000..b830bd4
--- /dev/null
+++ b/features/embed_browser_session.feature
@@ -0,0 +1,16 @@
+Feature: Embedded remote browser session ID for Cucumber tests
+
+  Sessions where an ID is assigned, such as SauceLabs remote sessions, should
+  have the ID saved (embedded) by the Cucumber logger. This test doesn't
+  actually measure that the session ID was correctly embedded but simply
+  exercises the helper to make sure it doesn't blow up when the `#session_id`
+  method doesn't exist.
+
+  Background:
+Given I have configured my environment from `ENV`
+  And I am using a local browser
+  And I am using the embed browser session helper
+
+  Scenario: 
+When I start interacting with the browser
+Then the browser is open
diff --git a/features/step_definitions/embed_browser_session_steps.rb 
b/features/step_definitions/embed_browser_session_steps.rb
new file mode 100644
index 000..21ce41e
--- /dev/null
+++ b/features/step_definitions/embed_browser_session_steps.rb
@@ -0,0 +1,3 @@
+Given(/^I am using the embed browser session helper$/) do
+  @env.extend(MediawikiSelenium::EmbedBrowserSession)
+end
diff --git a/lib/mediawiki_selenium/cucumber/embed_browser_session.rb 
b/lib/mediawiki_selenium/cucumber/embed_browser_session.rb
index fbbedca..153fbd0 100644
--- a/lib/mediawiki_selenium/cucumber/embed_browser_session.rb
+++ b/lib/mediawiki_selenium/cucumber/embed_browser_session.rb
@@ -11,7 +11,9 @@
 #
 def browser
   super.tap do |b|
-embed(b.driver.session_id, 'application/vnd.webdriver-session-id')
+if b.driver.respond_to?(:session_id)
+  embed(b.driver.session_id, 'application/vnd.webdriver-session-id')
+end
   end
 end
   end

-- 
To view, visit https://gerrit.wikimedia.org/r/266776
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ied87185f5d622ac759360d311ac7acbe79add798
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Group0 to 1.27.0-wmf.11 - change (operations/mediawiki-config)

2016-01-26 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266606

Change subject: Group0 to 1.27.0-wmf.11
..

Group0 to 1.27.0-wmf.11

Change-Id: Iac80cd1e1e4c4def5a9d5a8f140946d516608957
---
M wikiversions.json
1 file changed, 896 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/06/266606/1

diff --git a/wikiversions.json b/wikiversions.json
index b866777..a5d746a 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1,896 @@
-{"aawiki":"php-1.27.0-wmf.10","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.10","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.10","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.10","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.10","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.10","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.10","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.10","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.10","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.10","arbcom_enwiki":"php-1.27.0-wmf.10","arbcom_fiwiki":"php-1.27.0-wmf.10","arbcom_nlwiki":"php-1.27.0-wmf.10","arcwiki":"php-1.27.0-wmf.10","arwiki":"php-1.27.0-wmf.10","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.10","astwiki":"php-1.27.0-wmf.10","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.10","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.10","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.10","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.10","azwiki":"php-1.27.0-wmf.10","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.10","bat_smgwiki":"php-1.27.0-wmf.10","bawiki":"php-1.27.0-wmf.10","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.10","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.10","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.10","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.10","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.10","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.10","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.10","bmwiki":"php-1.27.0-wmf.10","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.10","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-wmf.10","boardgovcomwiki":"php-1.27.0-wmf.10","boardwiki":"php-1.27.0-wmf.10","bowiki":"php-1.27.0-wmf.10","bowikibooks":"php-1.27.0-wmf.10","bowiktionary":"php-1.27.0-wmf.10","bpywiki":"php-1.27.0-wmf.10","brwiki":"php-1.27.0-wmf.10","brwikimedia":"php-1.27.0-wmf.10","brwikiquote":"php-1.27.0-wmf.10","brwikisource":"php-1.27.0-wmf.10","brwiktionary":"php-1.27.0-wmf.10","bswiki":"php-1.27.0-wmf.10","bswikibooks":"php-1.27.0-wmf.10","bswikinews":"php-1.27.0-wmf.10","bswikiquote":"php-1.27.0-wmf.10","bswikisource":"php-1.27.0-wmf.10","bswiktionary":"php-1.27.0-wmf.10","bugwiki":"php-1.27.0-wmf.10","bxrwiki":"php-1.27.0-wmf.10","cawiki":"php-1.27.0-wmf.10","cawikibooks":"php-1.27.0-wmf.10","cawikimedia":"php-1.27.0-wmf.10","cawikinews":"php-1.27.0-wmf.10","cawikiquote":"php-1.27.0-wmf.10","cawikisource":"php-1.27.0-wmf.10","cawiktionary":"php-1.27.0-wmf.10","cbk_zamwiki":"php-1.27.0-wmf.10","cdowiki":"php-1.27.0-wmf.10","cebwiki":"php-1.27.0-wmf.10","cewiki":"php-1.27.0-wmf.10","chairwiki":"php-1.27.0-wmf.10","chapcomwiki":"php-1.27.0-wmf.10","checkuserwiki":"php-1.27.0-wmf.10","chowiki":"php-1.27.0-wmf.10","chrwiki":"php-1.27.0-wmf.10","chrwiktionary":"php-1.27.0-wmf.10","chwiki":"php-1.27.0-wmf.10","chwi

[MediaWiki-commits] [Gerrit] Wrap CallbackFilterIterator in a condition check - change (mediawiki...Echo)

2016-01-26 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/266601

Change subject: Wrap CallbackFilterIterator in a condition check
..

Wrap CallbackFilterIterator in a condition check

Wrap the CallbackFilterIterator backport class in a conditional check
for PHP runtimes that include the class natively. This really should
only be needed for linting as the class is loaded via an autoloader
and thus should not be loaded if the runtime already has it
available.

Bug: T124828
Change-Id: I39d27385186d4693a8babdd2b818e6b4bc16255a
---
M composer.json
M includes/iterator/CallbackFilterIterator.php
2 files changed, 22 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Echo 
refs/changes/01/266601/1

diff --git a/composer.json b/composer.json
index 5aad829..a4e611c 100644
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,7 @@
},
"scripts": {
"test": [
-   "parallel-lint . --exclude vendor --exclude 
includes/iterator/CallbackFilterIterator.php",
+   "parallel-lint . --exclude vendor",
"phpcs"
]
}
diff --git a/includes/iterator/CallbackFilterIterator.php 
b/includes/iterator/CallbackFilterIterator.php
index 4095d1d..e4aa4a2 100644
--- a/includes/iterator/CallbackFilterIterator.php
+++ b/includes/iterator/CallbackFilterIterator.php
@@ -1,24 +1,27 @@
 callback = $callback;
-   }
+   public function __construct( Iterator $iterator, $callback ) {
+   parent::__construct( $iterator );
+   $this->callback = $callback;
+   }
 
-   public function accept() {
-   return call_user_func(
-   $this->callback,
-   $this->current(),
-   $this->key(),
-   $this->getInnerIterator()
-   );
+   public function accept() {
+   return call_user_func(
+   $this->callback,
+   $this->current(),
+   $this->key(),
+   $this->getInnerIterator()
+   );
+   }
}
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/266601
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I39d27385186d4693a8babdd2b818e6b4bc16255a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
Gerrit-Branch: wmf/1.27.0-wmf.11
Gerrit-Owner: Dduvall 
Gerrit-Reviewer: BryanDavis 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Log SauceLabs session URLs via Cucumber logger embeds - change (mediawiki/selenium)

2016-01-22 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265894

Change subject: Log SauceLabs session URLs via Cucumber logger embeds
..

Log SauceLabs session URLs via Cucumber logger embeds

Refactored the SauceLabs/JUnit logger to accept embeds for WebDriver
session IDs, and implemented a helper module to embed them as soon as
each session is created to avoid race conditions with Cucumber hooks and
loggers.

Removed now unnecessary global `last_session_ids` class attribute from
`RemoteBrowserFactory`.

Bug: T105589
Change-Id: I19b4dfac1d6038cc3dbd2c0b63c3280d6c35c971
---
M lib/mediawiki_selenium.rb
A lib/mediawiki_selenium/cucumber/embed_browser_session.rb
M lib/mediawiki_selenium/cucumber/env.rb
M lib/mediawiki_selenium/cucumber/sauce.rb
M lib/mediawiki_selenium/remote_browser_factory.rb
5 files changed, 57 insertions(+), 32 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/94/265894/1

diff --git a/lib/mediawiki_selenium.rb b/lib/mediawiki_selenium.rb
index 659828d..61691b8 100644
--- a/lib/mediawiki_selenium.rb
+++ b/lib/mediawiki_selenium.rb
@@ -4,6 +4,7 @@
   autoload :BrowserFactory, 'mediawiki_selenium/browser_factory'
   autoload :ConfigurationError, 'mediawiki_selenium/configuration_error'
   autoload :Environment, 'mediawiki_selenium/environment'
+  autoload :EmbedBrowserSession, 
'mediawiki_selenium/cucumber/embed_browser_session'
   autoload :HeadlessHelper, 'mediawiki_selenium/helpers/headless_helper'
   autoload :Initializer, 'mediawiki_selenium/initializer'
   autoload :LoginHelper, 'mediawiki_selenium/helpers/login_helper'
diff --git a/lib/mediawiki_selenium/cucumber/embed_browser_session.rb 
b/lib/mediawiki_selenium/cucumber/embed_browser_session.rb
new file mode 100644
index 000..0ba3559
--- /dev/null
+++ b/lib/mediawiki_selenium/cucumber/embed_browser_session.rb
@@ -0,0 +1,21 @@
+module MediawikiSelenium
+  # Embeds the browser session upon creation into the active Cucumber logger.
+  #
+  module EmbedBrowserSession
+# Overloads `MediawikiSelenium::Environment#`
+# exception as a strict failure.
+#
+# Embeds the browser session into the active Cucumber logger(s) as soon as
+# {Environment} is done creating it. Note that the
+# 'application/vnd.webdriver-session-id' MIME used for the embedding is
+# made up for this purpose.
+#
+# @see Environment#browser
+#
+def browser
+  super.tap do |b|
+embed(b.driver.session_id, 'application/vnd.webdriver-session-id')
+  end
+end
+  end
+end
diff --git a/lib/mediawiki_selenium/cucumber/env.rb 
b/lib/mediawiki_selenium/cucumber/env.rb
index 8309cee..e3a50d4 100644
--- a/lib/mediawiki_selenium/cucumber/env.rb
+++ b/lib/mediawiki_selenium/cucumber/env.rb
@@ -9,4 +9,5 @@
 World(MediawikiSelenium::PageFactory)
 World(MediawikiSelenium::ScreenshotHelper)
 World(MediawikiSelenium::StrictPending)
+World(MediawikiSelenium::EmbedBrowserSession)
 World(MediawikiSelenium::UserFactoryHelper)
diff --git a/lib/mediawiki_selenium/cucumber/sauce.rb 
b/lib/mediawiki_selenium/cucumber/sauce.rb
index 7ac6569..51b33a9 100644
--- a/lib/mediawiki_selenium/cucumber/sauce.rb
+++ b/lib/mediawiki_selenium/cucumber/sauce.rb
@@ -1,17 +1,28 @@
 require 'cucumber/formatter/junit'
 require 'mediawiki_selenium/remote_browser_factory'
+require 'set'
 
 module Cucumber::Formatter
   class Sauce < Junit
+def before_steps(_steps)
+  @sids = Set.new
+
+  super
+end
+
+def embed(session_id, mime, _label)
+  return unless mime == 'application/vnd.webdriver-session-id'
+
+  @sids << session_id
+end
+
 private
 
 def format_exception(exception)
-  sids = MediawikiSelenium::RemoteBrowserFactory.last_session_ids
-
-  if sids.nil? || sids.empty?
+  if @sids.nil? || @sids.empty?
 message = 'Uh-oh. Could not find link to Sauce Labs job URL.'
   else
-message = sids.map { |sid| "Sauce Labs job URL: 
http://saucelabs.com/jobs/#{sid}\n"; }.join
+message = @sids.map { |sid| "Sauce Labs job URL: 
http://saucelabs.com/jobs/#{sid}\n"; }.join
   end
 
   msgs = [message] + ["#{exception.message} (#{exception.class})"] + 
exception.backtrace
diff --git a/lib/mediawiki_selenium/remote_browser_factory.rb 
b/lib/mediawiki_selenium/remote_browser_factory.rb
index 66f27f4..e66ba8f 100644
--- a/lib/mediawiki_selenium/remote_browser_factory.rb
+++ b/lib/mediawiki_selenium/remote_browser_factory.rb
@@ -16,37 +16,32 @@
 REQUIRED_CONFIG = [:sauce_ondemand_username, :sauce_ondemand_access_key]
 URL = 'http://ondemand.saucelabs.com/wd/hub'
 
-class << self
-  # @attr [Array] SauceLabs job IDs from the most recent sessions.
-  attr_accessor :last_session_ids
+def self.extend_object(base)
+  return if base.is_a?(self)
 
-  def extend_object(base)
-return if base.is_a?(self)
+  super
 
- 

[MediaWiki-commits] [Gerrit] Don't try to call parent::provideSessionInfo from CentralAut... - change (mediawiki...CentralAuth)

2016-01-21 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265545

Change subject: Don't try to call parent::provideSessionInfo from 
CentralAuthTokenSessionProvider
..

Don't try to call parent::provideSessionInfo from 
CentralAuthTokenSessionProvider

Just return a badtoken error instead.

Change-Id: Ic5852e87749fb902992c26116856a93802800879
---
M includes/session/CentralAuthTokenSessionProvider.php
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralAuth 
refs/changes/45/265545/1

diff --git a/includes/session/CentralAuthTokenSessionProvider.php 
b/includes/session/CentralAuthTokenSessionProvider.php
index 3536cc0..f727447 100644
--- a/includes/session/CentralAuthTokenSessionProvider.php
+++ b/includes/session/CentralAuthTokenSessionProvider.php
@@ -104,7 +104,7 @@
}
if ( !$centralUser->isAttached() && User::idFromName( $userName 
) ) {
$this->logger->debug( __METHOD__ . ': not attached and 
local account exists' );
-   return parent::provideSessionInfo( $request );
+   return $this->makeException( 'badtoken', 'The 
centralauthtoken is not valid' );
}
 
$key = CentralAuthUtils::memcKey( 'api-token-blacklist', 
$centralUser->getId() );

-- 
To view, visit https://gerrit.wikimedia.org/r/265545
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic5852e87749fb902992c26116856a93802800879
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CentralAuth
Gerrit-Branch: wmf/1.27.0-wmf.11
Gerrit-Owner: Dduvall 
Gerrit-Reviewer: Anomie 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] group1 wikis to 1.27.0-wmf.11 - change (operations/mediawiki-config)

2016-01-21 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265536

Change subject: group1 wikis to 1.27.0-wmf.11
..

group1 wikis to 1.27.0-wmf.11

Change-Id: I0f1b4c53d69f43239dfc9de58522a43649d1030a
---
M wikiversions.json
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/36/265536/1

diff --git a/wikiversions.json b/wikiversions.json
index 7e8575f..ffb7912 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.10","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.10","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.10","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.10","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.10","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.10","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.10","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.10","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.10","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.10","arbcom_enwiki":"php-1.27.0-wmf.10","arbcom_fiwiki":"php-1.27.0-wmf.10","arbcom_nlwiki":"php-1.27.0-wmf.10","arcwiki":"php-1.27.0-wmf.10","arwiki":"php-1.27.0-wmf.10","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.10","astwiki":"php-1.27.0-wmf.10","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.10","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.10","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.10","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.10","azwiki":"php-1.27.0-wmf.10","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.10","bat_smgwiki":"php-1.27.0-wmf.10","bawiki":"php-1.27.0-wmf.10","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.10","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.10","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.10","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.10","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.10","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.10","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.10","bmwiki":"php-1.27.0-wmf.10","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.10","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-wmf.10","boardgovcomwiki":"php-1.27.0-wmf.10","boardwiki":"php-1.27.0-wmf.10","bowiki":"php-1.27.0-wmf.10","bowikibooks":"php-1.27.0-wmf.10","bowiktionary":"php-1.27.0-wmf.10","bpywiki":"php-1.27.0-wmf.10","brwiki":"php-1.27.0-wmf.10","brwikimedia":"php-1.27.0-wmf.10","brwikiquote":"php-1.27.0-wmf.10","brwikisource":"php-1.27.0-wmf.10","brwiktionary":"php-1.27.0-wmf.10","bswiki":"php-1.27.0-wmf.10","bswikibooks":"php-1.27.0-wmf.10","bswikinews":"php-1.27.0-wmf.10","bswikiquote":"php-1.27.0-wmf.10","bswikisource":"php-1.27.0-wmf.10","bswiktionary":"php-1.27.0-wmf.10","bugwiki":"php-1.27.0-wmf.10","bxrwiki":"php-1.27.0-wmf.10","cawiki":"php-1.27.0-wmf.10","cawikibooks":"php-1.27.0-wmf.10","cawikimedia":"php-1.27.0-wmf.10","cawikinews":"php-1.27.0-wmf.10","cawikiquote":"php-1.27.0-wmf.10","cawikisource":"php-1.27.0-wmf.10","cawiktionary":"php-1.27.0-wmf.10","cbk_zamwiki":"php-1.27.0-wmf.10","cdowiki":"php-1.27.0-wmf.10","cebwiki":"php-1.27.0-wmf.10","cewiki":"php-1.27.0-wmf.10","chairwiki":"php-1.27.0-wmf.10","chapcomwiki":"php-1.27.0-wmf.10","checkuserwiki":"php-1.27.0-wmf.10","chowiki":"php-1.27.0-wmf.10","chrwiki":"php-1.27.0-wmf.10","chrwiktionary":"php-1.27.0-wmf.10","chwiki":"php-1.27.0-wmf.10",

[MediaWiki-commits] [Gerrit] Do not raise a PHP warning when session write fails - change (mediawiki/core)

2016-01-21 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265523

Change subject: Do not raise a PHP warning when session write fails
..

Do not raise a PHP warning when session write fails

Bug: T124126
Change-Id: I3482d8dba4a4d9fe92a39439df41c0e70bfef35d
---
M includes/session/PHPSessionHandler.php
1 file changed, 3 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/23/265523/1

diff --git a/includes/session/PHPSessionHandler.php 
b/includes/session/PHPSessionHandler.php
index 44d14cd..5344321 100644
--- a/includes/session/PHPSessionHandler.php
+++ b/includes/session/PHPSessionHandler.php
@@ -238,10 +238,12 @@
 
$session = $this->manager->getSessionById( $id, true );
if ( !$session ) {
+   // This can happen under normal circumstances, if the 
session exists but is
+   // invalid. Let's emit a log warning instead of a PHP 
warning.
$this->logger->warning(
__METHOD__ . ": Session \"$id\" cannot be 
loaded, skipping write."
);
-   return false;
+   return true;
}
 
// First, decode the string PHP handed us

-- 
To view, visit https://gerrit.wikimedia.org/r/265523
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3482d8dba4a4d9fe92a39439df41c0e70bfef35d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: wmf/1.27.0-wmf.11
Gerrit-Owner: Dduvall 
Gerrit-Reviewer: Gergő Tisza 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Revert "Rollback labswiki and labtestwiki to 1.27.0-wmf.9" - change (operations/mediawiki-config)

2016-01-20 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265429

Change subject: Revert "Rollback labswiki and labtestwiki to 1.27.0-wmf.9"
..

Revert "Rollback labswiki and labtestwiki to 1.27.0-wmf.9"

This reverts commit f4e246daf54a8c55ac994999e2d78c4c30b6.

Rollback is now unnecessary due to backported SemanticForms fix in
1.27.0-wmf.10 branch (see I9e538c325b58d2db61a8f05dac88bb3d39d2b7d4).

Change-Id: I8a726fdc836ebd6aeb09efd5a229141466a7a82e
---
M wikiversions.json
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/29/265429/1

diff --git a/wikiversions.json b/wikiversions.json
index 4f86b52..7e8575f 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.10","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.10","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.10","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.10","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.10","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.10","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.10","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.10","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.10","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.10","arbcom_enwiki":"php-1.27.0-wmf.10","arbcom_fiwiki":"php-1.27.0-wmf.10","arbcom_nlwiki":"php-1.27.0-wmf.10","arcwiki":"php-1.27.0-wmf.10","arwiki":"php-1.27.0-wmf.10","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.10","astwiki":"php-1.27.0-wmf.10","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.10","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.10","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.10","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.10","azwiki":"php-1.27.0-wmf.10","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.10","bat_smgwiki":"php-1.27.0-wmf.10","bawiki":"php-1.27.0-wmf.10","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.10","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.10","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.10","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.10","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.10","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.10","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.10","bmwiki":"php-1.27.0-wmf.10","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.10","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-wmf.10","boardgovcomwiki":"php-1.27.0-wmf.10","boardwiki":"php-1.27.0-wmf.10","bowiki":"php-1.27.0-wmf.10","bowikibooks":"php-1.27.0-wmf.10","bowiktionary":"php-1.27.0-wmf.10","bpywiki":"php-1.27.0-wmf.10","brwiki":"php-1.27.0-wmf.10","brwikimedia":"php-1.27.0-wmf.10","brwikiquote":"php-1.27.0-wmf.10","brwikisource":"php-1.27.0-wmf.10","brwiktionary":"php-1.27.0-wmf.10","bswiki":"php-1.27.0-wmf.10","bswikibooks":"php-1.27.0-wmf.10","bswikinews":"php-1.27.0-wmf.10","bswikiquote":"php-1.27.0-wmf.10","bswikisource":"php-1.27.0-wmf.10","bswiktionary":"php-1.27.0-wmf.10","bugwiki":"php-1.27.0-wmf.10","bxrwiki":"php-1.27.0-wmf.10","cawiki":"php-1.27.0-wmf.10","cawikibooks":"php-1.27.0-wmf.10","cawikimedia":"php-1.27.0-wmf.10","cawikinews":"php-1.27.0-wmf.10","cawikiquote":"php-1.27.0-wmf.10","cawikisource":"php-1.27.0-wmf.10","cawiktionary":"php-1.27.0-wmf.10","cbk_zamwiki":"php-1.27.0-wmf.10","cdowiki":"php-1.27.0-wmf.10","cebwiki":"php-1.27.0-wmf.1

[MediaWiki-commits] [Gerrit] Rollback labswiki and labtestwiki to 1.27.0-wmf.9 - change (operations/mediawiki-config)

2016-01-20 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265428

Change subject: Rollback labswiki and labtestwiki to 1.27.0-wmf.9
..

Rollback labswiki and labtestwiki to 1.27.0-wmf.9

Change-Id: I95fc3245de6d30749df1f3d7ea9300c269c95e4a
---
M wikiversions.json
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/28/265428/1

diff --git a/wikiversions.json b/wikiversions.json
index 7e8575f..4f86b52 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.10","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.10","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.10","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.10","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.10","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.10","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.10","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.10","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.10","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.10","arbcom_enwiki":"php-1.27.0-wmf.10","arbcom_fiwiki":"php-1.27.0-wmf.10","arbcom_nlwiki":"php-1.27.0-wmf.10","arcwiki":"php-1.27.0-wmf.10","arwiki":"php-1.27.0-wmf.10","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.10","astwiki":"php-1.27.0-wmf.10","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.10","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.10","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.10","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.10","azwiki":"php-1.27.0-wmf.10","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.10","bat_smgwiki":"php-1.27.0-wmf.10","bawiki":"php-1.27.0-wmf.10","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.10","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.10","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.10","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.10","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.10","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.10","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.10","bmwiki":"php-1.27.0-wmf.10","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.10","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-wmf.10","boardgovcomwiki":"php-1.27.0-wmf.10","boardwiki":"php-1.27.0-wmf.10","bowiki":"php-1.27.0-wmf.10","bowikibooks":"php-1.27.0-wmf.10","bowiktionary":"php-1.27.0-wmf.10","bpywiki":"php-1.27.0-wmf.10","brwiki":"php-1.27.0-wmf.10","brwikimedia":"php-1.27.0-wmf.10","brwikiquote":"php-1.27.0-wmf.10","brwikisource":"php-1.27.0-wmf.10","brwiktionary":"php-1.27.0-wmf.10","bswiki":"php-1.27.0-wmf.10","bswikibooks":"php-1.27.0-wmf.10","bswikinews":"php-1.27.0-wmf.10","bswikiquote":"php-1.27.0-wmf.10","bswikisource":"php-1.27.0-wmf.10","bswiktionary":"php-1.27.0-wmf.10","bugwiki":"php-1.27.0-wmf.10","bxrwiki":"php-1.27.0-wmf.10","cawiki":"php-1.27.0-wmf.10","cawikibooks":"php-1.27.0-wmf.10","cawikimedia":"php-1.27.0-wmf.10","cawikinews":"php-1.27.0-wmf.10","cawikiquote":"php-1.27.0-wmf.10","cawikisource":"php-1.27.0-wmf.10","cawiktionary":"php-1.27.0-wmf.10","cbk_zamwiki":"php-1.27.0-wmf.10","cdowiki":"php-1.27.0-wmf.10","cebwiki":"php-1.27.0-wmf.10","cewiki":"php-1.27.0-wmf.10","chairwiki":"php-1.27.0-wmf.10","chapcomwiki":"php-1.27.0-wmf.10","checkuserwiki":"php-1.27.0-wmf.10","chowiki":"php-1.27.0-wmf.10","chrwiki":"php-1.27.0-wmf.10","chrwiktionary":"php-1.27

[MediaWiki-commits] [Gerrit] group1 wikis to 1.27.0-wmf.11 - change (operations/mediawiki-config)

2016-01-20 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265307

Change subject: group1 wikis to 1.27.0-wmf.11
..

group1 wikis to 1.27.0-wmf.11

Change-Id: If70c1b5b5ef51f87704f4c7139c0c0918033328a
---
M php
M w/static/current/extensions
M w/static/current/resources
M w/static/current/skins
M wikiversions.json
5 files changed, 5 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/07/265307/1

diff --git a/php b/php
index 0b27d2c..7b3b83c 12
--- a/php
+++ b/php
@@ -1 +1 @@
-php-1.27.0-wmf.10
\ No newline at end of file
+php-1.27.0-wmf.11
\ No newline at end of file
diff --git a/w/static/current/extensions b/w/static/current/extensions
index 98682a4..676a52f 12
--- a/w/static/current/extensions
+++ b/w/static/current/extensions
@@ -1 +1 @@
-/srv/mediawiki/php-1.27.0-wmf.10/extensions
\ No newline at end of file
+/srv/mediawiki/php-1.27.0-wmf.11/extensions
\ No newline at end of file
diff --git a/w/static/current/resources b/w/static/current/resources
index d38eb22..cad15c3 12
--- a/w/static/current/resources
+++ b/w/static/current/resources
@@ -1 +1 @@
-/srv/mediawiki/php-1.27.0-wmf.10/resources
\ No newline at end of file
+/srv/mediawiki/php-1.27.0-wmf.11/resources
\ No newline at end of file
diff --git a/w/static/current/skins b/w/static/current/skins
index 8a33e77..32afa41 12
--- a/w/static/current/skins
+++ b/w/static/current/skins
@@ -1 +1 @@
-/srv/mediawiki/php-1.27.0-wmf.10/skins
\ No newline at end of file
+/srv/mediawiki/php-1.27.0-wmf.11/skins
\ No newline at end of file
diff --git a/wikiversions.json b/wikiversions.json
index 9b8fb93..ffb7912 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.10","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.10","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.10","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.10","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.10","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.10","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.10","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.10","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.10","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.10","arbcom_enwiki":"php-1.27.0-wmf.10","arbcom_fiwiki":"php-1.27.0-wmf.10","arbcom_nlwiki":"php-1.27.0-wmf.10","arcwiki":"php-1.27.0-wmf.10","arwiki":"php-1.27.0-wmf.10","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.10","astwiki":"php-1.27.0-wmf.10","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.10","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.10","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.10","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.10","azwiki":"php-1.27.0-wmf.10","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.10","bat_smgwiki":"php-1.27.0-wmf.10","bawiki":"php-1.27.0-wmf.10","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.10","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.10","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.10","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.10","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.10","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.10","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.10","bmwiki":"php-1.27.0-wmf.10","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.10","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-

[MediaWiki-commits] [Gerrit] Establish `group2` and `exempt` dblists - change (operations/mediawiki-config)

2016-01-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265189

Change subject: Establish `group2` and `exempt` dblists
..

Establish `group2` and `exempt` dblists

Having an `exempt.dblist` will accommodate blacklisting for cases where
we need to temporarily hold certain wikis back, the immediate use case
being for `labswiki` and `labstestwiki`.

Using an explicit `group2.dblist` instead of `all.dblist` will allow us
to implement this blacklist for the final train deployment. On-wiki
documentation for train (and perhaps other) deployment should be updated
to reflect this.

Change-Id: I9a0f9d86cc006af23540b2ecccfe466c63a91b51
---
A dblists/exempt.dblist
M dblists/group1.dblist
A dblists/group2.dblist
3 files changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/89/265189/1

diff --git a/dblists/exempt.dblist b/dblists/exempt.dblist
new file mode 100644
index 000..6cc4560
--- /dev/null
+++ b/dblists/exempt.dblist
@@ -0,0 +1,2 @@
+labswiki
+labtestwiki
diff --git a/dblists/group1.dblist b/dblists/group1.dblist
index f79b86c..840460a 100644
--- a/dblists/group1.dblist
+++ b/dblists/group1.dblist
@@ -1 +1 @@
-%% all.dblist - group0.dblist - wikipedia.dblist + group1-wikipedia.dblist
+%% all.dblist - group0.dblist - wikipedia.dblist + group1-wikipedia.dblist - 
exempt.dblist
diff --git a/dblists/group2.dblist b/dblists/group2.dblist
new file mode 100644
index 000..428763a
--- /dev/null
+++ b/dblists/group2.dblist
@@ -0,0 +1 @@
+%% all.dblist - exempt.dblist

-- 
To view, visit https://gerrit.wikimedia.org/r/265189
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9a0f9d86cc006af23540b2ecccfe466c63a91b51
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] add EventBus extension - change (mediawiki/core)

2016-01-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265109

Change subject: add EventBus extension
..

add EventBus extension

Bug: T116786
Change-Id: I1ece6736e009898cdd21a36eca0b6faeeb48b7f6
---
M .gitmodules
A extensions/EventBus
2 files changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/09/265109/1

diff --git a/.gitmodules b/.gitmodules
index 519a450..53be9ab 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -641,3 +641,6 @@
path = vendor
url = https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git
branch = wmf/1.27.0-wmf.9
+[submodule "extensions/EventBus"]
+   path = extensions/EventBus
+   url = https://gerrit.wikimedia.org/r/mediawiki/extensions/EventBus
diff --git a/extensions/EventBus b/extensions/EventBus
new file mode 16
index 000..5ea0b5c
--- /dev/null
+++ b/extensions/EventBus
+Subproject commit 5ea0b5c055292d6bf9508719ee30d20838e45981

-- 
To view, visit https://gerrit.wikimedia.org/r/265109
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1ece6736e009898cdd21a36eca0b6faeeb48b7f6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: wmf/1.27.0-wmf.9
Gerrit-Owner: Dduvall 
Gerrit-Reviewer: Eevans 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] add EventBus extension - change (mediawiki/core)

2016-01-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265107

Change subject: add EventBus extension
..

add EventBus extension

Bug: T116786
Change-Id: I77b2af776a65b13336b3cd1e79ce06a695144e68
---
M .gitmodules
A extensions/EventBus
2 files changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/07/265107/1

diff --git a/.gitmodules b/.gitmodules
index 519a450..53be9ab 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -641,3 +641,6 @@
path = vendor
url = https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git
branch = wmf/1.27.0-wmf.9
+[submodule "extensions/EventBus"]
+   path = extensions/EventBus
+   url = https://gerrit.wikimedia.org/r/mediawiki/extensions/EventBus
diff --git a/extensions/EventBus b/extensions/EventBus
new file mode 16
index 000..5ea0b5c
--- /dev/null
+++ b/extensions/EventBus
+Subproject commit 5ea0b5c055292d6bf9508719ee30d20838e45981

-- 
To view, visit https://gerrit.wikimedia.org/r/265107
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I77b2af776a65b13336b3cd1e79ce06a695144e68
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Dduvall 
Gerrit-Reviewer: Eevans 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add 1.27.0-wmf.11 symlinks - change (operations/mediawiki-config)

2016-01-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265010

Change subject: Add 1.27.0-wmf.11 symlinks
..

Add 1.27.0-wmf.11 symlinks

Change-Id: I8fb1f60a01c74721183aaf6f4c9d685f263d8ac0
---
A w/static/1.27.0-wmf.11/extensions
A w/static/1.27.0-wmf.11/resources
A w/static/1.27.0-wmf.11/skins
3 files changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/10/265010/1

diff --git a/w/static/1.27.0-wmf.11/extensions 
b/w/static/1.27.0-wmf.11/extensions
new file mode 12
index 000..676a52f
--- /dev/null
+++ b/w/static/1.27.0-wmf.11/extensions
@@ -0,0 +1 @@
+/srv/mediawiki/php-1.27.0-wmf.11/extensions
\ No newline at end of file
diff --git a/w/static/1.27.0-wmf.11/resources b/w/static/1.27.0-wmf.11/resources
new file mode 12
index 000..cad15c3
--- /dev/null
+++ b/w/static/1.27.0-wmf.11/resources
@@ -0,0 +1 @@
+/srv/mediawiki/php-1.27.0-wmf.11/resources
\ No newline at end of file
diff --git a/w/static/1.27.0-wmf.11/skins b/w/static/1.27.0-wmf.11/skins
new file mode 12
index 000..32afa41
--- /dev/null
+++ b/w/static/1.27.0-wmf.11/skins
@@ -0,0 +1 @@
+/srv/mediawiki/php-1.27.0-wmf.11/skins
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/265010
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8fb1f60a01c74721183aaf6f4c9d685f263d8ac0
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Group0 to 1.27.0-wmf.11 - change (operations/mediawiki-config)

2016-01-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/265011

Change subject: Group0 to 1.27.0-wmf.11
..

Group0 to 1.27.0-wmf.11

Change-Id: I2e0ca4a0292f688317c911b83a26f94838726647
---
M wikiversions.json
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/11/265011/1

diff --git a/wikiversions.json b/wikiversions.json
index 7dfb297..9b8fb93 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.10","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.10","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.10","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.10","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.10","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.10","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.10","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.10","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.10","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.10","arbcom_enwiki":"php-1.27.0-wmf.10","arbcom_fiwiki":"php-1.27.0-wmf.10","arbcom_nlwiki":"php-1.27.0-wmf.10","arcwiki":"php-1.27.0-wmf.10","arwiki":"php-1.27.0-wmf.10","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.10","astwiki":"php-1.27.0-wmf.10","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.10","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.10","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.10","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.10","azwiki":"php-1.27.0-wmf.10","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.10","bat_smgwiki":"php-1.27.0-wmf.10","bawiki":"php-1.27.0-wmf.10","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.10","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.10","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.10","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.10","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.10","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.10","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.10","bmwiki":"php-1.27.0-wmf.10","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.10","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-wmf.10","boardgovcomwiki":"php-1.27.0-wmf.10","boardwiki":"php-1.27.0-wmf.10","bowiki":"php-1.27.0-wmf.10","bowikibooks":"php-1.27.0-wmf.10","bowiktionary":"php-1.27.0-wmf.10","bpywiki":"php-1.27.0-wmf.10","brwiki":"php-1.27.0-wmf.10","brwikimedia":"php-1.27.0-wmf.10","brwikiquote":"php-1.27.0-wmf.10","brwikisource":"php-1.27.0-wmf.10","brwiktionary":"php-1.27.0-wmf.10","bswiki":"php-1.27.0-wmf.10","bswikibooks":"php-1.27.0-wmf.10","bswikinews":"php-1.27.0-wmf.10","bswikiquote":"php-1.27.0-wmf.10","bswikisource":"php-1.27.0-wmf.10","bswiktionary":"php-1.27.0-wmf.10","bugwiki":"php-1.27.0-wmf.10","bxrwiki":"php-1.27.0-wmf.10","cawiki":"php-1.27.0-wmf.10","cawikibooks":"php-1.27.0-wmf.10","cawikimedia":"php-1.27.0-wmf.10","cawikinews":"php-1.27.0-wmf.10","cawikiquote":"php-1.27.0-wmf.10","cawikisource":"php-1.27.0-wmf.10","cawiktionary":"php-1.27.0-wmf.10","cbk_zamwiki":"php-1.27.0-wmf.10","cdowiki":"php-1.27.0-wmf.10","cebwiki":"php-1.27.0-wmf.10","cewiki":"php-1.27.0-wmf.10","chairwiki":"php-1.27.0-wmf.10","chapcomwiki":"php-1.27.0-wmf.10","checkuserwiki":"php-1.27.0-wmf.10","chowiki":"php-1.27.0-wmf.10","chrwiki":"php-1.27.0-wmf.10","chrwiktionary":"php-1.27.0-wmf.10","chwiki":"php-1.27.0-wmf.10","chwikibooks

[MediaWiki-commits] [Gerrit] Rollback wikitech (labswiki) back to wmf.9 - change (operations/mediawiki-config)

2016-01-14 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/264113

Change subject: Rollback wikitech (labswiki) back to wmf.9
..

Rollback wikitech (labswiki) back to wmf.9

Change-Id: Id052251e7fc6eed78510883b5dea144243347066
---
M wikiversions.json
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/13/264113/1

diff --git a/wikiversions.json b/wikiversions.json
index 3a5ad46..b6e685d 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.10","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.10","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.10","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.10","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.10","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.10","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.10","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.10","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.10","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.10","arbcom_enwiki":"php-1.27.0-wmf.10","arbcom_fiwiki":"php-1.27.0-wmf.10","arbcom_nlwiki":"php-1.27.0-wmf.10","arcwiki":"php-1.27.0-wmf.10","arwiki":"php-1.27.0-wmf.10","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.10","astwiki":"php-1.27.0-wmf.10","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.10","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.10","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.10","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.10","azwiki":"php-1.27.0-wmf.10","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.10","bat_smgwiki":"php-1.27.0-wmf.10","bawiki":"php-1.27.0-wmf.10","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.10","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.10","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.10","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.10","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.10","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.10","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.10","bmwiki":"php-1.27.0-wmf.10","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.10","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-wmf.10","boardgovcomwiki":"php-1.27.0-wmf.10","boardwiki":"php-1.27.0-wmf.10","bowiki":"php-1.27.0-wmf.10","bowikibooks":"php-1.27.0-wmf.10","bowiktionary":"php-1.27.0-wmf.10","bpywiki":"php-1.27.0-wmf.10","brwiki":"php-1.27.0-wmf.10","brwikimedia":"php-1.27.0-wmf.10","brwikiquote":"php-1.27.0-wmf.10","brwikisource":"php-1.27.0-wmf.10","brwiktionary":"php-1.27.0-wmf.10","bswiki":"php-1.27.0-wmf.10","bswikibooks":"php-1.27.0-wmf.10","bswikinews":"php-1.27.0-wmf.10","bswikiquote":"php-1.27.0-wmf.10","bswikisource":"php-1.27.0-wmf.10","bswiktionary":"php-1.27.0-wmf.10","bugwiki":"php-1.27.0-wmf.10","bxrwiki":"php-1.27.0-wmf.10","cawiki":"php-1.27.0-wmf.10","cawikibooks":"php-1.27.0-wmf.10","cawikimedia":"php-1.27.0-wmf.10","cawikinews":"php-1.27.0-wmf.10","cawikiquote":"php-1.27.0-wmf.10","cawikisource":"php-1.27.0-wmf.10","cawiktionary":"php-1.27.0-wmf.10","cbk_zamwiki":"php-1.27.0-wmf.10","cdowiki":"php-1.27.0-wmf.10","cebwiki":"php-1.27.0-wmf.10","cewiki":"php-1.27.0-wmf.10","chairwiki":"php-1.27.0-wmf.10","chapcomwiki":"php-1.27.0-wmf.10","checkuserwiki":"php-1.27.0-wmf.10","chowiki":"php-1.27.0-wmf.10","chrwiki":"php-1.27.0-wmf.10","chrwiktionary":"php-1.27.0-wmf.10","ch

[MediaWiki-commits] [Gerrit] all wikis to 1.27.0-wmf.10 - change (operations/mediawiki-config)

2016-01-14 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/264106

Change subject: all wikis to 1.27.0-wmf.10
..

all wikis to 1.27.0-wmf.10

Change-Id: I04d10888b23e9f928df0f36b2403c3c2d5c4e490
---
M wikiversions.json
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/06/264106/1

diff --git a/wikiversions.json b/wikiversions.json
index 43714d5..3a5ad46 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.9","aawikibooks":"php-1.27.0-wmf.10","aawiktionary":"php-1.27.0-wmf.10","abwiki":"php-1.27.0-wmf.9","abwiktionary":"php-1.27.0-wmf.10","acewiki":"php-1.27.0-wmf.9","advisorywiki":"php-1.27.0-wmf.10","afwiki":"php-1.27.0-wmf.9","afwikibooks":"php-1.27.0-wmf.10","afwikiquote":"php-1.27.0-wmf.10","afwiktionary":"php-1.27.0-wmf.10","akwiki":"php-1.27.0-wmf.9","akwikibooks":"php-1.27.0-wmf.10","akwiktionary":"php-1.27.0-wmf.10","alswiki":"php-1.27.0-wmf.9","alswikibooks":"php-1.27.0-wmf.10","alswikiquote":"php-1.27.0-wmf.10","alswiktionary":"php-1.27.0-wmf.10","amwiki":"php-1.27.0-wmf.9","amwikiquote":"php-1.27.0-wmf.10","amwiktionary":"php-1.27.0-wmf.10","angwiki":"php-1.27.0-wmf.9","angwikibooks":"php-1.27.0-wmf.10","angwikiquote":"php-1.27.0-wmf.10","angwikisource":"php-1.27.0-wmf.10","angwiktionary":"php-1.27.0-wmf.10","anwiki":"php-1.27.0-wmf.9","anwiktionary":"php-1.27.0-wmf.10","arbcom_dewiki":"php-1.27.0-wmf.9","arbcom_enwiki":"php-1.27.0-wmf.9","arbcom_fiwiki":"php-1.27.0-wmf.9","arbcom_nlwiki":"php-1.27.0-wmf.9","arcwiki":"php-1.27.0-wmf.9","arwiki":"php-1.27.0-wmf.9","arwikibooks":"php-1.27.0-wmf.10","arwikimedia":"php-1.27.0-wmf.10","arwikinews":"php-1.27.0-wmf.10","arwikiquote":"php-1.27.0-wmf.10","arwikisource":"php-1.27.0-wmf.10","arwikiversity":"php-1.27.0-wmf.10","arwiktionary":"php-1.27.0-wmf.10","arzwiki":"php-1.27.0-wmf.9","astwiki":"php-1.27.0-wmf.9","astwikibooks":"php-1.27.0-wmf.10","astwikiquote":"php-1.27.0-wmf.10","astwiktionary":"php-1.27.0-wmf.10","aswiki":"php-1.27.0-wmf.9","aswikibooks":"php-1.27.0-wmf.10","aswikisource":"php-1.27.0-wmf.10","aswiktionary":"php-1.27.0-wmf.10","auditcomwiki":"php-1.27.0-wmf.10","avwiki":"php-1.27.0-wmf.9","avwiktionary":"php-1.27.0-wmf.10","aywiki":"php-1.27.0-wmf.9","aywikibooks":"php-1.27.0-wmf.10","aywiktionary":"php-1.27.0-wmf.10","azbwiki":"php-1.27.0-wmf.9","azwiki":"php-1.27.0-wmf.9","azwikibooks":"php-1.27.0-wmf.10","azwikiquote":"php-1.27.0-wmf.10","azwikisource":"php-1.27.0-wmf.10","azwiktionary":"php-1.27.0-wmf.10","barwiki":"php-1.27.0-wmf.9","bat_smgwiki":"php-1.27.0-wmf.9","bawiki":"php-1.27.0-wmf.9","bawikibooks":"php-1.27.0-wmf.10","bclwiki":"php-1.27.0-wmf.9","bdwikimedia":"php-1.27.0-wmf.10","be_x_oldwiki":"php-1.27.0-wmf.9","betawikiversity":"php-1.27.0-wmf.10","bewiki":"php-1.27.0-wmf.9","bewikibooks":"php-1.27.0-wmf.10","bewikimedia":"php-1.27.0-wmf.10","bewikiquote":"php-1.27.0-wmf.10","bewikisource":"php-1.27.0-wmf.10","bewiktionary":"php-1.27.0-wmf.10","bgwiki":"php-1.27.0-wmf.9","bgwikibooks":"php-1.27.0-wmf.10","bgwikinews":"php-1.27.0-wmf.10","bgwikiquote":"php-1.27.0-wmf.10","bgwikisource":"php-1.27.0-wmf.10","bgwiktionary":"php-1.27.0-wmf.10","bhwiki":"php-1.27.0-wmf.9","bhwiktionary":"php-1.27.0-wmf.10","biwiki":"php-1.27.0-wmf.9","biwikibooks":"php-1.27.0-wmf.10","biwiktionary":"php-1.27.0-wmf.10","bjnwiki":"php-1.27.0-wmf.9","bmwiki":"php-1.27.0-wmf.9","bmwikibooks":"php-1.27.0-wmf.10","bmwikiquote":"php-1.27.0-wmf.10","bmwiktionary":"php-1.27.0-wmf.10","bnwiki":"php-1.27.0-wmf.9","bnwikibooks":"php-1.27.0-wmf.10","bnwikisource":"php-1.27.0-wmf.10","bnwiktionary":"php-1.27.0-wmf.10","boardgovcomwiki":"php-1.27.0-wmf.10","boardwiki":"php-1.27.0-wmf.10","bowiki":"php-1.27.0-wmf.9","bowikibooks":"php-1.27.0-wmf.10","bowiktionary":"php-1.27.0-wmf.10","bpywiki":"php-1.27.0-wmf.9","brwiki":"php-1.27.0-wmf.9","brwikimedia":"php-1.27.0-wmf.10","brwikiquote":"php-1.27.0-wmf.10","brwikisource":"php-1.27.0-wmf.10","brwiktionary":"php-1.27.0-wmf.10","bswiki":"php-1.27.0-wmf.9","bswikibooks":"php-1.27.0-wmf.10","bswikinews":"php-1.27.0-wmf.10","bswikiquote":"php-1.27.0-wmf.10","bswikisource":"php-1.27.0-wmf.10","bswiktionary":"php-1.27.0-wmf.10","bugwiki":"php-1.27.0-wmf.9","bxrwiki":"php-1.27.0-wmf.9","cawiki":"php-1.27.0-wmf.10","cawikibooks":"php-1.27.0-wmf.10","cawikimedia":"php-1.27.0-wmf.10","cawikinews":"php-1.27.0-wmf.10","cawikiquote":"php-1.27.0-wmf.10","cawikisource":"php-1.27.0-wmf.10","cawiktionary":"php-1.27.0-wmf.10","cbk_zamwiki":"php-1.27.0-wmf.9","cdowiki":"php-1.27.0-wmf.9","cebwiki":"php-1.27.0-wmf.9","cewiki":"php-1.27.0-wmf.9","chairwiki":"php-1.27.0-wmf.10","chapcomwiki":"php-1.27.0-wmf.10","checkuserwiki":"php-1.27.0-wmf.10","chowiki":"php-1.27.0-wmf.9","chrwiki":"php-1.27.0-wmf.9","chrwiktionary":"php-1.27.0-wmf.10","chwiki":"php-1.27.0-wmf.9","chwikibooks":"php-1.27.0-wmf.10","chwiktionary":"php

[MediaWiki-commits] [Gerrit] Group0 to 1.27.0-wmf.10 - change (operations/mediawiki-config)

2016-01-12 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/263647

Change subject: Group0 to 1.27.0-wmf.10
..

Group0 to 1.27.0-wmf.10

Change-Id: Iff2bd893a7e4dc6e0a0cf9f60a0ce9d590129eb2
---
M wikiversions.json
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/47/263647/1

diff --git a/wikiversions.json b/wikiversions.json
index 0022985..5c6d2fe 100644
--- a/wikiversions.json
+++ b/wikiversions.json
@@ -1 +1 @@
-{"aawiki":"php-1.27.0-wmf.9","aawikibooks":"php-1.27.0-wmf.9","aawiktionary":"php-1.27.0-wmf.9","abwiki":"php-1.27.0-wmf.9","abwiktionary":"php-1.27.0-wmf.9","acewiki":"php-1.27.0-wmf.9","advisorywiki":"php-1.27.0-wmf.9","afwiki":"php-1.27.0-wmf.9","afwikibooks":"php-1.27.0-wmf.9","afwikiquote":"php-1.27.0-wmf.9","afwiktionary":"php-1.27.0-wmf.9","akwiki":"php-1.27.0-wmf.9","akwikibooks":"php-1.27.0-wmf.9","akwiktionary":"php-1.27.0-wmf.9","alswiki":"php-1.27.0-wmf.9","alswikibooks":"php-1.27.0-wmf.9","alswikiquote":"php-1.27.0-wmf.9","alswiktionary":"php-1.27.0-wmf.9","amwiki":"php-1.27.0-wmf.9","amwikiquote":"php-1.27.0-wmf.9","amwiktionary":"php-1.27.0-wmf.9","angwiki":"php-1.27.0-wmf.9","angwikibooks":"php-1.27.0-wmf.9","angwikiquote":"php-1.27.0-wmf.9","angwikisource":"php-1.27.0-wmf.9","angwiktionary":"php-1.27.0-wmf.9","anwiki":"php-1.27.0-wmf.9","anwiktionary":"php-1.27.0-wmf.9","arbcom_dewiki":"php-1.27.0-wmf.9","arbcom_enwiki":"php-1.27.0-wmf.9","arbcom_fiwiki":"php-1.27.0-wmf.9","arbcom_nlwiki":"php-1.27.0-wmf.9","arcwiki":"php-1.27.0-wmf.9","arwiki":"php-1.27.0-wmf.9","arwikibooks":"php-1.27.0-wmf.9","arwikimedia":"php-1.27.0-wmf.9","arwikinews":"php-1.27.0-wmf.9","arwikiquote":"php-1.27.0-wmf.9","arwikisource":"php-1.27.0-wmf.9","arwikiversity":"php-1.27.0-wmf.9","arwiktionary":"php-1.27.0-wmf.9","arzwiki":"php-1.27.0-wmf.9","astwiki":"php-1.27.0-wmf.9","astwikibooks":"php-1.27.0-wmf.9","astwikiquote":"php-1.27.0-wmf.9","astwiktionary":"php-1.27.0-wmf.9","aswiki":"php-1.27.0-wmf.9","aswikibooks":"php-1.27.0-wmf.9","aswikisource":"php-1.27.0-wmf.9","aswiktionary":"php-1.27.0-wmf.9","auditcomwiki":"php-1.27.0-wmf.9","avwiki":"php-1.27.0-wmf.9","avwiktionary":"php-1.27.0-wmf.9","aywiki":"php-1.27.0-wmf.9","aywikibooks":"php-1.27.0-wmf.9","aywiktionary":"php-1.27.0-wmf.9","azbwiki":"php-1.27.0-wmf.9","azwiki":"php-1.27.0-wmf.9","azwikibooks":"php-1.27.0-wmf.9","azwikiquote":"php-1.27.0-wmf.9","azwikisource":"php-1.27.0-wmf.9","azwiktionary":"php-1.27.0-wmf.9","barwiki":"php-1.27.0-wmf.9","bat_smgwiki":"php-1.27.0-wmf.9","bawiki":"php-1.27.0-wmf.9","bawikibooks":"php-1.27.0-wmf.9","bclwiki":"php-1.27.0-wmf.9","bdwikimedia":"php-1.27.0-wmf.9","be_x_oldwiki":"php-1.27.0-wmf.9","betawikiversity":"php-1.27.0-wmf.9","bewiki":"php-1.27.0-wmf.9","bewikibooks":"php-1.27.0-wmf.9","bewikimedia":"php-1.27.0-wmf.9","bewikiquote":"php-1.27.0-wmf.9","bewikisource":"php-1.27.0-wmf.9","bewiktionary":"php-1.27.0-wmf.9","bgwiki":"php-1.27.0-wmf.9","bgwikibooks":"php-1.27.0-wmf.9","bgwikinews":"php-1.27.0-wmf.9","bgwikiquote":"php-1.27.0-wmf.9","bgwikisource":"php-1.27.0-wmf.9","bgwiktionary":"php-1.27.0-wmf.9","bhwiki":"php-1.27.0-wmf.9","bhwiktionary":"php-1.27.0-wmf.9","biwiki":"php-1.27.0-wmf.9","biwikibooks":"php-1.27.0-wmf.9","biwiktionary":"php-1.27.0-wmf.9","bjnwiki":"php-1.27.0-wmf.9","bmwiki":"php-1.27.0-wmf.9","bmwikibooks":"php-1.27.0-wmf.9","bmwikiquote":"php-1.27.0-wmf.9","bmwiktionary":"php-1.27.0-wmf.9","bnwiki":"php-1.27.0-wmf.9","bnwikibooks":"php-1.27.0-wmf.9","bnwikisource":"php-1.27.0-wmf.9","bnwiktionary":"php-1.27.0-wmf.9","boardgovcomwiki":"php-1.27.0-wmf.9","boardwiki":"php-1.27.0-wmf.9","bowiki":"php-1.27.0-wmf.9","bowikibooks":"php-1.27.0-wmf.9","bowiktionary":"php-1.27.0-wmf.9","bpywiki":"php-1.27.0-wmf.9","brwiki":"php-1.27.0-wmf.9","brwikimedia":"php-1.27.0-wmf.9","brwikiquote":"php-1.27.0-wmf.9","brwikisource":"php-1.27.0-wmf.9","brwiktionary":"php-1.27.0-wmf.9","bswiki":"php-1.27.0-wmf.9","bswikibooks":"php-1.27.0-wmf.9","bswikinews":"php-1.27.0-wmf.9","bswikiquote":"php-1.27.0-wmf.9","bswikisource":"php-1.27.0-wmf.9","bswiktionary":"php-1.27.0-wmf.9","bugwiki":"php-1.27.0-wmf.9","bxrwiki":"php-1.27.0-wmf.9","cawiki":"php-1.27.0-wmf.9","cawikibooks":"php-1.27.0-wmf.9","cawikimedia":"php-1.27.0-wmf.9","cawikinews":"php-1.27.0-wmf.9","cawikiquote":"php-1.27.0-wmf.9","cawikisource":"php-1.27.0-wmf.9","cawiktionary":"php-1.27.0-wmf.9","cbk_zamwiki":"php-1.27.0-wmf.9","cdowiki":"php-1.27.0-wmf.9","cebwiki":"php-1.27.0-wmf.9","cewiki":"php-1.27.0-wmf.9","chairwiki":"php-1.27.0-wmf.9","chapcomwiki":"php-1.27.0-wmf.9","checkuserwiki":"php-1.27.0-wmf.9","chowiki":"php-1.27.0-wmf.9","chrwiki":"php-1.27.0-wmf.9","chrwiktionary":"php-1.27.0-wmf.9","chwiki":"php-1.27.0-wmf.9","chwikibooks":"php-1.27.0-wmf.9","chwiktionary":"php-1.27.0-wmf.9","chywiki":"php-1.27.0-wmf.9","ckbwiki":"php-1.27.0-wmf.9","cnwikimedia":"php-1

[MediaWiki-commits] [Gerrit] Add 1.27.0-wmf.10 symlinks - change (operations/mediawiki-config)

2016-01-12 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/263646

Change subject: Add 1.27.0-wmf.10 symlinks
..

Add 1.27.0-wmf.10 symlinks

Change-Id: I9d24402ff815c10488b47a0a56ed68f69c79d44b
---
A w/static/1.27.0-wmf.10/extensions
A w/static/1.27.0-wmf.10/resources
A w/static/1.27.0-wmf.10/skins
3 files changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/46/263646/1

diff --git a/w/static/1.27.0-wmf.10/extensions 
b/w/static/1.27.0-wmf.10/extensions
new file mode 12
index 000..98682a4
--- /dev/null
+++ b/w/static/1.27.0-wmf.10/extensions
@@ -0,0 +1 @@
+/srv/mediawiki/php-1.27.0-wmf.10/extensions
\ No newline at end of file
diff --git a/w/static/1.27.0-wmf.10/resources b/w/static/1.27.0-wmf.10/resources
new file mode 12
index 000..d38eb22
--- /dev/null
+++ b/w/static/1.27.0-wmf.10/resources
@@ -0,0 +1 @@
+/srv/mediawiki/php-1.27.0-wmf.10/resources
\ No newline at end of file
diff --git a/w/static/1.27.0-wmf.10/skins b/w/static/1.27.0-wmf.10/skins
new file mode 12
index 000..8a33e77
--- /dev/null
+++ b/w/static/1.27.0-wmf.10/skins
@@ -0,0 +1 @@
+/srv/mediawiki/php-1.27.0-wmf.10/skins
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/263646
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9d24402ff815c10488b47a0a56ed68f69c79d44b
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] WIP Experimenting with JS object references in browser tests - change (mediawiki...VisualEditor)

2016-01-06 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/262842

Change subject: WIP Experimenting with JS object references in browser tests
..

WIP Experimenting with JS object references in browser tests

References to JS objects for VE elements can determined by referencing
the VE and OOUI API documentation[1][2] and interrogating the objects in
a browser console. Errors should be closer to what developers understand
but testers should pair with developers to better understand how to
define new page elements and where to go for documentation/help.

The VE entrypoint for the singleton reference is `ve.init.target` (if
there's only one instance of VE target; there may be multiple in some
cases like Flow).

[1] https://doc.wikimedia.org/VisualEditor/master/
[2] https://doc.wikimedia.org/oojs-ui/master/js/

Change-Id: I1f642807cdd3059d8e7e885a8b239ac01b9b3024
---
M Gemfile.lock
M modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb
M modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb
3 files changed, 17 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/42/262842/1

diff --git a/Gemfile.lock b/Gemfile.lock
index 40f5127..9f9a1da 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,11 +1,11 @@
 GEM
   remote: https://rubygems.org/
   specs:
-ast (2.1.0)
+ast (2.2.0)
 astrolabe (1.3.1)
   parser (~> 2.2)
 builder (3.2.2)
-childprocess (0.5.8)
+childprocess (0.5.9)
   ffi (~> 1.0, >= 1.0.11)
 chunky_png (1.3.5)
 commons_upload (0.0.4)
@@ -97,7 +97,7 @@
 watir-webdriver (0.9.1)
   selenium-webdriver (>= 2.46.2)
 websocket (1.2.2)
-yml_reader (0.6)
+yml_reader (0.7)
 
 PLATFORMS
   ruby
@@ -108,3 +108,6 @@
   rake (~> 10.4, >= 10.4.2)
   rubocop (~> 0.32.1)
   screenshot (~> 0.0.7)
+
+BUNDLED WITH
+   1.10.6
diff --git 
a/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb 
b/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb
index e191ef1..c5117d6 100644
--- 
a/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb
+++ 
b/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb
@@ -1,5 +1,5 @@
 When(/^I click the Bold menu option$/) do
-  on(VisualEditorPage).ve_bold_text_element.when_present(15).click
+  on(VisualEditorPage).ve_bold_text_element.when_present.click
 end
 
 When(/^I click the Computer Code menu option$/) do
@@ -7,7 +7,7 @@
 end
 
 When(/^I click the Italics menu option$/) do
-  on(VisualEditorPage).ve_italics_element.when_present(15).click
+  on(VisualEditorPage).ve_italics_element.when_present.click
 end
 
 When(/^I click the More option$/) do
diff --git 
a/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb 
b/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb
index d77b87a..4617192 100644
--- a/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb
+++ b/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb
@@ -177,11 +177,10 @@
   div(:toolbar_actions, class: 'oo-ui-toolbar-actions')
   a(:transclusion, css: 
'span.oo-ui-widget.oo-ui-iconElement.oo-ui-tool.oo-ui-tool-name-transclusion.oo-ui-widget-enabled
 > a')
   text_field(:transclusion_description, css: '.oo-ui-inputWidget > 
input:nth-child(1)')
-  span(:ve_bold_text, class: 'oo-ui-iconElement-icon oo-ui-icon-bold')
   span(:ve_bullets, css: '.oo-ui-clippableElement-clippable 
.oo-ui-iconElement-icon.oo-ui-icon-listBullet')
   span(:ve_computer_code, class: 'oo-ui-iconElement-icon oo-ui-icon-code')
   div(:ve_heading_menu, class: 'oo-ui-iconElement-icon oo-ui-icon-down')
-  span(:ve_italics, class: 'oo-ui-iconElement-icon oo-ui-icon-italic')
+  span(:ve_italics, object: 
've.init.target.getToolbar().items[2].tools.italic.$link[0]')
   span(:ve_link_icon, class: 'oo-ui-iconElement-icon oo-ui-icon-link')
   span(:ve_link_ui, class: 'oo-ui-widget oo-ui-widget-enabled 
oo-ui-labelElement-label oo-ui-labelWidget oo-ui-processDialog-title 
oo-ui-labelElement', text: 'Link')
   span(:ve_media_menu, class: 'oo-ui-iconElement-icon oo-ui-icon-picture')
@@ -203,6 +202,14 @@
   div(:media_alternative_block, class: 'oo-ui-layout oo-ui-iconElement 
oo-ui-labelElement oo-ui-fieldsetLayout', index: 2)
   div(:media_advanced_settings, class: 'oo-ui-outlineOptionWidget-level-0', 
index: 1)
 
+  def ve_bold_text_element
+@browser.execute_script('return 
ve.init.target.getToolbar().items[2].tools.bold.$link[0]')
+  end
+
+  def ve_italics_element
+@browser.execute_script('return 
ve.init.target.getToolbar().items[2].tools.italic.$link[0]')
+  end
+
   def tools_menu_element
 if browser_name == :chrome
   div(class: 'oo-ui-widget oo-ui-widget-enabled oo-ui-toolGroup 
oo-ui-iconElement oo-ui-popupToolGro

[MediaWiki-commits] [Gerrit] WIP Testing mwext-mw-selenium job - change (mediawiki...MultimediaViewer)

2015-12-23 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/260875

Change subject: WIP Testing mwext-mw-selenium job
..

WIP Testing mwext-mw-selenium job

Change-Id: I3ee07d0e1335287578b5d6c97e763feabad51a85
---
M tests/browser/features/mmv.options.feature
1 file changed, 2 insertions(+), 1 deletion(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MultimediaViewer 
refs/changes/75/260875/1

diff --git a/tests/browser/features/mmv.options.feature 
b/tests/browser/features/mmv.options.feature
index 4ac4dd1..eae7680 100644
--- a/tests/browser/features/mmv.options.feature
+++ b/tests/browser/features/mmv.options.feature
@@ -4,6 +4,7 @@
   Background:
 Given I am viewing an image using MMV
 
+  @integration
   Scenario: Clicking the X icon on the enable confirmation closes the options 
menu
 Given I reenable MMV
 When I click the enable X icon
@@ -41,4 +42,4 @@
   Scenario: Disabling media viewer makes the next thumbnail click go to the 
file page
 Given I disable and close MMV
 When I click on the first image in the article
-Then I am taken to the file page
\ No newline at end of file
+Then I am taken to the file page

-- 
To view, visit https://gerrit.wikimedia.org/r/260875
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ee07d0e1335287578b5d6c97e763feabad51a85
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MultimediaViewer
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix globs in global and mw-selenium teardown scripts - change (integration/jenkins)

2015-12-21 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/260407

Change subject: Fix globs in global and mw-selenium teardown scripts
..

Fix globs in global and mw-selenium teardown scripts

The * glob pattern was incorrectly quoted, resulting in no TMPDIR files
from actually being deleted during teardown.

Fixes regression in I7803395f7f1774d501b60df42e2d7b6628352738

Bug: T120824
Change-Id: I4edf7099acfeb0f06ea2042902bef03097137d6e
---
M bin/global-teardown.sh
M bin/mw-selenium-teardown.sh
2 files changed, 3 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/jenkins 
refs/changes/07/260407/1

diff --git a/bin/global-teardown.sh b/bin/global-teardown.sh
index 6399f4d..329cc9d 100755
--- a/bin/global-teardown.sh
+++ b/bin/global-teardown.sh
@@ -13,5 +13,5 @@
 
 # Have bash '*' to expand dot files as well
 shopt -s dotglob
-rm -v -rf "${TMPDIR_FS}/*"
-rm -v -rf "${TMPDIR_REGULAR}/*"
+rm -v -rf "$TMPDIR_FS"/*
+rm -v -rf "$TMPDIR_REGULAR"/*
diff --git a/bin/mw-selenium-teardown.sh b/bin/mw-selenium-teardown.sh
index 4c48c68..3cde013 100755
--- a/bin/mw-selenium-teardown.sh
+++ b/bin/mw-selenium-teardown.sh
@@ -5,4 +5,4 @@
 # Have bash '*' to expand dot files as well.
 # We keep the directory see bin/global-teardown.sh and T120824
 shopt -s dotglob
-rm -v -rf "$TMPDIR/*"
+rm -v -rf "$TMPDIR"/*

-- 
To view, visit https://gerrit.wikimedia.org/r/260407
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4edf7099acfeb0f06ea2042902bef03097137d6e
Gerrit-PatchSet: 1
Gerrit-Project: integration/jenkins
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Support all SauceLabs provided browsers - change (mediawiki/selenium)

2015-12-10 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/258394

Change subject: Support all SauceLabs provided browsers
..

Support all SauceLabs provided browsers

Refactored base browser factory to allow for instantiation of any
browser supported by the underlying implementation, Watir and SauceLabs.

Added additional support for configuring the iPhone/Android device name
and orientation.

Bug: T114362
Change-Id: I5e80b80a4bf65f738cac90a2216ae92256e28128
---
A features/saucelabs_browsers.feature
M features/step_definitions/saucelabs_steps.rb
M lib/mediawiki_selenium/browser_factory.rb
M lib/mediawiki_selenium/browser_factory/base.rb
M lib/mediawiki_selenium/remote_browser_factory.rb
M spec/browser_factory/base_spec.rb
A spec/browser_factory_spec.rb
M spec/remote_browser_factory_spec.rb
8 files changed, 87 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/94/258394/1

diff --git a/features/saucelabs_browsers.feature 
b/features/saucelabs_browsers.feature
new file mode 100644
index 000..90edacf
--- /dev/null
+++ b/features/saucelabs_browsers.feature
@@ -0,0 +1,21 @@
+Feature: Support for entire suite of browsers provided by SauceLabs
+  Background:
+Given I have configured my environment from `ENV`
+  And I have set "SAUCE_ONDEMAND_USERNAME" in my shell
+  And I have set "SAUCE_ONDEMAND_ACCESS_KEY" in my shell
+
+  Scenario Outline: All SauceLabs browsers are supported
+Given I have configured my environment to use  on 
+When I start interacting with the browser
+Then the browser is open
+
+  Examples:
+| browser   | platform   |
+| firefox   | linux  |
+| firefox   | windows|
+| chrome| linux  |
+| chrome| windows|
+| internet_explorer | windows|
+| safari| os x 10.11 |
+| android   | linux  |
+| iphone| os x 10.11 |
diff --git a/features/step_definitions/saucelabs_steps.rb 
b/features/step_definitions/saucelabs_steps.rb
index 89900a1..d8814ea 100644
--- a/features/step_definitions/saucelabs_steps.rb
+++ b/features/step_definitions/saucelabs_steps.rb
@@ -1,5 +1,10 @@
 require 'net/https'
 
+Given(/^I have configured my environment to use (.*?) on (.*?)$/) do |browser, 
platform|
+  @configs = [ENV, { browser: browser, platform: platform, browser_timeout: 
120 }]
+  @env = MediawikiSelenium::Environment.new(*@configs)
+end
+
 Then(/^the SauceLabs job should be marked as failed$/) do
   job_id = @env.browser.driver.session_id
 
diff --git a/lib/mediawiki_selenium/browser_factory.rb 
b/lib/mediawiki_selenium/browser_factory.rb
index 143c40f..1b98a78 100644
--- a/lib/mediawiki_selenium/browser_factory.rb
+++ b/lib/mediawiki_selenium/browser_factory.rb
@@ -5,7 +5,9 @@
 autoload :Chrome, 'mediawiki_selenium/browser_factory/chrome'
 autoload :Phantomjs, 'mediawiki_selenium/browser_factory/phantomjs'
 
-# Resolves and instantiates a new factory for the given browser name.
+# Resolves and instantiates a new factory for the given browser name. If a
+# specific implementation is not defined for the given browser, a `Base`
+# factory will be returned.
 #
 # @example Create a new firefox factory
 #   factory = BrowserFactory.new(:firefox)
@@ -17,7 +19,14 @@
 # @return [BrowserFactory::Base]
 #
 def self.new(browser_name)
-  factory_class = 
const_get(browser_name.to_s.split('_').map(&:capitalize).join(''))
+  factory_class_name = 
browser_name.to_s.split('_').map(&:capitalize).join('')
+
+  if const_defined?(factory_class_name)
+factory_class = const_get(factory_class_name)
+  else
+factory_class = Base
+  end
+
   factory_class.new(browser_name)
 end
   end
diff --git a/lib/mediawiki_selenium/browser_factory/base.rb 
b/lib/mediawiki_selenium/browser_factory/base.rb
index 70a6815..372b339 100644
--- a/lib/mediawiki_selenium/browser_factory/base.rb
+++ b/lib/mediawiki_selenium/browser_factory/base.rb
@@ -227,7 +227,7 @@
   end
 
   def new_browser(options)
-Watir::Browser.new(options[:desired_capabilities].browser_name, 
options)
+Watir::Browser.new(browser_name, options)
   end
 end
   end
diff --git a/lib/mediawiki_selenium/remote_browser_factory.rb 
b/lib/mediawiki_selenium/remote_browser_factory.rb
index 341d0ed..66f27f4 100644
--- a/lib/mediawiki_selenium/remote_browser_factory.rb
+++ b/lib/mediawiki_selenium/remote_browser_factory.rb
@@ -9,6 +9,8 @@
   #  - sauce_ondemand_access_key
   #  - platform
   #  - version
+  #  - device_name
+  #  - device_orientation
   #
   module RemoteBrowserFactory
 REQUIRED_CONFIG = [:sauce_ondemand_username, :sauce_ondemand_access_key]
@@ -37,6 +39,14 @@
 base.configure(:version) do |version, options|
   options[:desired_capa

[MediaWiki-commits] [Gerrit] [WIP] Experimenting with JS end-to-end tests - change (mediawiki/core)

2015-11-25 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/255419

Change subject: [WIP] Experimenting with JS end-to-end tests
..

[WIP] Experimenting with JS end-to-end tests

We (Zeljko and Dan) paired on a simple proof of concept using Jasmine as
a BDD test framework with selenium-webdriver, and implemented a simple
PageObject pattern.

See `README.md` for instructions on how to get started.

Bug: T108874
Change-Id: I618df656eea73afe5c62b3579063194a6b97e343
---
A tests/end-to-end/README.md
A tests/end-to-end/package.json
A tests/end-to-end/spec/create-account-spec.js
A tests/end-to-end/spec/support/jasmine.json
4 files changed, 63 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/19/255419/1

diff --git a/tests/end-to-end/README.md b/tests/end-to-end/README.md
new file mode 100644
index 000..c61353a
--- /dev/null
+++ b/tests/end-to-end/README.md
@@ -0,0 +1,5 @@
+Make sure you have a newish version of Node, NPM, and Chromedriver installed
+(`brew install node npm chromedriver` on OS X).
+
+npm install
+npm test
diff --git a/tests/end-to-end/package.json b/tests/end-to-end/package.json
new file mode 100644
index 000..278ca90
--- /dev/null
+++ b/tests/end-to-end/package.json
@@ -0,0 +1,15 @@
+{
+  "name": "mw-core-e2e",
+  "version": "0.0.0",
+  "description": "End to end tests for MediaWiki core",
+  "main": "index.js",
+  "scripts": {
+"test": "jasmine"
+  },
+  "author": "",
+  "license": "ISC",
+  "dependencies": {
+"jasmine": "^2.3.2",
+"selenium-webdriver": "^2.48.2"
+  }
+}
diff --git a/tests/end-to-end/spec/create-account-spec.js 
b/tests/end-to-end/spec/create-account-spec.js
new file mode 100644
index 000..b13d4a1
--- /dev/null
+++ b/tests/end-to-end/spec/create-account-spec.js
@@ -0,0 +1,34 @@
+var selenium = require('selenium-webdriver');
+
+jasmine.DEFAULT_TIMEOUT_INTERVAL = 1;
+var baseURL = 'http://en.wikipedia.beta.wmflabs.org/wiki/';
+
+function Page(path) {
+   this.url = baseURL + path;
+   this.elements = {};
+}
+
+Page.prototype.define = function(name, css) {
+   this.elements[name] = selenium.By.css(css);
+};
+
+createAccountPage = new Page('Special:CreateAccount');
+createAccountPage.define('sign_up_form', 'form[name=userlogin2]');
+
+describe('Account creation page', function() {
+   beforeEach(function(done) {
+   this.driver = new selenium.Builder().
+   withCapabilities(selenium.Capabilities.chrome()).
+   build();
+
+   this.driver.get(createAccountPage.url).then(done);
+   });
+
+   afterEach(function(done) {
+   this.driver.quit().then(done);
+   });
+
+   it('Contains a sign-up form', function(done) {
+   
this.driver.findElement(createAccountPage.elements['sign_up_form']).then(done);
+   });
+});
diff --git a/tests/end-to-end/spec/support/jasmine.json 
b/tests/end-to-end/spec/support/jasmine.json
new file mode 100644
index 000..a5f2932
--- /dev/null
+++ b/tests/end-to-end/spec/support/jasmine.json
@@ -0,0 +1,9 @@
+{
+  "spec_dir": "spec",
+  "spec_files": [
+"**/*[sS]pec.js"
+  ],
+  "helpers": [
+"helpers/**/*.js"
+  ]
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/255419
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I618df656eea73afe5c62b3579063194a6b97e343
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Pin Wikimedia packages at a higher priority - change (mediawiki/vagrant)

2015-11-23 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/254914

Change subject: Pin Wikimedia packages at a higher priority
..

Pin Wikimedia packages at a higher priority

Pin packages from a Wikimedia release origin with a priority of 1001 per
operations/puppet.

Bug: T119360
Change-Id: I3a39efac5ce248ea305295af47d63056b5e9d6d5
---
M puppet/modules/apt/manifests/init.pp
A puppet/modules/apt/manifests/pin.pp
M puppet/modules/cassandra/manifests/init.pp
3 files changed, 31 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/14/254914/1

diff --git a/puppet/modules/apt/manifests/init.pp 
b/puppet/modules/apt/manifests/init.pp
index 12233df..c177c1a 100644
--- a/puppet/modules/apt/manifests/init.pp
+++ b/puppet/modules/apt/manifests/init.pp
@@ -5,7 +5,7 @@
 # supplementary sources.
 #
 class apt {
-exec { 'update_package_index':
+exec { 'apt-get update':
 command  => '/usr/bin/apt-get update',
 schedule => hourly,
 }
@@ -24,12 +24,19 @@
 
 file { '/etc/apt/sources.list.d/wikimedia.list':
 content => template('apt/wikimedia.list.erb'),
-before  => Exec['update_package_index'],
+before  => Exec['apt-get update'],
 }
 
 file { '/etc/apt/sources.list.d/multiverse.list':
 content => template('apt/multiverse.list.erb'),
-before  => Exec['update_package_index'],
+before  => Exec['apt-get update'],
+}
+
+# prefer Wikimedia APT repository packages in all cases
+apt::pin { 'wikimedia':
+package  => '*',
+pin  => 'release o=Wikimedia',
+priority => 1001,
 }
 
 if $::shared_apt_cache {
diff --git a/puppet/modules/apt/manifests/pin.pp 
b/puppet/modules/apt/manifests/pin.pp
new file mode 100644
index 000..acf4d6d
--- /dev/null
+++ b/puppet/modules/apt/manifests/pin.pp
@@ -0,0 +1,20 @@
+define apt::pin (
+$pin,
+$priority,
+$package=$name,
+$ensure=present,
+) {
+# Validate that $name does not already have a ".pref" suffix.
+if $name =~ /\.pref$/ {
+fail('$name must not have a ".pref" suffix.')
+}
+
+file { "/etc/apt/preferences.d/${name}.pref":
+ensure  => $ensure,
+owner   => 'root',
+group   => 'root',
+mode=> '0444',
+content => "Package: ${package}\nPin: ${pin}\nPin-Priority: 
${priority}\n",
+notify  => Exec['apt-get update'],
+}
+}
diff --git a/puppet/modules/cassandra/manifests/init.pp 
b/puppet/modules/cassandra/manifests/init.pp
index 64acd6b..937549c 100644
--- a/puppet/modules/cassandra/manifests/init.pp
+++ b/puppet/modules/cassandra/manifests/init.pp
@@ -38,7 +38,7 @@
 source => 'puppet:///modules/cassandra/datastax.sources.list',
 owner  => 'root',
 group  => 'root',
-notify => Exec['update_package_index'],
+notify => Exec['apt-get update'],
 }
 
 # copy over cassandra-env.sh with modified JVM memory settings

-- 
To view, visit https://gerrit.wikimedia.org/r/254914
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3a39efac5ce248ea305295af47d63056b5e9d6d5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Install libjpeg-dev for diagrams in documentation - change (operations/puppet)

2015-11-05 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/251428

Change subject: Install libjpeg-dev for diagrams in documentation
..

Install libjpeg-dev for diagrams in documentation

The scap3 documentation contains blockdiag diagrams which require
libjpeg-dev somewhere down the dependency graph.

Change-Id: Ic20f98d6423cdd9c809385fb64c7a6fc074e5003
---
M modules/contint/manifests/packages.pp
1 file changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/28/251428/1

diff --git a/modules/contint/manifests/packages.pp 
b/modules/contint/manifests/packages.pp
index 451ecc2..6a1e6a0 100644
--- a/modules/contint/manifests/packages.pp
+++ b/modules/contint/manifests/packages.pp
@@ -77,6 +77,9 @@
 ensure => present,
 }
 
+# For Sphinx based documentation contain blockdiag diagrams
+require_package('libjpeg-dev')
+
 # For Doxygen based documentations
 require_package('graphviz')
 

-- 
To view, visit https://gerrit.wikimedia.org/r/251428
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic20f98d6423cdd9c809385fb64c7a6fc074e5003
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Release patch version 1.6.2 - change (mediawiki/selenium)

2015-10-23 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/248392

Change subject: Release patch version 1.6.2
..

Release patch version 1.6.2

Change-Id: I84dbf8c4d025aa752b7b1925195de1456e216002
---
M RELEASES.md
M UPGRADE.md
M lib/mediawiki_selenium/version.rb
3 files changed, 8 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/92/248392/1

diff --git a/RELEASES.md b/RELEASES.md
index 310a9ed..72aaab8 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,9 @@
 ## Release notes
 
+### 1.6.2 2015-10-23
+* Fixed undefined `last_session_ids=` method bug in `RemoteBrowserFactory`
+  which entirely broke SauceLabs use in previous 1.6.x versions
+
 ### 1.6.1 2015-09-29
 * Fixed bug in `UserFactory#user` and `UserFactory#password` that caused the
   incorrect resolution of alternative users/passwords when in the context of
diff --git a/UPGRADE.md b/UPGRADE.md
index 2cd0a2b..90cd9d4 100644
--- a/UPGRADE.md
+++ b/UPGRADE.md
@@ -3,14 +3,14 @@
 You can check your current version by running `bundle list mediawiki_selenium`
 in the root directory of your project.
 
-## From 1.x releases to 1.6.0
+## From 1.x releases to 1.6.x
 
 ### Update your `Gemfile`
 
 First, update the `Gemfile` in your project's root directory to specify the
 new version.
 
-gem 'mediawiki_selenium', '~> 1.6.0'
+gem 'mediawiki_selenium', '~> 1.6.2'
 
 ### Update `require` paths in `env.rb`
 
@@ -37,7 +37,7 @@
 First, update the `Gemfile` in your project's root directory to specify the
 new version.
 
-gem 'mediawiki_selenium', '~> 1.6.0'
+gem 'mediawiki_selenium', '~> 1.6.2'
 
 ### Upgrade gems and dependencies
 
diff --git a/lib/mediawiki_selenium/version.rb 
b/lib/mediawiki_selenium/version.rb
index afcdeb8..bf87919 100644
--- a/lib/mediawiki_selenium/version.rb
+++ b/lib/mediawiki_selenium/version.rb
@@ -1,3 +1,3 @@
 module MediawikiSelenium
-  VERSION = '1.6.1'
+  VERSION = '1.6.2'
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/248392
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I84dbf8c4d025aa752b7b1925195de1456e216002
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix undefined `last_session_ids=` method exception - change (mediawiki/selenium)

2015-10-23 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/248372

Change subject: Fix undefined `last_session_ids=` method exception
..

Fix undefined `last_session_ids=` method exception

The previous implementation of `RemoteBrowserFactory#teardown`
incorrectly referenced `last_session_ids=` as if it were a method of the
object's class, when it's actually defined in the module's singleton
scope.

Bug: T114368
Change-Id: I9c58eb376364a75d73f6cad98bca956193d7afe6
---
M lib/mediawiki_selenium/remote_browser_factory.rb
M spec/remote_browser_factory_spec.rb
2 files changed, 44 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/72/248372/1

diff --git a/lib/mediawiki_selenium/remote_browser_factory.rb 
b/lib/mediawiki_selenium/remote_browser_factory.rb
index 71c3d88..341d0ed 100644
--- a/lib/mediawiki_selenium/remote_browser_factory.rb
+++ b/lib/mediawiki_selenium/remote_browser_factory.rb
@@ -45,13 +45,12 @@
 def teardown(env, status)
   artifacts = super
 
-  self.class.last_session_ids = []
+  RemoteBrowserFactory.last_session_ids = []
 
   each do |browser|
 sid = browser.driver.session_id
-url = browser.driver.send(:bridge).http.send(:server_url)
-username = url.user
-key = url.password
+username = env.lookup(:sauce_ondemand_username)
+key = env.lookup(:sauce_ondemand_access_key)
 
 RestClient::Request.execute(
   method: :put,
@@ -66,7 +65,7 @@
   }.to_json
 )
 
-self.class.last_session_ids << sid
+RemoteBrowserFactory.last_session_ids << sid
 
 artifacts["http://saucelabs.com/jobs/#{sid}";] = 'text/url'
   end
diff --git a/spec/remote_browser_factory_spec.rb 
b/spec/remote_browser_factory_spec.rb
index cc45e5f..4db3fc8 100644
--- a/spec/remote_browser_factory_spec.rb
+++ b/spec/remote_browser_factory_spec.rb
@@ -1,4 +1,6 @@
+require 'rest_client'
 require 'spec_helper'
+
 require 'mediawiki_selenium/browser_factory/base'
 
 module MediawikiSelenium
@@ -46,5 +48,43 @@
 end
   end
 end
+
+describe '#teardown' do
+  subject { factory.teardown(env, status) }
+
+  let(:config) do
+{
+  sauce_ondemand_username: 'foo',
+  sauce_ondemand_access_key: 'bar',
+  build_number: 'b123'
+}
+  end
+
+  let(:env) { Environment.new(config) }
+  let(:status) { :passed }
+
+  before do
+browser = double('Watir::Browser')
+driver = double('Selenium::WebDriver::Driver')
+
+expect(factory).to receive(:each).and_yield(browser)
+expect(browser).to receive(:driver).and_return(driver)
+expect(driver).to receive(:session_id).and_return('123')
+  end
+
+  it 'updates the SauceLabs session for each browser and returns the URL 
as an artifact' do
+expect(RestClient::Request).to receive(:execute).with(
+  method: :put,
+  url: 'https://saucelabs.com/rest/v1/foo/jobs/123',
+  user: 'foo',
+  password: 'bar',
+  headers: { content_type: 'application/json' },
+  payload: '{"public":true,"passed":true,"build":"b123"}'
+)
+
+expect(subject).to include('http://saucelabs.com/jobs/123')
+expect(subject['http://saucelabs.com/jobs/123']).to eq('text/url')
+  end
+end
   end
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/248372
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9c58eb376364a75d73f6cad98bca956193d7afe6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Release patch version 1.6.1 - change (mediawiki/selenium)

2015-09-29 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/242165

Change subject: Release patch version 1.6.1
..

Release patch version 1.6.1

Change-Id: Ife549fd32d73e7366f88da6a4e00746d4e318f4b
---
M RELEASES.md
M lib/mediawiki_selenium/version.rb
2 files changed, 6 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/65/242165/1

diff --git a/RELEASES.md b/RELEASES.md
index 598671c..310a9ed 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,10 @@
 ## Release notes
 
+### 1.6.1 2015-09-29
+* Fixed bug in `UserFactory#user` and `UserFactory#password` that caused the
+  incorrect resolution of alternative users/passwords when in the context of
+  `Environment#as_user`
+
 ### 1.6.0 2015-09-25
 * Factored out all Cucumber specific functionality from the main framework
   classes to make way for alternative test harnesses
diff --git a/lib/mediawiki_selenium/version.rb 
b/lib/mediawiki_selenium/version.rb
index cc2df06..afcdeb8 100644
--- a/lib/mediawiki_selenium/version.rb
+++ b/lib/mediawiki_selenium/version.rb
@@ -1,3 +1,3 @@
 module MediawikiSelenium
-  VERSION = '1.6.0'
+  VERSION = '1.6.1'
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/242165
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ife549fd32d73e7366f88da6a4e00746d4e318f4b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Include upgrade instructions for 1.x to 1.6 - change (mediawiki/selenium)

2015-09-29 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/242206

Change subject: Include upgrade instructions for 1.x to 1.6
..

Include upgrade instructions for 1.x to 1.6

Additionally simplified the `require` statements in `env.rb`.

Change-Id: I364cbd8532ec1e790d8edc20d7d45a6f0bfaefd2
---
M UPGRADE.md
M lib/mediawiki_selenium/cucumber.rb
M templates/tests/browser/features/support/env.rb
3 files changed, 45 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/06/242206/1

diff --git a/UPGRADE.md b/UPGRADE.md
index bd21232..a5c6224 100644
--- a/UPGRADE.md
+++ b/UPGRADE.md
@@ -1,18 +1,50 @@
-# Upgrading from pre-1.0 releases to 1.0.0 and above
+# Upgrading to various major and minor releases
 
-## Update your `Gemfile`
+You can check your current version by running `bundle list mediawiki_selenium`
+in the root directory of your project.
+
+## From 1.x releases to 1.6.0
+
+### Update your `Gemfile`
 
 First, update the `Gemfile` in your project's root directory to specify the
 new version.
 
-gem 'mediawiki_selenium', '~> 1.5.0'
+gem 'mediawiki_selenium', '~> 1.6.0'
 
-## Upgrade gems and dependencies
+### Update `require` paths in `env.rb`
+
+The 1.6 release of MW-Selenium decoupled much of the Cucumber specific
+implementation to make room for alternative test harnesses such as RSpec. Some
+support were moved around to make this separation clearer.
+
+Assuming you're using Cucumber, which is still the default harness, update the
+first set of `require` statements in `tests/browser/features/support/env.rb`
+to the following.
+
+require 'mediawiki_selenium/cucumber'
+require 'mediawiki_selenium/pages'
+require 'mediawiki_selenium/step_definitions'
+
+Note that you can always omit the page object and step definition statements
+if they don't apply to your test cases. The only must have is the first
+`require`.
+
+## From pre-1.0 releases to 1.x
+
+### Update your `Gemfile`
+
+First, update the `Gemfile` in your project's root directory to specify the
+new version.
+
+gem 'mediawiki_selenium', '~> 1.6.0'
+
+### Upgrade gems and dependencies
 
 Now run `bundle install` to update your project's gem dependencies and
 `Gemfile.lock`.
 
-## Run the initialization script
+### Run the initialization script
 
 Version 1.0 now includes an initialization script that can help with the setup
 of new and existing test suites. Run the script in your project's root
@@ -30,11 +62,11 @@
 you may run into a conflict here. Just make sure that your `env.rb` contains
 the following before anything else.
 
-require 'mediawiki_selenium'
-require 'mediawiki_selenium/support'
+require 'mediawiki_selenium/cucumber'
+require 'mediawiki_selenium/pages'
 require 'mediawiki_selenium/step_definitions'
 
-## Convert page object URLs
+### Convert page object URLs
 
 Convert all page object URLs so that they're defined relative to the root of
 any given wiki and no longer rely on the now deprecated `URL` module. In other
@@ -59,7 +91,7 @@
   # ...
 end
 
-## Refactor direct use of `ENV`
+### Refactor direct use of `ENV`
 
 Change all references to `ENV` to use the appropriate `Environment` method.
 
@@ -96,7 +128,7 @@
   end
 end
 
-## Remove direct references to `@browser`
+### Remove direct references to `@browser`
 
 All references to `@browser` should use `Environment#browser` instead, since
 the latter will automatically configure and launch the browser the first time
@@ -114,7 +146,7 @@
   on(FlowPage).wait_until { browser.url =~ /Topic/ }
 end
 
-## Refactor use of deprecated `APIPage`
+### Refactor use of deprecated `APIPage`
 
 API requests should be made directly using {MediawikiSelenium::ApiHelper#api}
 which returns an instance of 
[MediawikiApi::Client](https://doc.wikimedia.org/rubygems/mediawiki-ruby-api/).
diff --git a/lib/mediawiki_selenium/cucumber.rb 
b/lib/mediawiki_selenium/cucumber.rb
index 1d62bba..26d04ec 100644
--- a/lib/mediawiki_selenium/cucumber.rb
+++ b/lib/mediawiki_selenium/cucumber.rb
@@ -1,3 +1,5 @@
+require 'mediawiki_selenium'
+
 require 'mediawiki_selenium/cucumber/env'
 require 'mediawiki_selenium/cucumber/hooks'
 require 'mediawiki_selenium/cucumber/sauce'
diff --git a/templates/tests/browser/features/support/env.rb 
b/templates/tests/browser/features/support/env.rb
index 0482371..c1072b2 100644
--- a/templates/tests/browser/features/support/env.rb
+++ b/templates/tests/browser/features/support/env.rb
@@ -1,5 +1,3 @@
-require 'mediawiki_selenium'
-
 require 'mediawiki_selenium/cucumber'
 require 'mediawiki_selenium/pages'
 require 'mediawiki_selenium/step_definitions'

-- 
To view, visit https://gerrit.wikimedia.org/r/242206
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I364cbd8532ec1e790d8edc20d7d45a6f0bfaefd2
Gerrit-PatchSet: 

[MediaWiki-commits] [Gerrit] Consider explicit configuration in `UserFactoryHelper` - change (mediawiki/selenium)

2015-09-28 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/242030

Change subject: Consider explicit configuration in `UserFactoryHelper`
..

Consider explicit configuration in `UserFactoryHelper`

The `UserFactoryHelper#user` and `UserFactoryHelper#password` methods
now correctly query for an explicitly set alternative before attempting
to create and retrieve it from the factory.

Bug: T114061
Change-Id: I8628fccb48bc5b95a0ab48d3358d98e98bfea072
---
M lib/mediawiki_selenium/environment.rb
M lib/mediawiki_selenium/helpers/user_factory_helper.rb
M spec/user_factory_helper_spec.rb
3 files changed, 34 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/30/242030/1

diff --git a/lib/mediawiki_selenium/environment.rb 
b/lib/mediawiki_selenium/environment.rb
index 7fd6cb4..5faa16a 100644
--- a/lib/mediawiki_selenium/environment.rb
+++ b/lib/mediawiki_selenium/environment.rb
@@ -146,7 +146,9 @@
 # @yieldparam password [String] Alternative MediaWiki password.
 #
 def as_user(id, &blk)
-  with(mediawiki_user: user(id), mediawiki_password: password(id), &blk)
+  record_alternatives([:mediawiki_user, :mediawiki_password], id) do
+with(mediawiki_user: user(id), mediawiki_password: password(id), &blk)
+  end
 end
 
 # Browser with which to drive tests.
@@ -500,13 +502,7 @@
 #
 def with_alternative(names, id, &blk)
   names = Array(names)
-
-  original_alts = @_current_alternatives.dup
-  @_current_alternatives.merge!(names.each.with_object({}) { |n, alts| 
alts[n] = id })
-
-  with(lookup_all(names, id: id), &blk)
-ensure
-  @_current_alternatives = original_alts
+  record_alternatives(names, id) { with(lookup_all(names, id: id), &blk) }
 end
 
 protected
@@ -529,6 +525,14 @@
   key.to_s.downcase.to_sym
 end
 
+def record_alternatives(names, id)
+  original_alts = @_current_alternatives.dup
+  @_current_alternatives.merge!(names.each.with_object({}) { |n, alts| 
alts[n] = id })
+  yield
+ensure
+  @_current_alternatives = original_alts
+end
+
 def with(overrides = {})
   overrides = normalize_config(overrides)
   original_config = @_config.dup
diff --git a/lib/mediawiki_selenium/helpers/user_factory_helper.rb 
b/lib/mediawiki_selenium/helpers/user_factory_helper.rb
index dbfedd2..519956e 100644
--- a/lib/mediawiki_selenium/helpers/user_factory_helper.rb
+++ b/lib/mediawiki_selenium/helpers/user_factory_helper.rb
@@ -20,9 +20,19 @@
 # @see Environment#password
 #
 [:user, :password].each do |name|
+  config_key = :"mediawiki_#{name}"
+
   define_method(name) do |id = nil|
 return super(id) unless lookup(:user_factory, default: false)
-factory.create(id || current_alternative(:"mediawiki_#{name}"))[name]
+
+alt_id = current_alternative(config_key)
+
+# When in the context of an alternative, try the explicit value first
+if !alt_id.nil? && alt_id == id
+  lookup(config_key, default: -> { factory.create(alt_id)[name] })
+else
+  factory.create(id || alt_id)[name]
+end
   end
 end
 
diff --git a/spec/user_factory_helper_spec.rb b/spec/user_factory_helper_spec.rb
index 7e2f0a9..d44e552 100644
--- a/spec/user_factory_helper_spec.rb
+++ b/spec/user_factory_helper_spec.rb
@@ -40,7 +40,17 @@
 it 'should be different from the primary account' do
   expect(api).to receive(:create_account).twice
 
-  expect(subject).not_to eq(env.user)
+  expect(subject).not_to eq(env.send(method))
+end
+  end
+
+  context 'within the implicit context of an alternative' do
+subject { env.as_user(:b) { env.send(method) } }
+
+it 'should use the already created alternative' do
+  expect(api).to receive(:create_account).twice
+
+  expect(subject).not_to eq(env.send(method))
 end
   end
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/242030
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8628fccb48bc5b95a0ab48d3358d98e98bfea072
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Filter target host logging from stdout of main process - change (mediawiki...scap)

2015-09-25 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/241256

Change subject: Filter target host logging from stdout of main process
..

Filter target host logging from stdout of main process

Change I60e1eb4b630d4779e2659310475b1973c783c6d8 implemented structured
logging from the target host to the deploy host which resulted in a lot
of noise on stdout of the main process. The handler for stdout has been
configured with a new filter to omit everything from the targets. We
should work on implemented specific panes or log files for such output.

The generic `log.Filter` class should help when it comes time to
implement such filtering of other handlers (especially if we're to
accept user provided filters) as it implements a very general syntax. Or
it's just crazy and unnecessary. Who knows? I'm very tired.

Bug: T113779
Change-Id: I2931b024fdb1f80fc4a84f8550d5a1658da426c3
---
M scap/log.py
M scap/ssh.py
A tests/log_test.py
M tests/ssh_test.py
4 files changed, 120 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/scap 
refs/changes/56/241256/1

diff --git a/scap/log.py b/scap/log.py
index 034ab0b..1276c71 100644
--- a/scap/log.py
+++ b/scap/log.py
@@ -5,6 +5,7 @@
 Helpers for routing and formatting log data.
 
 """
+import fnmatch
 import json
 import logging
 import math
@@ -276,6 +277,51 @@
 self.ok, self.failed, self.remaining)
 
 
+class Filter(object):
+"""Generic log filter that matches record properties against criteria.
+
+You can provide either a glob pattern, regular expression, or lambda as
+each property criteria, and invert the logic by passing filter=False.
+
+Examples:
+Filter(name='*.target.*')
+Filter(message=re.compile('some annoying (message|msg)'))
+Filter(levelno=lambda lvl: lvl < logging.WARNING)
+
+Filter(filter=False, name='*.target.*')
+"""
+
+def __init__(self, filter=True, **criteria):
+self._filter = filter
+self.criteria = {}
+
+# Normalize all globs into regexs into lambdas
+for prop in criteria:
+criterion = criteria[prop]
+
+if type(criterion) == str:
+criterion = re.compile(fnmatch.translate(criterion))
+
+if hasattr(criterion, '__call__'):
+self.criteria[prop] = criterion
+else:
+self.criteria[prop] = lambda value: criterion.search(value)
+
+def filter(self, record):
+record = record.__dict__
+matches = True
+
+for prop in self.criteria:
+if not self.criteria[prop](record.get(prop, '')):
+matches = False
+break
+
+if self._filter:
+return not matches
+else:
+return matches
+
+
 class MuteReporter(ProgressReporter):
 """A report that declines to report anything."""
 def __init__(self, name='', expect=0, fd=sys.stderr):
@@ -438,6 +484,9 @@
 logging.root.setLevel(logging.DEBUG)
 logging.root.handlers[0].setLevel(console_level)
 
+# Filter target output until we can properly filter it
+logging.root.handlers[0].addFilter(Filter(name='target.*'))
+
 if cfg['log_json']:
 logging.root.handlers[0].setFormatter(JSONFormatter())
 else:
diff --git a/scap/ssh.py b/scap/ssh.py
index 54b69d6..17e6853 100644
--- a/scap/ssh.py
+++ b/scap/ssh.py
@@ -50,7 +50,7 @@
 def __init__(self, host):
 self.host = host
 self._decoder = json.JSONDecoder()
-self._logger = utils.get_logger().getChild(host)
+self._logger = utils.get_logger().getChild('target').getChild(host)
 
 def accept(self, output):
 """Extracts and deserializes line-wise JSON from the given output.
diff --git a/tests/log_test.py b/tests/log_test.py
new file mode 100644
index 000..4751f39
--- /dev/null
+++ b/tests/log_test.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python2
+
+import logging
+import re
+import unittest
+
+from scap import log
+from StringIO import StringIO
+
+
+class FilterTest(unittest.TestCase):
+def setUp(self):
+self.root_logger = logging.getLogger('A')
+self.root_logger.setLevel(logging.INFO)
+
+for handler in self.root_logger.handlers:
+self.root_logger.removeHandler(handler)
+
+self.stream = StringIO()
+self.root_handler = logging.StreamHandler(self.stream)
+self.root_logger.addHandler(self.root_handler)
+
+self.b_logger = self.root_logger.getChild('B')
+self.c_logger = self.b_logger.getChild('C')
+
+def test_filter_filters_matching(self):
+filter = log.Filter(name='A.B.*')
+
+self.root_handler.addFilter(filter)
+
+self.b_logger.info('please log this')
+self.c_logger.info('do not log this')
+
+self.assertEqual("please log this\n", self.stream.getvalue())
+
+def test_f

[MediaWiki-commits] [Gerrit] Release minor version 1.6.0 - change (mediawiki/selenium)

2015-09-25 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/241234

Change subject: Release minor version 1.6.0
..

Release minor version 1.6.0

Change-Id: If228a79eb65939a8f8b8b42b77e829868eeda594
---
M RELEASES.md
M lib/mediawiki_selenium/version.rb
2 files changed, 14 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/34/241234/1

diff --git a/RELEASES.md b/RELEASES.md
index 61ce63c..598671c 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,18 @@
 ## Release notes
 
+### 1.6.0 2015-09-25
+* Factored out all Cucumber specific functionality from the main framework
+  classes to make way for alternative test harnesses
+  * Generalized setup/teardown hooks
+  * Reorganized support files to reflect their Cucumber specificity
+  * Refactored remote test annotation
+  * Moved screenshot-ing to its own helper
+* Experimental support for plain RSpec based tests (see
+  [T108273](https://phabricator.wikimedia.org/T108273#1520544) for example
+  usage)
+* Implemented API based authentication via the `LoginHelper` and ported the
+  Cucumber login step to use it
+
 ### 1.5.0 2015-07-23
 * Video recording of headless browser sessions are now saved to
   `HEADLESS_CAPTURE_PATH` for failed scenarios
diff --git a/lib/mediawiki_selenium/version.rb 
b/lib/mediawiki_selenium/version.rb
index a87b6ff..cc2df06 100644
--- a/lib/mediawiki_selenium/version.rb
+++ b/lib/mediawiki_selenium/version.rb
@@ -1,3 +1,3 @@
 module MediawikiSelenium
-  VERSION = '1.5.0'
+  VERSION = '1.6.0'
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/241234
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If228a79eb65939a8f8b8b42b77e829868eeda594
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Propagate structured logging from target to deploy host - change (mediawiki...scap)

2015-09-25 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/241074

Change subject: Propagate structured logging from target to deploy host
..

Propagate structured logging from target to deploy host

Implemented a new structured logging system comprised of a
`log.JSONFormatter` on the target side and an `ssh.JSONOutputHandler` on
the host side.

The `log.JSONFormatter` formats all log output as stuctured line-wise
JSON and can be enabled by specifying the `log_json` configuration
parameter, which `main.Deploy` now sets when invoking a deploy stage on
each target.

Modified `ssh.Job` and friends to accept an `ssh.OutputHandler` class
that will process stdout from each SSH process, and implemented an
`ssh.JSONOutputHandler` that deserializes any JSON output from targets
and re-logs it as a structured `log.Message` via the main deploy logger.

At the moment, messages are simply logged to stdout on the deploy host,
but eventually these structured messages should be filtered and
aggregated to some fancy future logging multiplex (tmux windows, etc.).

Bug: T113085
Change-Id: I60e1eb4b630d4779e2659310475b1973c783c6d8
---
M scap/config.py
M scap/log.py
M scap/main.py
M scap/ssh.py
M scap/utils.py
A tests/ssh_test.py
6 files changed, 186 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/scap 
refs/changes/74/241074/1

diff --git a/scap/config.py b/scap/config.py
index b7a7d81..29c730f 100644
--- a/scap/config.py
+++ b/scap/config.py
@@ -18,6 +18,7 @@
 'deploy_dir': '/srv/mediawiki',
 'stage_dir': '/srv/mediawiki-staging',
 'lock_file': '/var/lock/scap',
+'log_json': False,
 'master_rsync': 'localhost',
 'statsd_host': '127.0.0.1',
 'statsd_port': '2003',
diff --git a/scap/log.py b/scap/log.py
index caa4bb7..034ab0b 100644
--- a/scap/log.py
+++ b/scap/log.py
@@ -87,6 +87,29 @@
 self.handleError(record)
 
 
+class JSONFormatter(logging.Formatter):
+"""Serialize logging output as JSON.
+
+Can be used to maintain logged event structure between the deployment host
+and remote targets.
+"""
+
+FIELDS = ['created', 'name', 'levelno', 'pathname', 'lineno']
+encoder = None
+
+def format(self, record):
+rec = record.__dict__
+fields = {field: rec[field] for field in rec if field in self.FIELDS}
+fields['message'] = super(self.__class__, self).format(record)
+
+return self._encode(fields)
+
+def _encode(self, fields):
+if self.encoder is None:
+self.encoder = json.JSONEncoder()
+return self.encoder.encode(fields)
+
+
 class LogstashFormatter(logging.Formatter):
 """Format log messages for logstash."""
 
@@ -162,6 +185,20 @@
 } for fname, line, func, text in
 traceback.extract_tb(ex_traceback)]
 }
+
+
+class Message:
+"""Structured log message."""
+
+loglevel = None
+meta = {}
+
+def __init__(self, **meta):
+self.loglevel = meta.get('loglevel', logging.INFO)
+self.meta = meta
+
+def __str__(self):
+return self.meta.get('message', '')
 
 
 class ProgressReporter(object):
@@ -401,9 +438,12 @@
 logging.root.setLevel(logging.DEBUG)
 logging.root.handlers[0].setLevel(console_level)
 
-# Colorize log messages sent to stderr
-logging.root.handlers[0].setFormatter(AnsiColorFormatter(
-'%(asctime)s %(message)s', '%H:%M:%S'))
+if cfg['log_json']:
+logging.root.handlers[0].setFormatter(JSONFormatter())
+else:
+# Colorize log messages sent to stderr
+logging.root.handlers[0].setFormatter(AnsiColorFormatter(
+'%(asctime)s %(message)s', '%H:%M:%S'))
 
 if cfg['udp2log_host']:
 # Send a copy of all logs to the udp2log relay
diff --git a/scap/main.py b/scap/main.py
index 2d04e00..627ccf0 100644
--- a/scap/main.py
+++ b/scap/main.py
@@ -841,13 +841,19 @@
 if self.config.get(x) is not None
 ])
 
+# Handle JSON output from deploy-local
+deploy_local_cmd = deploy_local_cmd + ['-D log_json:True', '-v']
+
 deploy_stage_cmd = deploy_local_cmd + [stage]
 logger.debug('Running cmd {}'.format(deploy_stage_cmd))
+
 deploy_stage = ssh.Job(
 hosts=self.targets, user=self.config['ssh_user'])
+deploy_stage.output_handler = ssh.JSONOutputHandler
 deploy_stage.max_failure = self.MAX_FAILURES
 deploy_stage.command(deploy_stage_cmd)
 deploy_stage.progress('deploy_{}_{}'.format(self.repo, stage))
+
 succeeded, failed = deploy_stage.run(batch_size=batch_size)
 
 if failed:
diff --git a/scap/ssh.py b/scap/ssh.py
index 1c50872..54b69d6 100644
--- a/scap/ssh.py
+++ b/scap/ssh.py
@@ -7,6 +7,7 @@
 
 """
 import errno
+import json
 import os
 import random
 import select
@@ -20,6 +21,72 @@
 SSH = ('/usr/bin/ssh', '-oBatchMode=yes',

[MediaWiki-commits] [Gerrit] Remove mwext-mw-selenium from gate-and-submit - change (integration/config)

2015-09-23 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/240595

Change subject: Remove mwext-mw-selenium from gate-and-submit
..

Remove mwext-mw-selenium from gate-and-submit

Temporarily remove mwext-mw-selenium from the gate-and-submit pipelines
of extensions until we can figure out how to solve gating queues between
non-interdependent projects.

Bug: T113501
Change-Id: I5db99dee0318b5854a05ea68870c57fb658f42e3
---
M zuul/layout.yaml
1 file changed, 0 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/95/240595/1

diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 84a1586..477c27b 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -3784,8 +3784,6 @@
   - name: npm
 test:
   - mwext-mw-selenium
-gate-and-submit:
-  - mwext-mw-selenium
 
   - name: mediawiki/extensions/GettingStarted
 template:
@@ -4188,7 +4186,6 @@
   - mediawiki-gate
   #- mwext-MobileFrontend-testextension-hhvm
   - mwext-MobileFrontend-testextension-zend
-  - mwext-mw-selenium
 postmerge:
   - mwext-MobileFrontend-publish
   - mwext-MobileFrontend-doxygen-publish
@@ -5606,8 +5603,6 @@
   - jshint
   - jsonlint
 test:
-  - mwext-mw-selenium
-gate-and-submit:
   - mwext-mw-selenium
 
   - name: mediawiki/extensions/QuickSearchLookup

-- 
To view, visit https://gerrit.wikimedia.org/r/240595
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5db99dee0318b5854a05ea68870c57fb658f42e3
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Handle changes to `vagrant::config` order - change (mediawiki/vagrant)

2015-09-21 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/239995

Change subject: Handle changes to `vagrant::config` order
..

Handle changes to `vagrant::config` order

Utilize the `match` parameter of `file_line` to remove lines that were
written using the previous priority.

Change-Id: Ic8c6411e97f54819967025200d4d1c44f18c12b3
---
M puppet/modules/varnish/manifests/config.pp
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/95/239995/1

diff --git a/puppet/modules/varnish/manifests/config.pp 
b/puppet/modules/varnish/manifests/config.pp
index af23436..d0dc387 100644
--- a/puppet/modules/varnish/manifests/config.pp
+++ b/puppet/modules/varnish/manifests/config.pp
@@ -41,6 +41,7 @@
 file_line { "${::varnish::conf}:${title}":
 line=> "include \"${path}\";",
 path=> $::varnish::conf,
+match   => "${::varnish::confd}/[0-9]+-${title}.vcl",
 require => File[$path],
 notify  => Exec['varnish_sort_confd'],
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/239995
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic8c6411e97f54819967025200d4d1c44f18c12b3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Varnish config for thumbor - change (mediawiki/vagrant)

2015-09-18 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/239503

Change subject: Varnish config for thumbor
..

Varnish config for thumbor

Alternative to I6feefea0d130d6495a4c3b08199fdc20d1662bd1 that uses
`varnish::config`.

Change-Id: I530d9f1229e2d687e5837a983d398d227aef2ab5
---
M puppet/modules/role/manifests/thumbor.pp
A puppet/modules/thumbor/files/varnish.vcl
2 files changed, 40 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/03/239503/1

diff --git a/puppet/modules/role/manifests/thumbor.pp 
b/puppet/modules/role/manifests/thumbor.pp
index 27d3e9c..1e31240 100644
--- a/puppet/modules/role/manifests/thumbor.pp
+++ b/puppet/modules/role/manifests/thumbor.pp
@@ -16,5 +16,16 @@
 site=> $::mediawiki::wiki_name,
 content => template('role/thumbor/apache2.conf.erb'),
 }
+
+if defined(Class['role::varnish']) {
+varnish::backend { 'thumbor':
+host => '127.0.0.1',
+port => '',
+}
+
+varnish::config { 'thumbor':
+source => 'puppet:///modules/thumbor/varnish.vcl',
+}
+}
 }
 
diff --git a/puppet/modules/thumbor/files/varnish.vcl 
b/puppet/modules/thumbor/files/varnish.vcl
new file mode 100644
index 000..a0db65e
--- /dev/null
+++ b/puppet/modules/thumbor/files/varnish.vcl
@@ -0,0 +1,29 @@
+# vcl_recv is called whenever a request is received
+sub vcl_recv {
+# Pass any requests with the "If-None-Match" header directly.
+if (req.http.If-None-Match && !req.url ~ "^/images/thumb/.*\.(jpg|png)") {
+return(pass);
+}
+}
+
+# Called if the cache does not have a copy of the page.
+sub vcl_miss {
+# qlow jpg thumbs
+if (req.url ~ "^/images/thumb/(.*)/qlow-(\d+)px-.*\.jpg") {
+set bereq.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/qlow-(\d+)px-.*\.jpg", "\2") + 
"x/filters:quality(40):sharpen(0.6,0.01,false)/http://127.0.0.1:8080/images/"; + 
regsub(req.url, "^/images/thumb/(.*)/qlow-(\d+)px-.*\.jpg", "\1");
+# regular jpg thumbs
+} else if (req.url ~ "^/images/thumb/(.*)/(\d+)px-.*\.jpg") {
+set bereq.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.jpg", "\2") + 
"x/filters:quality(87):sharpen(0.6,0.01,false)/http://127.0.0.1:8080/images/"; + 
regsub(req.url, "^/images/thumb/(.*)/(\d+)px-.*\.jpg", "\1");
+# png thumbs
+} else if (req.url ~ "^/images/thumb/(.*)/(\d+)px-.*\.png") {
+set bereq.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.png", "\2") + 
"x/http://127.0.0.1:8080/images/"; + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.png", "\1");
+}
+}
+
+sub vcl_deliver {
+# Thumbor doesn't even fine-grained config for the headers it returns
+if (req.url ~ "^/images/thumb/.*\.(jpg|png)") {
+unset resp.http.Cache-Control;
+unset resp.http.Expires;
+}
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/239503
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I530d9f1229e2d687e5837a983d398d227aef2ab5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Varnish `config` resources - change (mediawiki/vagrant)

2015-09-18 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/239502

Change subject: Varnish `config` resources
..

Varnish `config` resources

Implemented `varnish::config` and `varnish::backend` that allow roles
and other modules to declare their own VCL file. An `order` can be given
to determine the order in which the given configuration is applied by
Varnish.

Since Varnish does not support directories or wildcards with include, a
simple conf.d style was achieved using an additional `conf-d.vcl`
include that is initialized, amended, and sorted by Puppet.

Follows-up: Ied4febaa3078b86786d856f1226745df4425a780

Change-Id: I882941713563f437223a3d52233eac406038a4b3
---
R puppet/modules/varnish/files/default-subs.vcl
A puppet/modules/varnish/manifests/backend.pp
A puppet/modules/varnish/manifests/config.pp
M puppet/modules/varnish/manifests/init.pp
A puppet/modules/varnish/templates/backend.vcl.erb
5 files changed, 150 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/02/239502/1

diff --git a/puppet/modules/varnish/files/default.vcl 
b/puppet/modules/varnish/files/default-subs.vcl
similarity index 93%
rename from puppet/modules/varnish/files/default.vcl
rename to puppet/modules/varnish/files/default-subs.vcl
old mode 100755
new mode 100644
index b6f6304..26c5cd8
--- a/puppet/modules/varnish/files/default.vcl
+++ b/puppet/modules/varnish/files/default-subs.vcl
@@ -1,21 +1,9 @@
-# set default backend if no server cluster specified
-backend default {
-.host = "127.0.0.1";
-.port = "8080";
-}
-
-# access control list for "purge": open to only localhost and other local nodes
-acl purge {
-"127.0.0.1";
-}
-
 # vcl_recv is called whenever a request is received
 sub vcl_recv {
 # Serve objects up to 2 minutes past their expiry if the backend
 # is slow to respond.
 set req.grace = 120s;
 set req.http.X-Forwarded-For = client.ip;
-set req.backend = default;
 
 # This uses the ACL action called "purge". Basically if a request to
 # PURGE the cache comes from anywhere other than localhost, ignore it.
@@ -144,4 +132,4 @@
 if (req.http.Authorization && !beresp.http.Cache-Control ~ "public") {
 return(hit_for_pass);
 }
-}
\ No newline at end of file
+}
diff --git a/puppet/modules/varnish/manifests/backend.pp 
b/puppet/modules/varnish/manifests/backend.pp
new file mode 100644
index 000..5a9beb9
--- /dev/null
+++ b/puppet/modules/varnish/manifests/backend.pp
@@ -0,0 +1,33 @@
+# == Define: varnish::backend
+#
+# Sets up a new Varnish backend.
+#
+# === Parameters
+#
+# [*host*]
+#   Backend host.
+#
+# [*port*]
+#   Backend port.
+#
+# [*onlyif*]
+#   VCL condition for routing to the backend.
+#
+# === Examples
+#
+#   varnish::backend { 'thumbor':
+#   host   => '127.0.0.1',
+#   port   => '',
+#   onlyif => 'req.url ~ "^/images/thumb/.*\.(jpg|png)"',
+#   }
+#
+define varnish::backend(
+$host,
+$port,
+$onlyif = 'req.url ~ "."',
+) {
+varnish::config { "backend-${title}":
+content => template('varnish/backend.vcl.erb'),
+order   => 20,
+}
+}
diff --git a/puppet/modules/varnish/manifests/config.pp 
b/puppet/modules/varnish/manifests/config.pp
new file mode 100644
index 000..af23436
--- /dev/null
+++ b/puppet/modules/varnish/manifests/config.pp
@@ -0,0 +1,47 @@
+# == Define: varnish::config
+#
+# Sets up a new Varnish config file.
+#
+# === Parameters
+#
+# [*source*]
+#   VCL file source.
+#
+# [*content*]
+#   VCL file content.
+#
+# [*order*]
+#   Order in which Varnish will apply your configuration (0-99).
+#   Default: 60 (apply just after default VCL).
+#
+# === Examples
+#
+#   varnish::config { 'thumbor':
+#   source => 'puppet:///modules/thumbor/varnish.vcl',
+#   order  => 99,
+#   }
+#
+define varnish::config(
+$source = undef,
+$content = undef,
+$order = 60,
+) {
+include ::varnish
+
+$i = sprintf('%02d', $order)
+$path = "${::varnish::confd}/${i}-${title}.vcl"
+
+file { $path:
+source  => $source,
+content => $content,
+mode=> '0644',
+notify  => Service['varnish'],
+}
+
+file_line { "${::varnish::conf}:${title}":
+line=> "include \"${path}\";",
+path=> $::varnish::conf,
+require => File[$path],
+notify  => Exec['varnish_sort_confd'],
+}
+}
diff --git a/puppet/modules/varnish/manifests/init.pp 
b/puppet/modules/varnish/manifests/init.pp
index 0541f8d..591fbba 100644
--- a/puppet/modules/varnish/manifests/init.pp
+++ b/puppet/modules/varnish/manifests/init.pp
@@ -1,15 +1,46 @@
-# == Class: Varnish
+# == Class: varnish
 #
-# This Puppet class installs and configures a Varnish instance
+# This Puppet class installs and configures a Varnish instance.
+#
+# Additional configuration can be managed using `varnish::config` and will be
+# 

[MediaWiki-commits] [Gerrit] WIP Proof of concept for disableLogs SauceLabs option - change (mediawiki/selenium)

2015-09-17 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/239132

Change subject: WIP Proof of concept for disableLogs SauceLabs option
..

WIP Proof of concept for disableLogs SauceLabs option

Bug: T89353
Change-Id: I3ec86038b96ca21707aa22b0c92e358b52028ac2
---
M Gemfile
M features/saucelabs.feature
M features/step_definitions/saucelabs_steps.rb
3 files changed, 20 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/32/239132/1

diff --git a/Gemfile b/Gemfile
index 2217784..b457c53 100644
--- a/Gemfile
+++ b/Gemfile
@@ -3,3 +3,5 @@
 gemspec
 
 gem 'mediawiki_api', path: '../ruby-api'
+
+gem 'pry-byebug'
diff --git a/features/saucelabs.feature b/features/saucelabs.feature
index a416a84..7ca52eb 100644
--- a/features/saucelabs.feature
+++ b/features/saucelabs.feature
@@ -17,3 +17,8 @@
 Given I have started interacting with the browser
 When the scenario fails
 Then the SauceLabs job should be marked as failed
+
+  Scenario: Log recording can be disabled
+Given I have set the SauceLabs "recordLogs" option to "false"
+When I start interacting with the browser
+Then no logs have been recorded
diff --git a/features/step_definitions/saucelabs_steps.rb 
b/features/step_definitions/saucelabs_steps.rb
index 89900a1..9c6718e 100644
--- a/features/step_definitions/saucelabs_steps.rb
+++ b/features/step_definitions/saucelabs_steps.rb
@@ -1,4 +1,11 @@
+require 'json'
 require 'net/https'
+
+Given(/^I have set the SauceLabs "(.*?)" option to "(.*?)"$/) do |name, value|
+  @env.browser_factory.configure do |options|
+options[:desired_capabilities][name] = JSON.load(value)
+  end
+end
 
 Then(/^the SauceLabs job should be marked as failed$/) do
   job_id = @env.browser.driver.session_id
@@ -16,3 +23,9 @@
   expect(job).to include('passed')
   expect(job['passed']).to be(false)
 end
+
+Then(/^no logs have been recorded$/) do
+  require 'pry-byebug'
+  binding.pry
+  # WIP test for this
+end

-- 
To view, visit https://gerrit.wikimedia.org/r/239132
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ec86038b96ca21707aa22b0c92e358b52028ac2
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Support batch size configuration per stage - change (mediawiki...scap)

2015-09-16 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/239016

Change subject: Support batch size configuration per stage
..

Support batch size configuration per stage

Stage specific batch sizes will allow for the optimization of certain
non-destructive stages like fetch to use a higher concurrency level
while keeping the promote and check stages at a lower (rolling) level.

Bug: T112841
Change-Id: I1bfb8ef6a624702a76b4163d2b9d14b934adb786
---
M scap/main.py
1 file changed, 4 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/scap 
refs/changes/16/239016/1

diff --git a/scap/main.py b/scap/main.py
index f0f2511..566f2e2 100644
--- a/scap/main.py
+++ b/scap/main.py
@@ -834,7 +834,7 @@
 def execute_stage(self, stage):
 logger = self.get_logger()
 deploy_local_cmd = [self.get_script_path('deploy-local')]
-batch_size = self._get_batch_size()
+batch_size = self._get_batch_size(stage)
 
 deploy_local_cmd.extend([
 "-D '{}:{}'".format(x, self.config.get(x))
@@ -856,6 +856,7 @@
 
 return 0
 
-def _get_batch_size(self):
-size = self.config.get('batch_size', self.MAX_BATCH_SIZE)
+def _get_batch_size(self, stage):
+default = self.config.get('batch_size', self.MAX_BATCH_SIZE)
+size = self.config.get('{}_batch_size'.format(stage), default)
 return min(size, self.MAX_BATCH_SIZE)

-- 
To view, visit https://gerrit.wikimedia.org/r/239016
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1bfb8ef6a624702a76b4163d2b9d14b934adb786
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/scap
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Support atomic promotion and rollback - change (mediawiki...scap)

2015-09-16 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/238839

Change subject: Support atomic promotion and rollback
..

Support atomic promotion and rollback

Implemented a new directory structure that supports a more atomic
promotion process and automated rollbacks. Each project revision is
deployed into its own directory under `revs/` and a `current` symlink,
created just before service restart, controls which revision is
currently promoted.

The 'fetch' stage now utilizes a local `cache` directory for the remote
repo which is then uses to clone locally into the revision specific
directory. This process should be disk-space efficient as long as both
location are on the same local filesystem, as git hardlinks objects by
default for local clones. If it proves problematic, we can investigate
using something like `git-new-workdir`.

Rollback support depends on two additional symlinks (`.in-progress` and
`.done`), both located in the root deploy directory, to maintain state
for the current deployment across target nodes. The `.in-progress`
symlink is created following a successful 'fetch', and replaces the
`.done` symlink upon a successful 'check'.

If any failure occurs during the `promote` and `check` stages, the user
is prompted to rollback. The actual rollback process simply resolves the
last successful revision by looking at the `.done` symlink and performs
a 'promote' to that revision.

Bug: T109514
Change-Id: I49132b68339e489729009532c9e19a7e50f5d6fe
---
M scap/cli.py
M scap/main.py
M scap/tasks.py
M scap/utils.py
4 files changed, 222 insertions(+), 49 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/scap 
refs/changes/39/238839/1

diff --git a/scap/cli.py b/scap/cli.py
index c9a14a1..4d08b7b 100644
--- a/scap/cli.py
+++ b/scap/cli.py
@@ -111,6 +111,21 @@
 
 return sorted_versions
 
+def ask(self, question, default):
+"""Provides a y/n prompt if the controlling terminal is interactive.
+
+:param question: Prompt message to display
+:param default: Default answer to use in the case of a non-interactive
+terminal
+:returns: str User input or default value
+"""
+
+if not sys.stdout.isatty():
+return default
+
+ans = raw_input('{} [{}]: '.format(question, default)).strip()
+return ans.lower() if ans else default
+
 def _parse_arguments(self, argv):
 """Parse command line arguments.
 
diff --git a/scap/main.py b/scap/main.py
index 4125e7d..a647421 100644
--- a/scap/main.py
+++ b/scap/main.py
@@ -578,23 +578,55 @@
 
 class DeployLocal(cli.Application):
 """Deploy service code via git"""
-
 STAGES = ['fetch', 'promote', 'check']
+EX_STAGES = ['rollback']
 
-@cli.argument('stage', metavar='STAGE', choices=STAGES,
+rev = None
+deploy_dir = None
+cache_dir = None
+revs_dir = None
+rev_dir = None
+user = None
+progress_flag = None
+done_flag = None
+
+@cli.argument('stage', metavar='STAGE', choices=STAGES + EX_STAGES,
 help='Stage of the deployment to execute')
 def main(self, *extra_args):
+self.rev = self.config['git_rev']
+
+self.deploy_dir = os.path.normpath("{0}/{1}".format(
+self.config['git_deploy_dir'], self.config['git_repo']))
+
+self.cache_dir = os.path.join(self.deploy_dir, 'cache')
+self.revs_dir = os.path.join(self.deploy_dir, 'revs')
+self.rev_dir = os.path.join(self.revs_dir, self.rev)
+self.cur_link = os.path.join(self.deploy_dir, 'current')
+
+self.progress_flag = os.path.join(self.deploy_dir, '.in-progress')
+self.done_flag = os.path.join(self.deploy_dir, '.done')
+
+self.user = self.config['git_repo_user']
+
 getattr(self, self.arguments.stage)()
 
 def fetch(self):
+"""Fetch the specified revision of the remote repo.
+
+The given repo is cloned into the cache directory and a new working
+directory for the given revision is created under revs/{rev}.
+
+At the end of this stage, the .in-progress link is created to signal
+the possibility for future rollback.
+"""
+
 repo = self.config['git_repo']
-repo_user = self.config['git_repo_user']
 server = self.config['git_server']
-rev = self.config['git_rev']
 has_submodules = self.config['git_submodules']
 
-location = os.path.normpath("{0}/{1}".format(
-self.config['git_deploy_dir'], repo))
+# create deployment directories if they don't already exist
+for d in [self.cache_dir, self.revs_dir]:
+utils.mkdir_p(d, logger=self.get_logger())
 
 # only supports http from tin for the moment
 scheme = 'http'
@@ -604,20 +636,98 @@
 logger = self.get_logger()
 logger.debug('Fetching from: {}'.format

[MediaWiki-commits] [Gerrit] Execute distinct stages of deployment separately - change (mediawiki...scap)

2015-09-15 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/238631

Change subject: Execute distinct stages of deployment separately
..

Execute distinct stages of deployment separately

Refactored `deploy-local` into separate 'fetch', 'promote', and 'check'
stages that can be executed independently by the remote `deploy`
process. This separation will allow for different batch sizes per stage,
potentially optimizing for cases where a "rolling deploy" is desired but
highly concurrent fetching/cloning is still possible.

Bug: T109861
Change-Id: Ib921cf3b2d99d92cea9ac0bdacc78fefedccf567
---
M scap/main.py
1 file changed, 31 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/scap 
refs/changes/31/238631/1

diff --git a/scap/main.py b/scap/main.py
index 9f8f6b8..d0784ec 100644
--- a/scap/main.py
+++ b/scap/main.py
@@ -12,6 +12,7 @@
 import os
 import psutil
 import subprocess
+import sys
 
 from . import cli
 from . import log
@@ -579,16 +580,20 @@
 class DeployLocal(cli.Application):
 """Deploy service code via git"""
 
+STAGES = ['fetch', 'promote', 'check']
+
+@cli.argument('stage', metavar='STAGE', choices=STAGES,
+help='Stage of the deployment to execute')
+
 def main(self, *extra_args):
+getattr(self, self.arguments.stage)()
+
+def fetch(self):
 repo = self.config['git_repo']
 repo_user = self.config['git_repo_user']
 server = self.config['git_server']
 rev = self.config['git_rev']
 has_submodules = self.config['git_submodules']
-
-# service_name/service_port only set for deploys requiring restart
-service_name = self.config.get('service_name', None)
-service_port = self.config.get('service_port', None)
 
 location = os.path.normpath("{0}/{1}".format(
 self.config['git_deploy_dir'], repo))
@@ -603,11 +608,17 @@
 tasks.git_fetch(location, url, repo_user)
 tasks.git_checkout(location, rev, has_submodules, repo_user)
 
-if service_name is not None:
-tasks.restart_service(service_name, user=repo_user)
+def promote(self):
+service = self.config.get('service_name', None)
 
-if service_port is not None:
-tasks.check_port(int(service_port))
+if service is not None:
+tasks.restart_service(service, user=self.config['git_repo_user'])
+
+def check(self):
+port = self.config.get('service_port', None)
+
+if port is not None:
+tasks.check_port(int(port))
 
 
 class Deploy(cli.Application):
@@ -648,6 +659,7 @@
 )
 
 # batch_size not required, don't allow a batch_size > 80 if set
+# TODO allow batch sizes to be configured per stage
 batch_size = self.config.get('batch_size', 80)
 batch_size = 80 if batch_size >= 80 else batch_size
 
@@ -694,14 +706,17 @@
 if self.config.get(x) is not None
 ])
 
-logger.debug('Running cmd {}'.format(deploy_local_cmd))
-deploy_rev = ssh.Job(
-hosts=targets, user=self.config['ssh_user'])
-deploy_rev.command(deploy_local_cmd).progress('deploy_' + repo)
-succeeded, failed = deploy_rev.run(batch_size=batch_size)
+for stage in DeployLocal.STAGES:
+deploy_stage_cmd = deploy_local_cmd + [stage]
+logger.debug('Running cmd {}'.format(deploy_stage_cmd))
+deploy_stage = ssh.Job(
+hosts=targets, user=self.config['ssh_user'])
+deploy_stage.command(deploy_stage_cmd)
+deploy_stage.progress('deploy_{}_{}'.format(repo, stage))
+succeeded, failed = deploy_stage.run(batch_size=batch_size)
 
-if failed:
-logger.warning('%d targets had deploy errors', failed)
-return 1
+if failed:
+logger.warning('%d targets had deploy errors', failed)
+return 1
 
 return 0

-- 
To view, visit https://gerrit.wikimedia.org/r/238631
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib921cf3b2d99d92cea9ac0bdacc78fefedccf567
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/scap
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix 'no implicit conversion of Pathname into String' - change (mediawiki/vagrant)

2015-09-09 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/237256

Change subject: Fix 'no implicit conversion of Pathname into String'
..

Fix 'no implicit conversion of Pathname into String'

Bug: T111980
Change-Id: I70b07011b27f4a6afb3e5c9cd6b11bddde1cf24d
---
M Vagrantfile
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/56/237256/1

diff --git a/Vagrantfile b/Vagrantfile
index 2d58012..c5c39af 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -266,6 +266,6 @@
 # to the parent directory.  Editing it without copying it will only cause
 # sadness.
 begin
-  require mwv.path('Vagrantfile-extra')
+  require mwv.path('Vagrantfile-extra').to_s
 rescue LoadError
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/237256
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I70b07011b27f4a6afb3e5c9cd6b11bddde1cf24d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Rename and simplify some git deploy functions - change (mediawiki...scap)

2015-09-04 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/236241

Change subject: Rename and simplify some git deploy functions
..

Rename and simplify some git deploy functions

Renamed a couple of the scap3 deploy related functions and refactored
them to be more single purpose.

Fixed bug in `inside_git_dir` decorator where `location` passed as a
keyword argument with no default defined resulted in a "Location is not
a git repo" error.

Bug: T109514
Change-Id: I10b10b740e702d4ae832d929a9f195da3d4475e4
---
M scap/main.py
M scap/tasks.py
M scap/utils.py
3 files changed, 43 insertions(+), 36 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/scap 
refs/changes/41/236241/1

diff --git a/scap/main.py b/scap/main.py
index b4427c2..66ad270 100644
--- a/scap/main.py
+++ b/scap/main.py
@@ -20,6 +20,7 @@
 from . import tasks
 from . import template
 from . import utils
+from datetime import datetime
 
 
 class AbstractSync(cli.Application):
@@ -675,15 +676,15 @@
 logger = self.get_logger()
 repo = self.config['git_repo']
 deploy_dir = self.config['git_deploy_dir']
+cwd = os.getcwd()
 
-in_deploy_dir = os.path.commonprefix(
-[os.getcwd(), deploy_dir]) == deploy_dir
+in_deploy_dir = os.path.commonprefix([cwd, deploy_dir]) == deploy_dir
 
 if not in_deploy_dir:
 raise RuntimeError(errno.EPERM,
 'Your path is not a part of the git deploy path', deploy_dir)
 
-if not utils.is_git_dir(os.getcwd()):
+if not utils.is_git_dir(cwd):
 raise RuntimeError(errno.EPERM,
 'Script must be run from deployment repository under {}'
 .format(deploy_dir))
@@ -705,19 +706,29 @@
 
 with utils.lock(self.config['lock_file']):
 with log.Timer('deploy_' + repo):
-(tag, tag_json) = utils.generate_json_tag(location=os.getcwd())
+timestamp = datetime.utcnow()
+tag = utils.git_next_deploy_tag(location=cwd)
+commit = utils.git_sha(location=cwd, rev=self.arguments.rev)
+user = utils.get_real_username()
 
-tasks.git_deploy_file(tag_json)
-tasks.git_tag_repo(tag, tag_json, self.arguments.rev)
+deploy_info = {
+'tag': tag,
+'commit': commit,
+'user': user,
+'timestamp': timestamp.isoformat(),
+}
 
-self.config['git_rev'] = tag
+tasks.git_update_deploy_head(deploy_info, location=cwd)
+tasks.git_tag_repo(deploy_info, location=cwd)
+
+self.config['git_rev'] = commit
 
 # Run git update-server-info because git repo is a dumb
 # apache server
 tasks.git_update_server_info(self.config['git_submodules'])
 
 if self.config['config_deploy']:
-config_file_info = os.path.join(os.getcwd(),
+config_file_info = os.path.join(cwd,
 'scap',
 'config_files.json')
 
diff --git a/scap/tasks.py b/scap/tasks.py
index 06cb6c0..c8a36a6 100644
--- a/scap/tasks.py
+++ b/scap/tasks.py
@@ -639,10 +639,10 @@
 
 
 @utils.inside_git_dir
-def git_deploy_file(tag_info, location=os.getcwd()):
-"""creates new .git/deploy file and generates tag
+def git_update_deploy_head(deploy_info, location):
+"""updates .git/DEPLOY_HEAD file
 
-:param tag_info: Json tag info to write to file
+:param deploy_info: current deploy info to write to file as JSON
 :param (optional) location: git directory location (default cwd)
 """
 logger = logging.getLogger('git_deploy_file')
@@ -651,15 +651,13 @@
 deploy_file = os.path.join(location, '.git', 'DEPLOY_HEAD')
 logger.debug('Creating {}'.format(deploy_file))
 with open(deploy_file, 'w+') as f:
-f.write(json.dumps(tag_info))
+f.write(json.dumps(deploy_info))
 f.close()
 
 
 @utils.inside_git_dir
-def git_tag_repo(tag, tag_info, rev='HEAD', location=os.getcwd()):
+def git_tag_repo(deploy_info, location=os.getcwd()):
 """creates new tag in deploy repo"""
-
-rev = utils.git_sha(location, rev)
 
 with utils.cd(location):
 cmd = """
@@ -668,10 +666,10 @@
 -m 'timestamp {1}' -- \\
 {2} {3}
 """.format(
-tag_info['user'],
-tag_info['timestamp'],
-tag,
-rev
+deploy_info['user'],
+deploy_info['timestamp'],
+deploy_info['tag'],
+deploy_info['commit']
 )
 subprocess.check_call(cmd, shell=True)
 
diff --git a/scap/utils.py b/scap/utils.py

[MediaWiki-commits] [Gerrit] Release minor version 0.5.0 - change (mediawiki...api)

2015-09-04 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/236038

Change subject: Release minor version 0.5.0
..

Release minor version 0.5.0

Change-Id: Ie4a4fec267774eb16c67ac4fac48c6885a3042b3
---
M README.md
M lib/mediawiki_api/version.rb
2 files changed, 6 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/ruby/api 
refs/changes/38/236038/1

diff --git a/README.md b/README.md
index def359d..e45948f 100644
--- a/README.md
+++ b/README.md
@@ -65,6 +65,11 @@
 
 ## Release notes
 
+### 0.5.0 2015-09-04
+- Client cookies can now be read and modified via MediawikiApi::Client#cookies.
+- Logging in will recurse only once upon a `NeedToken` API error to avoid
+  infinite recursion in cases where authentication is repeatedly unsuccessful.
+
 ### 0.4.1 2015-06-17
 - Allow for response-less ApiError exceptions to make mocking in tests easier
 
diff --git a/lib/mediawiki_api/version.rb b/lib/mediawiki_api/version.rb
index e8ea276..07a11a3 100644
--- a/lib/mediawiki_api/version.rb
+++ b/lib/mediawiki_api/version.rb
@@ -1,4 +1,4 @@
 # MediaWiki Ruby API
 module MediawikiApi
-  VERSION = '0.4.1'
+  VERSION = '0.5.0'
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/236038
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie4a4fec267774eb16c67ac4fac48c6885a3042b3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/ruby/api
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] [WIP] Fix cookie jar domain bug - change (mediawiki...api)

2015-09-01 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/235390

Change subject: [WIP] Fix cookie jar domain bug
..

[WIP] Fix cookie jar domain bug

Working on debugging scenario where non-domain cookies are not sent in
subsequent responses to invalid cookie domains (e.g. 'http://dev/').

Implemented a test to simulate the errant behavior.

Bug: T33
Change-Id: Ice562fefdda93d1d9935e9166720e8328684c968
---
M spec/client_spec.rb
1 file changed, 24 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/ruby/api 
refs/changes/90/235390/1

diff --git a/spec/client_spec.rb b/spec/client_spec.rb
index 64aaf21..a22d7d6 100644
--- a/spec/client_spec.rb
+++ b/spec/client_spec.rb
@@ -191,6 +191,30 @@
 expect(request).to have_been_requested
   end
 end
+
+context 'following a request to an invalid cookie domain' do
+  let(:client) { MediawikiApi::Client.new('http://dev/w/api.php') }
+
+  context 'where the response sets a non-domain cookie' do
+before do
+  stub_request(:post, 'http://dev/w/api.php').
+with(body: { action: 'foo', format: 'json' }).
+to_return(body: {}.to_json, headers: { 'Set-Cookie' => 'session=1; 
path=/; HttpOnly' })
+
+  client.action(:foo, token_type: false)
+end
+
+it 'should still send the cookie in subsequent requests' do
+  @request_with_cookie = stub_request(:post, 'http://dev/w/api.php').
+with(body: { action: 'bar', format: 'json' }, headers: { 'Cookie' 
=> 'session=1' }).
+to_return(body: {}.to_json)
+
+  client.action(:bar, token_type: false)
+
+  expect(@request_with_cookie).to have_been_requested
+end
+  end
+end
   end
 
   describe '#log_in' do

-- 
To view, visit https://gerrit.wikimedia.org/r/235390
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ice562fefdda93d1d9935e9166720e8328684c968
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/ruby/api
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix infinite recursion during login - change (mediawiki...api)

2015-09-01 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/235388

Change subject: Fix infinite recursion during login
..

Fix infinite recursion during login

The `Client#log_in` method recurses when the API returns a `NeedToken`
response. To prevent infinite recursion in edge cases, where the
subsequent request might not sufficiently authenticate using the
returned token, an exception is now raised after a second request.

Bug: T33
Change-Id: Ia7b88ce2822a052ef28c7256660270efe23e4df0
---
M lib/mediawiki_api/client.rb
M spec/client_spec.rb
M spec/support/request_helpers.rb
3 files changed, 40 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/ruby/api 
refs/changes/88/235388/1

diff --git a/lib/mediawiki_api/client.rb b/lib/mediawiki_api/client.rb
index 876ee52..5a4d80d 100644
--- a/lib/mediawiki_api/client.rb
+++ b/lib/mediawiki_api/client.rb
@@ -93,6 +93,7 @@
 @logged_in = true
 @tokens.clear
   when 'NeedToken'
+raise LoginError, "failed to log in with the returned token 
'#{token}'" unless token.nil?
 data = log_in(username, password, data['token'])
   else
 raise LoginError, data['result']
diff --git a/spec/client_spec.rb b/spec/client_spec.rb
index dd1678a..64aaf21 100644
--- a/spec/client_spec.rb
+++ b/spec/client_spec.rb
@@ -194,7 +194,6 @@
   end
 
   describe '#log_in' do
-
 it 'logs in when API returns Success' do
   stub_request(:post, api_url).
 with(body: { format: 'json', action: 'login', lgname: 'Test', 
lgpassword: 'qwe123' }).
@@ -205,39 +204,48 @@
 end
 
 context 'when API returns NeedToken' do
-  before do
-stub_request(:post, api_url).
-  with(body: { format: 'json', action: 'login', lgname: 'Test', 
lgpassword: 'qwe123' }).
-  to_return(
-body: { login: body_base.merge(result: 'NeedToken', token: '456') 
}.to_json,
-headers: { 'Set-Cookie' => 'prefixSession=789; path=/; 
domain=localhost; HttpOnly' }
-  )
+  context 'and a token was not given' do
+before do
+  stub_login_request('Test', 'qwe123').
+to_return(
+  body: { login: body_base.merge(result: 'NeedToken', token: 
'456') }.to_json,
+  headers: { 'Set-Cookie' => 'prefixSession=789; path=/; 
domain=localhost; HttpOnly' }
+)
 
-@success_req = stub_request(:post, api_url).
-  with(body: { format: 'json', action: 'login',
-   lgname: 'Test', lgpassword: 'qwe123', lgtoken: '456' }).
-  with(headers: { 'Cookie' => 'prefixSession=789' }).
-  to_return(body: { login: body_base.merge(result: 'Success') 
}.to_json)
+  @success_req = stub_login_request('Test', 'qwe123', '456').
+with(headers: { 'Cookie' => 'prefixSession=789' }).
+to_return(body: { login: body_base.merge(result: 'Success') 
}.to_json)
+end
+
+it 'logs in' do
+  response = subject.log_in('Test', 'qwe123')
+
+  expect(response).to include('result' => 'Success')
+  expect(subject.logged_in).to be true
+end
+
+it 'sends second request with token and cookies' do
+  subject.log_in('Test', 'qwe123')
+
+  expect(@success_req).to have_been_requested
+end
   end
 
-  it 'logs in' do
-response = subject.log_in('Test', 'qwe123')
+  context 'but a token was already provided' do
+subject { client.log_in('Test', 'qwe123', '123') }
 
-expect(response).to include('result' => 'Success')
-expect(subject.logged_in).to be true
-  end
+it 'should raise a LoginError' do
+  stub_login_request('Test', 'qwe123', '123').
+to_return(body: { login: body_base.merge(result: 'NeedToken', 
token: '456') }.to_json)
 
-  it 'sends second request with token and cookies' do
-subject.log_in('Test', 'qwe123')
-
-expect(@success_req).to have_been_requested
+  expect { subject }.to raise_error(MediawikiApi::LoginError)
+end
   end
 end
 
 context 'when API returns neither Success nor NeedToken' do
   before do
-stub_request(:post, api_url).
-  with(body: { format: 'json', action: 'login', lgname: 'Test', 
lgpassword: 'qwe123' }).
+stub_login_request('Test', 'qwe123').
   to_return(body: { login: body_base.merge(result: 'EmptyPass') 
}.to_json)
   end
 
diff --git a/spec/support/request_helpers.rb b/spec/support/request_helpers.rb
index 074a024..d1cecb5 100644
--- a/spec/support/request_helpers.rb
+++ b/spec/support/request_helpers.rb
@@ -26,6 +26,13 @@
   stub_api_request(method, params.merge(action: action, token: mock_token))
 end
 
+def stub_login_request(username, password, token = nil)
+  params = { action: 'login', lgname: username, lgpassword: p

[MediaWiki-commits] [Gerrit] plugin: Fix exception when trying to enable an invalid role - change (mediawiki/vagrant)

2015-08-31 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/235066

Change subject: plugin: Fix exception when trying to enable an invalid role
..

plugin: Fix exception when trying to enable an invalid role

Fixed bug introduced with I7dc63ef341f217e5178ff420622d96567fc613bb that
caused an `ArgumentError` exception to be raised when trying to enable a
role that doesn't exist.

Change-Id: I89c510e151a4c604a1801ad0b1a27fb34d836808
---
M features/roles.feature
M features/step_definitions/common_steps.rb
M features/support/hooks.rb
M features/support/output_helper.rb
M lib/mediawiki-vagrant/roles/change.rb
5 files changed, 38 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/66/235066/1

diff --git a/features/roles.feature b/features/roles.feature
index c0ed768..c36560d 100644
--- a/features/roles.feature
+++ b/features/roles.feature
@@ -91,12 +91,29 @@
 Then the command should have completed successfully
 And the "foo" role should be enabled
 
+  Scenario: Running `vagrant roles enable ` complains about invalid roles
+When I run `vagrant roles enable badrole`
+Then the command should have completed unsuccessfully
+And the errors should contain:
+  """
+  'badrole' is not a valid role.
+  """
+
   Scenario: Running `vagrant roles disable ` disables a role
 Given the "foo" role is enabled
 When I run `vagrant roles disable foo`
 Then the command should have completed successfully
 And the "foo" role should be disabled
 
+  Scenario: Running `vagrant roles disable ` complains about already 
disabled roles
+Given the "foo" role is enabled
+When I run `vagrant roles disable bar`
+Then the command should have completed unsuccessfully
+And the errors should contain:
+  """
+  'bar' is not currently enabled.
+  """
+
   Scenario: Running `vagrant roles reset` disables all roles
 Given the "foo" role is enabled
 And the "bar" role is enabled
diff --git a/features/step_definitions/common_steps.rb 
b/features/step_definitions/common_steps.rb
index 9af914a..da9c39b 100644
--- a/features/step_definitions/common_steps.rb
+++ b/features/step_definitions/common_steps.rb
@@ -19,7 +19,12 @@
 
 Then(/^the command should have completed successfully$/) do
   @thread.join
-  expect(@exit_status).to be(0)
+  expect(@exit_status).to eq(0)
+end
+
+Then(/^the command should have completed unsuccessfully$/) do
+  @thread.join
+  expect(@exit_status).to be > 0
 end
 
 Then(/^the output should contain "(.*)"$/) do |output|
@@ -51,3 +56,8 @@
 Then(/^the output should be:$/) do |output|
   expect(stdout.chomp).to eq(output)
 end
+
+Then(/^the errors should contain:$/) do |output|
+  errors = stderr
+  expect(errors).to include(output), "the command errors do not include 
`#{output}':\n#{errors}"
+end
diff --git a/features/support/hooks.rb b/features/support/hooks.rb
index e8204c4..100ccec 100644
--- a/features/support/hooks.rb
+++ b/features/support/hooks.rb
@@ -35,8 +35,6 @@
   @stdout_r, $stdout = IO.pipe
   @stderr_r, $stderr = IO.pipe
 
-  @output = ''
-
   @vagrant = Vagrant::Environment.new(
 ui_class: Vagrant::UI::Colored,
 cwd: @mwv.path.to_s,
diff --git a/features/support/output_helper.rb 
b/features/support/output_helper.rb
index e695d5e..33eacce 100644
--- a/features/support/output_helper.rb
+++ b/features/support/output_helper.rb
@@ -1,7 +1,15 @@
 module MediaWikiVagrant
+  # Helper methods for simulating command I/O.
+  #
+  # @see file:hooks.rb
+  #
   module OutputHelper
 def stdout(bytes = 4096)
-  normalize_output(@output << @stdout_r.readpartial(bytes))
+  normalize_output(@stdout_r.readpartial(bytes))
+end
+
+def stderr(bytes = 4096)
+  normalize_output(@stderr_r.readpartial(bytes))
 end
 
 def enter(line)
diff --git a/lib/mediawiki-vagrant/roles/change.rb 
b/lib/mediawiki-vagrant/roles/change.rb
index 277fa4b..b1f350c 100644
--- a/lib/mediawiki-vagrant/roles/change.rb
+++ b/lib/mediawiki-vagrant/roles/change.rb
@@ -43,7 +43,7 @@
 
 roles.each do |r|
   unless possible.include? r
-@env.ui.error role_error
+@env.ui.error role_error(r)
 return 1
   end
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/235066
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I89c510e151a4c604a1801ad0b1a27fb34d836808
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fixed Style/IndentationWidth RuboCop offense - change (mediawiki/vagrant)

2015-08-27 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/234323

Change subject: Fixed Style/IndentationWidth RuboCop offense
..

Fixed Style/IndentationWidth RuboCop offense

RuboCop actually missed many of these offenses which required manual
review and cleanup.

Bug: T106220
Change-Id: I0390db5f2c6259329cb3aae520162bee0fc9f209
---
M .rubocop.yml
M .rubocop_todo.yml
M Gemfile
M Gemfile.lock
M Rakefile
M Vagrantfile
M mediawiki-vagrant.gemspec
M support/packager/package.rb
M support/setup.rb
9 files changed, 217 insertions(+), 223 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/23/234323/1

diff --git a/.rubocop.yml b/.rubocop.yml
index b8f7361..c8f54ea 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -6,6 +6,7 @@
   Exclude:
 - 'mediawiki/**/*'
 - 'mediawiki-*/**/*'
+- 'puppet/modules/activemq/**/*'
 - 'puppet/modules/cdh/**/*'
 - 'puppet/modules/mariadb/**/*'
 - 'puppet/modules/nginx/**/*'
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index bf68d1f..58da8c5 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -75,12 +75,6 @@
 Style/IfUnlessModifier:
   Enabled: false
 
-# Offense count: 45
-# Cop supports --auto-correct.
-# Configuration parameters: Width.
-Style/IndentationWidth:
-  Enabled: false
-
 # Offense count: 1
 # Cop supports --auto-correct.
 Style/LeadingCommentSpace:
diff --git a/Gemfile b/Gemfile
index 7ebd66f..fb190d4 100644
--- a/Gemfile
+++ b/Gemfile
@@ -5,7 +5,7 @@
   # https://github.com/mitchellh/vagrant/issues/5546
   gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git', tag: 'v1.7.2'
 
-  gem 'rubocop', '~> 0.32.1', require: false
+  gem 'rubocop', '~> 0.33.0', require: false
 end
 
 group :development, :test do
diff --git a/Gemfile.lock b/Gemfile.lock
index 5fc27be..01f2b48 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -23,7 +23,7 @@
 PATH
   remote: .
   specs:
-mediawiki-vagrant (0.7.1)
+mediawiki-vagrant (0.10.0)
 
 GEM
   remote: https://rubygems.org/
@@ -31,7 +31,7 @@
 akami (1.2.2)
   gyoku (>= 0.4.0)
   nokogiri
-ast (2.0.0)
+ast (2.1.0)
 astrolabe (1.3.1)
   parser (~> 2.2)
 builder (3.2.2)
@@ -127,7 +127,7 @@
   diff-lcs (>= 1.2.0, < 2.0)
   rspec-support (~> 3.2.0)
 rspec-support (3.2.0)
-rubocop (0.32.1)
+rubocop (0.33.0)
   astrolabe (~> 1.3)
   parser (>= 2.2.2.5, < 3.0)
   powerpack (~> 0.1)
@@ -169,6 +169,6 @@
   mediawiki-vagrant!
   pry-byebug
   rspec (~> 3.1, >= 3.1.0)
-  rubocop (~> 0.32.1)
+  rubocop (~> 0.33.0)
   vagrant!
   yard (~> 0.8, >= 0.8.7.6)
diff --git a/Rakefile b/Rakefile
index 9da5752..1813787 100644
--- a/Rakefile
+++ b/Rakefile
@@ -10,7 +10,7 @@
 PuppetLint::RakeTask.new(:lint) do |config|
   gitmodules = File.expand_path('../.gitmodules', __FILE__)
   config.ignore_paths = IO.readlines(gitmodules).grep(/\s*path\s*=\s*(\S+)/) {
-  "#{$1}/**/*.pp"
+"#{$1}/**/*.pp"
   }
   config.log_format = '%{path}:%{linenumber} %{KIND}: %{message}'
 end
diff --git a/Vagrantfile b/Vagrantfile
index 5032800..2d58012 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -37,9 +37,9 @@
 setup = Vagrant::Util::Platform.windows? ? 'setup.bat' : 'setup.sh'
 
 if gemspec.nil?
-raise "The mediawiki-vagrant plugin hasn't been installed yet. Please run 
`#{setup}`."
+  raise "The mediawiki-vagrant plugin hasn't been installed yet. Please run 
`#{setup}`."
 else
-installed = gemspec.version
+  installed = gemspec.version
 latest = Gem::Version.new(MediaWikiVagrant::VERSION)
 requirement = Gem::Requirement.new("~> 
#{latest.segments.first(2).join('.')}")
 
@@ -52,213 +52,212 @@
 settings = mwv.load_settings
 
 Vagrant.configure('2') do |config|
-config.vm.hostname = 'mediawiki-vagrant.dev'
-config.package.name = 'mediawiki.box'
+  config.vm.hostname = 'mediawiki-vagrant.dev'
+  config.package.name = 'mediawiki.box'
 
-config.ssh.forward_agent = settings[:forward_agent]
-config.ssh.forward_x11 = settings[:forward_x11]
+  config.ssh.forward_agent = settings[:forward_agent]
+  config.ssh.forward_x11 = settings[:forward_x11]
 
-# Default VirtualBox provider
-config.vm.provider :virtualbox do |_vb, override|
-override.vm.box = 'trusty-cloud'
-override.vm.box_url = 
'https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box'
-override.vm.box_download_insecure = true
+  # Default VirtualBox provider
+  config.vm.provider :virtualbox do |_vb, override|
+override.vm.box = 'trusty-cloud'
+override.vm.box_url = 
'https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box'
+override.vm.box_download_insecure = true
 
-override.vm.network :private_network, ip: settings[:static_ip]
+override.vm.network :private_network, ip: settings[:static_ip]
+  end
+
+  # VMWare Fusi

[MediaWiki-commits] [Gerrit] Revert "Ignore Gemfile.lock" - change (mediawiki/vagrant)

2015-08-25 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/233769

Change subject: Revert "Ignore Gemfile.lock"
..

Revert "Ignore Gemfile.lock"

This reverts commit 9df74e8ae7ce0caedec0c20d648f0b16b55fb105 and change
I6001eb0edb07e4f35fc6c5d3c54faf6bc2daf199.

A committed Gemfile.lock reduces the gem installation overhead of CI
jobs by ~ 80% (15s vs 75s), so the minor inconvenience of having to
manage this file seems worth it.

Change-Id: Ib82e36bde4ac6b488d594e6d0285499bb4e17e63
---
M .gitignore
A Gemfile.lock
2 files changed, 174 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/69/233769/1

diff --git a/.gitignore b/.gitignore
index c8cec59..9742aa8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,7 +7,6 @@
 /.yardoc/
 /*.gem
 /*.sublime-workspace
-/Gemfile.lock
 /no-update
 /Vagrantfile-extra.rb
 /LocalSettings.php
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 000..5fc27be
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,174 @@
+GIT
+  remote: https://github.com/mitchellh/vagrant.git
+  revision: 1cd667b243f4a263cd5322b6455165cc676b6f7f
+  tag: v1.7.2
+  specs:
+vagrant (1.7.2)
+  bundler (>= 1.5.2, < 1.8.0)
+  childprocess (~> 0.5.0)
+  erubis (~> 2.7.0)
+  hashicorp-checkpoint (~> 0.1.1)
+  i18n (~> 0.6.0)
+  listen (~> 2.8.0)
+  log4r (~> 1.1.9, < 1.1.11)
+  net-scp (~> 1.1.0)
+  net-sftp (~> 2.1)
+  net-ssh (>= 2.6.6, < 2.10.0)
+  nokogiri (= 1.6.3.1)
+  rb-kqueue (~> 0.2.0)
+  rest-client (>= 1.6.0, < 2.0)
+  wdm (~> 0.1.0)
+  winrm (~> 1.1.3)
+
+PATH
+  remote: .
+  specs:
+mediawiki-vagrant (0.7.1)
+
+GEM
+  remote: https://rubygems.org/
+  specs:
+akami (1.2.2)
+  gyoku (>= 0.4.0)
+  nokogiri
+ast (2.0.0)
+astrolabe (1.3.1)
+  parser (~> 2.2)
+builder (3.2.2)
+byebug (3.5.1)
+  columnize (~> 0.8)
+  debugger-linecache (~> 1.2)
+  slop (~> 3.6)
+celluloid (0.16.0)
+  timers (~> 4.0.0)
+childprocess (0.5.5)
+  ffi (~> 1.0, >= 1.0.11)
+coderay (1.1.0)
+columnize (0.9.0)
+cucumber (2.0.0.rc.4)
+  builder (>= 2.1.2)
+  cucumber-core (~> 1.1.0)
+  diff-lcs (>= 1.1.3)
+  gherkin (~> 2.12)
+  multi_json (>= 1.7.5, < 2.0)
+  multi_test (>= 0.1.2)
+cucumber-core (1.1.1)
+  gherkin (~> 2.12.0)
+debugger-linecache (1.2.0)
+diff-lcs (1.2.5)
+erubis (2.7.0)
+fakefs (0.6.5)
+ffi (1.9.6)
+gherkin (2.12.2)
+  multi_json (~> 1.3)
+gssapi (1.0.3)
+  ffi (>= 1.0.1)
+gyoku (1.2.2)
+  builder (>= 2.1.2)
+hashicorp-checkpoint (0.1.4)
+hitimes (1.2.2)
+httpclient (2.6.0.1)
+httpi (0.9.7)
+  rack
+i18n (0.6.11)
+listen (2.8.6)
+  celluloid (>= 0.15.2)
+  rb-fsevent (>= 0.9.3)
+  rb-inotify (>= 0.9)
+little-plugger (1.1.3)
+log4r (1.1.10)
+logging (1.8.2)
+  little-plugger (>= 1.1.3)
+  multi_json (>= 1.8.4)
+method_source (0.8.2)
+mime-types (2.4.3)
+mini_portile (0.6.0)
+multi_json (1.11.0)
+multi_test (0.1.2)
+net-scp (1.1.2)
+  net-ssh (>= 2.6.5)
+net-sftp (2.1.2)
+  net-ssh (>= 2.6.5)
+net-ssh (2.9.2)
+netrc (0.10.3)
+nokogiri (1.6.3.1)
+  mini_portile (= 0.6.0)
+nori (1.1.5)
+parser (2.2.2.6)
+  ast (>= 1.1, < 3.0)
+powerpack (0.1.1)
+pry (0.10.1)
+  coderay (~> 1.1.0)
+  method_source (~> 0.8.1)
+  slop (~> 3.4)
+pry-byebug (2.0.0)
+  byebug (~> 3.4)
+  pry (~> 0.10)
+rack (1.6.0)
+rainbow (2.0.0)
+rb-fsevent (0.9.4)
+rb-inotify (0.9.5)
+  ffi (>= 0.5.0)
+rb-kqueue (0.2.3)
+  ffi (>= 0.5.0)
+rest-client (1.7.3)
+  mime-types (>= 1.16, < 3.0)
+  netrc (~> 0.7)
+rspec (3.2.0)
+  rspec-core (~> 3.2.0)
+  rspec-expectations (~> 3.2.0)
+  rspec-mocks (~> 3.2.0)
+rspec-core (3.2.0)
+  rspec-support (~> 3.2.0)
+rspec-expectations (3.2.0)
+  diff-lcs (>= 1.2.0, < 2.0)
+  rspec-support (~> 3.2.0)
+rspec-mocks (3.2.0)
+  diff-lcs (>= 1.2.0, < 2.0)
+  rspec-support (~> 3.2.0)
+rspec-support (3.2.0)
+rubocop (0.32.1)
+  astrolabe (~> 1.3)
+  parser (>= 2.2.2.5, < 3.0)
+  powerpack (~> 0.1)
+  rainbow (>= 1.99.1, < 3.0)
+  ruby-progressbar (~> 1.4)
+ruby-progressbar (1.7.5)
+rubyntlm (0.1.1)
+savon (0.9.5)
+  akami (~> 1.0)
+  builder (>= 2.1.2)
+  gyoku (>= 0.4.0)
+  httpi (~> 0.9)
+  nokogiri (>= 1.4.0)
+  nori (~> 1.0)
+  wasabi (~> 1.0)
+slop (3.6.0)
+timers (4.0.1)
+  hitimes
+uuidtools (2.1.5)
+wasabi (1.0.0)
+  nokogiri (>= 1.4.0)
+wdm (0.1.0)
+winrm (1.1.3)
+  gssapi (~> 1.0.0)
+  httpclient (~> 2.2, >= 2.2.0.2)
+  logging (~> 1.6, >= 1.6.1)
+  nokogiri (~> 1.5)
+  rubyntlm (~> 0.1.1)
+

[MediaWiki-commits] [Gerrit] Fix provisioner.type bug in `Middleware` - change (mediawiki/vagrant)

2015-08-20 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/232851

Change subject: Fix provisioner.type bug in `Middleware`
..

Fix provisioner.type bug in `Middleware`

Despite declaring the same plugin API (v2), the
`VagrantConfigProvisioner` in Vagrant 1.6 and earlier names the method
`#name`. In 1.7 and above it's called `#type`.

Change-Id: Ib70e0bc0edd9129330926d43f3684ac30a6af9cc
---
M lib/mediawiki-vagrant/middleware.rb
1 file changed, 3 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/51/232851/1

diff --git a/lib/mediawiki-vagrant/middleware.rb 
b/lib/mediawiki-vagrant/middleware.rb
index 74cd19a..cc3b4ab 100644
--- a/lib/mediawiki-vagrant/middleware.rb
+++ b/lib/mediawiki-vagrant/middleware.rb
@@ -13,7 +13,9 @@
 
 # Add the name of the current provider to our puppet facts
 env[:machine].config.vm.provisioners.each do |provisioner|
-  if provisioner.type == :puppet
+  # Note that `VagrantPlugins::Kernel_V2::VagrantConfigProvisioner`
+  # `#name` in Vagrant <= 1.6 is `#type` in Vagrant > 1.6 :/
+  if (provisioner.name || provisioner.type) == :puppet
 provisioner.config.facter['provider_name'] = 
env[:machine].provider_name
   end
 end

-- 
To view, visit https://gerrit.wikimedia.org/r/232851
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib70e0bc0edd9129330926d43f3684ac30a6af9cc
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix dpaste.de URL for paste-puppet command - change (mediawiki/vagrant)

2015-08-20 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/232845

Change subject: Fix dpaste.de URL for paste-puppet command
..

Fix dpaste.de URL for paste-puppet command

HTTPS is now required for dpaste.de.

Change-Id: Iebab7821b20f72384a7dafd03f8f73206f56bf0b
---
M lib/mediawiki-vagrant/paste-puppet.rb
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/45/232845/1

diff --git a/lib/mediawiki-vagrant/paste-puppet.rb 
b/lib/mediawiki-vagrant/paste-puppet.rb
index 8f633ff..2b13c3c 100644
--- a/lib/mediawiki-vagrant/paste-puppet.rb
+++ b/lib/mediawiki-vagrant/paste-puppet.rb
@@ -7,7 +7,7 @@
   class PastePuppet < Vagrant.plugin(2, :command)
 include PluginEnvironment
 
-URL = URI.parse('http://dpaste.de/api/')
+URL = URI.parse('https://dpaste.de/api/')
 
 def self.synopsis
   "uploads your puppet logs to dpaste.de pastebin"

-- 
To view, visit https://gerrit.wikimedia.org/r/232845
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iebab7821b20f72384a7dafd03f8f73206f56bf0b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Reorganize to separate out Cucumber support - change (mediawiki/selenium)

2015-08-19 Thread Dduvall (Code Review)
Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/232663

Change subject: Reorganize to separate out Cucumber support
..

Reorganize to separate out Cucumber support

Moved Cucumber support files to `lib/mediawiki_selenium/cucumber`.

Moved framework agnostic helpers to `lib/mediawiki_selenium/helpers`.

Moved page object definitions to `lib/mediawiki_selenium/pages`.

Change-Id: I2c1fcbf30ada22cc62ab65d809d9e661c8fb5e75
---
M lib/mediawiki_selenium.rb
A lib/mediawiki_selenium/cucumber.rb
R lib/mediawiki_selenium/cucumber/env.rb
R lib/mediawiki_selenium/cucumber/hooks.rb
R lib/mediawiki_selenium/cucumber/sauce.rb
R lib/mediawiki_selenium/cucumber/strict_pending.rb
R lib/mediawiki_selenium/helpers/api_helper.rb
R lib/mediawiki_selenium/helpers/headless_helper.rb
R lib/mediawiki_selenium/helpers/screenshot_helper.rb
R lib/mediawiki_selenium/helpers/user_factory_helper.rb
A lib/mediawiki_selenium/pages.rb
R lib/mediawiki_selenium/pages/login_page.rb
R lib/mediawiki_selenium/pages/random_page.rb
R lib/mediawiki_selenium/pages/reset_preferences_page.rb
D lib/mediawiki_selenium/support.rb
D lib/mediawiki_selenium/support/pages.rb
M templates/tests/browser/features/support/env.rb
17 files changed, 14 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/63/232663/1

diff --git a/lib/mediawiki_selenium.rb b/lib/mediawiki_selenium.rb
index ee3a256..c32c8fd 100644
--- a/lib/mediawiki_selenium.rb
+++ b/lib/mediawiki_selenium.rb
@@ -1,16 +1,16 @@
 module MediawikiSelenium
   autoload :VERSION, 'mediawiki_selenium/version'
-  autoload :ApiHelper, 'mediawiki_selenium/support/modules/api_helper'
+  autoload :ApiHelper, 'mediawiki_selenium/helpers/api_helper'
   autoload :BrowserFactory, 'mediawiki_selenium/browser_factory'
   autoload :ConfigurationError, 'mediawiki_selenium/configuration_error'
   autoload :Environment, 'mediawiki_selenium/environment'
-  autoload :HeadlessHelper, 
'mediawiki_selenium/support/modules/headless_helper'
+  autoload :HeadlessHelper, 'mediawiki_selenium/helpers/headless_helper'
   autoload :Initializer, 'mediawiki_selenium/initializer'
   autoload :PageFactory, 'mediawiki_selenium/page_factory'
   autoload :Raita, 'mediawiki_selenium/raita'
   autoload :RemoteBrowserFactory, 'mediawiki_selenium/remote_browser_factory'
-  autoload :ScreenshotHelper, 
'mediawiki_selenium/support/modules/screenshot_helper'
-  autoload :StrictPending, 'mediawiki_selenium/support/modules/strict_pending'
+  autoload :ScreenshotHelper, 'mediawiki_selenium/helpers/screenshot_helper'
+  autoload :StrictPending, 'mediawiki_selenium/cucumber/strict_pending'
   autoload :UserFactory, 'mediawiki_selenium/user_factory'
-  autoload :UserFactoryHelper, 
'mediawiki_selenium/support/modules/user_factory_helper'
+  autoload :UserFactoryHelper, 'mediawiki_selenium/helpers/user_factory_helper'
 end
diff --git a/lib/mediawiki_selenium/cucumber.rb 
b/lib/mediawiki_selenium/cucumber.rb
new file mode 100644
index 000..1d62bba
--- /dev/null
+++ b/lib/mediawiki_selenium/cucumber.rb
@@ -0,0 +1,4 @@
+require 'mediawiki_selenium/cucumber/env'
+require 'mediawiki_selenium/cucumber/hooks'
+require 'mediawiki_selenium/cucumber/sauce'
+require 'mediawiki_selenium/cucumber/strict_pending'
diff --git a/lib/mediawiki_selenium/support/env.rb 
b/lib/mediawiki_selenium/cucumber/env.rb
similarity index 100%
rename from lib/mediawiki_selenium/support/env.rb
rename to lib/mediawiki_selenium/cucumber/env.rb
diff --git a/lib/mediawiki_selenium/support/hooks.rb 
b/lib/mediawiki_selenium/cucumber/hooks.rb
similarity index 100%
rename from lib/mediawiki_selenium/support/hooks.rb
rename to lib/mediawiki_selenium/cucumber/hooks.rb
diff --git a/lib/mediawiki_selenium/support/sauce.rb 
b/lib/mediawiki_selenium/cucumber/sauce.rb
similarity index 100%
rename from lib/mediawiki_selenium/support/sauce.rb
rename to lib/mediawiki_selenium/cucumber/sauce.rb
diff --git a/lib/mediawiki_selenium/support/modules/strict_pending.rb 
b/lib/mediawiki_selenium/cucumber/strict_pending.rb
similarity index 100%
rename from lib/mediawiki_selenium/support/modules/strict_pending.rb
rename to lib/mediawiki_selenium/cucumber/strict_pending.rb
diff --git a/lib/mediawiki_selenium/support/modules/api_helper.rb 
b/lib/mediawiki_selenium/helpers/api_helper.rb
similarity index 100%
rename from lib/mediawiki_selenium/support/modules/api_helper.rb
rename to lib/mediawiki_selenium/helpers/api_helper.rb
diff --git a/lib/mediawiki_selenium/support/modules/headless_helper.rb 
b/lib/mediawiki_selenium/helpers/headless_helper.rb
similarity index 100%
rename from lib/mediawiki_selenium/support/modules/headless_helper.rb
rename to lib/mediawiki_selenium/helpers/headless_helper.rb
diff --git a/lib/mediawiki_selenium/support/modules/screenshot_helper.rb 
b/lib/mediawiki_selenium/helpers/screenshot_helper.rb
similarity index 100%
rename from lib/

  1   2   3   4   5   >