diff options
| author | Scott Dodson <sdodson@redhat.com> | 2017-10-19 10:09:31 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-19 10:09:31 -0400 | 
| commit | 8d527636729612c0b5fc80ad7e07ed2eae7ad561 (patch) | |
| tree | a99f914ce8e450ea2e541aefab5bc071a15a5f1a /roles | |
| parent | 61cca52ea383d75aa4c20cf0e96936a5188084e9 (diff) | |
| parent | dc89e0fa2b3e5fa10027e93a1124ed6eeacad021 (diff) | |
| download | openshift-8d527636729612c0b5fc80ad7e07ed2eae7ad561.tar.gz openshift-8d527636729612c0b5fc80ad7e07ed2eae7ad561.tar.bz2 openshift-8d527636729612c0b5fc80ad7e07ed2eae7ad561.tar.xz openshift-8d527636729612c0b5fc80ad7e07ed2eae7ad561.zip  | |
Merge pull request #5746 from staebler/Bug_1496694_new_resource_names
Update service catalog playbook for service-catalog rc1
Diffstat (limited to 'roles')
9 files changed, 123 insertions, 71 deletions
diff --git a/roles/ansible_service_broker/tasks/install.yml b/roles/ansible_service_broker/tasks/install.yml index 0f4b71124..c0384b7c4 100644 --- a/roles/ansible_service_broker/tasks/install.yml +++ b/roles/ansible_service_broker/tasks/install.yml @@ -30,8 +30,12 @@      ansible_service_broker_image: "{{ ansible_service_broker_image_prefix }}ansible-service-broker:{{ ansible_service_broker_image_tag }}"      ansible_service_broker_etcd_image: "{{ ansible_service_broker_etcd_image_prefix }}etcd:{{ ansible_service_broker_etcd_image_tag }}" +- set_fact: +    openshift_master_config_dir: "{{ openshift.common.config_base }}/master" +  when: openshift_master_config_dir is undefined +  - slurp: -    src: "{{ ansible_service_broker_certs_dir }}/ca.crt" +    src: "{{ openshift_master_config_dir }}/service-signer.crt"    register: catalog_ca @@ -327,12 +331,12 @@    oc_obj:      name: ansible-service-broker      state: present -    kind: ServiceBroker +    kind: ClusterServiceBroker      content:        path: /tmp/brokerout        data: -        apiVersion: servicecatalog.k8s.io/v1alpha1 -        kind: ServiceBroker +        apiVersion: servicecatalog.k8s.io/v1beta1 +        kind: ClusterServiceBroker          metadata:            name: ansible-service-broker          spec: diff --git a/roles/openshift_service_catalog/files/kubeservicecatalog_roles_bindings.yml b/roles/openshift_service_catalog/files/kubeservicecatalog_roles_bindings.yml index 71e21a269..56b2d1463 100644 --- a/roles/openshift_service_catalog/files/kubeservicecatalog_roles_bindings.yml +++ b/roles/openshift_service_catalog/files/kubeservicecatalog_roles_bindings.yml @@ -4,22 +4,23 @@ metadata:    name: service-catalog  objects: -- kind: ClusterRole -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRole    metadata:      name: servicecatalog-serviceclass-viewer    rules:    - apiGroups:      - servicecatalog.k8s.io      resources: -    - serviceclasses +    - clusterserviceclasses +    - clusterserviceplans      verbs:      - list      - watch      - get -- kind: ClusterRoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRoleBinding    metadata:      name: servicecatalog-serviceclass-viewer-binding    roleRef: @@ -37,8 +38,8 @@ objects:    metadata:      name: service-catalog-apiserver -- kind: ClusterRole -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRole    metadata:      name: sar-creator    rules: @@ -49,17 +50,19 @@ objects:      verbs:      - create -- kind: ClusterRoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRoleBinding    metadata:      name: service-catalog-sar-creator-binding    roleRef:      name: sar-creator -  userNames: -    - system:serviceaccount:kube-service-catalog:service-catalog-apiserver +  subjects: +  - kind: ServiceAccount +    name: service-catalog-apiserver +    namespace: kube-service-catalog -- kind: ClusterRole -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRole    metadata:      name: namespace-viewer    rules: @@ -72,26 +75,30 @@ objects:      - watch      - get -- kind: ClusterRoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRoleBinding    metadata:      name: service-catalog-namespace-viewer-binding    roleRef:      name: namespace-viewer -  userNames: -    - system:serviceaccount:kube-service-catalog:service-catalog-apiserver +  subjects: +  - kind: ServiceAccount +    name: service-catalog-apiserver +    namespace: kube-service-catalog -- kind: ClusterRoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRoleBinding    metadata:      name: service-catalog-controller-namespace-viewer-binding    roleRef:      name: namespace-viewer -  userNames: -    - system:serviceaccount:kube-service-catalog:service-catalog-controller +  subjects: +  - kind: ServiceAccount +    name: service-catalog-controller +    namespace: kube-service-catalog -- kind: ClusterRole -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRole    metadata:      name: service-catalog-controller    rules: @@ -102,6 +109,7 @@ objects:      verbs:      - create      - update +    - patch      - delete      - get      - list @@ -109,19 +117,22 @@ objects:    - apiGroups:      - servicecatalog.k8s.io      resources: -    - brokers/status -    - instances/status -    - bindings/status +    - clusterservicebrokers/status +    - serviceinstances/status +    - servicebindings/status +    - servicebindings/finalizers +    - serviceinstances/reference      verbs:      - update    - apiGroups:      - servicecatalog.k8s.io      resources: -    - brokers -    - instances -    - bindings +    - clusterservicebrokers +    - serviceinstances +    - servicebindings      verbs:      - list +    - get      - watch    - apiGroups:      - "" @@ -133,7 +144,8 @@ objects:    - apiGroups:      - servicecatalog.k8s.io      resources: -    - serviceclasses +    - clusterserviceclasses +    - clusterserviceplans      verbs:      - create      - delete @@ -154,17 +166,19 @@ objects:      - list      - watch -- kind: ClusterRoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRoleBinding    metadata:      name: service-catalog-controller-binding    roleRef:      name: service-catalog-controller -  userNames: -    - system:serviceaccount:kube-service-catalog:service-catalog-controller - -- kind: Role -  apiVersion: v1 +  subjects: +  - kind: ServiceAccount +    name: service-catalog-controller +    namespace: kube-service-catalog +   +- apiVersion: authorization.openshift.io/v1 +  kind: Role    metadata:      name: endpoint-accessor    rules: @@ -179,21 +193,25 @@ objects:      - create      - update -- kind: RoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: RoleBinding    metadata: -    name: endpoint-accessor-binding +    name: endpointer-accessor-binding    roleRef:      name: endpoint-accessor      namespace: kube-service-catalog -  userNames: -    - system:serviceaccount:kube-service-catalog:service-catalog-controller +  subjects: +  - kind: ServiceAccount +    namespace: kube-service-catalog +    name: service-catalog-controller -- kind: ClusterRoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: ClusterRoleBinding    metadata:      name: system:auth-delegator-binding    roleRef:      name: system:auth-delegator -  userNames: -    - system:serviceaccount:kube-service-catalog:service-catalog-apiserver +  subjects: +  - kind: ServiceAccount +    name: service-catalog-apiserver +    namespace: kube-service-catalog diff --git a/roles/openshift_service_catalog/files/kubesystem_roles_bindings.yml b/roles/openshift_service_catalog/files/kubesystem_roles_bindings.yml index f6ee0955d..e1af51ce6 100644 --- a/roles/openshift_service_catalog/files/kubesystem_roles_bindings.yml +++ b/roles/openshift_service_catalog/files/kubesystem_roles_bindings.yml @@ -4,8 +4,8 @@ metadata:    name: kube-system-service-catalog  objects: -- kind: Role -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: Role    metadata:      name: extension-apiserver-authentication-reader      namespace: ${KUBE_SYSTEM_NAMESPACE} @@ -19,16 +19,18 @@ objects:      verbs:      - get -- kind: RoleBinding -  apiVersion: v1 +- apiVersion: authorization.openshift.io/v1 +  kind: RoleBinding    metadata:      name: extension-apiserver-authentication-reader-binding      namespace: ${KUBE_SYSTEM_NAMESPACE}    roleRef:      name: extension-apiserver-authentication-reader -    namespace: kube-system -  userNames: -    - system:serviceaccount:kube-service-catalog:service-catalog-apiserver +    namespace: ${KUBE_SYSTEM_NAMESPACE} +  subjects: +  - kind: ServiceAccount +    name: service-catalog-apiserver +    namespace: kube-service-catalog  parameters:  - description: Do not change this value. diff --git a/roles/openshift_service_catalog/tasks/generate_certs.yml b/roles/openshift_service_catalog/tasks/generate_certs.yml index cc897b032..416bdac70 100644 --- a/roles/openshift_service_catalog/tasks/generate_certs.yml +++ b/roles/openshift_service_catalog/tasks/generate_certs.yml @@ -36,19 +36,28 @@      - name: tls.key        path: "{{ generated_certs_dir }}/apiserver.key" +- name: Create service-catalog-ssl secret +  oc_secret: +    state: present +    name: service-catalog-ssl +    namespace: kube-service-catalog +    files: +    - name: tls.crt +      path: "{{ generated_certs_dir }}/apiserver.crt" +  - slurp:      src: "{{ generated_certs_dir }}/ca.crt"    register: apiserver_ca  - shell: > -    oc get apiservices.apiregistration.k8s.io/v1alpha1.servicecatalog.k8s.io -n kube-service-catalog || echo "not found" +    oc get apiservices.apiregistration.k8s.io/v1beta1.servicecatalog.k8s.io -n kube-service-catalog || echo "not found"    register: get_apiservices    changed_when: no  - name: Create api service    oc_obj:      state: present -    name: v1alpha1.servicecatalog.k8s.io +    name: v1beta1.servicecatalog.k8s.io      kind: apiservices.apiregistration.k8s.io      namespace: "kube-service-catalog"      content: @@ -57,10 +66,10 @@          apiVersion: apiregistration.k8s.io/v1beta1          kind: APIService          metadata: -          name: v1alpha1.servicecatalog.k8s.io +          name: v1beta1.servicecatalog.k8s.io          spec:            group: servicecatalog.k8s.io -          version: v1alpha1 +          version: v1beta1            service:              namespace: "kube-service-catalog"              name: apiserver diff --git a/roles/openshift_service_catalog/tasks/install.yml b/roles/openshift_service_catalog/tasks/install.yml index e202ae173..1e94c8c5d 100644 --- a/roles/openshift_service_catalog/tasks/install.yml +++ b/roles/openshift_service_catalog/tasks/install.yml @@ -90,14 +90,14 @@    vars:      original_content: "{{ edit_yaml.results.results[0] | to_yaml }}"    when: -    - not edit_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['instances', 'bindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not edit_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch']) +    - not edit_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['serviceinstances', 'servicebindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not edit_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch'])  # only do this if we don't already have the updated role info  - name: update edit role for service catalog and pod preset access    command: >      oc replace -f {{ mktemp.stdout }}/edit_sc_patch.yml    when: -    - not edit_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['instances', 'bindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not edit_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch']) +    - not edit_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['serviceinstances', 'servicebindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not edit_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch'])  - oc_obj:      name: admin @@ -113,14 +113,14 @@    vars:      original_content: "{{ admin_yaml.results.results[0] | to_yaml }}"    when: -    - not admin_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['instances', 'bindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not admin_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch']) +    - not admin_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['serviceinstances', 'servicebindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not admin_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch'])  # only do this if we don't already have the updated role info  - name: update admin role for service catalog and pod preset access    command: >      oc replace -f {{ mktemp.stdout }}/admin_sc_patch.yml    when: -    - not admin_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['instances', 'bindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not admin_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch']) +    - not admin_yaml.results.results[0] | oo_contains_rule(['servicecatalog.k8s.io'], ['serviceinstances', 'servicebindings'], ['create', 'update', 'delete', 'get', 'list', 'watch']) or not admin_yaml.results.results[0] | oo_contains_rule(['settings.k8s.io'], ['podpresets'], ['create', 'update', 'delete', 'get', 'list', 'watch'])  - oc_adm_policy_user:      namespace: kube-service-catalog diff --git a/roles/openshift_service_catalog/tasks/remove.yml b/roles/openshift_service_catalog/tasks/remove.yml index 2fb1ec440..96ae61507 100644 --- a/roles/openshift_service_catalog/tasks/remove.yml +++ b/roles/openshift_service_catalog/tasks/remove.yml @@ -1,7 +1,7 @@  ---  - name: Remove Service Catalog APIServer    command: > -    oc delete apiservices.apiregistration.k8s.io/v1alpha1.servicecatalog.k8s.io --ignore-not-found -n kube-service-catalog +    oc delete apiservices.apiregistration.k8s.io/v1beta1.servicecatalog.k8s.io --ignore-not-found -n kube-service-catalog  - name: Remove Policy Binding    command: > @@ -13,7 +13,7 @@  #    state: absent  #    namespace: "kube-service-catalog"  #    kind: apiservices.apiregistration.k8s.io -#    name: v1alpha1.servicecatalog.k8s.io +#    name: v1beta1.servicecatalog.k8s.io  - name: Remove Service Catalog API Server route    oc_obj: diff --git a/roles/openshift_service_catalog/templates/api_server.j2 b/roles/openshift_service_catalog/templates/api_server.j2 index c09834fd4..5d5352c1c 100644 --- a/roles/openshift_service_catalog/templates/api_server.j2 +++ b/roles/openshift_service_catalog/templates/api_server.j2 @@ -41,7 +41,9 @@ spec:          - --cors-allowed-origins          - {{ cors_allowed_origin }}          - --admission-control -        - "KubernetesNamespaceLifecycle" +        - KubernetesNamespaceLifecycle,DefaultServicePlan,ServiceBindingsLifecycle,ServicePlanChangeValidator,BrokerAuthSarCheck +        - --feature-gates +        - OriginatingIdentity=true          image: {{ openshift_service_catalog_image_prefix }}service-catalog:{{ openshift_service_catalog_image_version }}          command: ["/usr/bin/apiserver"]          imagePullPolicy: Always diff --git a/roles/openshift_service_catalog/templates/controller_manager.j2 b/roles/openshift_service_catalog/templates/controller_manager.j2 index 1bbc0fa2c..2272cbb44 100644 --- a/roles/openshift_service_catalog/templates/controller_manager.j2 +++ b/roles/openshift_service_catalog/templates/controller_manager.j2 @@ -31,7 +31,12 @@ spec:          args:          - -v          - "5" -        - "--leader-election-namespace=$(K8S_NAMESPACE)" +        - --leader-election-namespace +        - kube-service-catalog +        - --broker-relist-interval +        - "5m" +        - --feature-gates +        - OriginatingIdentity=true          image: {{ openshift_service_catalog_image_prefix }}service-catalog:{{ openshift_service_catalog_image_version }}          command: ["/usr/bin/controller-manager"]          imagePullPolicy: Always @@ -41,7 +46,19 @@ spec:            protocol: TCP          resources: {}          terminationMessagePath: /dev/termination-log +        volumeMounts: +        - mountPath: /var/run/kubernetes-service-catalog +          name: service-catalog-ssl +          readOnly: true        dnsPolicy: ClusterFirst        restartPolicy: Always        securityContext: {}        terminationGracePeriodSeconds: 30 +      volumes: +      - name: service-catalog-ssl +        secret: +          defaultMode: 420 +          items: +          - key: tls.crt +            path: apiserver.crt +          secretName: apiserver-ssl diff --git a/roles/template_service_broker/tasks/install.yml b/roles/template_service_broker/tasks/install.yml index 54008bbf1..6a532a206 100644 --- a/roles/template_service_broker/tasks/install.yml +++ b/roles/template_service_broker/tasks/install.yml @@ -6,7 +6,7 @@      - "{{ openshift_deployment_type | default(deployment_type) }}.yml"      - "default_images.yml" -- name: set ansible_service_broker facts +- name: set template_service_broker facts    set_fact:      template_service_broker_prefix: "{{ template_service_broker_prefix | default(__template_service_broker_prefix) }}"      template_service_broker_version: "{{ template_service_broker_version | default(__template_service_broker_version) }}" @@ -76,7 +76,7 @@    when: openshift_master_config_dir is undefined  - slurp: -    src: "{{ openshift_master_config_dir }}/ca.crt" +    src: "{{ openshift_master_config_dir }}/service-signer.crt"    register: __ca_bundle  # Register with broker  | 
