Merge "Add filtering for notification receivers"
diff --git a/aptly/client/publisher.yml b/aptly/client/publisher.yml
index 9aae28b..050bcea 100644
--- a/aptly/client/publisher.yml
+++ b/aptly/client/publisher.yml
@@ -6,4 +6,4 @@
       enabled: true
       source:
         engine: docker
-        image: tcpcloud/aptly-publisher
+        image: mirantis/aptly-publisher
diff --git a/aptly/server/docker.yml b/aptly/server/docker.yml
index c33f169..11ebc66 100644
--- a/aptly/server/docker.yml
+++ b/aptly/server/docker.yml
@@ -9,7 +9,7 @@
     aptly_server_mirror_sources: false
     aptly_server_mirror_ubuntu_sources: ${_param:aptly_server_mirror_sources}
     docker_image_aptly:
-      base: tcpcloud/aptly
+      base: mirantis/aptly
   aptly:
     server:
       enabled: true
diff --git a/artifactory/client/init.yml b/artifactory/client/init.yml
index ec5da44..7eab16e 100644
--- a/artifactory/client/init.yml
+++ b/artifactory/client/init.yml
@@ -45,6 +45,8 @@
             rclass: remote
             packageType: generic
             url: http://dl-cdn.alpinelinux.org/alpine/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           apk-virtual:
             rclass: virtual
@@ -57,16 +59,22 @@
             rclass: remote
             packageType: debian
             url: https://apt.dockerproject.org/repo
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           artifactory-pro-debian:
             rclass: remote
             packageType: debian
             url: https://jfrog.bintray.com/artifactory-pro-debs
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           artifactory-pro-rpm:
             rclass: remote
             packageType: yum
             url: http://jfrog.bintray.com/artifactory-pro-rpms
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           binary-dev-local:
             rclass: local
@@ -98,6 +106,8 @@
             rclass: remote
             packageType: generic
             url: https://artifactory.mcp.mirantis.net/artifactory/binary-prod-virtual
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           centos:
             rclass: virtual
@@ -115,6 +125,8 @@
             rclass: remote
             packageType: yum
             url: http://mirror.centos.org/centos/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           centos-virtual:
             rclass: virtual
@@ -132,31 +144,43 @@
             rclass: remote
             packageType: debian
             url: http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.1/debian/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           debian-nginx:
             rclass: remote
             packageType: debian
             url: http://nginx.org/packages/debian/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           debian-percona-remote:
             rclass: remote
             packageType: debian
             url: http://repo.percona.com/apt
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           debian-rabbitmq-remote:
             rclass: remote
             packageType: debian
             url: http://www.rabbitmq.com/debian/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           debian-remote:
             rclass: remote
             packageType: debian
             url: http://ftp.us.debian.org/debian
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           debian-security-remote:
             rclass: remote
             packageType: debian
             url: http://security.debian.org/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           debian-virtual:
             rclass: virtual
@@ -197,18 +221,24 @@
             packageType: docker
             url: https://registry-1.docker.io/
             description: "Remote repository for DockerHub"
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           gcs-remote:
             rclass: remote
             packageType: generic
             url: https://storage.googleapis.com
             description: "Has zero downloads. Can be removed."
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           gerrit-plugins:
             rclass: remote
             packageType: generic
             url: http://builds.quelltextlich.at/gerrit/nightly
             description: "Overlaps with maven-local. We should resolve overlap and remove this repo."
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           helm-local:
             rclass: local
@@ -231,26 +261,36 @@
             rclass: remote
             packageType: maven
             url: https://jcenter.bintray.com
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           jenkins-deb-pkgs:
             rclass: remote
             packageType: generic
             url: https://pkg.jenkins.io/debian-stable/binary
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           jenkins-plugins:
             rclass: remote
             packageType: generic
             url: http://mirrors.jenkins-ci.org/plugins
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           jenkins-plugins-jars:
             rclass: remote
             packageType: maven
             url: https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           jenkins-updates:
             rclass: remote
             packageType: generic
             url: https://updates.jenkins.io/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           k8s-tests-images:
             rclass: local
@@ -279,6 +319,8 @@
             rclass: remote
             packageType: maven
             url: http://repo.jfrog.org/artifactory/remote-repos/mysql/mysql-connector-java/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           pypi-local:
             rclass: local
@@ -288,6 +330,8 @@
             rclass: remote
             packageType: pypi
             url: https://pypi.python.org
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           pypi-virtual:
             rclass: virtual
@@ -305,6 +349,8 @@
             rclass: remote
             packageType: debian
             url: http://us.archive.ubuntu.com/ubuntu/
+            unusedArtifactsCleanupEnabled: true
+            unusedArtifactsCleanupPeriodHours: 720
 
           ubuntu-virtual:
             rclass: virtual
diff --git a/gerrit/client/project/docker_images.yml b/gerrit/client/project/docker_images.yml
index cc35eb3..c5574a6 100644
--- a/gerrit/client/project/docker_images.yml
+++ b/gerrit/client/project/docker_images.yml
@@ -5,7 +5,7 @@
         mk/docker-aptly:
           enabled: true
           description: Aptly docker images
-          upstream: https://github.com/tcpcloud/docker-aptly
+          upstream: https://github.com/Mirantis/docker-aptly
           access: ${gerrit:client:default_access}
           require_change_id: true
           require_agreement: false
@@ -13,7 +13,7 @@
         mk/python-flask-hello:
           enabled: true
           description: Flask hello demo application
-          upstream: https://github.com/tcpcloud/python-flask-hello
+          upstream: https://github.com/Mirantis/python-flask-hello
           access: ${gerrit:client:default_access}
           require_change_id: true
           require_agreement: false
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
index 190d9cb..70aa9e6 100644
--- a/jenkins/client/approved_scripts.yml
+++ b/jenkins/client/approved_scripts.yml
@@ -147,3 +147,4 @@
         - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods reverse java.util.List
         - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.util.Collection java.lang.String
         - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods init java.util.List
+        - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods asBoolean java.lang.CharSequence
diff --git a/jenkins/client/job/docker/build-images.yml b/jenkins/client/job/docker/build-images.yml
index 334db19..12c84c1 100644
--- a/jenkins/client/job/docker/build-images.yml
+++ b/jenkins/client/job/docker/build-images.yml
@@ -55,7 +55,7 @@
                 default: ""
               REGISTRY_CREDENTIALS_ID:
                 type: string
-                default: "dockerhub"
+                default: "mirantis-dockerhub"
               DOCKER_GIT_TAG:
                 type: boolean
                 default: "true"
diff --git a/jenkins/client/job/docker/testing.yml b/jenkins/client/job/docker/testing.yml
index ece8e10..109cdac 100644
--- a/jenkins/client/job/docker/testing.yml
+++ b/jenkins/client/job/docker/testing.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     jenkins_docker_registry_url: ""
-    jenkins_docker_registry_credentials: "dockerhub"
+    jenkins_docker_registry_credentials: "mirantis-dockerhub"
   jenkins:
     client:
       job_template:
@@ -34,7 +34,7 @@
             param:
               IMAGE_NAME:
                 type: string
-                default: "tcpcloud/{{name}}"
+                default: "mirantis/{{name}}"
               IMAGE_GIT_URL:
                 type: string
                 default: "${_param:jenkins_gerrit_url}/mk/python-flask-hello"
diff --git a/jenkins/client/job/git-mirrors/downstream/docker_images.yml b/jenkins/client/job/git-mirrors/downstream/docker_images.yml
index ff1c649..6904d8d 100644
--- a/jenkins/client/job/git-mirrors/downstream/docker_images.yml
+++ b/jenkins/client/job/git-mirrors/downstream/docker_images.yml
@@ -5,9 +5,9 @@
     jenkins_git_mirror_downstream_jobs:
       - name: docker-aptly
         downstream: mk/docker-aptly
-        upstream: "https://github.com/tcpcloud/docker-aptly"
+        upstream: "https://github.com/Mirantis/docker-aptly"
         branches: master
       - name: python-flask-hello
         downstream: mk/python-flask-hello
-        upstream: "https://github.com/tcpcloud/python-flask-hello"
+        upstream: "https://github.com/Mirantis/python-flask-hello"
         branches: master
diff --git a/jenkins/client/job/git-mirrors/upstream/docker_images.yml b/jenkins/client/job/git-mirrors/upstream/docker_images.yml
index 2dc60b3..7160c7f 100644
--- a/jenkins/client/job/git-mirrors/upstream/docker_images.yml
+++ b/jenkins/client/job/git-mirrors/upstream/docker_images.yml
@@ -5,7 +5,7 @@
     jenkins_git_mirror_upstream_jobs:
       - name: docker-aptly
         downstream: mk/docker-aptly
-        upstream: "git@github.com:tcpcloud/docker-aptly"
+        upstream: "git@github.com:Mirantis/docker-aptly"
         branches: master
       - name: docker-gerrit
         downstream: mk/docker-gerrit
@@ -22,4 +22,4 @@
       - name: docker-openldap
         downstream: mk/docker-openldap
         upstream: "git@github.com:Mirantis/docker-openldap"
-        branches: stable,master
\ No newline at end of file
+        branches: stable,master
diff --git a/kubernetes/control/flask_hello.yml b/kubernetes/control/flask_hello.yml
index f7b41e5..3d07f26 100644
--- a/kubernetes/control/flask_hello.yml
+++ b/kubernetes/control/flask_hello.yml
@@ -19,7 +19,7 @@
               name: flask-hello
           container:
             flask-hello:
-              image: ${_param:cicd_control_address}:5000/tcpcloud/python-flask-hello
+              image: ${_param:cicd_control_address}:5000/Mirantis/python-flask-hello
               image_pull_policy: Always
               ports:
               - port: 5000
diff --git a/linux/system/repo/mcp/apt_mirantis/saltstack.yml b/linux/system/repo/mcp/apt_mirantis/saltstack.yml
new file mode 100644
index 0000000..6fcd5a1
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/saltstack.yml
@@ -0,0 +1,14 @@
+parameters:
+  _param:
+    apt_mk_version: stable
+    salt_version: 2016.3
+    linux_system_repo_mcp_saltstack_version: ${_param:apt_mk_version}
+  linux:
+    system:
+      repo:
+        mcp_saltstack:
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_saltstack_version}/saltstack-${_param:salt_version}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+          architectures: amd64
+          key_id: 0E08A149DE57BFBE
+          key_server: keyserver.ubuntu.com
+          clean_file: true
diff --git a/linux/system/repo_local/mcp/apt_mirantis/saltstack.yml b/linux/system/repo_local/mcp/apt_mirantis/saltstack.yml
new file mode 100644
index 0000000..5b2a904
--- /dev/null
+++ b/linux/system/repo_local/mcp/apt_mirantis/saltstack.yml
@@ -0,0 +1,17 @@
+parameters:
+  _param:
+    apt_mk_version: stable
+    salt_version: 2016.3
+    linux_system_repo_mcp_saltstack_version: ${_param:apt_mk_version}
+  linux:
+    system:
+      repo:
+        mcp_saltstack:
+          source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/salt/${_param:salt_version}/ ${_param:linux_system_repo_mcp_saltstack_version} main"
+          architectures: amd64
+          key_url: "http://${_param:local_repo_url}/public.gpg"
+          clean_file: true
+          pin:
+          - pin: 'release a=${_param:linux_system_repo_mcp_saltstack_version}'
+            priority: 1100
+            package: '*'
\ No newline at end of file
diff --git a/neutron/client/service/public.yml b/neutron/client/service/public.yml
index c3e2ca3..532a8cf 100644
--- a/neutron/client/service/public.yml
+++ b/neutron/client/service/public.yml
@@ -21,5 +21,5 @@
                   allocation_pools:
                     - start: ${_param:openstack_public_neutron_subnet_allocation_start}
                       end: ${_param:openstack_public_neutron_subnet_allocation_end}
-                  gateway: ${_param:openstack_public_neutron_subnet_gateway}
+                  gateway_ip: ${_param:openstack_public_neutron_subnet_gateway}
                   enable_dhcp: False
diff --git a/nova/compute/cluster.yml b/nova/compute/cluster.yml
index f32fffd..c88dcc7 100644
--- a/nova/compute/cluster.yml
+++ b/nova/compute/cluster.yml
@@ -97,4 +97,9 @@
       user:
         public_key: ${_param:nova_compute_ssh_public}
         private_key: ${_param:nova_compute_ssh_private}
+      # Due to bug in qemu, migration will not work when fqdn is higher than 64 chars.
+      # https://bugzilla.redhat.com/show_bug.cgi?id=1568939
+      # Set migration address explicitly to avoid such problems.
+      libvirt:
+        migration_inbound_addr: ${_param:single_address}
       my_ip: ${_param:single_address}
diff --git a/nova/compute/single.yml b/nova/compute/single.yml
index 483a1d3..786e792 100644
--- a/nova/compute/single.yml
+++ b/nova/compute/single.yml
@@ -93,4 +93,9 @@
       user:
         public_key: ${_param:nova_compute_ssh_public}
         private_key: ${_param:nova_compute_ssh_private}
+      # Due to bug in qemu, migration will not work when fqdn is higher than 64 chars.
+      # https://bugzilla.redhat.com/show_bug.cgi?id=1568939
+      # Set migration address explicitly to avoid such problems.
+      libvirt:
+        migration_inbound_addr: ${_param:single_address}
       my_ip: ${_param:single_address}
diff --git a/openssh/server/team/members/mcp-scale.yml b/openssh/server/team/members/mcp-scale.yml
new file mode 100644
index 0000000..d9376ba
--- /dev/null
+++ b/openssh/server/team/members/mcp-scale.yml
@@ -0,0 +1,23 @@
+parameters:
+  linux:
+    system:
+      user:
+        mos-scale-jenkins:
+          enabled: true
+          name: mos-scale-jenkins
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: MCP Scale team
+          home: /home/mos-scale-jenkins
+          email: mos-scale-jenkins@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        mos-scale-jenkins:
+          enabled: true
+          public_keys: ${public_keys:mos-scale-jenkins}
+          user: ${linux:system:user:mos-scale-jenkins}
+  public_keys:
+    mos-scale-jenkins:
+      - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp0evjOaK8c8SKYK4r2+0BN7g+8YSvQ2n8nFgOURCyvkJqOHi1qPGZmuN0CclYVdVuZiXbWw3VxRbSW3EH736VzgY1U0JmoTiSamzLHaWsXvEIW8VCi7boli539QJP0ikJiBaNAgZILyCrVPN+A6mfqtacs1KXdZ0zlMq1BPtFciR1JTCRcVs5vP2Wwz5QtY2jMIh3aiwkePjMTQPcfmh1TkOlxYu5IbQyZ3G1ahA0mNKI9a0dtF282av/F6pwB/N1R1nEZ/9VtcN2I1mf1NW/tTHEEcTzXYo1R/8K9vlqAN8QvvGLZtZduGviNVNoNWvoxaXxDt8CPv2B2NCdQFZp
+
diff --git a/openssh/server/team/members/vdrok.yml b/openssh/server/team/members/vdrok.yml
new file mode 100644
index 0000000..44611fb
--- /dev/null
+++ b/openssh/server/team/members/vdrok.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      user:
+        vdrok:
+          enabled: true
+          name: vdrok
+          sudo: ${_param:linux_system_user_sudo}
+          full_name: Vladyslav Drok
+          home: /home/vdrok
+          email: vdrok@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        vdrok:
+          enabled: true
+          public_keys:
+            - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpnn6IyistbIGnzeV3DOWR+u/QLl1cuQspwuvcl1FxeZljkdIgLXcNVzFaFHSX+rOgrOLpcFf3X+dwnB55EoUDj85IOwKz1tVoD5Df42xZMnmjnvOaAScVTStrdcWxzpB6bWt/+GWpt1br3pLpTjqZxa1YipT7tz6bs7cNKplvQuBaoYeG/x9ycRhLIhYXFYOtHD/lxwTRqHnvpwdNKRYPtfakR/kaeZEaYQoJlVcAq0AKzws8l87InoWnjGo/NrBJTvgiLQPYw6uJ9mf17p2GVv1JGCbEpPKnRLyIitdwCFjYEwAKoSsisf2TdH9iY1DWwJEuPzsvjM2ZCPcc7baV vlad@carbon
+          user: ${linux:system:user:vdrok}
diff --git a/openssh/server/team/oscore_devops.yml b/openssh/server/team/oscore_devops.yml
index 49207eb..12ef0c6 100644
--- a/openssh/server/team/oscore_devops.yml
+++ b/openssh/server/team/oscore_devops.yml
@@ -4,6 +4,7 @@
 - system.openssh.server.team.members.vnogin
 - system.openssh.server.team.members.mkarpin
 - system.openssh.server.team.members.iudovichenko
+- system.openssh.server.team.members.vdrok
 parameters:
   _param:
     linux_system_user_sudo: true
diff --git a/openssh/server/team/qa_scale.yml b/openssh/server/team/qa_scale.yml
index 0414e35..20a4e7d 100644
--- a/openssh/server/team/qa_scale.yml
+++ b/openssh/server/team/qa_scale.yml
@@ -3,6 +3,7 @@
 - system.openssh.server.team.members.sgalkin
 - system.openssh.server.team.members.obasov
 - system.openssh.server.team.members.mikhailkraynov
+- system.openssh.server.team.members.mcp-scale
 
 parameters:
   _param:
diff --git a/openssh/server/team/services_qa.yml b/openssh/server/team/services_qa.yml
index 3e64bd3..682dd8a 100644
--- a/openssh/server/team/services_qa.yml
+++ b/openssh/server/team/services_qa.yml
@@ -16,6 +16,12 @@
           sudo: true
           full_name: Mikhail Chernik
           home: /home/mchernik
+        ozhurba:
+          enabled: true
+          name: ozhurba
+          sudo: true
+          full_name: Oleksii Zhurba
+          home: /home/ozhurba
   openssh:
     server:
       enabled: true
@@ -30,8 +36,15 @@
           public_keys:
           - ${public_keys:mchernik}
           user: ${linux:system:user:mchernik}
+        ozhurba:
+          enabled: true
+          public_keys:
+          - ${public_keys:ozhurba}
+          user: ${linux:system:user:ozhurba}
   public_keys:
     npliashechnikov:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxy9ZNE+36U1W3vPxzMx++AujS8Ay9ZgJrfaa6YsWl1FeN87VuGucslHjLqFfiIYJLQl3m7tSLiAujQ/izBKDbfA5hd5z7JaCRB1LE+CehmCL0UVwsHflAi0tPn1tDrTcVGf/BRH0FsoZJo+KpOwohYGN8BMOpUIAP2SkGrE7cGbPrd9NbRqPW80iyIzsNIqzVKTcsh0CcJcr05V5n3or0GvteDMxl+mjAi6hpfx06a/bEfPLV10Ftl4+nIkbXr0KWA68uy7XmTlH+qgVUCMGwRP4mFaU63+uX45WboLKQ0aacPX833qvZJTIPe2FhAygoVoBwgOKBzrbnicBa9U+AQ== dkth1p3@lxf01p581
     mchernik:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiYzcWNIP1K3DnSfztIZdMTl6zSr133eixsHDWWqI71Fj5UOny4kMH2P/qYk0WHhm7P9kwBNDgmJBY/eO5jb00D2w9BGHyvsOnkpAgzw5neL4ivRT7qLWkRdbcLo8AAFQN7VW+bgMb8gFfYWfttHyfkbJOQlU2xmi8fvhQ+2IM/12S0f0lP2uIYgVn8g9f+1OmtXKOWi/cKx0+6NYsuFjM2oVRlBhwlhPD2mI00rSL6zYjz/8GapPPkylQnds09NueNmrScjsPmJl6lPzU8maxHABZ/KctIZW/0ucMolv/3Ybm5FJIsj6YGUdz7AWzdE9o4tSfugFR3P7Ng/scxXpZ migel@mungo
+    ozhurba:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUwubPT8GWUeuPCdPeYlIuN8OaD0umc0JuyKWf5ViVhX3VqB6CwS6/ddm9fpbAedV/8J5l/Sl/usK/WuCPVBgKEuGtidRcrABxRt49q+aum5WRd6bsYv4UxFZmaDHKgg6g8LR7Ii26GPM/HdM1CdqnxpVicz7QRj3pgLDYLippg7RAktKkp4Jw7gkBFNR7UXGHr/5qX08VoUadbgWQP7OdHdgSxysqkSiN1Rr9URWEpwZ5wfblkbEzR1JBg6kYJAP3sTJvOQguFvFCVu6++/UX2wbrrc0+0eAO31lFUAIjboYLpWDj5Sj/ER3uwTX0dJw0wpSsa9lHn/LSZrJhrA5v ozhurba@zhurba-mac